[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: local udeb package building for Trixie



Hi Aaron,

Aaron Goulding <agoulding@backblaze.com> (2025-08-20):
> Hi all! I'm running into an issue with a custom package I'm building
> for D-I that works correctly on Bullseye and Bookworm, but not on
> Trixie.

There are not a lot of details in your message. This seems to be about a
custom udeb package (which seems to be bzpartrep), but later you're
talking about about modifying debian/changelog, so I'm not sure whether
you're *also* building a custom debian-installer package.

> The very short version is the package replaces partman with some
> hard-coded custom partitioning automation that was needed for our
> environment. While this is certainly a terrible hack that I eventually
> hope to replace with proper updates to partman, it's worked well so
> far.
> 
> With that history out of the way, here's what I'm seeing in the logs:

The line wrapping makes those really hard to read through (or copy/paste
elsewhere for side-by-side diffing). :(

> For a successful install on Bookworm:
> Aug 11 18:57:20 main-menu[582]: INFO: Menu item 'choose-mirror' selected
> Aug 11 18:57:20 anna-install: Queueing udeb apt-mirror-setup for later
> installation
> Aug 11 18:57:20 choose-mirror[2977]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/oldstable/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 18:57:20 choose-mirror[2977]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/stable/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 18:57:20 choose-mirror[2977]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/testing/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 18:57:20 choose-mirror[2977]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/unstable/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 18:57:20 choose-mirror[2977]: INFO: mirror does not have any
> suite symlinks
> Aug 11 18:57:20 choose-mirror[2977]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/bookworm/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 18:57:20 choose-mirror[2977]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/oldstable/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 18:57:20 choose-mirror[2977]: INFO: suite/codename set to:
> bookworm/bookworm

That's what we'd expect at this point, yes.

> Aug 11 18:57:20 choose-mirror[2977]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/bookworm/main/binary-amd64/Release
> -O - | grep ^Architecture:
> Aug 11 18:57:20 anna-install: Queueing udeb bookworm-support for later
> installation
> Aug 11 18:57:20 main-menu[582]: (process:2970):
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/oldstable/Release:
> Aug 11 18:57:20 main-menu[582]: (process:2970): 2025-08-11 18:57:20
> ERROR 404: Not Found.
> Aug 11 18:57:20 main-menu[582]: (process:2970):
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/stable/Release:
> Aug 11 18:57:20 main-menu[582]: (process:2970): 2025-08-11 18:57:20
> ERROR 404: Not Found.
> Aug 11 18:57:20 main-menu[582]: (process:2970):
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/testing/Release:
> Aug 11 18:57:20 main-menu[582]: (process:2970): 2025-08-11 18:57:20
> ERROR 404: Not Found.
> Aug 11 18:57:20 main-menu[582]: (process:2970):
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/unstable/Release:
> Aug 11 18:57:20 main-menu[582]: (process:2970): 2025-08-11 18:57:20
> ERROR 404: Not Found.
> Aug 11 18:57:20 main-menu[582]: (process:2970): 2025-08-11 18:57:20
> URL:http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/bookworm/Release
> [149265/149265] -> "-" [1]
> Aug 11 18:57:20 main-menu[582]: (process:2970):
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/oldstable/Release:
> Aug 11 18:57:20 main-menu[582]: (process:2970): 2025-08-11 18:57:20
> ERROR 404: Not Found.
> Aug 11 18:57:20 main-menu[582]: (process:2970): 2025-08-11 18:57:20
> URL:http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/bookworm/main/binary-amd64/Release
> [120/120] -> "-" [1]
> Aug 11 18:57:20 main-menu[582]: INFO: Falling back to the package
> description for brltty-udeb
> Aug 11 18:57:20 main-menu[582]: INFO: Falling back to the package
> description for bzpartrep
> Aug 11 18:57:20 main-menu[582]: INFO: Falling back to the package
> description for brltty-udeb
> Aug 11 18:57:20 main-menu[582]: INFO: Menu item 'download-installer' selected
> Aug 11 18:57:20 net-retriever: regular: dists/bookworm/Release
> /tmp/net-retriever-3027-Release

And that's consistent.

> Aug 11 18:57:20 anna[3025]: 2025-08-11 18:57:20
> URL:http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/bookworm/Release
> [149265/149265] -> "/tmp/_fetch-url_net-retriever-3027-Release.3032"
> [1]
> Aug 11 18:57:20 net-retriever: regular: dists/bookworm/Release.gpg
> /tmp/net-retriever-3027-Release.gpg
> Aug 11 18:57:20 anna[3025]: 2025-08-11 18:57:20
> URL:http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/bookworm/Release.gpg
> [1760/1760] -> "/tmp/_fetch-url_net-retriever-3027-Release.gpg.3043"
> [1]
> 
> For an unsuccessful install on Trixie:
> Aug 11 22:50:46 main-menu[690]: INFO: Menu item 'choose-mirror' selected
> Aug 11 22:50:46 anna-install: Queueing udeb apt-mirror-setup for later
> installation
> Aug 11 22:50:46 choose-mirror[3120]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/oldstable/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 22:50:46 choose-mirror[3120]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/stable/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 22:50:46 choose-mirror[3120]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/testing/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 22:50:46 choose-mirror[3120]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/unstable/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 22:50:46 choose-mirror[3120]: INFO: mirror does not have any
> suite symlinks
> Aug 11 22:50:46 choose-mirror[3120]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/trixie/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 22:50:46 choose-mirror[3120]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/stable/Release
> -O - | grep -E '^(Suite|Codename|Architectures):'
> Aug 11 22:50:46 choose-mirror[3120]: INFO: suite/codename set to: trixie/trixie

That's what we'd expect at this point, again.

> Aug 11 22:50:46 choose-mirror[3120]: DEBUG: command: wget --no-verbose
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/trixie/main/binary-amd64/Release
> -O - | grep ^Architecture:
> Aug 11 22:50:46 anna-install: Queueing udeb trixie-support for later
> installation
> Aug 11 22:50:46 main-menu[690]: (process:3113):
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/oldstable/Release:
> Aug 11 22:50:46 main-menu[690]: (process:3113): 2025-08-11 22:50:46
> ERROR 404: Not Found.
> Aug 11 22:50:46 main-menu[690]: (process:3113):
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/stable/Release:
> Aug 11 22:50:46 main-menu[690]: (process:3113): 2025-08-11 22:50:46
> ERROR 404: Not Found.
> Aug 11 22:50:46 main-menu[690]: (process:3113):
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/testing/Release:
> Aug 11 22:50:46 main-menu[690]: (process:3113): 2025-08-11 22:50:46
> ERROR 404: Not Found.
> Aug 11 22:50:46 main-menu[690]: (process:3113):
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/unstable/Release:
> Aug 11 22:50:46 main-menu[690]: (process:3113): 2025-08-11 22:50:46
> ERROR 404: Not Found.
> Aug 11 22:50:46 main-menu[690]: (process:3113): 2025-08-11 22:50:46
> URL:http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/trixie/Release
> [135869/135869] -> "-" [1]
> Aug 11 22:50:46 main-menu[690]: (process:3113):
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/stable/Release:
> Aug 11 22:50:46 main-menu[690]: (process:3113): 2025-08-11 22:50:46
> ERROR 404: Not Found.
> Aug 11 22:50:46 main-menu[690]: (process:3113): 2025-08-11 22:50:46
> URL:http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/trixie/main/binary-amd64/Release
> [116/116] -> "-" [1]
> Aug 11 22:50:46 main-menu[690]: INFO: Falling back to the package
> description for bzpartrep
> Aug 11 22:50:46 main-menu[690]: INFO: Menu item 'download-installer' selected
> Aug 11 22:50:46 net-retriever: regular: dists/unstable/Release
> /tmp/net-retriever-3171-Release

And that part seems very strange to me. I don't recall changes in that
area, that would mean switching to a different suite. But then, I've
never getting such 404s, so I'm not actively testing any kind of
possible fallback.

> Aug 11 22:50:46 anna[3169]:
> http://<internal_deb_mirror_host>/deb.debian.org/debian/dists/unstable/Release:
> Aug 11 22:50:46 anna[3169]: 2025-08-11 22:50:46 ERROR 404: Not Found.
> Aug 11 22:58:23 init: starting pid 670, tty '/dev/tty2': '-/bin/sh'
> Aug 11 22:59:11 anna[3169]: WARNING **: bad d-i Packages file
> Aug 11 22:59:11 main-menu[690]: INFO: Menu item 'download-installer'
> succeeded but requested to be left unconfigured.
> Aug 11 22:59:11 main-menu[690]: INFO: Falling back to the package
> description for bzpartrep
> Aug 11 22:59:23 main-menu[690]: INFO: Falling back to the package
> description for bzpartrep
> Aug 11 22:59:23 main-menu[690]: INFO: Menu item 'save-logs' selected

> We are using an apt-mirror populated internal mirror server, and as
> part of that we do _not_ mirror unstable releases. It seems like the
> Trixie install is still trying to pull unstable, while older versions
> will attempt to pull their own release. I have tried both with the
> debian/changelog file listing its release as "unstable", as well as
> listing its release as "trixie".

Which debian/changelog?

If you're building a custom debian-installer package, you should be
aware of the heuristics in debian/rules (see test on ${SUITE}) but those
are the same as usual (except the obvious codename update). At runtime
you can check /etc/udebs-source.

> So my question is, has anything changed between Bookworm and Trixie
> for how udebs pick their release? And, how do I make the udeb pick the
> correct release?

That doesn't ring a bell. I'm not sure what “the udeb” you mean this
time. If you're talking about bzpartrep, its debian/changelog is totally
irrelevant. That's the primary source of information for the usual
tooling to get a target written to a .changes (and even that can be
overridden), which is then processed by uploading/merging tools to
create/update repositories.

If “the udeb” means net-retriever, then we definitely need to hear back
about the (possible) custom debian-installer build and the resulting
/etc/udebs-source.

FWIW there was no changes to the net-retriever script since 2021, and
even then those were for things that aren't used in official releases.

For reference, codename/suite selection is done this way, hence the
question regarding a possible custom debian-installer build, and the
suggestion to check /etc/udebs-source if that's what happening:

        # Setting codename to a suite is not very nice, but can do no harm
        if ! db_get mirror/udeb/suite || [ -z "$RET" ]; then
                if [ -f /etc/udebs-source ]; then
                        RET=$(cat /etc/udebs-source)
                else
                        db_get mirror/codename
                fi
        fi
        codename="$RET"


Cheers,
-- 
Cyril Brulebois (kibi@debian.org)            <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant

Attachment: signature.asc
Description: PGP signature


Reply to: