• Bug#1109327: sbuild: unshare backend does not work with Debian Ports ar

    From John Paul Adrian Glaubitz@21:1/5 to All on Tue Jul 15 11:00:01 2025
    XPost: linux.debian.ports.powerpc

    Source: sbuild
    Version: 0.89.3
    Severity: normal
    User: [email protected]
    Usertags: powerpc
    X-Debbugs-Cc: [email protected]

    Hello,

    I just tried the unshare backend in Debian Ports for the first time.

    After adding the subuids and subgids, I could start the build but it immediately
    failed as the FTP server used for mmdebstrap does not support the Debian Ports architecture powerpc:

    buildd@kapitsa:/srv/debian$ export export DEB_BUILD_OPTIONS="nobench nocheck parallel=16" ; sbuild -d sid --arch=powerpc --apt-update --nolog --no-arch-all --chroot-mode=unshare xbill_2.1-10.dsc
    I: consider moving your ~/.sbuildrc to /var/lib/buildd/.config/sbuild/config.pl The Debian buildds switched to the "unshare" backend and sbuild will default to it in the future.
    To start using "unshare" add this to your `~/.config/sbuild/config.pl`:
    $chroot_mode = "unshare";
    If you want to keep the old "schroot" mode even in the future, add the following to your `~/.config/sbuild/config.pl`:
    $chroot_mode = "schroot";
    $schroot = "schroot";
    sbuild (Debian sbuild) 0.89.3 (07 June 2025) on kapitsa.east.ru

    +==============================================================================+
    | xbill 2.1-10 (powerpc) Tue, 15 Jul 2025 08:50:10 +0000 |
    +==============================================================================+

    Package: xbill
    Version: 2.1-10
    Source Version: 2.1-10
    Distribution: sid
    Machine Architecture: powerpc
    Host Architecture: powerpc
    Build Architecture: powerpc
    Build Type: any

    I: No tarballs found in /var/lib/buildd/.cache/sbuild
    I: Creating chroot on-demand by running:
    mmdebstrap --variant=buildd --arch=powerpc --skip=output/mknod --format=tar sid -
    I: Unpacking tarball from STDIN to /tmp/tmp.sbuild.LvUBjxhvIo...
    I: automatically chosen mode: unshare
    I: chroot architecture powerpc is equal to the host's architecture
    I: finding correct signed-by value...
    I: using /tmp/mmdebstrap.HvItBoJYL4 as tempdir
    I: skipping output/mknod as requested for ./dev/console
    I: skipping output/mknod as requested for ./dev/full
    I: skipping output/mknod as requested for ./dev/null
    I: skipping output/mknod as requested for ./dev/ptmx
    I: skipping output/mknod as requested for ./dev/random
    I: skipping output/mknod as requested for ./dev/tty
    I: skipping output/mknod as requested for ./dev/urandom
    I: skipping output/mknod as requested for ./dev/zero
    I: running apt-get update...
    W: apt-get indextargets output is empty
    I: Type: one-line
    I: Content:
    I: deb http://deb.debian.org/debian sid main
    I: Package files:
    I: 100 /tmp/mmdebstrap.HvItBoJYL4/var/lib/dpkg/status
    I: release a=now
    I: Pinned packages:
    E: apt-get update did not find any indices for architecture 'powerpc' in suite 'sid'
    W: hooklistener errored out: E: received eof on socket

    I: main() received signal PIPE: waiting for setup...
    I: removing tempdir /tmp/mmdebstrap.HvItBoJYL4...
    E: mmdebstrap failed to run
    tar: This does not look like a tar archive
    mmdebstrap failed
    tar: Exiting with failure status due to previous errors
    E: auto-creating chroot failed
    E: Error creating chroot session: skipping xbill

    +------------------------------------------------------------------------------+
    | Summary Tue, 15 Jul 2025 08:50:12 +0000 |
    +------------------------------------------------------------------------------+

    Build Architecture: powerpc
    Build Type: any
    Build-Space: 0
    Build-Time: 0
    Distribution: sid
    Fail-Stage: create-session
    Host Architecture: powerpc
    Install-Time: 0
    Job: /srv/debian/xbill_2.1-10.dsc
    Machine Architecture: powerpc
    Package: xbill
    Package-Time: 0
    Source-Version: 2.1-10
    Space: 0
    Status: failed
    Version: 2.1-10 --------------------------------------------------------------------------------
    Finished at 2025-07-15T08:50:10Z
    Build needed 00:00:00, 0k disk space
    E: Error creating chroot session: skipping xbill
    buildd@kapitsa:/srv/debian$

    Thanks,
    Adrian

    --
    .''`. John Paul Adrian Glaubitz
    : :' : Debian Developer
    `. `' Physicist
    `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Johannes Schauer Marin Rodrigues@21:1/5 to All on Tue Jul 15 11:30:01 2025
    Hi,

    as agreed with Adrian, here is what we just talked about in #debconf-grandamphi

    Quoting John Paul Adrian Glaubitz (2025-07-15 10:57:24)
    I just tried the unshare backend in Debian Ports for the first time.

    After adding the subuids and subgids, I could start the build but it immediately
    failed as the FTP server used for mmdebstrap does not support the Debian Ports
    architecture powerpc:

    11:13 < cbmuser> josch: Can you add out-of-the-box support for Debian Ports? Currently mmdebstrap fails
    for non-release architectures.
    11:15 < josch> cbmuser: yes, i saw your bug -- the bigger problem is: how to automatically create chroots
    for distros other than debian main
    11:15 < josch> we could hack in all sorts of exceptions into the code for that 11:15 < josch> but i'd like this to be part of distro-info-data
    11:15 < josch> and then mmdebstrap could just query the distro-info-data information for the requested
    arch/release and do the right thing
    11:16 < josch> cbmuser: juliank is working on improving distro-info-data to include this information
    11:16 < josch> so essentially, the answer is: yes, i'd like to do that and it will get done once i find
    the time and patches welcome :)
    11:16 < josch> the plan is to move away from hard-coding exceptions and instead use machine-readable
    tables from distro-info-data (which do not exist yet)
    11:16 < cbmuser> josch: Well, for Debian Ports, you just need to use a different URL, that's all.
    11:17 < josch> yes
    11:17 < josch> but which different url
    11:17 < cbmuser> And since qemu-user seems to be supported with the --arch= option, that should work.
    11:17 < josch> it would be yet another if(...) in the code
    11:17 < josch> that's what i mean with hardcoding
    11:17 < josch> yes it would
    11:17 < josch> but i'd like to use machine-readable data as the source for this 11:17 < cbmuser> josch: http://deb.debian.org/debian-ports
    11:17 < josch> because debian-ports is not the only distro with this problem 11:17 < josch> cbmuser: yes, i know the url
    11:17 < josch> but i would not like to hardcode it
    11:17 < josch> i would like to have a solution that uses centrally managed information about the mirror
    url
    11:18 < josch> and that information should be in distro-info-data
    11:18 < josch> it is not yet but juliank is working on it
    11:18 < josch> if you find the time, you can help working on making that happen 11:18 < cbmuser> josch: https://salsa.debian.org/mirror-team/masterlist
    11:19 < josch> cbmuser: so you propose that sbuild does a HTTP GET query every time it runs to figure out
    the mapping?
    11:19 < josch> cbmuser: would you not say that storing this in a local package like distor-info-data so
    that you can build even without an internet connection is the better option?
    11:19 < cbmuser> No, I was not proposing fetching that data from the web, of course ;-)
    11:20 < cbmuser> I was just saying we have such a centrally managed list already.
    11:20 < josch> yes, now we need to put it somewhere that is packaged, like distro-info-data
    11:20 < cbmuser> d-i has choose-mirror which uses this, so we could also put this into a deb package.
    11:21 < josch> whichever way the information is stored, once it is in a .deb i will modify mmdebstrap to
    query that information and do the right thing
    11:21 < josch> cbmuser: maybe talk with juliank as he has some plans
    11:22 < cbmuser> Sounds like a good idea.
    11:22 < josch> cbmuser: mind if i copypaste our conversation just now into the bug to not loose track of
    the current state?
    11:22 < cbmuser> Please go ahead.
    11:22 < josch> thanks
    --==============886396916483491358=MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Description: signature
    Content-Type: application/pgp-signature; name="signature.asc"; charset="us-ascii"

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEElFhU6KL81LF4wVq58sulx4+9g+EFAmh2Ho4ACgkQ8sulx4+9 g+EkwRAAk32aiI5mXPOCvMVZnLuS8nDqwlCrqAkmxnM2uhhMIx1qmpM4vJ9G9h9w AQ0PuabD9fZvs5r5ZuWVwEs87zGPGv0hTaUhj8Po9pYNXD6Qn9fK7RIImOciXLiB d4uXYVlLAj5+cRrArVJqj4ZP4daZfh8FIymaLL+jl1V8tiCL17XF6Rxl7CG6WifW HI+C8sTiuG/GileFgqPlD1TbewAbw3QOcDHoVoaeObXzjpgvOhXW8ojBOe8k1C9k OJQXGJZzYlPLKn8uXNejk/RRW1dnJT7/VUdk/zaQ8tH7UO/bdgn7hOnKjl1fcZSy BAvueEHm74Hyr8v1MqO3+Ec8/1aHJLBbd5ewsJ/UIOdvcjS4A1fBWVyC1p1/J0po SDbsbEMjPn0T9Wn8RFMMBfzPh/6sos6gklm6G3z53Y4T+NJXNbEUGX71iqMfIWda A+/tilUxadlzV5e1ZQ57H4Aad379S1OKL5XOOcrkdo3sxE3NXBqGoK2gk/REjgTH swoZg7gCJEGsc7zzXZoQ+AVcRA4C1uINNFr3HuBpdGbegUuFhxtsa06EJJNp/ENI yl3W1fEsRIIyZeoPLPRPnqjMdG9UtV6EYV+wWE8Ii7RLDl5nR10f81icSNr8ju/x hAhg/oSaOJxsgXwS+gyrt2/y0djGe+H6X+fm75JvH1U/myJITnU=
    =Uj+r
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)