Bug#1107392: Trixie netboot installation fails / busybox-udeb upgrade replaces wget utility

2025-07-02 Thread Thorsten Glaser
On Sat, 7 Jun 2025, Jörn Heissler wrote:

>* Not everyone uses https. I think I've only been doing it for the last
>  two years.
>* Often, bugs aren't reported.

I know I have run into the message about busybox wget not supporting
https, though not during installation (for which I normally used an
http:// mirror), but by typing something like…

wget -O /dev/urandom https://example.org/random-bits.cgi

… and just assumed that this was deliberate. Glad to see it’s not.

This was with the netinst images, mostly, though much longer ago than
oldstable.

bye,
//mirabilos
-- 
„Cool, /usr/share/doc/mksh/examples/uhr.gz ist ja ein Grund,
mksh auf jedem System zu installieren.“
-- XTaran auf der OpenRheinRuhr, ganz begeistert
(EN: “[…]uhr.gz is a reason to install mksh on every system.”)



Bug#1107392: Trixie netboot installation fails / busybox-udeb upgrade replaces wget utility

2025-06-07 Thread Jörn Heissler
On Sat, Jun 07, 2025 at 14:50:36 +0300, Michael Tokarev wrote:
> I'd love to understand how it all worked before.

Coincidence is plausible:

* Not everyone does PXE installations. Maybe the netinst ISOs don't pull
  udebs from the repos?
* Not everyone uses https. I think I've only been doing it for the last
  two years.
* Often, bugs aren't reported.
* The busybox-udeb version in the repos must be newer than in the initrd.
  This might more often happen in testing than in stable because updated
  packages are more likely to migrate into testing; the netboot/PXE
  images aren't regenerated very often, so there will be mismatch until
  they are.
* Not everyone installs testing; I usually don't.



Bug#1107392: Trixie netboot installation fails / busybox-udeb upgrade replaces wget utility

2025-06-07 Thread Cyril Brulebois
Hi,

Michael Tokarev  (2025-06-08):
> I just pushed a commit to salsa.  Wich removes CONFIG_WGET and 3
> CONFIG_FEATURE_WGET_* options.

Oh, OK, so definitely wget-specific I suppose. :)

> Should I upload another busybox release, or can we wait a bit more
> for maybe other stuff to show up?

I'll leave that up to your discretion. Jörn might appreciate a quick fix
but said to be working with snapshots anyway, so might possibly get away
with using an older snapshot?


Cheers,
-- 
Cyril Brulebois ([email protected])
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


Bug#1107392: Trixie netboot installation fails / busybox-udeb upgrade replaces wget utility

2025-06-07 Thread Michael Tokarev

On 07.06.2025 23:40, Cyril Brulebois wrote:
..

Yes, plus the other WGET-related stuff has to be turned off too.

I prepared this change, it's trivial to remove wget applet, but I'd
love to understand how it all worked before.


Out of curiosity, what is “other WGET-related stuff”? I'm happy for you
to clean things up, as long as we don't break other things. :)


I just pushed a commit to salsa.  Wich removes CONFIG_WGET and 3
CONFIG_FEATURE_WGET_* options.

Should I upload another busybox release, or can we wait a bit more
for maybe other stuff to show up?

Thanks,

/mjt



Bug#1107392: Trixie netboot installation fails / busybox-udeb upgrade replaces wget utility

2025-06-07 Thread Cyril Brulebois
Hi,

