![]() 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. |
||
---|---|---|
.. | ||
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.