git-annex/standalone/linux
2013-07-23 17:31:51 -04:00
..
git-annex fun with exec 2013-07-23 17:31:51 -04:00
git-annex-shell fun with exec 2013-07-23 17:31:51 -04:00
git-annex-webapp fun with exec 2013-07-23 17:31:51 -04:00
glibc-libs
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.