42842ea0ea
This is to work around https://github.com/datalad/datalad/issues/2769 which I don't know how to reproduce outside that environment, nor do I understand the root cause of. For some time, Neurodebian has been working around it by building its standalone debs with a patch that disables use of the locales bundled with the standalone build, letting the system locales be used. Using the system locales is asking for trouble if there's significant version skew between the system and bundled glibc, and possibly also if the architeciture is different, or whatever. That's why git-annex bundles and uses its own locales, because numerous users reported real problems with using the system locales. ... However, in the specific case of the Neurodebian standalone debs, the deb is built on a system very like the one it's targeted to be installed on. Or well, so they assure me, although doc/install/Ubuntu.mdwn also promotes those for use across all versions of Ubuntu, and the deb is built avoiding xz so it will work with old versions of dpkg, so I wonder how true it is. It does seem that, at least currently, there is no bad version skew in the locales of the systems the deb is used on, since it's already been using the system locales for some time. Anyway, since the Neurodebian build already is setting GIT_ANNEX_PACKAGE_INSTALL=1 in runshell, I made runshell use system locales when that's set. This is a small scope creep for GIT_ANNEX_PACKAGE_INSTALL, but it's not documented and AFAIK only used for the Neurodebian build, so that seems ok. This will let them stop carrying their patch for this forward. This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project. |
||
---|---|---|
.. | ||
git | ||
git-annex | ||
git-annex-shell | ||
git-annex-webapp | ||
git-receive-pack | ||
git-shell | ||
git-upload-pack | ||
README | ||
runshell |
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.