4cd547286c
coverage.sh: sysvinit-utils also works with chrootless
2021-03-08 19:32:53 +01:00
65070e23da
coverage.sh: add more docs for chrootless essential test
2021-03-08 19:32:19 +01:00
5a3d1ab5c4
Rework /dev, /sys, /proc mounting
...
- assume all entries in @devfiles to be in /dev
- allow for /dev, /sys and /proc not to exist in the target and print warning
- allow for /dev entries as well as /sys and /proc not to exist on the outside
- simplify umount by storing special options in @umountopts
- remove superfluous checks for root and unshare mode
- make sure /dev entries are less than 100 chars in size for tar
2021-03-08 08:04:35 +01:00
5fd1ca62d9
coverage.sh: don't attempt deleting non-existant directory
2021-02-19 14:40:20 +01:00
067daaf4c2
also run unshare with --propagation unchanged in root mode
2021-02-19 12:53:14 +01:00
276363c2a1
coverage.sh: remove chroot directories
2021-02-06 14:46:37 +01:00
0009e62b3e
coverage.sh: do not run cap_sys_admin test under lxc
2021-02-06 14:46:37 +01:00
73cd7cd2e8
run unshare --mount with --propagation unchanged to prevent 'cannot change root filesystem propagation' when running mmdebstrap from inside a chroot
2021-02-06 10:11:53 +01:00
39167dbc30
expose hook name to hooks via MMDEBSTRAP_HOOK environment variable
2021-02-06 09:18:05 +01:00
7a43ff89dc
improve dpkg and apt version parsing
2021-02-04 17:42:40 +01:00
4e658549f0
coverage.sh: clean up some additional files
2021-02-04 17:39:50 +01:00
7bd733fb8b
In root mode, check whether it's possible to mount
...
- even if the user is root, they might not have permission to mount
- check for CAP_SYS_ADMIN and unshare --mount before proceeding
- allow one to disable the check with --skip=check/canmount
- this is useful in container environments like docker
2021-01-13 18:40:29 +01:00
4693034138
allow unshare as root user
...
- this is useful when you are already root and want the benefits of
unsharing the mount namespace to prevent messing up your system
- if the unshare mode is used as root, the user namespace is not unshared
anymore and newuidmap, setuid and friends are not called anymore
- if the unshare mode is used as non-root test if the user namespace can be
unshared, otherwise test if the mount namespace can be unshared
2021-01-13 16:15:59 +01:00
0f6741d01a
coverage.sh: allow to run on stable
2021-01-11 13:28:18 +01:00
ac21074243
set MMDEBSTRAP_APT_CONFIG, MMDEBSTRAP_MODE and MMDEBSTRAP_HOOKSOCK for hook scripts
2021-01-09 19:41:59 +01:00
2d03a81997
coverage.sh: reenabling tests because bugs got fixed
...
- systemd didn't get fixed but somehow the order matches again (bug #963788 )
- python is installable again (bug #968217 )
- apt immediate configure was not fixed but src:glibc changed to not
trigger the bug anymore (bugs #973305 , #973325 and #972552 )
2021-01-06 11:33:37 +01:00
0dc8321094
coverage.sh: the output of getcap differs depending on the version
2021-01-06 11:19:15 +01:00
e9e5f15f61
coverage.sh: remove tarball earlier to free some space
2021-01-06 11:18:46 +01:00
2ccd025a25
coverage.sh: don't execute test modifying /etc/hosts without qemu
2020-12-02 00:44:57 +01:00
2c232e0661
don't ignore packages added via --include if multiple apt indices are used
2020-12-02 00:33:18 +01:00
3a2b3c142a
coverage.sh: remove stray 'exit 0'
2020-12-01 16:10:21 +01:00
9e56353661
coverage.sh: assemble ELF header according to bits and endian
2020-11-29 22:24:01 +01:00
077d8cdd9a
coverage.sh,make_mirror.sh: add i386 support
2020-11-29 21:39:08 +01:00
165cc82f97
preserve permissions of /etc/resolv.conf and /etc/hostname and resolve symlinks as debootstrap does it
2020-11-29 20:54:31 +01:00
a7c557644e
coverage.sh: check for unshare and proot
2020-11-29 15:13:59 +01:00
cf695c4a21
coverage.sh: fix total number ant print_header position
2020-11-29 11:41:36 +01:00
ac48ff6672
coverage.sh: also test variant=custom with dropping archives into /var/cache/apt/archives
2020-11-29 11:40:26 +01:00
beb0b8c177
name solver mmdebstrap-dump-solution in official apt path
2020-11-29 02:30:03 +01:00
904b79be06
coverage.sh: fix total number of tests
2020-11-29 01:55:35 +01:00
c760661de3
coverage.sh: test using /mnt requires qemu
2020-11-28 15:22:56 +01:00
1e7e002eb1
print explicit info message about installing essential packages
2020-11-28 00:45:32 +01:00
2c5d902822
coverage.sh: the proot+pam problem is no more since pam 1.3.1-1
2020-11-28 00:34:48 +01:00
d96d0e0e16
coverage.sh: if a test cannot be executed mark it as skipped instead of ignoring it
2020-11-27 22:52:18 +01:00
df04cf91f2
coverage.sh: only copy or test files that actually exist
2020-11-27 01:00:56 +01:00
3731393c7a
coverage.sh: fix HOSTARCH -> ONLINE
2020-11-26 23:45:32 +01:00
692f687928
coverage.sh: skip tests affected by #973305 and #973325
2020-11-26 23:42:29 +01:00
0b4f8ca7db
replace armhf with arm64 in the testsuite because builds of gcc on armhf can take more than 2 days, resulting in a long m-a:same version skew
2020-11-26 23:16:36 +01:00
3babdb04cb
coverage.sh: /etc/apt/apt.conf.d/01autoremove-kernels is not anymore always created
2020-11-26 23:10:38 +01:00
0c990abc48
coverage.sh: only consider non-POD parts for maximum line length check
2020-11-15 11:30:04 +01:00
21a26b5dac
pass verbosity to hook-listener
2020-11-13 22:37:53 +01:00
bf87e83bdb
make it possible to seed /var/cache/apt/archives with deb packages
2020-11-13 19:02:41 +01:00
e4a3d2b2c5
coverage.sh: two tests need qemu isolation
2020-08-28 14:37:50 +02:00
caa80ccd95
coverage.sh: send adios to hook-listener
2020-08-28 14:37:05 +02:00
d528f6316c
coverage.sh: store temporary files in /tmp and not in shared
2020-08-27 15:18:43 +02:00
33b1ed5993
coverage.sh: test ubuntu focal
2020-08-26 09:44:29 +02:00
7c752fa8a0
print elapsed time after successful run
2020-08-25 18:08:31 +02:00
07fa6f29c8
coverage.sh: remove unused variable declaration
2020-08-25 16:05:33 +02:00
74725ac451
coverage.sh: test eatmydata and merged-usr hooks
2020-08-25 16:05:10 +02:00
465c056434
no longer needs to install twice when --depkgopt=path-exclude is given by filtering the tarball with new tarfilter utility
2020-08-25 13:02:33 +02:00
7c532d5572
coverage.sh: produce report inside VM to prevent errors from version mismatches
2020-08-24 18:45:22 +02:00
c4d9d81258
coverage.sh: fixup commit 95400ee1
2020-08-24 18:45:22 +02:00
95400ee1e2
coverage.sh: add test for hook-dir
2020-08-17 18:59:54 +02:00
e2a759967f
put hook listener into its own function and expose it to the CLI via --hook-listener
2020-08-15 22:36:13 +02:00
e8144b1fbb
coverage.sh: run diff with -u
2020-08-15 18:07:45 +02:00
8c467584f6
coverage.sh: check that xattrs are set in the original tarball
2020-08-15 18:05:59 +02:00
7ec0e1b4e1
coverage.sh: skip prio:standard test because python is priority:standard but uninstallable since August 03 2020, see Debian bug #968217
2020-08-13 14:03:31 +02:00
d9153818f4
since libcap2 2.41 or upstream commit 177cd418, the getcap output format changed
2020-08-11 22:43:44 +02:00
6af42fafe9
coverage.sh: document how to check for new chrootless packages
2020-07-09 07:40:54 +02:00
6eb52d8095
coverage.sh: print unified diff
2020-07-09 07:35:59 +02:00
35b72c9895
coverage.sh: skip tests because of #963788
2020-07-09 07:34:38 +02:00
6c4c4bef41
coverage.sh: comparing amd64 with i386 should only be done with RUN_MA_SAME_TESTS = yes
2020-06-24 23:11:03 +02:00
c633a9ac0d
coverage.sh: add test for known-good chrootless packages
2020-06-24 23:10:29 +02:00
1dc0984821
Revert "remove libgcc1 for libc6 >= 2.30-2" -- situation in debootstrap is fixed
...
This reverts commit a91d7440cb
.
2020-06-24 09:34:34 +02:00
da4de7cfdf
coverage.sh: test wrapping debootstrap in mmdebstrap
2020-05-03 20:32:50 +02:00
c0ee8c82db
coverage.sh: check bit-by-bit identical squashfs and ext2 output using S_D_E between root and unshare modes
2020-05-03 09:40:37 +02:00
895c388ede
add --format option and ext2 image output
2020-04-09 20:40:23 +02:00
89e8f7a39a
coverage.sh: abort early if the test system is about to be changed
2020-04-09 18:40:27 +02:00
6b90cf7006
coverage.sh: workaround for squashfs-tools-ng/issues/42
2020-04-09 18:40:23 +02:00
02ed5e33f8
add --extract-hook
2020-04-09 18:40:18 +02:00
446d66ea06
coverage.sh: fix typo
2020-03-22 14:07:28 +01:00
aa3d2875a8
coverage.sh: also compare permissions, ownership, symlink targets and mtimes
2020-03-22 14:07:00 +01:00
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
2020-03-15 14:04:57 +01:00
73b46e1812
coverage.sh: add test that makes sure that TMPDIR is used and works in unshare mode
2020-03-07 23:34:32 +01:00
5107116384
coverage.sh: use regex to not rely on exact gcc version
2020-03-06 08:44:22 +01:00
a8fa48fbc7
coverage.sh: host architecture in --logfile output must depend on host
2020-01-24 10:12:29 +01:00
62159d124a
support deb822-style format apt sources
2020-01-22 23:30:28 +01:00
3aef4dcc67
coverage.sh: add test comparing variant=debootstrap tarball for mode=root with mode=unshare
2020-01-21 13:32:05 +01:00
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
2020-01-21 13:24:49 +01:00
77c8bb7252
coverage.sh: fix typo in header message
2020-01-21 13:12:03 +01:00
1f59856858
make_mirro.sh: install gpg into qemu machine
2020-01-21 13:08:35 +01:00
8481068cd2
coverage.sh: write mmdebstrap.tdy into temporary file instead of current directory
2020-01-21 13:07:18 +01:00
98c8c573de
coverage.sh: test taridshift
2020-01-18 23:13:10 +01:00
7d152ec7e0
add sync-in and sync-out hooks
2020-01-16 10:38:14 +01:00
5e0f6d0ca8
coverage.sh: strip -in from upload-in and download-in
2020-01-16 10:30:21 +01:00
66957e6abd
coverage.sh: redirect grep output to /dev/null instead of using --quiet to prevent broken pipe
2020-01-10 12:07:03 +01:00
40c9f76d91
coverage.sh: check the full log to also prevent debug printfs to accidentally make it into a commit
2020-01-10 12:03:49 +01:00
2cb6438454
add --dry-run and --simulate
2020-01-10 11:44:15 +01:00
c36bfe25e7
reduce cover_db.img size, now that we don't run it for exec-ed processes anymore
2020-01-09 12:41:26 +01:00
f867384c20
coverage.sh: test with perlcritic
2020-01-09 08:39:40 +01:00
4ba82a41cf
format code with perltidy
2020-01-08 17:46:41 +01:00
4fed488c35
when re-execing itself, keep Devel::Cover options
2020-01-08 15:33:49 +01:00
f2ad2976ef
coverage.sh: remove some debugging output
2020-01-07 18:10:44 +01:00
caf8fd8283
coverage.sh: exit 1 instead of continuing after printing differences
2020-01-07 18:10:12 +01:00
161f8b0ec2
coverage.sh: bump cover_db.img size to 384MB
2020-01-07 18:08:20 +01:00
dbdf3f34c6
add support for generating squashfs images using tar2sqfs
2020-01-07 17:40:13 +01:00
51fab612ed
coverage.sh: cleanup shared/test.sh
2020-01-06 13:03:45 +01:00
8a0b003353
coverage.sh: cleanup dpkg config
2020-01-06 13:03:29 +01:00
b143e170e2
coverage.sh: keep track of executed and skipped tests
2020-01-06 13:02:27 +01:00
04e40eca47
coverage.sh: output messages on stderr
2020-01-06 12:56:40 +01:00
dc7663b3a8
coverage.sh: allow running tests on architectures other than amd64 with reduced functionality
2020-01-06 11:10:31 +01:00