git-annex/standalone/linux
Joey Hess 66ba80ac04 add git-annex-shell wrapper to linux and OSX standalone bundles
This can be useful when not using the assistant, and putting the bundle in
PATH. This way, git-annex-shell is available for use by anything that ssh's
in.
2013-05-31 17:02:09 -04:00
..
git-annex deal with $0 having spaces in it 2013-03-20 14:11:36 -04:00
git-annex-shell add git-annex-shell wrapper to linux and OSX standalone bundles 2013-05-31 17:02:09 -04:00
git-annex-webapp deal with $0 having spaces in it 2013-03-20 14:11:36 -04:00
glibc-libs standalone linux app nearly ready 2012-09-28 19:08:13 -04:00
README improve linux standalone bundle instuctions, mentioning the PATH setup option 2013-03-20 13:40:57 -04:00
runshell deal with $0 having spaces in it 2013-03-20 14:11:36 -04:00

You can put this directory into your PATH, and use git-annex the same
as if you'd installed it using a package manager.

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.

This should work on any Linux system of the appropriate architecture.
More or less. There are no external dependencies, except for glibc.
Any recent-ish version of glibc should work (2.13 is ok; so is 2.11).


How it works: This directory tree contains a lot of libraries and programs
that git-annex needs. But it's not a chroot. Instead, runshell sets PATH
and LD_LIBRARY_PATH to point to the stuff in here.

The glibc libs are not included. Instead, it runs with the host system's
glibc. We trust that glibc's excellent backwards and forward compatability
is good enough to run binaries that were linked for a newer or older
version. Of course, this could fail. Particularly if the binaries try to
use some new glibc feature. But hopefully not.

Why not bundle glibc too? I've not gotten it to work! The host system's 
ld-linux.so will be used for sure, as that's hardcoded into the binaries.
When I tried including libraries from glibc in here, everything segfaulted.