- Licensed under the GNU GPL version 3 or higher.
-}
-{-# LANGUAGE CPP #-}
-
module Main where
import System.Environment
writeFile (top </> "libdirs") (unlines libdirs)
writeFile (top </> "gconvdir")
(parentDir $ Prelude.head $ filter ("/gconv/" `isInfixOf`) glibclibs)
+ writeFile (top </> "localedir")
+ (parentDir $ Prelude.head $ filter ("/locale/" `isInfixOf`) glibclibs)
let linker = Prelude.head $ filter ("ld-linux" `isInfixOf`) libs'
mapM_ (installLinkerShim top linker) exes
[ "#!/bin/sh"
, "GIT_ANNEX_PROGRAMPATH=\"$0\""
, "export GIT_ANNEX_PROGRAMPATH"
-#ifdef MIN_VERSION_GLASGOW_HASKELL
-#if ! MIN_VERSION_GLASGOW_HASKELL(7,10,0,0)
-#define NEED_LOCPATH_WORKAROUND
-#endif
-#else
-#define NEED_LOCPATH_WORKAROUND
-#endif
-#ifdef NEED_LOCPATH_WORKAROUND
- -- workaround for https://ghc.haskell.org/trac/ghc/ticket/7695
- , "LOCPATH=/dev/null"
- , "export LOCPATH"
-#endif
, "exec \"$GIT_ANNEX_DIR/" ++ exelink ++ "\" --library-path \"$GIT_ANNEX_LD_LIBRARY_PATH\" \"$GIT_ANNEX_DIR/shimmed/" ++ base ++ "/" ++ base ++ "\" \"$@\""
]
modifyFileMode exe $ addModes executeModes
external special remotes, because running multiple git-annex commands
at the same time could already start multiple processes for the same
external special remotes.
+ * Linux standalone: Add back the LOCPATH=/dev/null hack to avoid
+ the system locale-archive being read. Version mismatches between the
+ system locale-archive and the glibc in the bundle have been observed
+ to cause git crashes. Unfortunately, this causes locales to not be
+ used in the linux standalone bundle, reverting back to pre-6.20160419
+ behavior.
-- Joey Hess <id@joeyh.name> Mon, 26 Sep 2016 16:46:19 -0400
--- /dev/null
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 4"""
+ date="2016-10-04T16:23:12Z"
+ content="""
+NFS was a red herring.
+
+We've tracked this down to the linux standalone tarball not including
+locale-archive, so it uses the system one, which may have a different
+format and so breaks glibc.
+
+I'm committing a fix that adds locale-archive to the linux standalone
+tarball.
+"""]]
GCONV_PATH="$base/$(cat "$base/gconvdir")"
export GCONV_PATH
+ORIG_LOCPATH="$LOCPATH"
+export ORIG_LOCPATH
+LOCPATH=/dev/null
+export LOCPATH
+
ORIG_GIT_EXEC_PATH="$GIT_EXEC_PATH"
export ORIG_GIT_EXEC_PATH
GIT_EXEC_PATH="$base/git-core"