git-annex/standalone/linux/skel
Joey Hess c079811226
Linux standalone: Add back the LOCPATH=/dev/null hack to avoid the system locale-archive being read.
Version mismatches between the system locale-archive and the glibc in the
bundle have been observed to cause git crashes.

Unfortunately, this causes locales to not be used in the linux standalone
bundle, as was the case until version 6.20160419.

glibc hardcodes the path to /usr/lib/locale/locale-archive and does not
let an environment variable cause a different locale-archive file to be used.

The only other option to include locales in the bundle would be to include
exploded locale definition directories in the bundle for a number of
locales, generated by localedef. But these take at least 300 kb per locale,
and there are a great many locales; it would be hundreds of megabytes to
include them all.

(Hmm, we could include localdef in the bundle, and check LANG in runshell
and compile the locale directories on the fly. This would need
/usr/share/i18n/ and /usr/lib/locale-archive to be included in the bundle.
It's.. doable.)

I know this is going to once again cause users of the bundle to complain
that eg, ls doesn't show their unicode filenames right. Better than strange
crashes though.
2016-10-04 12:53:09 -04:00
..
git Support symlinking git-annex and git-annex-shell from the Linux standalone bundle into PATH. 2014-05-16 16:22:56 -04:00
git-annex Better fix for standalone tarball git-annex sync linker shim bug, that works for "git annex sync" as well as "git-annex sync". 2015-03-27 16:06:50 -04:00
git-annex-shell Support symlinking git-annex and git-annex-shell from the Linux standalone bundle into PATH. 2014-05-16 16:22:56 -04:00
git-annex-webapp Support symlinking git-annex and git-annex-shell from the Linux standalone bundle into PATH. 2014-05-16 16:22:56 -04:00
git-receive-pack Support symlinking git-annex and git-annex-shell from the Linux standalone bundle into PATH. 2014-05-16 16:22:56 -04:00
git-shell Support symlinking git-annex and git-annex-shell from the Linux standalone bundle into PATH. 2014-05-16 16:22:56 -04:00
git-upload-pack Support symlinking git-annex and git-annex-shell from the Linux standalone bundle into PATH. 2014-05-16 16:22:56 -04:00
README Include git-receive-pack, git-upload-pack, and git wrappers in the Linux standalone build, and OSX app, so they will be available when it's added to PATH. 2013-12-24 16:28:10 -04:00
runshell Linux standalone: Add back the LOCPATH=/dev/null hack to avoid the system locale-archive being read. 2016-10-04 12:53:09 -04:00

You can put this directory into your PATH, or symlink the programs in this
directory to anyplace already in 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.


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 a lot
of environment variables to cause files from here to be used, and a shim
around the binaries arranges for them to be run with the libraries in here.

It shouldn't even be dependent on the host system's glibc libraries.
All that's needed is a kernel that supports the glibc included in this
bundle.