Linux and OSX standalone builds put the bundled gpg last in PATH, so any system gpg will be preferred over it.
This commit is contained in:
parent
f1cebd1bf9
commit
398d93d4d2
6 changed files with 37 additions and 10 deletions
|
@ -17,7 +17,26 @@ import Build.SysConfig as SysConfig
|
|||
-
|
||||
- These may be just the command name, or the full path to it. -}
|
||||
bundledPrograms :: [FilePath]
|
||||
bundledPrograms = catMaybes
|
||||
bundledPrograms = preferredBundledPrograms ++ extraBundledPrograms
|
||||
|
||||
{- Programs that are only included in the bundle in case the system
|
||||
- doesn't have them. These come after the system PATH.
|
||||
-}
|
||||
extraBundledPrograms :: [FilePath]
|
||||
extraBundledPrograms = catMaybes
|
||||
-- The system gpg is probably better, because it may better
|
||||
-- integrate with the system gpg-agent, etc.
|
||||
[ SysConfig.gpg
|
||||
]
|
||||
|
||||
{- Programs that should be preferred for use from the bundle, over
|
||||
- any that might be installed on the system otherwise. These come before
|
||||
- the system PATH.
|
||||
-
|
||||
- For example, git-annex is built for a specific version of git.
|
||||
-}
|
||||
preferredBundledPrograms :: [FilePath]
|
||||
preferredBundledPrograms = catMaybes
|
||||
[ Nothing
|
||||
#ifndef mingw32_HOST_OS
|
||||
-- git is not included in the windows bundle; git for windows is used
|
||||
|
@ -56,7 +75,6 @@ bundledPrograms = catMaybes
|
|||
#ifndef mingw32_HOST_OS
|
||||
-- All these utilities are included in git for Windows
|
||||
, ifset SysConfig.curl "curl"
|
||||
, SysConfig.gpg
|
||||
, SysConfig.sha1
|
||||
, SysConfig.sha256
|
||||
, SysConfig.sha512
|
||||
|
|
|
@ -26,6 +26,9 @@ progDir topdir = topdir
|
|||
progDir topdir = topdir </> "bin"
|
||||
#endif
|
||||
|
||||
extraProgDir :: FilePath -> FilePath
|
||||
extraProgDir topdir = topdir </> "extra"
|
||||
|
||||
installProg :: FilePath -> FilePath -> IO (FilePath, FilePath)
|
||||
installProg dir prog = searchPath prog >>= go
|
||||
where
|
||||
|
@ -41,7 +44,9 @@ main = getArgs >>= go
|
|||
where
|
||||
go [] = error "specify topdir"
|
||||
go (topdir:_) = do
|
||||
let dir = progDir topdir
|
||||
createDirectoryIfMissing True dir
|
||||
installed <- forM bundledPrograms $ installProg dir
|
||||
writeFile "tmp/standalone-installed" (show installed)
|
||||
installed <- forM
|
||||
[ (progDir topdir, preferredBundledPrograms)
|
||||
, (extraProgDir topdir, extraBundledPrograms) ] $ \(dir, progs) -> do
|
||||
createDirectoryIfMissing True dir
|
||||
forM progs $ installProg dir
|
||||
writeFile "tmp/standalone-installed" (show (concat installed))
|
||||
|
|
2
debian/changelog
vendored
2
debian/changelog
vendored
|
@ -7,6 +7,8 @@ git-annex (6.20160218) UNRELEASED; urgency=medium
|
|||
* fsck: When the only copy of a file is in a dead repository, mention
|
||||
the repository.
|
||||
* info: Mention when run in a dead repository.
|
||||
* Linux and OSX standalone builds put the bundled gpg last in PATH,
|
||||
so any system gpg will be preferred over it.
|
||||
|
||||
-- Joey Hess <id@joeyh.name> Thu, 18 Feb 2016 13:09:21 -0400
|
||||
|
||||
|
|
|
@ -6,3 +6,5 @@ A solution might be to move the gpg binary to a different directory and put
|
|||
it at the end of PATH, not the front. So system one is used if available.
|
||||
|
||||
This should also be considered for the linux standalone builds.
|
||||
|
||||
> [[done]] for both OSX and linux. --[[Joey]]
|
||||
|
|
|
@ -81,10 +81,10 @@ if [ -z "$GIT_ANNEX_PACKAGE_INSTALL" ]; then
|
|||
fi
|
||||
|
||||
# Put our binaries first, to avoid issues with out of date or incompatable
|
||||
# system binaries.
|
||||
# system binaries. Extra binaries come after system path.
|
||||
ORIG_PATH="$PATH"
|
||||
export ORIG_PATH
|
||||
PATH="$base/bin:$PATH"
|
||||
PATH="$base/bin:$PATH:$base/extra"
|
||||
export PATH
|
||||
|
||||
# These env vars are used by the shim wrapper around each binary.
|
||||
|
|
|
@ -61,10 +61,10 @@ if [ ! -e "$HOME/.ssh/git-annex-wrapper" ]; then
|
|||
fi
|
||||
|
||||
# Put our binaries first, to avoid issues with out of date or incompatable
|
||||
# system binaries.
|
||||
# system binaries. Extra binaries come after system path.
|
||||
ORIG_PATH="$PATH"
|
||||
export ORIG_PATH
|
||||
PATH="$bundle:$PATH"
|
||||
PATH="$bundle:$PATH:$base/extra"
|
||||
export PATH
|
||||
|
||||
ORIG_GIT_EXEC_PATH="$GIT_EXEC_PATH"
|
||||
|
|
Loading…
Add table
Reference in a new issue