Compare commits
5 commits
2a8f0ce5da
...
dfeb21cfe5
Author | SHA1 | Date | |
---|---|---|---|
dfeb21cfe5 | |||
|
d0add325d3 | ||
d4149bb4db | |||
61509691a8 | |||
3969727cc0 |
11 changed files with 19 additions and 25 deletions
|
@ -106,7 +106,7 @@ fi
|
||||||
|
|
||||||
# check if the wiki has to be updated with pod2markdown output
|
# check if the wiki has to be updated with pod2markdown output
|
||||||
if [ "${DEBEMAIL:-}" = "josch@debian.org" ]; then
|
if [ "${DEBEMAIL:-}" = "josch@debian.org" ]; then
|
||||||
bash -exc "diff -u <(curl --silent https://gitlab.mister-muffin.de/josch/mmdebstrap/wiki/raw/Home | dos2unix) <(pod2markdown < mmdebstrap)" || :
|
bash -exc "diff -u <(curl --silent https://gitlab.mister-muffin.de/josch/mmdebstrap/wiki/raw/Home | dos2unix; echo) <(pod2markdown < mmdebstrap)" || :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -f shared/test.sh shared/tar1.txt shared/tar2.txt shared/pkglist.txt shared/doc-debian.tar.list shared/mmdebstrap shared/tarfilter shared/proxysolver
|
rm -f shared/test.sh shared/tar1.txt shared/tar2.txt shared/pkglist.txt shared/doc-debian.tar.list shared/mmdebstrap shared/tarfilter shared/proxysolver
|
||||||
|
|
12
coverage.txt
12
coverage.txt
|
@ -64,7 +64,7 @@ Variants: essential apt minbase buildd - standard
|
||||||
Skip-If:
|
Skip-If:
|
||||||
variant == "standard" and dist == "oldstable" # #864082, #1004557, #1004558
|
variant == "standard" and dist == "oldstable" # #864082, #1004557, #1004558
|
||||||
mode == "fakechroot" and variant in ["-", "standard"] # no extended attributes
|
mode == "fakechroot" and variant in ["-", "standard"] # no extended attributes
|
||||||
variant == "standard" and hostarch in ["armel", "armhf", "mipsel"] # #1031276
|
variant == "standard" and dist in ["oldstable", "stable"] and hostarch in ["armel", "armhf", "mipsel"] # #1031276
|
||||||
|
|
||||||
Test: check-for-bit-by-bit-identical-format-output
|
Test: check-for-bit-by-bit-identical-format-output
|
||||||
Modes: unshare fakechroot
|
Modes: unshare fakechroot
|
||||||
|
@ -73,7 +73,7 @@ Variants: essential apt minbase buildd - standard
|
||||||
Skip-If:
|
Skip-If:
|
||||||
variant == "standard" and dist == "oldstable" # #864082, #1004557, #1004558
|
variant == "standard" and dist == "oldstable" # #864082, #1004557, #1004558
|
||||||
mode == "fakechroot" and variant in ["-", "standard"] # no extended attributes
|
mode == "fakechroot" and variant in ["-", "standard"] # no extended attributes
|
||||||
variant == "standard" and hostarch in ["armel", "armhf", "mipsel"] # #1031276
|
variant == "standard" and dist in ["oldstable", "stable"] and hostarch in ["armel", "armhf", "mipsel"] # #1031276
|
||||||
|
|
||||||
Test: tarfilter-idshift
|
Test: tarfilter-idshift
|
||||||
Needs-QEMU: true
|
Needs-QEMU: true
|
||||||
|
@ -273,17 +273,13 @@ Test: debootstrap-no-op-options
|
||||||
Needs-Root: true
|
Needs-Root: true
|
||||||
|
|
||||||
Test: verbose
|
Test: verbose
|
||||||
Variants: - standard
|
Variants: standard
|
||||||
Skip-If:
|
Skip-If:
|
||||||
variant == "-" and hostarch not in ["armel", "armhf", "mipsel"] # #1031276
|
|
||||||
variant == "standard" and hostarch in ["armel", "armhf", "mipsel"] # #1031276
|
|
||||||
variant == "standard" and dist == "oldstable" # #864082, #1004557, #1004558
|
variant == "standard" and dist == "oldstable" # #864082, #1004557, #1004558
|
||||||
|
|
||||||
Test: debug
|
Test: debug
|
||||||
Variants: - standard
|
Variants: standard
|
||||||
Skip-If:
|
Skip-If:
|
||||||
variant == "-" and hostarch not in ["armel", "armhf", "mipsel"] # #1031276
|
|
||||||
variant == "standard" and hostarch in ["armel", "armhf", "mipsel"] # #1031276
|
|
||||||
variant == "standard" and dist == "oldstable" # #864082, #1004557, #1004558
|
variant == "standard" and dist == "oldstable" # #864082, #1004557, #1004558
|
||||||
|
|
||||||
Test: quiet
|
Test: quiet
|
||||||
|
|
|
@ -4293,7 +4293,7 @@ sub get_sourceslist_by_suite {
|
||||||
# the security mirror changes, starting with bullseye
|
# the security mirror changes, starting with bullseye
|
||||||
# https://lists.debian.org/87r26wqr2a.fsf@43-1.org
|
# https://lists.debian.org/87r26wqr2a.fsf@43-1.org
|
||||||
my $bullseye_or_later = 0;
|
my $bullseye_or_later = 0;
|
||||||
if (any { $_ eq $suite } ('stable', 'bullseye', 'bookworm', 'trixie'))
|
if (any { $_ eq $suite } ('oldstable', 'stable', 'bullseye', 'bookworm', 'trixie'))
|
||||||
{
|
{
|
||||||
$bullseye_or_later = 1;
|
$bullseye_or_later = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,6 +70,8 @@ rm /tmp/debian-{{ DIST }}-debootstrap/var/cache/debconf/templates.dat-old \
|
||||||
/tmp/debian-{{ DIST }}-mm/var/cache/debconf/templates.dat-old
|
/tmp/debian-{{ DIST }}-mm/var/cache/debconf/templates.dat-old
|
||||||
rm /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/status-old \
|
rm /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/status-old \
|
||||||
/tmp/debian-{{ DIST }}-mm/var/lib/dpkg/status-old
|
/tmp/debian-{{ DIST }}-mm/var/lib/dpkg/status-old
|
||||||
|
rm -f /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/diversions-old \
|
||||||
|
/tmp/debian-{{ DIST }}-mm/var/lib/dpkg/diversions-old
|
||||||
# remove dpkg files
|
# remove dpkg files
|
||||||
rm /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/available
|
rm /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/available
|
||||||
rm /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/cmethopt
|
rm /tmp/debian-{{ DIST }}-debootstrap/var/lib/dpkg/cmethopt
|
||||||
|
|
|
@ -7,9 +7,7 @@ trap "rm -f /tmp/debian-chroot.tar" EXIT INT TERM
|
||||||
|
|
||||||
# we use variant standard in verbose mode to see the maximum number of packages
|
# we use variant standard in verbose mode to see the maximum number of packages
|
||||||
# that was chosen in case of USE_HOST_APT_CONFIG=yes
|
# that was chosen in case of USE_HOST_APT_CONFIG=yes
|
||||||
# we use variant important on arches where variant standard is not bit-by-bit
|
case {{ VARIANT }} in standard) : ;; *) exit 1;; esac
|
||||||
# reproducible due to #1031276
|
|
||||||
case {{ VARIANT }} in standard|-) : ;; *) exit 1;; esac
|
|
||||||
|
|
||||||
{{ CMD }} --variant={{ VARIANT }} --debug {{ DIST }} /tmp/debian-chroot.tar {{ MIRROR }}
|
{{ CMD }} --variant={{ VARIANT }} --debug {{ DIST }} /tmp/debian-chroot.tar {{ MIRROR }}
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,6 @@ elfheader="$elfheader\\001\\000"
|
||||||
tar -C /tmp/debian-chroot --one-file-system -c . \
|
tar -C /tmp/debian-chroot --one-file-system -c . \
|
||||||
| tar -t \
|
| tar -t \
|
||||||
| sort \
|
| sort \
|
||||||
| grep -v '^\./var/lib/dpkg/diversions\(-old\)\?$' \
|
|
||||||
| diff -u tar1.txt -
|
| diff -u tar1.txt -
|
||||||
rm /tmp/checkeatmydata.sh
|
rm /tmp/checkeatmydata.sh
|
||||||
rm -r /tmp/debian-chroot
|
rm -r /tmp/debian-chroot
|
||||||
|
|
|
@ -3,6 +3,6 @@ set -eu
|
||||||
export LC_ALL=C.UTF-8
|
export LC_ALL=C.UTF-8
|
||||||
trap "rm -f /tmp/debian-chroot.tar" EXIT INT TERM
|
trap "rm -f /tmp/debian-chroot.tar" EXIT INT TERM
|
||||||
printf '' | {{ CMD }} --mode={{ MODE }} --variant=apt \
|
printf '' | {{ CMD }} --mode={{ MODE }} --variant=apt \
|
||||||
--setup-hook='echo "deb {{ MIRROR }} {{ DIST }} main" > "$1"/etc/apt/sources.list' \
|
--setup-hook='test -e "$1"/etc/apt/sources.list || echo "deb {{ MIRROR }} {{ DIST }} main" > "$1"/etc/apt/sources.list' \
|
||||||
{{ DIST }} /tmp/debian-chroot.tar -
|
{{ DIST }} /tmp/debian-chroot.tar -
|
||||||
tar -tf /tmp/debian-chroot.tar | sort | diff -u tar1.txt -
|
tar -tf /tmp/debian-chroot.tar | sort | diff -u tar1.txt -
|
||||||
|
|
|
@ -30,6 +30,7 @@ filter() {
|
||||||
--path-exclude=/var/cache/debconf/templates.dat-old \
|
--path-exclude=/var/cache/debconf/templates.dat-old \
|
||||||
--path-exclude=/var/lib/dpkg/available \
|
--path-exclude=/var/lib/dpkg/available \
|
||||||
--path-exclude=/var/lib/dpkg/diversions \
|
--path-exclude=/var/lib/dpkg/diversions \
|
||||||
|
--path-exclude=/var/lib/dpkg/diversions-old \
|
||||||
--path-exclude=/var/lib/dpkg/cmethopt \
|
--path-exclude=/var/lib/dpkg/cmethopt \
|
||||||
--path-exclude=/var/lib/dpkg/status-old \
|
--path-exclude=/var/lib/dpkg/status-old \
|
||||||
--path-exclude=/var/lib/shells.state
|
--path-exclude=/var/lib/shells.state
|
||||||
|
|
|
@ -17,8 +17,8 @@ if [ "$(id -u)" -eq 0 ] && [ "{{ MODE }}" != "root" ] && [ "{{ MODE }}" != "auto
|
||||||
prefix="runuser -u ${SUDO_USER:-user} --"
|
prefix="runuser -u ${SUDO_USER:-user} --"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# creating /sbin manually because of #1071078
|
# do not install base-files, so that /proc, /sys and /dev are missing
|
||||||
$prefix {{ CMD }} --mode={{ MODE }} --variant={{ VARIANT }} \
|
$prefix {{ CMD }} --mode={{ MODE }} --variant={{ VARIANT }} \
|
||||||
--setup-hook='mkdir "$1/sbin"' \
|
--setup-hook='for dir in bin lib lib32 lib64 libo32 libx32 sbin; do ln -s "usr/$dir" "$1/$dir"; done' \
|
||||||
--include=dpkg,dash,diffutils,coreutils,libc-bin,sed \
|
--include=dpkg,dash,diffutils,coreutils,libc-bin,sed \
|
||||||
{{ DIST }} /dev/null {{ MIRROR }}
|
{{ DIST }} /dev/null {{ MIRROR }}
|
||||||
|
|
|
@ -17,19 +17,19 @@ if [ "$(id -u)" -eq 0 ] && [ "{{ MODE }}" != "root" ] && [ "{{ MODE }}" != "auto
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$prefix {{ CMD }} --mode={{ MODE }} --variant=apt \
|
$prefix {{ CMD }} --mode={{ MODE }} --variant=apt \
|
||||||
--include=mount \
|
--include=mount,perl \
|
||||||
{{ DIST }} /tmp/chroot1.tar {{ MIRROR }}
|
{{ DIST }} /tmp/chroot1.tar {{ MIRROR }}
|
||||||
|
|
||||||
if [ {{ MODE }} = "unshare" ]; then
|
if [ {{ MODE }} = "unshare" ]; then
|
||||||
# calling pivot_root in root mode does not work for mysterious reasons:
|
# calling pivot_root in root mode does not work for mysterious reasons:
|
||||||
# pivot_root: failed to change root from `.' to `mnt': Invalid argument
|
# pivot_root: failed to change root from `.' to `mnt': Invalid argument
|
||||||
$prefix {{ CMD }} --mode={{ MODE }} --variant=apt --include=mount \
|
$prefix {{ CMD }} --mode={{ MODE }} --variant=apt --include=mount,perl \
|
||||||
--customize-hook='mkdir -p "$1/mnt" "$1/oldroot"' \
|
--customize-hook='mkdir -p "$1/mnt" "$1/oldroot"' \
|
||||||
--customize-hook='[ ! -e /usr/bin/mmdebstrap ] || cp -aT /usr/bin/mmdebstrap "$1/usr/bin/mmdebstrap"' \
|
--customize-hook='[ ! -e /usr/bin/mmdebstrap ] || cp -aT /usr/bin/mmdebstrap "$1/usr/bin/mmdebstrap"' \
|
||||||
--customize-hook='[ ! -e ./mmdebstrap ] || cp -aT ./mmdebstrap "$1/mnt/mmdebstrap"' \
|
--customize-hook='[ ! -e ./mmdebstrap ] || cp -aT ./mmdebstrap "$1/mnt/mmdebstrap"' \
|
||||||
--customize-hook='mount -o rbind "$1" /mnt && cd /mnt && /sbin/pivot_root . oldroot' \
|
--customize-hook='mount -o rbind "$1" /mnt && cd /mnt && /sbin/pivot_root . oldroot' \
|
||||||
--customize-hook='unshare -U echo nested unprivileged unshare' \
|
--customize-hook='unshare -U echo nested unprivileged unshare' \
|
||||||
--customize-hook='env --chdir=/mnt {{ CMD }} --mode=unshare --variant=apt --include=mount {{ DIST }} /tmp/chroot3.tar {{ MIRROR }}' \
|
--customize-hook='env --chdir=/mnt {{ CMD }} --mode=unshare --variant=apt --include=mount,perl {{ DIST }} /tmp/chroot3.tar {{ MIRROR }}' \
|
||||||
--customize-hook='copy-out /tmp/chroot3.tar /tmp' \
|
--customize-hook='copy-out /tmp/chroot3.tar /tmp' \
|
||||||
--customize-hook='rm -f "/usr/bin/mmdebstrap" "/mnt/mmdebstrap"' \
|
--customize-hook='rm -f "/usr/bin/mmdebstrap" "/mnt/mmdebstrap"' \
|
||||||
--customize-hook='umount -l oldroot sys' \
|
--customize-hook='umount -l oldroot sys' \
|
||||||
|
@ -41,11 +41,11 @@ if [ {{ MODE }} = "unshare" ]; then
|
||||||
rm /tmp/chroot2.tar /tmp/chroot3.tar
|
rm /tmp/chroot2.tar /tmp/chroot3.tar
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$prefix {{ CMD }} --mode={{ MODE }} --variant=apt --include=mount \
|
$prefix {{ CMD }} --mode={{ MODE }} --variant=apt --include=mount,perl \
|
||||||
--customize-hook='mkdir -p "$1/mnt"' \
|
--customize-hook='mkdir -p "$1/mnt"' \
|
||||||
--customize-hook='[ ! -e /usr/bin/mmdebstrap ] || cp -aT /usr/bin/mmdebstrap "$1/usr/bin/mmdebstrap"' \
|
--customize-hook='[ ! -e /usr/bin/mmdebstrap ] || cp -aT /usr/bin/mmdebstrap "$1/usr/bin/mmdebstrap"' \
|
||||||
--customize-hook='[ ! -e ./mmdebstrap ] || cp -aT ./mmdebstrap "$1/mnt/mmdebstrap"' \
|
--customize-hook='[ ! -e ./mmdebstrap ] || cp -aT ./mmdebstrap "$1/mnt/mmdebstrap"' \
|
||||||
--chrooted-customize-hook='env --chdir=/mnt {{ CMD }} --mode=unshare --variant=apt --include=mount {{ DIST }} /tmp/chroot3.tar {{ MIRROR }}' \
|
--chrooted-customize-hook='env --chdir=/mnt {{ CMD }} --mode=unshare --variant=apt --include=mount,perl {{ DIST }} /tmp/chroot3.tar {{ MIRROR }}' \
|
||||||
--customize-hook='copy-out /tmp/chroot3.tar /tmp' \
|
--customize-hook='copy-out /tmp/chroot3.tar /tmp' \
|
||||||
--customize-hook='rm -f "$1/usr/bin/mmdebstrap" "$1/mnt/mmdebstrap"' \
|
--customize-hook='rm -f "$1/usr/bin/mmdebstrap" "$1/mnt/mmdebstrap"' \
|
||||||
{{ DIST }} /tmp/chroot2.tar {{ MIRROR }}
|
{{ DIST }} /tmp/chroot2.tar {{ MIRROR }}
|
||||||
|
|
|
@ -7,9 +7,7 @@ trap "rm -f /tmp/debian-chroot.tar" EXIT INT TERM
|
||||||
|
|
||||||
# we use variant standard in verbose mode to see the maximum number of packages
|
# we use variant standard in verbose mode to see the maximum number of packages
|
||||||
# that was chosen in case of USE_HOST_APT_CONFIG=yes
|
# that was chosen in case of USE_HOST_APT_CONFIG=yes
|
||||||
# we use variant important on arches where variant standard is not bit-by-bit
|
case {{ VARIANT }} in standard) : ;; *) exit 1;; esac
|
||||||
# reproducible due to #1031276
|
|
||||||
case {{ VARIANT }} in standard|-) : ;; *) exit 1;; esac
|
|
||||||
|
|
||||||
{{ CMD }} --variant={{ VARIANT }} --verbose {{ DIST }} /tmp/debian-chroot.tar {{ MIRROR }}
|
{{ CMD }} --variant={{ VARIANT }} --verbose {{ DIST }} /tmp/debian-chroot.tar {{ MIRROR }}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue