tmpmount mountpoint command [argument] ... Mounts a tmpfs at `mountpoint` and execs into `command [argument] ...`. The tmpfs is private to the process and it's children. repodiff directory-1 file-list-1 directory-2 file-list-2 Checks for differences betweens the files listed in file-list-1, which are relative to directory-1, and files listed in file-list-2, which are relative to directory-2. Will only check for things supported by git: file listing, file names, file content, symlink target, and executable by owner. (Files that are not regular files, symbolic links or directories will cause failure.) file-list-1 and file-list-2 use termination rather then termination, meaning that if the file listed is created with file(1), `-print0` should have been used, or if with git-ls-files(1), `-z` should have been used. If a difference is found 1 is returned, 0 otherwise. Exit value 2 is used to signal runtime error. validate-tarball tarball git-dir work-dir Validates the contents a tarball againts a known good directory (git-dir). An empty directory (work-dir) shall be provided as a space for temporary files. order-checksums Sorts standard input, removed duplicates checksums and output the checksums lines primarily ordered by the hash algorithms in a particular order and secondarily by the checksums alphabetically sorted. get-checksums tarball Calculates the checksums of a tarball. A special argument can be provided for printing the order the hash algorithms are output in get-and-check tarball-url reference-dir work-dir Downloads tarball-url and uses ./validate-tarball to validate its contents against a known good directory (reference-dir). An empty directory (work-dir) shall be provided as a space for temporary files. If the content of the tarball matches git-tracked files in reference-dir, ./get-checksums is used to output the tarball's checksums. check-mirror tarball-url ref-tarball work-dir This is the same as get-and-check except it expects a known good tarball as the second argument instead of a known good git repository gen-checksums tarball git-dir < tarball-url-list > checksum-listing This brings all of the above together. The tarball, which is assumed to be the tarball for the static release is validates against a known good directory (git-dir), for which the tarball is supposted to be generated from, but this check validates that git itself is not manipulating the tarballs. Then it reads each line from, treating each line as an URL. These URLs are used to download release tarballs from all mirrors; they are also validates against the known good directory. The checksums for all tarballs, both the one provided in the command line and those downloaded, are output to stdout.