Comment 4 for bug 1929370

Revision history for this message
Alex Murray (alexmurray) wrote :

I tested the update in -proposed as follows:

# enable -proposed in a fresh 18.04 LTS install
cat <<EOF | sudo tee /etc/apt/sources.list.d/ubuntu-$(lsb_release -cs)-proposed.list
# Enable Ubuntu proposed archive
deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -cs)-proposed restricted main multiverse universe
EOF

cat <<EOF | sudo tee /etc/apt/preferences.d/proposed-updates
# Configure apt to allow selective installs of packages from proposed
Package: *
Pin: release a=$(lsb_release -cs)-proposed
Pin-Priority: 400
EOF

# get the test script from qa-regression-testing
sudo apt install git python-minimal
git clone https://git.launchpad.net/qa-regression-testing

# package the test script etc
cd qa-regression-testing/
./scripts/make-test-tarball ./scripts/test-squashfs-tools.py

# run the test with the current unpatched version
cd /tmp
tar xf qrt-test-squashfs-tools.tar.gz
cd qrt-test-squashfs-tools/
sudo ./test-squashfs-tools.py
Skipping private tests
F.
======================================================================
FAIL: test_mksquashfs_unsquashfs (__main__.SquashfsToolsTest)
Test mksquashfs/unsquashfs - root
----------------------------------------------------------------------
Traceback (most recent call last):
  File "./test-squashfs-tools.py", line 254, in test_mksquashfs_unsquashfs
    self._verify_unsquashfs(numeric_uid, fn, listing)
  File "./test-squashfs-tools.py", line 218, in _verify_unsquashfs
    (raw, entries) = self._get_comparable_unsquashfs(numeric_uid, fn)
  File "./test-squashfs-tools.py", line 171, in _get_comparable_unsquashfs
    "unsquashfs " + switch + " failed: %s" % report)
AssertionError: unsquashfs -lln failed: SYNTAX: unsquashfs [options] filesystem [directories or files to extract]
 -v[ersion] print version, licence and copyright information
 -d[est] <pathname> unsquash to <pathname>, default "squashfs-root"
 -n[o-progress] don't display the progress bar
 -no[-xattrs] don't extract xattrs in file system
 -x[attrs] extract xattrs in file system (default)
 -u[ser-xattrs] only extract user xattrs in file system.
    Enables extracting xattrs
 -p[rocessors] <number> use <number> processors. By default will use
    number of processors available
 -i[nfo] print files as they are unsquashed
 -li[nfo] print files as they are unsquashed with file
    attributes (like ls -l output)
 -l[s] list filesystem, but don't unsquash
 -ll[s] list filesystem with file attributes (like
    ls -l output), but don't unsquash
 -f[orce] if file already exists then overwrite
 -s[tat] display filesystem superblock information
 -fstime display filesystem superblock time
 -e[f] <extract file> list of directories or files to extract.
    One per line
 -da[ta-queue] <size> Set data queue to <size> Mbytes. Default 256
    Mbytes
 -fr[ag-queue] <size> Set fragment queue to <size> Mbytes. Default
    256 Mbytes
 -r[egex] treat extract names as POSIX regular expressions
    rather than use the default shell wildcard
    expansion (globbing)

Decompressors available:
 gzip
 lzma
 lzo
 lz4
 xz

----------------------------------------------------------------------
Ran 2 tests in 2.152s

FAILED (failures=1)

# update squashfs-tools from -proposed
sudo apt update
sudo apt install squashfs-tools/bionic-proposed

# re-run test
sudo ./test-squashfs-tools.py
Skipping private tests
..
----------------------------------------------------------------------
Ran 2 tests in 2.648s

OK

# also test manually
snap download core
unsquashfs -lln core_11081.snap
Parallel unsquashfs: Using 1 processor
11395 inodes (12946 blocks) to write

drwxr-xr-x 0/0 333 2021-04-28 17:53 squashfs-root
drwxr-xr-x 0/0 1975 2021-04-28 17:53 squashfs-root/bin
-rwxr-xr-x 0/0 1037528 2019-07-13 04:56 squashfs-root/bin/bash
-rwxr-xr-x 0/0 31352 2019-07-04 22:06 squashfs-root/bin/bunzip2
-rwxr-xr-x 0/0 31352 2019-07-04 22:06 squashfs-root/bin/bzcat
lrwxrwxrwx 0/0 6 2019-07-04 22:06 squashfs-root/bin/bzcmp -> bzdiff
-rwxr-xr-x 0/0 2140 2019-07-04 22:06 squashfs-root/bin/bzdiff
...