Disassembler of software archives for long-term preservation

Timothy Sample f7fcf96e66 Update NEWS for 0.6.0. 10 месяцев назад
build-aux 084a155848 Flesh out the Unix interface. 2 лет назад
disarchive 8da6adb57f Add basic bzip2 support. 10 месяцев назад
libexec d26c5ed3da zgz: Pull in upstream nondeterminism fix. 3 лет назад
scripts 084a155848 Flesh out the Unix interface. 2 лет назад
tests 7c5fe91fa4 Fix swapped XZ test names. 10 месяцев назад
.dir-locals.el 8fe6190ab3 Add XZ support. 2 лет назад
.gitignore ac801c373e Use git-version-gen for the package version. 3 лет назад
COPYING d8c2270ccc Add README, INSTALL, COPYING, and COPYING.CC0. 4 лет назад
COPYING.CC0 d8c2270ccc Add README, INSTALL, COPYING, and COPYING.CC0. 4 лет назад
ChangeLog 7ed9c3641a Add a ChangeLog using gitlog-to-changelog. 3 лет назад
INSTALL d8c2270ccc Add README, INSTALL, COPYING, and COPYING.CC0. 4 лет назад
Makefile.am 8da6adb57f Add basic bzip2 support. 10 месяцев назад
NEWS f7fcf96e66 Update NEWS for 0.6.0. 10 месяцев назад
README bae8e5eb5e Add bzip2 as a dependency. 10 месяцев назад
configure.ac bae8e5eb5e Add bzip2 as a dependency. 10 месяцев назад
disarchive.scm 084a155848 Flesh out the Unix interface. 2 лет назад
manifest.scm bae8e5eb5e Add bzip2 as a dependency. 10 месяцев назад

README

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 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
, and
.

Requirements
============

Disarchive is written in Guile Scheme and needs GNU Guile version
3.0.x .

Disarchive needs to be able to load Guile modules from:

- Guile-Gcrypt ;
- Guile-LZMA ; and
- Guile-bzip2 .

Optionally, in order to download directories from the Software
Heritage archive, Disarchive will try to load modules from:

- GNU Guix .

Additionally, Disarchive needs to run the following utilities:

- GNU Tar ;
- GNU Gzip ;
- XZ ; and
- 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 .

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 .

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 .