Commit Graph

203 Commits (main)

Author SHA1 Message Date
Johannes 'josch' Schauer 7c532d5572
coverage.sh: produce report inside VM to prevent errors from version mismatches 4 years ago
Johannes 'josch' Schauer c4d9d81258
coverage.sh: fixup commit 95400ee1 4 years ago
Johannes 'josch' Schauer 95400ee1e2
coverage.sh: add test for hook-dir 4 years ago
Johannes 'josch' Schauer e2a759967f
put hook listener into its own function and expose it to the CLI via --hook-listener 4 years ago
Johannes 'josch' Schauer e8144b1fbb
coverage.sh: run diff with -u 4 years ago
Johannes 'josch' Schauer 8c467584f6
coverage.sh: check that xattrs are set in the original tarball 4 years ago
Johannes 'josch' Schauer 7ec0e1b4e1
coverage.sh: skip prio:standard test because python is priority:standard but uninstallable since August 03 2020, see Debian bug #968217 4 years ago
Johannes 'josch' Schauer d9153818f4
since libcap2 2.41 or upstream commit 177cd418, the getcap output format changed 4 years ago
Johannes 'josch' Schauer 6af42fafe9
coverage.sh: document how to check for new chrootless packages 4 years ago
Johannes 'josch' Schauer 6eb52d8095
coverage.sh: print unified diff 4 years ago
Johannes 'josch' Schauer 35b72c9895
coverage.sh: skip tests because of #963788 4 years ago
Johannes 'josch' Schauer 6c4c4bef41
coverage.sh: comparing amd64 with i386 should only be done with RUN_MA_SAME_TESTS = yes 4 years ago
Johannes 'josch' Schauer c633a9ac0d
coverage.sh: add test for known-good chrootless packages 4 years ago
Johannes 'josch' Schauer 1dc0984821
Revert "remove libgcc1 for libc6 >= 2.30-2" -- situation in debootstrap is fixed
This reverts commit a91d7440cb.
4 years ago
Johannes 'josch' Schauer da4de7cfdf
coverage.sh: test wrapping debootstrap in mmdebstrap 4 years ago
Johannes 'josch' Schauer c0ee8c82db
coverage.sh: check bit-by-bit identical squashfs and ext2 output using S_D_E between root and unshare modes 4 years ago
Johannes 'josch' Schauer 895c388ede
add --format option and ext2 image output 4 years ago
Johannes 'josch' Schauer 89e8f7a39a
coverage.sh: abort early if the test system is about to be changed 4 years ago
Johannes 'josch' Schauer 6b90cf7006
coverage.sh: workaround for squashfs-tools-ng/issues/42 4 years ago
Johannes 'josch' Schauer 02ed5e33f8
add --extract-hook 4 years ago
Johannes 'josch' Schauer 446d66ea06
coverage.sh: fix typo 4 years ago
Johannes 'josch' Schauer aa3d2875a8
coverage.sh: also compare permissions, ownership, symlink targets and mtimes 4 years ago
Johannes 'josch' Schauer a91d7440cb
remove libgcc1 for libc6 >= 2.30-2
The buildd variant of debootstrap will install libgcc-s1 *and* libgcc1
even though the former provides the latter. Remove the latter manually.

Since apt does not consider libgcc1 necessary, we have to download it
explicitly for debootstrap.

See Debian bug #953861
4 years ago
Johannes 'josch' Schauer 73b46e1812
coverage.sh: add test that makes sure that TMPDIR is used and works in unshare mode 4 years ago
Johannes 'josch' Schauer 5107116384
coverage.sh: use regex to not rely on exact gcc version 4 years ago
Johannes 'josch' Schauer a8fa48fbc7
coverage.sh: host architecture in --logfile output must depend on host 4 years ago
Johannes 'josch' Schauer 62159d124a
support deb822-style format apt sources 4 years ago
Johannes 'josch' Schauer 3aef4dcc67
coverage.sh: add test comparing variant=debootstrap tarball for mode=root with mode=unshare 4 years ago
Johannes 'josch' Schauer 64fedc530e
Restore deterministic tar with pax and xattr support
- all creating and extraction of tarballs respects extended attributes
 - extended attributes require pax format, so explicitly request the
   format
 - to make pax bit-by-bit reproducible, ctime, atime and PID have to be
   removed from the headers with:
   --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime
 - always pass --numeric-owner to tar
 - always pass --xattrs when creating a tar
 - always pass --xattrs --xattrs-include=* when extracting a tar
