diff options
-rw-r--r-- | Build/BundledPrograms.hs | 22 | ||||
-rw-r--r-- | Build/Standalone.hs | 13 | ||||
-rw-r--r-- | debian/changelog | 2 | ||||
-rw-r--r-- | doc/bugs/put_gpg_last_in_OSX_dmg_PATH.mdwn | 2 | ||||
-rw-r--r-- | doc/todo/cloning_direct_mode_repo_over_http/comment_1_36701696af41f8b71bb2fd4829f05b7c._comment | 13 | ||||
-rw-r--r-- | doc/todo/git_annex_push.mdwn | 5 | ||||
-rwxr-xr-x | standalone/linux/skel/runshell | 4 | ||||
-rwxr-xr-x | standalone/osx/git-annex.app/Contents/MacOS/runshell | 4 |
8 files changed, 55 insertions, 10 deletions
diff --git a/Build/BundledPrograms.hs b/Build/BundledPrograms.hs index bd1c25359..74e187618 100644 --- a/Build/BundledPrograms.hs +++ b/Build/BundledPrograms.hs @@ -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 diff --git a/Build/Standalone.hs b/Build/Standalone.hs index 2a6c04e6d..a3a4bac48 100644 --- a/Build/Standalone.hs +++ b/Build/Standalone.hs @@ -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)) diff --git a/debian/changelog b/debian/changelog index 1434746f9..c1768b73e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 diff --git a/doc/bugs/put_gpg_last_in_OSX_dmg_PATH.mdwn b/doc/bugs/put_gpg_last_in_OSX_dmg_PATH.mdwn index 2f30352f9..dfaec26f1 100644 --- a/doc/bugs/put_gpg_last_in_OSX_dmg_PATH.mdwn +++ b/doc/bugs/put_gpg_last_in_OSX_dmg_PATH.mdwn @@ -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]] diff --git a/doc/todo/cloning_direct_mode_repo_over_http/comment_1_36701696af41f8b71bb2fd4829f05b7c._comment b/doc/todo/cloning_direct_mode_repo_over_http/comment_1_36701696af41f8b71bb2fd4829f05b7c._comment new file mode 100644 index 000000000..a1abe3f2b --- /dev/null +++ b/doc/todo/cloning_direct_mode_repo_over_http/comment_1_36701696af41f8b71bb2fd4829f05b7c._comment @@ -0,0 +1,13 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2016-02-19T19:55:20Z" + content=""" +v6 unlocked files don't have this problem; a repo containing them can be +accessed over http. + +So, I think that's a better way to go than complicating the http support +with direct mode stuff. Especially since direct mode is going away. + +Won't close this yet, but will when I get around to removing direct mode.. +"""]] diff --git a/doc/todo/git_annex_push.mdwn b/doc/todo/git_annex_push.mdwn index 079c83e46..4abdf253c 100644 --- a/doc/todo/git_annex_push.mdwn +++ b/doc/todo/git_annex_push.mdwn @@ -1 +1,6 @@ A common use case for me is to use annex as really just an addition to git to store additional content. What I am ending up with is two stage procedure to submit my changes to our shared repository: git push REMOTE; git annex copy --to=REMOTE . IMHO it would only be logical if there was "git annex push REMOTE [GITPUSHOPTIONS]" which would be merely an alias for "git push REMOTE [GITPUSHOPTIONS]; git annex copy --to=REMOTE" but which will make use of annex for such common usecase simple(r) + +> After this was opened, some options were added, so use: +> `git-annex sync --no-pull --content` +> +> [[done]] --[[Joey]] diff --git a/standalone/linux/skel/runshell b/standalone/linux/skel/runshell index 8c1db4247..fff0f7082 100755 --- a/standalone/linux/skel/runshell +++ b/standalone/linux/skel/runshell @@ -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. diff --git a/standalone/osx/git-annex.app/Contents/MacOS/runshell b/standalone/osx/git-annex.app/Contents/MacOS/runshell index b48017f43..ab0076546 100755 --- a/standalone/osx/git-annex.app/Contents/MacOS/runshell +++ b/standalone/osx/git-annex.app/Contents/MacOS/runshell @@ -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" |