#1126896 firmware-nvidia-graphics: Cannot upgrade from bookworm-backports to trixie-backports

#1126896#5
Date:
2026-02-03 13:54:43 UTC
From:
To:
  Hi,

  On most of my systems, I've APT Pin files in order to get the linux kernel
and related packages (firmware, etc.) from backports.
Recently, I tried to upgrade an up-to-date boorworm (with backports for the
kernel+firmware) to trixie (with backports for the kernel+firmware).
It fails with the following message:
Preparing to unpack .../252-firmware-nvidia-graphics_20251021-1~bpo13+1_all.deb ...
dpkg-maintscript-helper: error: file '/usr/lib/firmware/nvidia/ad103' not owned by package 'firmware-nvidia-graphics'
dpkg-maintscript-helper: error: file '/usr/lib/firmware/nvidia/ad103/gsp' not owned by package 'firmware-nvidia-graphics'
dpkg-maintscript-helper: error: directory '/usr/lib/firmware/nvidia/ad103' contains files not owned by package firmware-nvidia-graphics, ca
nnot switch to symlink
dpkg: error processing archive /tmp/apt-dpkg-install-JfnTpC/252-firmware-nvidia-graphics_20251021-1~bpo13+1_all.deb (--unpack):
 new firmware-nvidia-graphics package pre-installation script subprocess returned error exit status 1

  At this time, firmware-nvidia-graphics 20250410-2~bpo12+1 was installed.

  I know that bookwork-backports -> trixie-backports is not officially
supported, hence the minor severity. I think the problem comes from the mix of
"dir-to-symlink change of nvidia/ad10{3,4,6,7}" [09624635e929] and the
usrmerge operation.
  I fixed this by temporary removing the package and re-installing it after.
I initially tried to manually install firmware packages from trixie (and not
trixie-backports) and then upgrading to trixie-backports but I messed up
in the apt command line and removed the package...

  I'm not sure if you want to try to support this non-standard upgrade path.
If not, this bug report will just document this behavior and a possible
workaround. If I've time, I will check if upgrading to trixie before
trixie-backports also work.

  Regards,
    Vincent

#1126896#10
Date:
2026-02-26 22:55:43 UTC
From:
To:
Control: tag -1 wontfix
[...]

Indeed, we are trying to do a dir-to-symlink conversion under
/usr/lib/firmware but when the preinst script runs the installed files
are all in /lib/firmware still.

dpkg-maintscript-helper isn't sophisticated enough to handle this, and
currently the maintainer scripts are assembled from templates, so fixing
this would require significant effort, not to mention the time to test
the multiple possible upgrade paths.

Since as you say bookworm-backport -> trixie-backports is not documented
as supported, I'm going to leave this unfixed.

Ben.