git-annex/standalone/linux/skel
Joey Hess f0ec725234
include buildid in LOCPATH
This avoids the possibility that the bundle could be updated in place,
leading to LOCPATH existing but containing locales for the old version,
which needed to be tested for with code that was not race-free.

LOCPATH/buildid is still written and checked when cleaning up stale caches.
That is not actually necessary, except old versions of the standalone
bundle expect to see it, and this prevents them cleaning up the locale
cache of a new version. And still checking it prevents the new version
cleaning up the locale cache of the old version while the old version is
still in use.

Added explicit tests before creating LOCPATH and the base and buildid files.

The buildid file no longer needs to be updated every time, because it's
stable for the given LOCPATH directory.

And the base file actually did not need to be updated every time,
because the LOCPATH is derived from base, so if the bundle is moved
elsewhere, a different LOCPATH will be used.

Transitioning to this will mean that two git-annex builds that otherwise
have the same buildid -- the same git-annex md5sum -- will use different
LOCPATH values, but that's handled fine by the cache cleanup code, so at
most it will mean one extra generation of the locale files.
2020-10-05 14:04:49 -04:00
..
git Revert "Unset IFS in shell scripts in the linux standalone build and OSX app." 2020-07-24 14:33:13 -04:00
git-annex Revert "Unset IFS in shell scripts in the linux standalone build and OSX app." 2020-07-24 14:33:13 -04:00
git-annex-shell Revert "Unset IFS in shell scripts in the linux standalone build and OSX app." 2020-07-24 14:33:13 -04:00
git-annex-webapp Revert "Unset IFS in shell scripts in the linux standalone build and OSX app." 2020-07-24 14:33:13 -04:00
git-receive-pack Revert "Unset IFS in shell scripts in the linux standalone build and OSX app." 2020-07-24 14:33:13 -04:00
git-shell Revert "Unset IFS in shell scripts in the linux standalone build and OSX app." 2020-07-24 14:33:13 -04:00
git-upload-pack Revert "Unset IFS in shell scripts in the linux standalone build and OSX app." 2020-07-24 14:33:13 -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 include buildid in LOCPATH 2020-10-05 14:04:49 -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.