reorganize osx app, so it can be put in PATH

Move all the binaries and libraries under a bundle/ subdirectory;
so when it's in PATH only git-annex, runshell, and git-annex-webapp
will be available.
This commit is contained in:
Joey Hess 2013-03-20 14:01:05 -04:00
parent 36b3c4c757
commit ff912832c0
5 changed files with 27 additions and 10 deletions

View file

@ -117,7 +117,7 @@ linuxstandalone:
cd tmp && tar czf git-annex-standalone-$(shell dpkg --print-architecture).tar.gz git-annex.linux
OSXAPP_DEST=tmp/build-dmg/git-annex.app
OSXAPP_BASE=$(OSXAPP_DEST)/Contents/MacOS
OSXAPP_BASE=$(OSXAPP_DEST)/Contents/MacOS/bundle
osxapp:
$(MAKE) git-annex

2
debian/changelog vendored
View file

@ -29,6 +29,8 @@ git-annex (4.20130315) UNRELEASED; urgency=low
* get, copy, move: Display an error message when an identical transfer
is already in progress, rather than failing with no indication why.
* assistant: Several optimisations to file transfers.
* OSX app and standalone Linux tarball now both support being added to
PATH; no need to use runshell to start git-annex.
-- Joey Hess <joeyh@debian.org> Fri, 15 Mar 2013 00:10:07 -0400

View file

@ -9,9 +9,13 @@ Be sure to select the build matching your version of OSX.
If you want to run the [[git-annex_assistant|/assistant]], just
install the app, look for the icon, and start it up.
To use git-annex at the command line, you need to run
`git-annex.app/Contents/MacOS/runshell`, which sets up your shell
to use programs bundled inside the app.
To use git-annex at the command line, you can add
`git-annex.app/Contents/MacOS` to your `PATH`
Alternatively, from the command line you can run
`git-annex.app/Contents/MacOS/runshell`, which makes your shell use all the
programs bundled inside the app, including not just git-annex, but git, and
several more. Handy if you don't otherwise have git installed.
This is still a work in progress. See [[/bugs/OSX_app_issues]] for problem
reports.

View file

@ -0,0 +1,9 @@
This is a app bundle for git-annex. Most users are going to want to
just click on the icon to start up the git-annex webapp.
To use git-annex at the command line, you can put the directory containing
this README into your PATH.
Or, you can use the runshell script in this directory to start a shell
that is configured to use git-annex and the other utilities included in
this bundle, including git, gpg, rsync, ssh, etc.

View file

@ -11,12 +11,14 @@ if [ ! -d "$base" ]; then
exit 1
fi
if [ ! -e "$base/git-annex" ]; then
echo "** base directory $base does not contain git-annex" >&2
bundle="$base/bundle"
if [ ! -e "$bundle/git-annex" ]; then
echo "** bundle directory $bundle does not contain git-annex" >&2
exit 1
fi
if [ ! -e "$base/git" ]; then
echo "** base directory $base does not contain git" >&2
echo "** bundle directory $bundle does not contain git" >&2
exit 1
fi
@ -43,17 +45,17 @@ fi
# system binaries.
ORIG_PATH="$PATH"
export ORIG_PATH
PATH=$base:$PATH
PATH=$bundle:$PATH
export PATH
ORIG_GIT_EXEC_PATH="$GIT_EXEC_PATH"
export ORIG_GIT_EXEC_PATH
GIT_EXEC_PATH=$base
GIT_EXEC_PATH=$bundle
export GIT_EXEC_PATH
ORIG_GIT_TEMPLATE_DIR="$GIT_TEMPLATE_DIR"
export ORIG_GIT_TEMPLATE_DIR
GIT_TEMPLATE_DIR="$base/templates"
GIT_TEMPLATE_DIR="$bundle/templates"
export GIT_TEMPLATE_DIR
# Indicate which variables were exported above.