12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- Disarchive
- **********
- Disarchive can disassemble software archives into data and metadata.
- The goal is to create a small amount of metadata that can be used to
- recreate a software archive bit-for-bit from the original files. For
- example, a software archive made using tar and Gzip will need to
- describe the order of files in the tarball and the compression
- parameters used by Gzip.
- The purpose of all of this is to provide a bridge between the data
- stored by Software Heritage <https://www.softwareheritage.org/> and
- the artifacts that have been traditionally used to distribute software
- (compressed tarballs with a lot of incidental metadata). Because
- verification and signing usually happen at the archive (compressed
- tarball) level, it is important to be able to recover those artifacts.
- For the discussions that inspired this project, see
- <https://forge.softwareheritage.org/T2430>, and
- <https://issues.guix.gnu.org/42162>.
- Requirements
- ============
- Disarchive is written in Guile Scheme and needs GNU Guile version
- 3.0.x <https://gnu.org/software/guile/>.
- Disarchive needs to be able to load Guile modules from:
- - Guile-Gcrypt <https://notabug.org/cwebber/guile-gcrypt>;
- - Guile-LZMA <https://git.ngyro.com/guile-lzma>; and
- - Guile-bzip2 <https://git.ngyro.com/guile-bzip2>.
- Optionally, in order to download directories from the Software
- Heritage archive, Disarchive will try to load modules from:
- - GNU Guix <https://guix.gnu.org/>.
- Additionally, Disarchive needs to run the following utilities:
- - GNU Tar <https://gnu.org/software/tar/>;
- - GNU Gzip <https://gnu.org/software/gzip/>;
- - XZ <https://tukaani.org/xz/>; and
- - bzip2 <https://sourceware.org/bzip2/>.
- Installing
- ==========
- To install, you may use the standard GNU approach:
- ./configure
- make
- make install
- You can find more details about installing in the 'INSTALL' file.
- If you are installing from a Git checkout, you will need to run
- autoreconf -vif
- to generate the 'configure' script and Makefile. To do so, you will
- need Autoconf, Automake, and pkg-config.
- Testing
- =======
- Disarchive makes use of randomized property-based testing, so in order
- to run the tests you will need:
- - Guile-QuickCheck <https://git.ngyro.com/guile-quickcheck>.
- Copying Disarchive
- ==================
- This is free software released under the GNU GPLv3 (or later). See
- 'COPYING' for the full license. Enjoy!
- Copying this file
- =================
- This file was written by Timothy Sample <samplet@ngyro.com>.
- To the extent possible under law, the author(s) have waived all
- copyright and related or neighboring rights to this file.
- You should have received a copy of the CC0 legalcode along with this
- work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|