Michael Tokarev  (2025-06-07):
> Hm. Why it replaces /bin/wget?  It shouldn't replace already existing
> files, I'd say, and this needs to be fixed.
> 
> Yes, we've in d/rules:
> dh_link -pbusybox-udeb \
>   $$(grep -v sbin/init $b/udeb/busybox.links | sed 's|^|/bin/busybox
> |')
> 
> So, when things are installed, busybox-udeb is unpacked first, and
> this creates /bin/wget symlink.  And next wget-udeb is unpacked,
> which replaces /bin/wget with real executable.  Or does wget-udeb
> installs to /usr/bin/wget?  Shouldn't dpkg complain if there's a
> file conflict?

Build log:

Preparing to unpack udebs/wget-udeb.udeb ...
Unpacking wget-udeb (1.25.0-2) ...
dpkg: warning: overriding problem because --force enabled:
dpkg: warning: trying to overwrite '/usr/bin/wget', which is also in 
package busybox-udeb (1:1.37.0-4)

The --force seems to be dating back 20+ years:

  
https://salsa.debian.org/installer-team/debian-installer/-/commit/08dac4eff81a61421fe2f4358759c81ce2cf0ca8

Since I'm only seeing the override warning for wget (multiple times), at
least on amd64, it's tempting to remove the option and see whether daily
builds stay happy?

> > Oh, I don't think I've ever thought much about possible upgrades
> > there… Ouch.
> 
> Most likely, yes.  And it's been this way for years.  I'm not sure
> now is the right time to fix this.

Just agreeing to remove wget from busybox is fine with me.

> Yes, plus the other WGET-related stuff has to be turned off too.
> 
> I prepared this change, it's trivial to remove wget applet, but I'd
> love to understand how it all worked before.

Out of curiosity, what is “other WGET-related stuff”? I'm happy for you
to clean things up, as long as we don't break other things. :)


Cheers,
-- 
Cyril Brulebois ([email protected])
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


Bug#1107392: Trixie netboot installation fails / busybox-udeb upgrade replaces wget utility

2025-06-07 Thread Michael Tokarev

On 07.06.2025 01:35, Cyril Brulebois wrote:

Hallo Jörn,

Vielen Dank, lustiges Problem…

Jörn Heissler  (2025-06-07):

installing trixie using PXE netboot no longer works for me.

The installation fails with "anna[8234] busybox wget does not support
https" right after the "Loading additional components" step.

The initrd from
https://deb.debian.org/debian/dists/trixie/main/installer-amd64/20250515/images/
contains "busybox-udeb 1:1.37.0-4 amd64" and "wget-udeb 1.25.0-2 amd64".

https://deb.debian.org/debian/dists/trixie/main/debian-installer/binary-amd64/Packages.xz
however references the newer busybox-udeb version "1:1.37.0-5".

The debian installer downloads and installs the new busybox-udeb,
which replaces the /bin/wget utility.


Hm. Why it replaces /bin/wget?  It shouldn't replace already existing
files, I'd say, and this needs to be fixed.

Yes, we've in d/rules:
dh_link -pbusybox-udeb \
  $$(grep -v sbin/init $b/udeb/busybox.links | sed 
's|^|/bin/busybox |')


So, when things are installed, busybox-udeb is unpacked first, and
this creates /bin/wget symlink.  And next wget-udeb is unpacked,
which replaces /bin/wget with real executable.  Or does wget-udeb
installs to /usr/bin/wget?  Shouldn't dpkg complain if there's a
file conflict?


Oh, I don't think I've ever thought much about possible upgrades
there… Ouch.


Most likely, yes.  And it's been this way for years.  I'm not sure
now is the right time to fix this.


We've been using GNU wget for close to 10 years, and I suppose there's
absolutely no point in keeping the stripped-down wget in busybox-udeb.

   
https://salsa.debian.org/installer-team/debian-installer/-/commit/2f00c51a7ead982ae1cd71bee06c8416890196b6

Unless someone disagrees within the next few days, I'll probably adjust
the config in git, something along those lines I suppose (totally
untested):

 diff --git a/debian/config/pkg/udeb b/debian/config/pkg/udeb
 index 230dadc1d..9cfdb6e3c 100644
 --- a/debian/config/pkg/udeb
 +++ b/debian/config/pkg/udeb
 @@ -992,7 +992,7 @@ CONFIG_FEATURE_TFTP_PUT=y
  # CONFIG_TUNCTL is not set
  # CONFIG_FEATURE_TUNCTL_UG is not set
  CONFIG_VCONFIG=y
 -CONFIG_WGET=y
 +# CONFIG_WGET is not set
  # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
  CONFIG_FEATURE_WGET_STATUSBAR=y
  CONFIG_FEATURE_WGET_FTP=y


Yes, plus the other WGET-related stuff has to be turned off too.

I prepared this change, it's trivial to remove wget applet, but I'd
love to understand how it all worked before.

Thanks,

/mjt



Bug#1107392: Trixie netboot installation fails / busybox-udeb upgrade replaces wget utility

2025-06-06 Thread Cyril Brulebois
Hallo Jörn,

Vielen Dank, lustiges Problem…

Jörn Heissler  (2025-06-07):
> installing trixie using PXE netboot no longer works for me.
> 
> The installation fails with "anna[8234] busybox wget does not support
> https" right after the "Loading additional components" step.
> 
> The initrd from
> https://deb.debian.org/debian/dists/trixie/main/installer-amd64/20250515/images/
> contains "busybox-udeb 1:1.37.0-4 amd64" and "wget-udeb 1.25.0-2 amd64".
> 
> https://deb.debian.org/debian/dists/trixie/main/debian-installer/binary-amd64/Packages.xz
> however references the newer busybox-udeb version "1:1.37.0-5".
> 
> The debian installer downloads and installs the new busybox-udeb,
> which replaces the /bin/wget utility.

Oh, I don't think I've ever thought much about possible upgrades
there… Ouch.

We've been using GNU wget for close to 10 years, and I suppose there's
absolutely no point in keeping the stripped-down wget in busybox-udeb.

  
https://salsa.debian.org/installer-team/debian-installer/-/commit/2f00c51a7ead982ae1cd71bee06c8416890196b6

Unless someone disagrees within the next few days, I'll probably adjust
the config in git, something along those lines I suppose (totally
untested):

diff --git a/debian/config/pkg/udeb b/debian/config/pkg/udeb
index 230dadc1d..9cfdb6e3c 100644
--- a/debian/config/pkg/udeb
+++ b/debian/config/pkg/udeb
@@ -992,7 +992,7 @@ CONFIG_FEATURE_TFTP_PUT=y
 # CONFIG_TUNCTL is not set
 # CONFIG_FEATURE_TUNCTL_UG is not set
 CONFIG_VCONFIG=y
-CONFIG_WGET=y
+# CONFIG_WGET is not set
 # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
 CONFIG_FEATURE_WGET_STATUSBAR=y
 CONFIG_FEATURE_WGET_FTP=y

I'm not immediately seeing anything else that would “depends on WGET”
but I'm really not familiar with busybox.


Cheers,
-- 
Cyril Brulebois ([email protected])
D-I release manager -- Release team member -- Freelance Consultant


signature.asc
Description: PGP signature


Bug#1107392: Trixie netboot installation fails / busybox-udeb upgrade replaces wget utility

2025-06-06 Thread Jörn Heissler
Package: installation-reports

Hello,

installing trixie using PXE netboot no longer works for me.

The installation fails with "anna[8234] busybox wget does not support
https" right after the "Loading additional components" step.

The initrd from
https://deb.debian.org/debian/dists/trixie/main/installer-amd64/20250515/images/
contains "busybox-udeb 1:1.37.0-4 amd64" and "wget-udeb 1.25.0-2 amd64".

https://deb.debian.org/debian/dists/trixie/main/debian-installer/binary-amd64/Packages.xz
however references the newer busybox-udeb version "1:1.37.0-5".

The debian installer downloads and installs the new busybox-udeb, which
replaces the /bin/wget utility.
The next wget download, for libc6-udeb via https, fails.

N.b.: I'm creating regular snapshots from the public debian mirror and
put them onto my local https server, to which I point the preseed file.

Cheers.