Package: mmdebstrap Version: 0.1.0-2 Hello,
many thanks for creating mmdebstrap! I'm using it for creating chroots for Debian-Ports architectures, where we need to pull the packages from two suites: unstable and unreleased. While using mmdebstrap, I've stumbled over two issues. Everything works fine when creating a sources.list, feeding it to mmdebstrap on stdin and having mmdebstrap automatically generate a tarball, i.e. with something like echo -e "deb http://deb.debian.org/debian-ports/ sid main\ndeb http://deb.debian.org/debian-ports/ unreleased main" | mmdebstrap --architectures=riscv64 > /tmp/rv64-chroot.tar The process fails when one tries to pass the mirrors on the commandline, though. Due to the fact that there is more than one suite to use, the mirrors need to be passed in sources.list style, i.e. as "deb http://<mirror>/debian-ports <suite> main". Running mmdebstrap with mmdebstrap --architectures=riscv64 sid /tmp/rv64-chroot "deb http://deb.debian.org/debian-ports/ sid main" "deb http://deb.debian.org/debian-ports/ unreleased main" results in E: Malformed entry 1 in list file /tmp/rv64-chroot/etc/apt/sources.list (URI parse) E: The list of sources could not be read. apt-get update failed at /usr/bin/mmdebstrap line 548. # cat /tmp/rv64-chroot/etc/apt/sources.list deb deb http://deb.debian.org/debian-ports/ sid main sid main deb deb http://deb.debian.org/debian-ports/ unreleased main sid main The manpage states: If a MIRROR option starts with "deb " or "deb-src " then it is used as a one-line-style format entry for apt's sources.list inside the chroot. If a MIRROR option contains a "://" then it is interpreted as a mirror URI and the apt line inside the chroot is assembled as "deb [arch=A] B C D" where A is the host's native architecture, B is the MIRROR, C is the given SUITE and D is the components given via --components (defaults to "main"). It looks like the second part is applied unconditionally on all mirror parameters that contain a "://", although that should not happen if the mirror parameter starts with a "deb " or "deb-src " and thereby already constitutes a complete sources.list entry. Another thing that I have stumbled upon is that providing a sources.list on stdin only works when no target directory is provided on the commandline, i.e. when automatically creating a tarball. While echo -e "deb http://deb.debian.org/debian-ports/ sid main\ndeb http://deb.debian.org/debian-ports/ unreleased main" | mmdebstrap --architectures=riscv64 > /tmp/rv64-chroot.tar works, the following doesn't: echo -e "deb http://deb.debian.org/debian-ports/ sid main\ndeb http://deb.debian.org/debian-ports/ unreleased main" | mmdebstrap --architectures=riscv64 sid /tmp/rv64-chroot It results in I: riscv64 cannot be executed, falling back to qemu-user I: automatically chosen mode: root I: running apt-get update... done apt-get update didn't download anything at /usr/bin/mmdebstrap line 721. Regards, Karsten -- Gem. Par. 28 Abs. 4 Bundesdatenschutzgesetz widerspreche ich der Nutzung sowie der Weitergabe meiner personenbezogenen Daten für Zwecke der Werbung sowie der Markt- oder Meinungsforschung.