summaryrefslogtreecommitdiff
path: root/pages/projects/squashfs-tools-ng/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'pages/projects/squashfs-tools-ng/index.md')
-rw-r--r--pages/projects/squashfs-tools-ng/index.md113
1 files changed, 113 insertions, 0 deletions
diff --git a/pages/projects/squashfs-tools-ng/index.md b/pages/projects/squashfs-tools-ng/index.md
new file mode 100644
index 0000000..ea81448
--- /dev/null
+++ b/pages/projects/squashfs-tools-ng/index.md
@@ -0,0 +1,113 @@
+# SquashFS Tools NG
+
+SquashFS is a highly compressed, read only file system often used as a root fs
+on embedded devices, live systems or simply as a compressed archive format.
+
+Think of it as a .tar.gz that you can mount (or XZ, LZO, LZ4, ZSTD).
+
+This project originally started out as a fork
+of [squashfs-tools](https://github.com/plougher/squashfs-tools) 4.3, after
+encountering some short comings and realizing that there have been no updates
+on the SourceForge site or mailing list for _years_.
+
+Even before the first public release, the fork was replaced with a complete
+re-write after growing frustrated with the existing code base. For lack of a
+better name, and because the original appeared to be unmaintained at the time,
+the name squashfs-tools-ng was kept, although the published code base
+technically never had any connection to squashfs-tools.
+
+Maintenance of the original squashfs-tools has since resumed, squashfs-tools
+version 4.4 was released and continues to be maintained in parallel. The
+utilities provided by squashfs-tools-ng offer alternative tooling and are
+intentionally named differently, so both packages can be installed side by
+side.
+
+**The actual guts of squashfs-tools-ng are encapsulated in a library
+with a generic API** designed to make SquashFS available to other applications
+as an embeddable, extensible archive format (or to simply read, write or
+manipulate SquashFS file systems).
+
+The utility programs are largely command line wrappers around the library. The
+following tools are provided:
+
+ - `gensquashfs` can be used to produce SquashFS images from `gen_init_cpio`
+ like file listings or simply pack an input directory. Can use an SELinux
+ contexts file (see selabel_file(5)) to generate SELinux labels.
+ - `rdsquashfs` can be used to inspect and unpack SquashFS images.
+ - `sqfs2tar` can turn a SquashFS image into a tarball, written to stdout.
+ - `tar2sqfs` can turn a tarball (read from stdin) into a SquashFS image.
+ - `sqfsdiff` can compare the contents of two SquashFS images.
+
+The library and the tools that produce SquashFS images are designed to operate
+deterministically. Same input will produce byte-for-byte identical output.
+Failure to do so is treated as a critical bug.
+
+## Version history
+
+| Date | Release |
+| ---------- | ------------------------------------------------------------------------------------------------------- |
+| 2020-06-13 | [squashfs-tools-ng 1.0.0 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-1.0.0.tar.xz) |
+| 2020-05-03 | [squashfs-tools-ng 0.9.1 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.9.1.tar.xz) |
+| 2020-03-30 | [squashfs-tools-ng 0.9.0 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.9.tar.xz) |
+| 2019-12-30 | [squashfs-tools-ng 0.8.0 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.8.tar.xz) |
+| 2019-10-08 | [squashfs-tools-ng 0.7.0 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.7.tar.xz) |
+| 2019-08-27 | [squashfs-tools-ng 0.6.1 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.6.1.tar.xz) |
+| 2019-08-22 | [squashfs-tools-ng 0.6.0 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.6.tar.xz) |
+| 2019-07-28 | [squashfs-tools-ng 0.5.0 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.5.tar.xz) |
+| 2019-07-17 | [squashfs-tools-ng 0.4.2 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.4.2.tar.xz) |
+| 2019-07-07 | [squashfs-tools-ng 0.4.1 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.4.1.tar.xz) |
+| 2019-07-04 | [squashfs-tools-ng 0.4.0 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.4.tar.xz) |
+| 2019-06-30 | [squashfs-tools-ng 0.3.0 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.3.tar.xz) |
+| 2019-06-13 | [squashfs-tools-ng 0.2.0 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.2.tar.xz) |
+| 2019-06-09 | [squashfs-tools-ng 0.1.0 is released](https://infraroot.at/pub/squashfs/squashfs-tools-ng-0.1.tar.xz) |
+
+## Documentation
+
+The doxygen reference for the current release of libsquashfs is available
+here: [libsquashfs API reference](doxydoc/index.html).
+
+A writeup on the [SquashFS on-disk format](https://git.infraroot.at/squashfs-tools-ng.git/tree/doc/format.txt)
+is also available.
+
+Man pages are provided for the individual tools.
+
+## Getting the Source Code
+
+[Release tar balls](https://infraroot.at/pub/squashfs/) are published in the
+pub directory.
+
+The Git tree is hosted on [git.infraroot.at](https://git.infraroot.at/squashfs-tools-ng.git/)
+as well as on [GitHub](https://github.com/AgentD/squashfs-tools-ng).
+
+Those two Git trees are kept in sync and issues & pull-requests on the GitHub
+pages are accepted.
+
+## Installing
+
+A number of Linux distributions already offer squashfs-tools-ng through
+their package management system. Replogy maintains an up to date list:
+
+[![Packaging status](https://repology.org/badge/vertical-allrepos/squashfs-tools-ng.svg)](https://repology.org/project/squashfs-tools-ng/versions)
+
+Pre-compiled binary packages for Windows are
+available [here](https://infraroot.at/pub/squashfs/windows).
+
+Those packages contain the binaries for the tools, the SquashFS library and
+pre-compiled dependency libraries (zstd, lzo, lzma; others are built in).
+
+The binary package does not contain any source code. The corresponding source
+code from which the 3rd party libraries have been built is also available for
+download at the above location.
+
+The headers and import libraries to build applications that use libsquashfs
+are included. For convenience, the pre-compiled, 3rd party dependency libraries
+also come with headers and import libraries.
+
+## Contact
+
+Besides the issue tracker on GitHub, you can reach me via e-mail as *goliath*
+on *infraroot.at*.
+
+There is currently no official mailing list. For the time being I'll use
+the existing [squashfs-tools mailing list](https://sourceforge.net/p/squashfs/mailman/)
+for announcments, until I'm booted off.