Commit b2db0821 authored by Laszlo Boszormenyi (GCS)'s avatar Laszlo Boszormenyi (GCS)
Browse files

Import squashfs-tools-ng_1.1.3.orig.tar.gz

[dgit import orig squashfs-tools-ng_1.1.3.orig.tar.gz]
parents
name: "CodeQL"
on:
push:
branches: [master, ]
pull_request:
branches: [master]
schedule:
- cron: '0 17 * * 5'
jobs:
analyse:
name: Analyse
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 2
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
- name: Autobuild
uses: github/codeql-action/autobuild@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
.deps
.dirstamp
.gdb_history
.libs
Makefile
Makefile.in
aclocal.m4
autom4te.cache
compile
config.h.in
config.log
config.status
configure
depcomp
install-sh
missing
stamp-h1
config.*
*.o
*.lo
*.la
*.a
*~
*.pc
.#*
*.exe
*.dll
*.log
*.trs
/gensquashfs
/rdsquashfs
/sqfs2tar
/tar2sqfs
/sqfsdiff
/tar_fuzz
/fstree_fuzz
test_*
test-*
libtool
ltmain.sh
m4/libtool.m4
m4/lt*.m4
Doxyfile
tests/*.sh
tests/rdsquashfs/*.sh
/mknastyfs
/mk42sqfs
/extract_one
/list_files
/sqfsbrowse
/xattr_benchmark
language: c
addons:
apt:
packages:
- libzstd-dev liblzo2-dev liblz4-dev lzma-dev zlib1g-dev libreadline-dev libbz2-dev
homebrew:
packages:
- zstd lzo lz4 xz zlib bzip2 readline
script:
- ./autogen.sh
- ./configure $CONFIG_OPTS
- make
- make check || (cat ./test-suite.log; false)
matrix:
include:
# gcc based builds for amd64, arm64, ppc64
- name: ubuntu-gcc-amd64
os: linux
arch: amd64
dist: bionic
compiler: gcc
env:
- CONFIG_OPTS="--with-pthread"
- name: ubuntu-gcc-arm64
os: linux
arch: arm64
dist: bionic
compiler: gcc
env:
- CONFIG_OPTS="--with-pthread"
- name: ubuntu-gcc-ppc64le
os: linux
arch: ppc64le
dist: bionic
compiler: gcc
env:
- CONFIG_OPTS="--with-pthread"
# clang based builds for amd64, arm64, ppc64
- name: ubuntu-clang-amd64
os: linux
arch: amd64
dist: bionic
compiler: clang
env:
- CONFIG_OPTS="--with-pthread"
- name: ubuntu-clang-arm64
os: linux
arch: arm64
dist: bionic
compiler: clang
env:
- CONFIG_OPTS="--with-pthread"
- name: ubuntu-clang-ppc64le
os: linux
arch: ppc64le
dist: bionic
compiler: clang
env:
- CONFIG_OPTS="--with-pthread"
# clang based build for macOS
- name: macOS
os: osx
env:
- CONFIG_OPTS="--with-pthread"
# special configurations
# -> build on Xenial to test liblz4 fallback
# -> try if building the serial block processor works
- name: ubuntu-gcc-amd64-nopthread
os: linux
arch: amd64
dist: xenial
compiler: gcc
env:
- CONFIG_OPTS="--without-pthread"
# Try on an uncommon, big endian system
- name: ubuntu-gcc-s390x
os: linux
arch: s390x
dist: bionic
compiler: gcc
env:
- CONFIG_OPTS="--with-pthread"
# FreeBSD
- name: FreeBSD
os: freebsd
compiler: clang
addons:
pkg:
packages:
- zstd
- lzo2
- liblz4
- bzip2
- readline
env:
- CONFIG_OPTS="--with-pthread"
This diff is collapsed.
# License of squashfs-tools-ng
The `libsquashfs` library is released under the terms and conditions of the
**GNU Lesser General Public License version 3 or later**. This applies to
all source code in the directories `lib/sqfs`, `lib/util` and `include/sqfs`
with the following exceptions:
- `lib/util/xxhash.c` contains a modified implementation of the xxhash32
algorithm. See `licenses/xxhash.txt` for copyright and licensing
information (2 clause BSD license).
- `lib/lz4` contains files extracted from the LZ4 compression library.
See `lib/lz4/README` for details and `licenses/LZ4.txt` for copyright and
licensing information (2 clause BSD license).
- `lib/zlib` contains files that have been extracted from the the zlib
compression library and modified. See `lib/zlib/README` for details
and `licenses/zlib.txt` for details.
- `lib/util/hash_table.c`, `include/hash_table.h` and
`lib/util/fast_urem_by_const.h` contain a hash table implementation (MIT
license). See `licenses/hash_table.txt` for details.
The rest of squashfs-tools-ng is released under the terms and conditions of
the **GNU General Public License version 3 or later**, with the following
exceptions:
- `lib/compat/fnmatch.c` has been copied from Musl libc.
- `lib/compat/getopt.c` has been copied from Musl libc.
- `lib/compat/getopt_long.c` has been copied from Musl libc.
- `lib/compat/getsubopt.c` has been copied from Musl libc.
The components copied from Musl libc are subejct to an MIT style license.
See `liceneses/musl.txt` for details and only compiled into executable programs
if the target system does not provide an implementation.
Copies of the LGPLv3 and GPLv3 are included in `licenses/LGPLv3.txt` and
`licenses/GPLv3.txt` respectively.
The original source code of squashfs-tools-ng has been written by David
Oberhollenzer in 2019 and onward. Additional contributions have been added
since the initial release which makes some parts of the package subject to the
copyright of the respective authors. Appropriate copyright notices and SPDX
identifiers are included in the source code files.
Although the existing squashfs-tools and the Linux kernel implementation have
been used for testing, the source code in this package is neither based on,
nor derived from either of them.
## Documentation, examples and the Build System
The auto-tools based build system has in large parts been hacked together by
copy & pasting from various tutorials and other projects (mostly util-linux,
and mtd-utils), overhauled many times since 2015.
The m4 macros in the `m4` directory were copied verbatim and have explicit
licenses. Please respect those. As for everything else, feel free to copy and
paste it as you wish.
The `doc` directory contains measurement data, pseudo lab reports and an RFC
style write-up of the SquashFS format. You may do with those as you please.
If you use those as a basis for writing about SquashFS or this package, please
cite your sources and mark verbatim quotations as such. I won't be angry if you
don't, but a thesis supervisor, reviewer or fellow Wikipedian might be.
The example programs in the `extras` directory are licensed under
the **0BSD license**, a copy of which can be found in `licenses/0BSD.txt`.
# Binary Packages with 3rd Party Libraries
If this file is included in a binary release package, additional 3rd party
libraries may be included, which are subject to the copyright of their
respective authors and the terms and conditions of their respective licenses.
The following may be included:
- The LZO compression library. Copyright Markus F.X.J. Oberhumer. This is
released under the terms and conditions of the GNU General Public License
version 2. A copy of the license is included in `licenses/GPLv2.txt`.
- The LZ4 compression library. Copyright Yann Collet. This is released under a
2 clause BSD style license, included in `licenses/LZ4.txt`. This library may
be linked directly into `libsquashfs`, built from source code included in
the source distribution.
- The XZ utils liblzma library is released into the public domain. An excerpt
from the `COPYING` file of its source code archive is included
in `licenses/xz.txt`.
- The zlib compression library. Copyright Jean-loup Gailly and Mark Adler.
This is released under the terms and conditions of the zlib license,
included in `licenses/zlib.txt`. This library may be linked directly
into `libsquashfs`, built from source code included in the source
distribution.
- The zstd compression library. Copyright Facebook, Inc. All rights reserved.
This is released under a BSD style license, included in `licenses/zstd.txt`.
- Parts of the Musl C library. Copyright Rich Felker, et al.
This is released under an MIT style license, included in `licenses/musl.txt`.
Independent of build configurations, the `libsquashfs` library contains
the following 3rd party source code, directly linked into the library:
- A modified version of the xxhash32 hash function (Copyright Yann Collet).
This is released under a 2-Clause BSD License. See `licenses/xxhash.txt`
for details.
- A hash table implementation liftet from the Mesa3D source code. This is
released under the MIT/X11 license. See `licenses/hash_table.txt` for
details.
# Doxyfile 1.8.8
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = libsquashfs
PROJECT_NUMBER = @PACKAGE_VERSION@
PROJECT_BRIEF = "A new set of tools and libraries for working with SquashFS images"
PROJECT_LOGO =
OUTPUT_DIRECTORY = @DX_DOCDIR@
CREATE_SUBDIRS = NO
ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
TCL_SUBST =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
EXTENSION_MAPPING =
MARKDOWN_SUPPORT = YES
AUTOLINK_SUPPORT = YES
BUILTIN_STL_SUPPORT = NO
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS = NO
TYPEDEF_HIDES_STRUCT = YES
LOOKUP_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_PACKAGE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
EXTRACT_ANON_NSPACES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = YES
SHOW_INCLUDE_FILES = YES
SHOW_GROUPED_MEMB_INC = NO
FORCE_LOCAL_INCLUDES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES = NO
SORT_BY_SCOPE_NAME = NO
STRICT_PROTO_MATCHING = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_FILES = YES
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE =
CITE_BIB_FILES =
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# Configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = @top_srcdir@/include/sqfs/ @top_srcdir@/doc
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.h *.dox
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH = @top_srcdir@/extras
EXAMPLE_PATTERNS = *.c
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
# Configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_EXTRA_STYLESHEET =
HTML_EXTRA_FILES =
HTML_COLORSTYLE_HUE = 220
HTML_COLORSTYLE_SAT = 100
HTML_COLORSTYLE_GAMMA = 80
HTML_TIMESTAMP = YES
HTML_DYNAMIC_SECTIONS = NO
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME = Publisher
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
CHM_INDEX_ENCODING =
BINARY_TOC = NO
TOC_EXPAND = NO
GENERATE_QHP = NO
QCH_FILE =
QHP_NAMESPACE = org.doxygen.Project
QHP_VIRTUAL_FOLDER = doc
QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
QHG_LOCATION =
GENERATE_ECLIPSEHELP = NO
ECLIPSE_DOC_ID = org.doxygen.Project
DISABLE_INDEX = NO
GENERATE_TREEVIEW = YES
ENUM_VALUES_PER_LINE = 4
TREEVIEW_WIDTH = 250
EXT_LINKS_IN_WINDOW = NO
FORMULA_FONTSIZE = 10
FORMULA_TRANSPARENT = YES
USE_MATHJAX = NO
MATHJAX_FORMAT = HTML-CSS
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
MATHJAX_EXTENSIONS =
MATHJAX_CODEFILE =
SEARCHENGINE = YES
SERVER_BASED_SEARCH = NO
EXTERNAL_SEARCH = NO
SEARCHENGINE_URL =
SEARCHDATA_FILE = searchdata.xml
EXTERNAL_SEARCH_ID =
EXTRA_SEARCH_MAPPINGS =
#---------------------------------------------------------------------------
# Configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = pdflatex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4
EXTRA_PACKAGES =
LATEX_HEADER =
LATEX_FOOTER =
LATEX_EXTRA_FILES =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
LATEX_SOURCE_CODE = NO
LATEX_BIB_STYLE = plain
#---------------------------------------------------------------------------
# Configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# Configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_SUBDIR =
MAN_LINKS = NO
#---------------------------------------------------------------------------
# Configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# Configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------
GENERATE_DOCBOOK = NO
DOCBOOK_OUTPUT = docbook
DOCBOOK_PROGRAMLISTING = NO
#---------------------------------------------------------------------------
# Configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# Configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration options related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
MSCGEN_PATH =
DIA_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
DOT_NUM_THREADS = 0
DOT_FONTNAME = Helvetica
DOT_FONTSIZE = 10
DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = YES
UML_LIMIT_NUM_FIELDS = 10
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = NO
DOT_IMAGE_FORMAT = png
INTERACTIVE_SVG = NO
DOT_PATH =
DOTFILE_DIRS =
MSCFILE_DIRS =
DIAFILE_DIRS =
PLANTUML_JAR_PATH =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
ACLOCAL_AMFLAGS = -I m4
AM_CPPFLAGS = -I$(top_srcdir)/include -D_GNU_SOURCE
AM_CFLAGS = $(WARN_CFLAGS)
if WITH_LZO
AM_CPPFLAGS += -DWITH_LZO
endif