Commit Graph

250 Commits (main)

Author SHA1 Message Date
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 4 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
4 years ago
Johannes 'josch' Schauer 6227bb2580
coverage.sh: add test for non-empty target directory 4 years ago
Johannes 'josch' Schauer d262d67877
Fix parallel xz compression... hopefully for the last time... 4 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.
4 years ago
Johannes 'josch' Schauer 3a1d5413e2
also remove /var/log/apt/eipp.log.xz 4 years ago
Johannes 'josch' Schauer f548c57ef8
coverage.sh: increase cover_db.img size to 256M 4 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
Johannes 'josch' Schauer 2d2cdfbbc3
create /var/lib/dpkg/cmethopt for dselect (see #930788) 5 years ago
Johannes 'josch' Schauer a425b948dd
updates for release of Debian buster 5 years ago
Johannes 'josch' Schauer b2d5a45932
cleanup auxfiles *after* running apt-get update or otherwise it will be re-created 5 years ago
Johannes 'josch' Schauer 19fdb4914d
coverage.sh: auto generate package list for aspcud instead of hardcoding it 5 years ago
Johannes 'josch' Schauer 055af094ea
coverage.sh: add test auto-mode without unshare capabilities 5 years ago
Johannes 'josch' Schauer ea8315a5f1
coverage.sh: allow setting chroot distribution with DEFAULT_DIST 5 years ago
Johannes 'josch' Schauer 6c39fe8b5a
coverage.sh: add test for aspcud external apt solver 5 years ago
Johannes 'josch' Schauer f4ed753af5
coverage.sh: use pipe to diff instead of temporary file 5 years ago
Johannes 'josch' Schauer b7f7f4e581
coverage.sh: fix total number of tests 5 years ago
Johannes 'josch' Schauer 920877fa2a
disable apt sandboxing if the chroot directory is not accessible by the _apt user 5 years ago
Johannes 'josch' Schauer 632b19eca3
coverage.sh: re-enable fakechroot testing as #915559 got fixed 5 years ago
Johannes 'josch' Schauer d0f0283120
do not cleanup apt and dpkg lock files to not set bad precedence 5 years ago
Johannes 'josch' Schauer 0e49b70a0f
coverage.sh: /run/mount/utab is created inside qemu but not on gitlab CI -- weird... 5 years ago
Johannes 'josch' Schauer c0ac77b01d
coverage.sh: stable default mirror: don't forget to remove chroot and only run test with qemu 5 years ago
Johannes 'josch' Schauer 48e34852a2
clean /var/lib/apt/lists/auxfiles so that apt older than 1.6 has no problem with the chroot 5 years ago
Johannes 'josch' Schauer 67343d0309
coverage.sh: adjust total number of tests 5 years ago
Johannes 'josch' Schauer 732eb2a1d2
coverage.sh: disable fakechroot because of https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=915559 5 years ago
Johannes 'josch' Schauer 5a618ea2f5
coverage.sh: add TODO item 5 years ago
Johannes 'josch' Schauer a91a825e67
add --version option 5 years ago
Johannes 'josch' Schauer 26b1ff3fff
coverage.sh: fix print_header with defaultmode tests 5 years ago
Johannes 'josch' Schauer 93cf0544c6
coverage.sh: add 7 more tests 5 years ago
Johannes 'josch' Schauer 7126feff41
coverage.sh: increase cover_db.img size to 200M 5 years ago
Johannes 'josch' Schauer 1b8ad8400b
add --logfile option 5 years ago
Johannes 'josch' Schauer 0ced3cc3de
coverage.sh: add tests for --verbose, --debug and --quiet 5 years ago
Johannes 'josch' Schauer 1f967ed163
coverage.sh: don't be brief when diffing against debootstrap results 5 years ago
Johannes 'josch' Schauer 0b058c7db1
add --setup-hook, --essential-hook and rename --customize to --customize-hook 5 years ago
Johannes 'josch' Schauer d72a582a8b
coverage.sh: work around bug #917773 5 years ago
Johannes 'josch' Schauer 89718d367e
test no-op options and print info message when they are used 5 years ago
Johannes 'josch' Schauer 2eed1262db
coverage.sh: create tarball as root with /tmp mounted nodev 5 years ago
Johannes 'josch' Schauer 316f909a1e
coverage.sh: test target directory with empty lost+found 5 years ago
Johannes 'josch' Schauer 9b3e2bce8d
coverage.sh: when adding foreign architecture, also install foreign package 5 years ago
Johannes 'josch' Schauer e07b70c361
coverage.sh: perform default mirror test with stable so that we can also check if the security mirror gets added 5 years ago
Johannes 'josch' Schauer a3afe24fc0
Instead of using gzip compression support, run compressor ourselves
- otherwise ./dev tar cannot be concatenated with the rest
 - test compressor early
 - better document the TARGET option
5 years ago
Johannes 'josch' Schauer 6f8bb8c977
since copy() is using syswrite(), we must flush the filehandle before calling it 5 years ago
Johannes 'josch' Schauer 9453c7e2a9
coverage.sh: add test for --customize 5 years ago
Johannes 'josch' Schauer 1c7e0c86f0
coverage.sh: mmdebstrap now creates /var/lib/dpkg/available 5 years ago
Johannes 'josch' Schauer 80aea48fa7
coverage.sh: testing is now also affected by #917386 and #917407 5 years ago
Johannes 'josch' Schauer 1e0b4cb3b0
now that fakechroot and proot are fixed, add support for for variants beyond essential and apt 5 years ago
Johannes 'josch' Schauer b113771a81
make_mirror.sh: never leave the cache in an inconsistent state by atomically switching symlinks 5 years ago
Johannes 'josch' Schauer b6e8c9dbb7
coverage.sh: skip comparison with debootstrap unstable because of #917386 and #917407 5 years ago
Johannes 'josch' Schauer 076d035f65
coverage.sh: check requirement for disk image and debootstrap tarballs before running 5 years ago
Johannes 'josch' Schauer ef576ab389
use LC_ALL=C.UTF-8 instead of LC_ALL=C 5 years ago
Johannes 'josch' Schauer 97d273aaf6
disable merged usr 5 years ago
Johannes 'josch' Schauer c8dbe5bd15
coverage.sh: account for differently ordered /etc/shells 5 years ago
Johannes 'josch' Schauer 94862ef03e
coverage.sh: make regex more precise and relax it for version numbers 5 years ago
Johannes 'josch' Schauer 2618a587a0
coverage.sh: allow running without qemu
On machines without kvm using qemu is not practical. Now, most tests can
be run without a container. Also add support for missing unshare, proot
and binfmt.
5 years ago
Johannes 'josch' Schauer 6634f4f49f
coverage.sh: fix status line 5 years ago
Johannes 'josch' Schauer 40e25ef653
coverage.sh: only run cover if coverage data exists
This is useful if ./coverage.sh is run with CMD=./mmdebstrap and thus
gathering coverage data is disabled.
6 years ago
Johannes 'josch' Schauer 13358fc039
coverage.sh: conditionally copy mmdebstrap to ./shared
- only copy if local copy is newer than the copy in ./shared
 - this enables the autopkgtest to place its own version in ./shared
   which will then not be overwritten
6 years ago
Johannes 'josch' Schauer 935f5b7a66
Instead of requiring root, use qemu
- unprivileged creation of rootfs using guestfish
 - allows full control over network, installed packages
 - merged test.sh into coverage.sh
6 years ago
Johannes 'josch' Schauer bcb6b65b72
coverage.sh: add more tests 6 years ago
Johannes 'josch' Schauer 3c411012be
coverage.sh: print script progress 6 years ago
Johannes 'josch' Schauer f3d227ae5f
add coverage.sh 6 years ago