summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/BundledPrograms.hs22
-rw-r--r--Build/Standalone.hs13
-rw-r--r--debian/changelog2
-rw-r--r--doc/bugs/put_gpg_last_in_OSX_dmg_PATH.mdwn2
-rw-r--r--doc/todo/cloning_direct_mode_repo_over_http/comment_1_36701696af41f8b71bb2fd4829f05b7c._comment13
-rw-r--r--doc/todo/git_annex_push.mdwn5
-rwxr-xr-xstandalone/linux/skel/runshell4
-rwxr-xr-xstandalone/osx/git-annex.app/Contents/MacOS/runshell4
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"