From 52b39f47cee1b905b004b9f0d4eb616b7ce0d3b8 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 20 Apr 2016 12:40:11 -0400 Subject: Avoid setting LOCPATH in linux standalone builds now that ghc has been fixed to not hang when it cannot find locale files. --- Build/LinuxMkLibs.hs | 7 +++++++ debian/changelog | 2 ++ ...ot_change_locale___40__en__95__US.UTF-8__41__.mdwn | 19 +++++++++++++++++++ standalone/linux/skel/runshell | 4 ---- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Build/LinuxMkLibs.hs b/Build/LinuxMkLibs.hs index 16946e188..0e54672f9 100644 --- a/Build/LinuxMkLibs.hs +++ b/Build/LinuxMkLibs.hs @@ -5,6 +5,8 @@ - Licensed under the GNU GPL version 3 or higher. -} +{-# LANGUAGE CPP #-} + module Main where import System.Environment @@ -72,6 +74,11 @@ installLinkerShim top linker exe = do [ "#!/bin/sh" , "GIT_ANNEX_PROGRAMPATH=\"$0\"" , "export GIT_ANNEX_PROGRAMPATH" +#if ! MIN_VERSION_GLASGOW_HASKELL(7,10,0,0) + -- 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 diff --git a/debian/changelog b/debian/changelog index d18b5332c..fc1171c0b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ git-annex (6.20160419) UNRELEASED; urgency=medium * Fix duplicate progress meter display when downloading from a git remote over http with -J. + * Avoid setting LOCPATH in linux standalone builds now that ghc has been + fixed to not hang when it cannot find locale files. -- Joey Hess Tue, 19 Apr 2016 12:57:15 -0400 diff --git a/doc/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__.mdwn b/doc/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__.mdwn index 178348e51..6be8bd6e6 100644 --- a/doc/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__.mdwn +++ b/doc/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__.mdwn @@ -26,3 +26,22 @@ he_IL he_IL.iso88598 he_IL.utf8 POSIX + +> I've made LOCPATH not be set except when git-annex is built with ghc +> older than 7.10, since the problem was fixed in ghc 7.10. +> +> Also, I loved the LOCPATH setting into the linker shim script, rather +> than in runshell, so it will only affect the programs bundled with +> git-annex (itself and git and a few other things). Which are not +> localized anyway in the bundle. So, even in builds where it's still set +> (the linux ancient build in particular), things done in the runshell +> environment won't be affected. +> +> I do wonder if there could be problems with incompatabilities between the +> bundled glibc and the system locale files, which might be for a +> newer/older libc version. Not so much random `.mo` files, which seem +> quite portable across glibc versions, but the more core locale files. +> If that turns out to be a problem, LOCPATH might have to be turned back +> on. +> +> For now, [[done]] --[[Joey]] diff --git a/standalone/linux/skel/runshell b/standalone/linux/skel/runshell index fff0f7082..874dc75f1 100755 --- a/standalone/linux/skel/runshell +++ b/standalone/linux/skel/runshell @@ -100,10 +100,6 @@ export ORIG_GCONV_PATH GCONV_PATH="$base/$(cat "$base/gconvdir")" export GCONV_PATH -# workaround for https://ghc.haskell.org/trac/ghc/ticket/7695 -LOCPATH=/dev/null -export LOCPATH - ORIG_GIT_EXEC_PATH="$GIT_EXEC_PATH" export ORIG_GIT_EXEC_PATH GIT_EXEC_PATH="$base/git-core" -- cgit v1.2.3