Commit Graph

247 Commits (main)

Author SHA1 Message Date
Johannes Schauer Marin Rodrigues 9c970c0326
coverage.sh: check whether wiki is up-to-date if run on developer machine 8 months ago
Johannes Schauer Marin Rodrigues 956dcb42e1
switch from guestfish to debvm 10 months ago
Johannes Schauer Marin Rodrigues 6b49a2dbbf
coverage.sh: pass any cli args on to coverage.py 1 year ago
Johannes Schauer Marin Rodrigues 5885291213
Use an caching apt proxy instead of copying /var/cache/apt/archives/*.deb
- only download Release files once and not by apt as well as with curl
   and thus avoid a mirror push happening between both downloads
 - no heuristic needed to place the file in their correct mirror
   location
 - no manual checksum checking
 - only throttle download speed when actually downloading and not when
   retrieving files from the cache
 - no translation of filenames between how the epoch colon is stored in
   files in /var/cache/apt/archives versus how it is stored in files on
   the mirrors
 - no special handling of stable update and security mirrors
 - implemented in Python instead of shell and thus an order of magnitude
   faster
1 year ago
Johannes Schauer Marin Rodrigues 80f8978ecc
coverage.sh: do not fail if files to be cleaned do not exist 1 year ago
Johannes Schauer Marin Rodrigues 5e07567d5a
move running debootstrap from make_mirror.sh to a test case 1 year ago
Johannes Schauer Marin Rodrigues b18849caac
Assume that we can always run unshare
With mount --rbind we can bind-mount /proc in a privileged docker
container as it is used by salsaci.
1 year ago
Johannes Schauer Marin Rodrigues b39713def5
remove last traces of proot 1 year ago
Johannes Schauer Marin Rodrigues d442f436de
shellcheck everything 1 year ago
Johannes Schauer Marin Rodrigues 892e568496
coverage.sh: split up linting conditional 2 years ago
Johannes Schauer Marin Rodrigues b85df6b8f2
coverage.sh: idshift 2 years ago
Johannes Schauer Marin Rodrigues c1c6297db7
move copying files into shared directory from coverage.sh to coverage.py 2 years ago
Johannes Schauer Marin Rodrigues 4c3fddcd54
rewrite coverage.sh
- multiple individual shell scripts instead of one 3.5k line monster
 - tests driven by Python script allowing:
    * declarative test description in coverage.txt
    * collecting errors instead of aborting on first error
    * skipping tests
    * running specific tests
2 years ago
Johannes Schauer Marin Rodrigues b99f1d53d5
add file-mirror-automount hook-dir 2 years ago
David Kalnischkies cc3150ef04
Rework download stage to allow file:// mirrors
- factor out package downloading function
 - replace -oApt::Get::Download-Only=true by -oDebug::pkgDpkgPm=1
 - remove guessing of package names in /var/cache/apt/archives/
 - drop edsp parsing with proxysolver/mmdebstrap-dump-solution to obtain
   downloaded filenames in favour of -oDpkg::Pre-Install-Pkgs::=cat
 - /var/cache/apt/archives/ is now allowed to contain packages
 - drop --skip=download/empty
 - file:// mirrors are now supported if their path is available inside
   the chroot
2 years ago
Johannes Schauer Marin Rodrigues c8835a6149
coverage.sh: make sure archives we copied into /var/cache/apt/archives are not deleted 2 years ago
Johannes Schauer Marin Rodrigues 2c155f7cc9
coverage.sh: only skip foreign arch if RUN_MA_SAME_TESTS==no and mode==fakechroot 2 years ago
Johannes Schauer Marin Rodrigues d7b39b6c97
coverage.sh: enable building variant=standard 2 years ago
Johannes Schauer Marin Rodrigues 6ec09c27ca
coverage.sh: mount tmpfs as workaround for #1010957 2 years ago
Johannes Schauer Marin Rodrigues 70b081d299
allow running root mode inside unshare mode 2 years ago
Johannes Schauer Marin Rodrigues 4ce5a92123
coverage.sh: now that the _apt user is created as a system user by adduser, we also need to change /etc/shadow 2 years ago
Johannes Schauer Marin Rodrigues 3a9ba24d12
coverage.sh: output diff to stderr prevent interleaving with sh -x output 2 years ago
Johannes Schauer Marin Rodrigues 3962f36441
coverage.sh: since fontconfig was fixed, document the remaining reproducibility issues 2 years ago
Johannes Schauer Marin Rodrigues 88b9eaaad9
passwd since 1:4.11.1+dfsg1-1 creates an empty /var/mail/_apt 2 years ago
Johannes Schauer Marin Rodrigues 79ae6f03fd
coverage.sh: add test checking that ASCII armored keyrings work 2 years ago
Johannes Schauer Marin Rodrigues 88619e4d9c
test codename apt pattern as well, requires apt >= 2.3.14
closes: #21
2 years ago
Johannes Schauer Marin Rodrigues 3b2a681cc6
coverage.sh: support for s390x 2 years ago
Johannes Schauer Marin Rodrigues 4da43ec72e
coverage.sh: remove redundant tests 2 years ago
Johannes Schauer Marin Rodrigues 4f278deadf
use rm and find instead of remove_tree()
* remove_tree() requires the CWD to be accessible or fails with
   cannot chdir to $CWD from $DIR_TO_DELETE: Permission denied, aborting.
 * CWD is not always accessible -- example: run mmdebstrap from a
   directory only accessible by the current user (like a tempdir) in
   unshare mode
 * find from findutils *also* requires CWD to be accessible but it's
   easier to temporarily change CWD in a subprocess because using
   there is no utility in perl core that changes CWD temporarily and
   cleans up after itself
 * we need to use find from findutils instead of rm in unshare mode
   because the root directory itself might not be removable by the
   unshared user so we only want to remove its subdirectories
3 years ago
Johannes Schauer Marin Rodrigues 12ec2c50aa
also create cmethopt and available in chrootless mode
- this allows bit-by-bit identical output of chrootless mode compared
   to other modes
3 years ago
Johannes Schauer Marin Rodrigues 03ebda088f
coverage.sh: use MMDEBSTRAP_APT_CONFIG to prevent apt options (like foreign archs) leaking into the apt calls 3 years ago
Johannes Schauer Marin Rodrigues 450881f4ce
coverage.sh: setup00-merged-usr.sh moved into a subdirectory 3 years ago
Johannes Schauer Marin Rodrigues 28707c79d2
coverage.sh: disable chrootless test broken by #983425 3 years ago
Johannes Schauer Marin Rodrigues 7ff7609a4c
coverage.sh: add fakechroot to test name 3 years ago
Johannes Schauer Marin Rodrigues f5f6343622
coverage.sh: remove redundant tests 3 years ago
Johannes Schauer Marin Rodrigues 6d59d51a4a
add ldconfig.fakechroot and translate symlinks for bit-by-bit identical buildd variant 3 years ago
Johannes Schauer Marin Rodrigues 6a8fbae9d8
make fakechroot mode bit-by-bit identical to the others 3 years ago
Johannes Schauer Marin Rodrigues 5a5f57b404
Automatically skip using mount if that's not possible
- instead of throwing an error, just print a warning
 - can now run as root without cap_sys_admin
 - can now run without mount installed
 - --skip=check/canmount is not needed anymore
3 years ago
Johannes Schauer Marin Rodrigues e53d246a3b
also test minbase buildd important standard with --dry-run/--simulate 3 years ago
Joe Groocock 15029c1c3b
improve error message for missing /etc/subuid entry (closes: #9) 3 years ago
Johannes Schauer Marin Rodrigues dfbf9cdcef
several fixes to chrootless mode 3 years ago
Johannes Schauer Marin Rodrigues aae47da9ab
coverage.sh: fix test that was wrongly installing outside the chroot and download-only 3 years ago
Johannes Schauer Marin Rodrigues 3e488dd1dd
use apt from the outside by setting DPkg::Chroot-Directory 3 years ago
Johannes Schauer Marin Rodrigues c63ad87310
changes for release of Debian 11 Buster 3 years ago
Johannes Schauer Marin Rodrigues 4cd69d444a
coverage.sh: let cover output to stderr to prevent wrong message output order 3 years ago
Johannes Schauer Marin Rodrigues 4cd547286c
coverage.sh: sysvinit-utils also works with chrootless 3 years ago
Johannes Schauer Marin Rodrigues 65070e23da
coverage.sh: add more docs for chrootless essential test 3 years ago
Johannes Schauer Marin Rodrigues 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
3 years ago
Johannes Schauer Marin Rodrigues 5fd1ca62d9
coverage.sh: don't attempt deleting non-existant directory 3 years ago
Johannes Schauer Marin Rodrigues 067daaf4c2
also run unshare with --propagation unchanged in root mode 3 years ago