Bug#1004250: contents of syslinux binary package don't match syslinux-common

2022-01-26 Thread Lukas Schwaighofer
Hi Vangelis,

thanks for your report!

On Sun, 23 Jan 2022 17:32:34 +0200
Vangelis Koukis  wrote:

> After installing syslinux on a FAT32 fs:
> (...)
> I see the md5sum of ldlinux.c32 doesn't match the md5sum of
> /usr/lib/syslinux/modules/bios/ldlinux.c32:
> (...)
> 
> I don't know where syslinux/ldlinux.c32 comes from, I assume it's
> embedded in /usr/bin/syslinux, but
> /usr/lib/syslinux/modules/bios/syslinux.c32 comes from the
> syslinux-common binary package.

Your assumption is correct: ldlinux.c32 is embedded into the syslinux
installer binary and the embedded copy is copied into the target folder
during the installation.

syslinux.c32 does not get copied automatically by the installer. It
must have been copied either manually or by some other script from
/usr/lib/syslinux/modules/bios/syslinux.c32 (and thus the files are the
same).

> I understand there was a recent binary-only upload, which means the
> contents of the syslinux package no longer match the contents of
> the syslinux-common package.
> (...)
> The problem is that syslinux-common *also* contains binaries [the
> syslinux modules], and they no longer match.

I looked into this and found two more things that will cause the
ldlinux.c32 embedded into the installer to be different from the copy
shipped in the syslinux-common package even without the binary-only
non-maintainer upload (binNMU) you mentioned:

* Currently the debug symbols are stripped from the .c32 files after
  the build (dh_strip).  However the ldlinux.c32 copy that's
  embedded into the installer binaries gets included before the
  stripping and still includes the debug symbols.  This is arguably a
  bug.

* The syslinux-common package is an Architecture: all package. That
  means on both amd64 and i386 the same syslinux-common package is
  installed.  I don't believe the toolchains on both systems yield
  exactly the same .c32 files, and currently the Architecture: all
  packages seem to always get built on amd64.

> I think it makes sense to upload all syslinux binary packages from the
> same build to the repository, so everything aligns.

I hope to be able to make a new upload fairly soon (recently picked up
working on https://bugs.debian.org/994274 again), but for the reasons
above there will still be a mismatch between the files.

My understanding so far is that this is a cosmetic issue:  Both the
files built into the installer as well as the c32 module in
syslinux-common work.  Is there something more to this problem that I'm
missing?

Thanks and kind regards
Lukas


pgpZVS85X2Hkr.pgp
Description: OpenPGP digital signature


Bug#1004250: contents of syslinux binary package don't match syslinux-common

2022-01-23 Thread Vangelis Koukis
Package: syslinux
Version: 3:6.04~git20190206.bf6db5b4+dfsg1-3+b1
Severity: normal
X-Debbugs-Cc: vkou...@gmail.com

Hello,

I'm using latest SYSLINUX from bullseye.

After installing syslinux on a FAT32 fs:

   # syslinux --directory syslinux --install /dev/sdb1

I see the md5sum of ldlinux.c32 doesn't match the md5sum of
/usr/lib/syslinux/modules/bios/ldlinux.c32:

   # md5sum syslinux/ldlinux.c32 /usr/lib/syslinux/modules/bios/syslinux.c32
   a9b49d9dd73d9789484255881d3622d1  syslinux/ldlinux.c32
   324de4a4f9c66b2727ef8a757c21  /usr/lib/syslinux/modules/bios/syslinux.c32

I don't know where syslinux/ldlinux.c32 comes from, I assume it's
embedded in /usr/bin/syslinux, but
/usr/lib/syslinux/modules/bios/syslinux.c32 comes from the
syslinux-common binary package.

I understand there was a recent binary-only upload, which means the
contents of the syslinux package no longer match the contents of
the syslinux-common package. From changelog.Debian.amd64.gz:

syslinux (3:6.04~git20190206.bf6db5b4+dfsg1-3+b1) sid; urgency=low, 
binary-only=yes

  * Binary-only non-maintainer upload for amd64; no source changes.
  * Rebuild for outdated Built-Using

 -- all / amd64 / i386 Build Daemon (x86-conova-01) 
  Sun, 13 Jun 2021 13:52:15 +

The problem is that syslinux-common *also* contains binaries [the
syslinux modules], and they no longer match.

I think it makes sense to upload all syslinux binary packages from the
same build to the repository, so everything aligns.

Looking forward to your comments,
Vangelis.


-- System Information:
Debian Release: 11.2
  APT prefers stable-updates
  APT policy: (990, 'stable-updates'), (990, 'stable-security'), (990, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-0.bpo.8-amd64 (SMP w/4 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=el_GR.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en_GB:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages syslinux depends on:
ii  libc6   2.31-13+deb11u2
ii  mtools  4.0.26-1

Versions of packages syslinux recommends:
ii  syslinux-common  3:6.04~git20190206.bf6db5b4+dfsg1-3

Versions of packages syslinux suggests:
ii  dosfstools  4.2-1

-- no debconf information