4 years ago
Johannes 'josch' Schauer 77c8bb7252
coverage.sh: fix typo in header message 4 years ago
Johannes 'josch' Schauer 1f59856858
make_mirro.sh: install gpg into qemu machine 4 years ago
Johannes 'josch' Schauer 8481068cd2
coverage.sh: write mmdebstrap.tdy into temporary file instead of current directory 4 years ago
Johannes 'josch' Schauer 98c8c573de
coverage.sh: test taridshift 4 years ago
Johannes 'josch' Schauer 7d152ec7e0
add sync-in and sync-out hooks 4 years ago
Johannes 'josch' Schauer 5e0f6d0ca8
coverage.sh: strip -in from upload-in and download-in 4 years ago
Johannes 'josch' Schauer 66957e6abd
coverage.sh: redirect grep output to /dev/null instead of using --quiet to prevent broken pipe 4 years ago
Johannes 'josch' Schauer 40c9f76d91
coverage.sh: check the full log to also prevent debug printfs to accidentally make it into a commit 4 years ago
Johannes 'josch' Schauer 2cb6438454
add --dry-run and --simulate 4 years ago
Johannes 'josch' Schauer c36bfe25e7
reduce cover_db.img size, now that we don't run it for exec-ed processes anymore 4 years ago
Johannes 'josch' Schauer f867384c20
coverage.sh: test with perlcritic 4 years ago
Johannes 'josch' Schauer 4ba82a41cf
format code with perltidy 4 years ago
Johannes 'josch' Schauer 4fed488c35
when re-execing itself, keep Devel::Cover options 4 years ago
Johannes 'josch' Schauer f2ad2976ef
coverage.sh: remove some debugging output 4 years ago
Johannes 'josch' Schauer caf8fd8283
coverage.sh: exit 1 instead of continuing after printing differences 4 years ago
Johannes 'josch' Schauer 161f8b0ec2
coverage.sh: bump cover_db.img size to 384MB 4 years ago
Johannes 'josch' Schauer dbdf3f34c6
add support for generating squashfs images using tar2sqfs 4 years ago
Johannes 'josch' Schauer 51fab612ed
coverage.sh: cleanup shared/test.sh 4 years ago
Johannes 'josch' Schauer 8a0b003353
coverage.sh: cleanup dpkg config 4 years ago
Johannes 'josch' Schauer b143e170e2
coverage.sh: keep track of executed and skipped tests 4 years ago
Johannes 'josch' Schauer 04e40eca47
coverage.sh: output messages on stderr 4 years ago
Johannes 'josch' Schauer dc7663b3a8
coverage.sh: allow running tests on architectures other than amd64 with reduced functionality 4 years ago
Johannes 'josch' Schauer 4daae7e9be
coverage.sh: only patch /etc/shadow if necessary 4 years ago
Johannes 'josch' Schauer 46c9d4e058
coverage.sh: change busybox test to not be super sensitive about changes in unstable anymore 4 years ago
Johannes 'josch' Schauer 163da0a72d
coverage.sh: add safety measure to ensure certain tests are not run outside qemu 4 years ago
Johannes 'josch' Schauer 95e4a82937
coverage.sh: redirect to /dev/null instead of --quiet to avoid broken pipe 4 years ago
Johannes 'josch' Schauer 170344a611
coverage.sh: busybox sub-essential system now contains libcrypt1 4 years ago
Johannes 'josch' Schauer 75609a0b55
coverage.sh: make sure we have a gzip compressed file by checking the first three magic bytes 4 years ago
Johannes 'josch' Schauer b3949f6f7a
coverage.sh: continue loop after finding a program to diff with 4 years ago
Johannes 'josch' Schauer de85ad44b2
coverage.sh: reintroduce testing of debootstrap '-' variant 4 years ago
Johannes 'josch' Schauer 647e7e37f1
coverage.sh: test xattr support
When creating a tarball: --xattrs
When extracting a tarball: --xattrs --xattrs-include='*'
4 years ago
Johannes 'josch' Schauer 868081727e
add special hooks copy-in, copy-out, tar-in, tar-out, upload and download 5 years ago
Johannes 'josch' Schauer e6d5d74d87
--keyring now overwrites the default apt keyring
- apt can only handle one directory and one file as keyring
 - the signed-by option is used to specify the keyrings for suites that
   are not known by apt
5 years ago
Johannes 'josch' Schauer 6227bb2580
coverage.sh: add test for non-empty target directory 5 years ago
Johannes 'josch' Schauer d262d67877
Fix parallel xz compression... hopefully for the last time... 5 years ago
Johannes 'josch' Schauer aad36777e8
add --man option and reduce output of --help option
Printing the full man page requires the perl-doc package. To avoid this
dependency, print the less verbose output containing only the synopsis
and the option list for the --help option and print the full output
(requiring perldoc) for the --man option.
5 years ago
Johannes 'josch' Schauer 3a1d5413e2
also remove /var/log/apt/eipp.log.xz 5 years ago
Johannes 'josch' Schauer f548c57ef8
coverage.sh: increase cover_db.img size to 256M 5 years ago
Johannes 'josch' Schauer a2cd0e9843
add --keyring option as a shorthand for --aptopt='Dir::Etc::Trusted... 5 years ago
Johannes 'josch' Schauer 6cac8e70e8
allow multiple --include options and use array instead of hash
Package order is important when calling apt. Consider this dependency
graph:

    A -> B -> C | D , E -> D | C

