I did a slight variation: First I started with:
PKG=golang-github-denverdino-aliyungo-dev; mmdebstrap \ --chrooted-customize-hook="set -x ; apt -y install $PKG && sed -e s/bookworm/trixie/ -i /etc/apt/sources.list && apt update" \ --chrooted-customize-hook=bash bookworm /dev/nullThen I copied the resulting deb files into /tmp/mmdebstrap.*/packages
And added the following to /tmp/mmdebstrap.*/etc/apt/sources.list:
deb [trusted=true] file:///packages ./
Also, inside the chroot I created the necessary index files with:
apt-ftparchive packages . > Packages
apt-ftparchive release . > Release
Then, after an `apt-get update && apt-get dist-upgrade`, I didn't end up with held back packages:
root@x1:/packages# apt update
Get:1 file:/packages ./ InRelease
Ign:1 file:/packages ./ InRelease
Get:2 file:/packages ./ Release [816 B]
Get:2 file:/packages ./ Release [816 B]
Get:3 file:/packages ./ Release.gpg
Ign:3 file:/packages ./ Release.gpg
Get:4 file:/packages ./ Packages [3385 B]
Hit:5
http://security.debian.org/debian-security trixie-security InRelease
Hit:6
http://deb.debian.org/debian trixie InRelease
Hit:7
http://deb.debian.org/debian trixie-updates InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
159 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@x1:/packages# apt dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
libapt-pkg6.0 libargon2-1 libc-dev-bin libc6-dev libcrypt-dev libgnutls30 libnsl-dev libnsl2
libprotobuf-dev libprotobuf-lite32t64 libprotobuf32t64 libprotoc32t64 libtasn1-6 libtirpc-dev libunistring2
linux-libc-dev protobuf-compiler protoc-gen-go-1-3 rpcsvc-proto zlib1g-dev
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
golang-github-golang-protobuf-1-3-dev golang-goprotobuf-dev libdb5.3 libelf1 libext2fs2 libgdbm-compat4
libgdbm6 libhogweed6 libnettle8 libprotobuf-lite32 libprotobuf32 libprotoc32 libreadline8 libssl3 libtirpc3
The following NEW packages will be installed:
gcc-14-base golang-github-golang-protobuf-1-5-dev golang-github-google-go-cmp-dev
golang-google-protobuf-dev libapt-pkg7.0 libdb5.3t64 libelf1t64 libext2fs2t64 libgdbm-compat4t64
libgdbm6t64 libhogweed6t64 liblastlog2-2 libnettle8t64 libperl5.40 libprotobuf-lite32t64 libprotobuf32t64
libprotoc32t64 libreadline8t64 libsqlite3-0 libssl3t64 libtirpc3t64 libunistring5 login.defs
openssl-provider-legacy perl-modules-5.40 sqv
The following packages will be upgraded:
adduser apt apt-utils base-files base-passwd bash bsdutils coreutils cpio cron cron-daemon-common dash
debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dmsetup dpkg e2fsprogs fdisk
findutils gcc-12-base golang-github-denverdino-aliyungo-dev gpgv grep gzip hostname ifupdown init
init-system-helpers iproute2 iputils-ping isc-dhcp-client isc-dhcp-common kmod less libacl1 libapparmor1
libargon2-1 libattr1 libaudit-common libaudit1 libblkid1 libbpf1 libbsd0 libbz2-1.0 libc-bin libc-dev-bin
libc6 libc6-dev libcap-ng0 libcap2 libcap2-bin libcom-err2 libcrypt-dev libcrypt1 libcryptsetup12
libdebconfclient0 libdevmapper1.02.1 libedit2 libfdisk1 libffi8 libfile-find-rule-perl libgcc-s1
libgcrypt20 libgmp10 libgpg-error0 libgssapi-krb5-2 libidn2-0 libip4tc2 libjansson4 libjson-c5 libk5crypto3
libkeyutils1 libkmod2 libkrb5-3 libkrb5support0 liblocale-gettext-perl liblz4-1 liblzma5 libmd0 libmnl0
libmount1 libncursesw6 libnewt0.52 libnftables1 libnftnl11 libnsl-dev libnsl2 libp11-kit0 libpam-modules
libpam-modules-bin libpam-runtime libpam0g libpcre2-8-0 libpopt0 libproc2-0 libprotobuf-dev libseccomp2
libselinux1 libsemanage-common libsemanage2 libsepol2 libslang2 libsmartcols1 libss2 libstdc++6
libsystemd-shared libsystemd0 libtasn1-6 libtext-charwidth-perl libtext-iconv-perl libtinfo6
libtirpc-common libtirpc-dev libudev1 libuuid1 libxtables12 libxxhash0 libzstd1 linux-libc-dev login
logrotate logsave mawk mount nano ncurses-base ncurses-bin netbase nftables passwd perl perl-base procps
protobuf-compiler protoc-gen-go-1-3 readline-common sed sensible-utils systemd systemd-sysv sysvinit-utils
tar tasksel tasksel-data tzdata udev usrmerge util-linux util-linux-extra vim-common vim-tiny whiptail
zlib1g zlib1g-dev
158 upgraded, 26 newly installed, 15 to remove and 0 not upgraded.
Need to get 73.1 MB/73.3 MB of archives.
After this operation, 89.1 MB of additional disk space will be used.
Do you want to continue? [Y/n]
I believe this is a more realistic test than patching the apt internal files, as I don't