"apt install A E" it will install "A B C E"
"apt install E A" it will install "E D A B"
5 years ago
Johannes 'josch' Schauer c5a96736ef
coverage.sh: check that the expected number of tests get executed 5 years ago
Johannes 'josch' Schauer c403b2b238
coverage.sh: add test for removal of start-stop-daemon and policy-rc.d in hook 5 years ago
Johannes 'josch' Schauer e0732140c0
make hooks work in chrootless mode 5 years ago
Johannes 'josch' Schauer d36ba6b371
allow multiple --architecture options and separation by whitespace 5 years ago
Johannes 'josch' Schauer 22c90c2ca6
it's possible that apt is already downloaded at the time where we want to install it 5 years ago
Johannes 'josch' Schauer 78358eaf9a
improve --components parsing with comma and whitespace as separator 5 years ago
Johannes 'josch' Schauer 503faaccf8
coverage.sh: in addition to cmp, run diffoscope and base64 and xxd 5 years ago
Johannes 'josch' Schauer 6bbf3943d1
coverage.sh: don't run make_mirror.sh 5 years ago
Johannes 'josch' Schauer dde777123e
coverage.sh: require binfmt support form chrootless installation of libmagic-mgc on armhf 5 years ago
Johannes 'josch' Schauer 3d8b072e3f
coverage.sh: allow to disable running tests that can fail because of m-a:same version skews 5 years ago
Johannes 'josch' Schauer b40f1530a2
coverage.sh: typo, delete shared/doc-debian.tar.list 5 years ago
Johannes 'josch' Schauer 4b919bbcc8
coverage.sh: busybox-based sub-essential does not need libattr1 anymore 5 years ago
Johannes 'josch' Schauer 594c8bbaa0
coverage.sh: also test --force-check-gpg 5 years ago
Johannes 'josch' Schauer a7a80e22c1
coverage.sh: also filter out changelog of Debian native packages 5 years ago
Johannes 'josch' Schauer fba31a078a
coverage.sh: remove /tmp/debian-chroot before exiting 5 years ago
Johannes 'josch' Schauer 311b58c689
fix print_header output for test 'fail with unshare as root user' 5 years ago
Johannes 'josch' Schauer 36d36d85ab
coverage.sh: always run --help and --version tests as root 5 years ago
Johannes 'josch' Schauer 87c742eded
coverage.sh: switch several tests from mode=root to $defaultmode 5 years ago
Johannes 'josch' Schauer d4646fd8b0
coverage.sh: add test for i386 on amd64 without qemu 5 years ago
Johannes 'josch' Schauer 70b33609ea
coverage.sh: add test for armhf without qemu support 5 years ago
Johannes 'josch' Schauer 39503bd0af
coverage.sh: add test for installing onto existing file 5 years ago
Johannes 'josch' Schauer d5cdc5b9b9
coverage.sh: add test for installing into / 5 years ago
Johannes 'josch' Schauer 598d353def
coverage.sh: add test for missing /etc/resolv.conf and /etc/hostname 5 years ago
Johannes 'josch' Schauer c8b9a2ed96
coverage.sh: add test for copy:// and file:// mirrors 5 years ago
Johannes 'josch' Schauer 46eb9cdc5d
coverage.sh: add test for path with quotes 5 years ago
Johannes 'josch' Schauer 8a2897d629
coverage.sh: add test for non-empty lost+found 5 years ago
Johannes 'josch' Schauer 4447769b50
when creating a tarball in chrootless mode, use root ownership 5 years ago
Johannes 'josch' Schauer a921e32e6c
Do not unconditionally read standard input
mmdebstrap used to attempt reading stdin if it was not a tty. This leads
to unexpected behaviour when mmdebstrap is used through ssh without a
pseudo-terminal allocated like so:

    $ ssh remote mmdebstrap unstable /output/dir http://mirror

This will stall forever, waiting for data on standard input. Or
consider:

    $ ssh remote << END
    > somecommand
    > mmdebstrap unstable /output/dir http://mirror
    > othercommand
    END

This will make mmdebstrap read "othercommand" and everything that
follows as a sources.list entry. To prevent this unexpected behaviour,
the following ways to use mmdebstrap will not be supported anymore:

    $ mmdebstrap unstable /output/dir < sources.list
    $ mmdebstrap unstable /output/dir http://mirror < sources.list

Instead, one must now explicitly pass "-" if one wants mmdebstrap to
read from stdin:

    $ mmdebstrap unstable /output/dir - < sources.list
    $ mmdebstrap unstable /output/dir http://mirror - < sources.list
5 years ago
Johannes 'josch' Schauer 1219a65723
add /var/lib/dpkg/arch in chrootless mode when chroot architecture differs 5 years ago
Johannes 'josch' Schauer 77f2cbee5d
coverage.sh: filter out potential binNMU changelogs 5 years ago
Johannes 'josch' Schauer d9e5603f6f
coverage.sh: instead of installing gcc-8-base:armhf, install libmagic-mgc:armhf
- is not part of the native installation set
 - does not have any dependencies
 - installs only few files
 - doesn't change its name regularly (like gcc-*-base)
5 years ago