Your message dated Wed, 05 Feb 2025 15:49:46 +0000 with message-id <E1tfhes-007jn1-Dt@fasolo.debian.org> and subject line Bug#1095202: fixed in nfs-utils 1:2.8.2-2 has caused the Debian Bug report #1095202, regarding nfs-common: file loss in upgrade due to /usr-move (DEP17 P1) to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 1095202: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095202 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: nfs-common: file loss in upgrade due to /usr-move (DEP17 P1)
- From: Helmut Grohne <helmut@subdivi.de>
- Date: Wed, 5 Feb 2025 08:23:02 +0100
- Message-id: <[🔎] 20250205072302.GA1792098@subdivi.de>
Package: nfs-common Version: 1:2.8.2-2~exp1 Severity: serious Justification: file loss in upgrade scenario Tags: patch User: helmutg@debian.org Usertags: dep17p1 Hi Salvatore, thanks for raising nfs-common ahead of upload and going via experimental. Indeed, dumat flags /usr/lib/systemd/system/nfs-blkmap.service as a file possibly lost in an upgrade. To experience this loss, you should install nfs-kernel-server from bookworm and then unpack nfs-common from experimental before upgrading nfs-kernel-server. I am proposing a composite mitigation. Upgrading Breaks+Replaces to Conflicts mostly prevents concurrent unpacks except in rare circumstances. Indeed, my testing reveals that this causes apt to upgrade nfs-kernel-server before nfs-common in one of the relevant scenarios. Rarely, dpkg may unpack nfs-common before nfs-kernel-server despite the declared conflict. In this situation, a protective diversion will prevent the file loss. I am attaching a patch and my test cases for your convenience. If you replace the package version with the one from the archive, you should see it fail. Helmutdiff --minimal -Nru nfs-utils-2.8.2/debian/changelog nfs-utils-2.8.2/debian/changelog --- nfs-utils-2.8.2/debian/changelog 2025-02-03 18:47:52.000000000 +0100 +++ nfs-utils-2.8.2/debian/changelog 2025-02-04 21:19:43.000000000 +0100 @@ -1,3 +1,11 @@ +nfs-utils (1:2.8.2-2~exp1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Mitigate file loss in concurrent canonicalization and move between + packages. (DEP17 P1 M8, Closes: #-1) + + -- Helmut Grohne <helmut@subdivi.de> Tue, 04 Feb 2025 21:19:43 +0100 + nfs-utils (1:2.8.2-2~exp1) experimental; urgency=medium * Move nfs-blkmap.service to nfs-common package. diff --minimal -Nru nfs-utils-2.8.2/debian/control nfs-utils-2.8.2/debian/control --- nfs-utils-2.8.2/debian/control 2025-02-03 18:47:52.000000000 +0100 +++ nfs-utils-2.8.2/debian/control 2025-02-04 21:19:38.000000000 +0100 @@ -37,9 +37,8 @@ Recommends: python3 Suggests: open-iscsi, watchdog Provides: nfs-client -Conflicts: nfs-client -Replaces: nfs-client, nfs-kernel-server (<< 1:2.8.2-2~exp1~) -Breaks: nfs-kernel-server (<< 1:2.8.2-2~exp1~) +Conflicts: nfs-client, nfs-kernel-server (<< 1:2.8.2-2~exp1~) +Replaces: nfs-client Description: NFS support files common to client and server Use this package on any machine that uses NFS, either as client or server. Programs included: lockd, statd, showmount, nfsstat, gssd, diff --minimal -Nru nfs-utils-2.8.2/debian/nfs-common.lintian-overrides nfs-utils-2.8.2/debian/nfs-common.lintian-overrides --- nfs-utils-2.8.2/debian/nfs-common.lintian-overrides 2025-02-03 18:47:52.000000000 +0100 +++ nfs-utils-2.8.2/debian/nfs-common.lintian-overrides 2025-02-04 21:19:43.000000000 +0100 @@ -3,3 +3,8 @@ # lintian doesn't notice that nfs-common: no-manual-page [usr/sbin/mount.nfs4] nfs-common: no-manual-page [usr/sbin/umount.nfs4] +# begin-remove-after: released:trixie +# DEP17 P1 M8: Protective diversion for moved file +nfs-common: diversion-for-unknown-file lib/systemd/system/nfs-blkmap.service [preinst:*] +nfs-common: systemd-diversion lib/systemd/system/nfs-blkmap.service [preinst:*] +# end-remove-after: released:trixie diff --minimal -Nru nfs-utils-2.8.2/debian/nfs-common.postinst nfs-utils-2.8.2/debian/nfs-common.postinst --- nfs-utils-2.8.2/debian/nfs-common.postinst 2025-02-03 18:47:52.000000000 +0100 +++ nfs-utils-2.8.2/debian/nfs-common.postinst 2025-02-04 21:19:43.000000000 +0100 @@ -4,6 +4,13 @@ case "$1" in configure) + # begin-remove-after: released:trixie + # DEP17 P1 M8: Protective diversion for moved file + if dpkg --compare-versions "$2" lt 1:2.8.2-2~exp1~; then + dpkg-divert --remove --no-rename --divert /lib/systemd/system/nfs-blkmap.service.usr-is-merged /lib/systemd/system/nfs-blkmap.service + fi + + # end-remove-after: released:trixie ucf --three-way /usr/share/nfs-common/conffiles/idmapd.conf /etc/idmapd.conf ucf --three-way /usr/share/nfs-common/conffiles/nfs-common.default /etc/default/nfs-common ucf --three-way /usr/share/nfs-common/conffiles/nfs.conf /etc/nfs.conf diff --minimal -Nru nfs-utils-2.8.2/debian/nfs-common.postrm nfs-utils-2.8.2/debian/nfs-common.postrm --- nfs-utils-2.8.2/debian/nfs-common.postrm 2025-02-03 18:47:52.000000000 +0100 +++ nfs-utils-2.8.2/debian/nfs-common.postrm 2025-02-04 21:19:43.000000000 +0100 @@ -24,4 +24,12 @@ dpkg-statoverride --remove /sbin/mount.nfs || true ;; + # begin-remove-after: released:trixie + abort-upgrade) + # DEP17 P1 M8: Protective diversion for moved file + if dpkg --compare-versions "$2" lt 1:2.8.2-2~exp1~; then + dpkg-divert --remove --no-rename --divert /lib/systemd/system/nfs-blkmap.service.usr-is-merged /lib/systemd/system/nfs-blkmap.service + fi + ;; + # end-remove-after: released:trixie esac diff --minimal -Nru nfs-utils-2.8.2/debian/nfs-common.preinst nfs-utils-2.8.2/debian/nfs-common.preinst --- nfs-utils-2.8.2/debian/nfs-common.preinst 2025-02-03 18:47:52.000000000 +0100 +++ nfs-utils-2.8.2/debian/nfs-common.preinst 2025-02-04 21:19:43.000000000 +0100 @@ -12,4 +12,11 @@ fi fi +# begin-remove-after: released:trixie +# DEP17 P1 M8: Protective diversion for moved file +if [ "$1" = install ] || { [ "$1" = upgrade ] && dpkg --compare-versions "$2" lt 1:2.8.2-2~exp1~; }; then + dpkg-divert --add --no-rename --divert /lib/systemd/system/nfs-blkmap.service.usr-is-merged /lib/systemd/system/nfs-blkmap.service +fi +# end-remove-after: released:trixie + #DEBHELPER#Attachment: test.sh
Description: Bourne shell script
--- End Message ---
--- Begin Message ---
- To: 1095202-close@bugs.debian.org
- Subject: Bug#1095202: fixed in nfs-utils 1:2.8.2-2
- From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>
- Date: Wed, 05 Feb 2025 15:49:46 +0000
- Message-id: <E1tfhes-007jn1-Dt@fasolo.debian.org>
- Reply-to: Salvatore Bonaccorso <carnil@debian.org>
Source: nfs-utils Source-Version: 1:2.8.2-2 Done: Salvatore Bonaccorso <carnil@debian.org> We believe that the bug you reported is fixed in the latest version of nfs-utils, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 1095202@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Salvatore Bonaccorso <carnil@debian.org> (supplier of updated nfs-utils package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Wed, 05 Feb 2025 16:35:13 +0100 Source: nfs-utils Architecture: source Version: 1:2.8.2-2 Distribution: unstable Urgency: medium Maintainer: Debian kernel team <debian-kernel@lists.debian.org> Changed-By: Salvatore Bonaccorso <carnil@debian.org> Closes: 1072611 1095202 Changes: nfs-utils (1:2.8.2-2) unstable; urgency=medium . [ Helmut Grohne ] * Mitigate file loss in concurrent canonicalization and move between packages. (DEP17 P1 M8, Closes: #1095202) . [ Salvatore Bonaccorso ] * Upload to unstable . nfs-utils (1:2.8.2-2~exp1) experimental; urgency=medium . * Move nfs-blkmap.service to nfs-common package. Add Replaces and Breaks relation for nfs-common package on the nfs-kernel-server package with (<< 1:2.8.2-2~exp1~) constraints to properly take over the nfs-blkmap.service service file. (Closes: #1072611) * debian/control: Remove Steve Langasek from Uploaders Checksums-Sha1: 1439c9c3d19dd8bed23281c501ed44ec3284ef84 2645 nfs-utils_2.8.2-2.dsc 3898ed06229a78d42dafac79a3b40fcb0280c4bb 49716 nfs-utils_2.8.2-2.debian.tar.xz Checksums-Sha256: 291f00b2e3bd60e0ec1ca26e464401c016b229cd71a583294a3dbab91e71d86c 2645 nfs-utils_2.8.2-2.dsc a2d1fb69371ee8c2f871102290a372951ccd08280e4b49816e5737d91413a165 49716 nfs-utils_2.8.2-2.debian.tar.xz Files: 31094c0d3f28f939344f359f87e15cf9 2645 net optional nfs-utils_2.8.2-2.dsc 2669ff516d40db716a48e13bf754de7b 49716 net optional nfs-utils_2.8.2-2.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQKmBAEBCgCQFiEERkRAmAjBceBVMd3uBUy48xNDz0QFAmejhnFfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDQ2 NDQ0MDk4MDhDMTcxRTA1NTMxRERFRTA1NENCOEYzMTM0M0NGNDQSHGNhcm5pbEBk ZWJpYW4ub3JnAAoJEAVMuPMTQ89EjykQAIlxEoxrvb1LvG51h84zg+WghTymUN95 /uWk9EjDNTXVdYAt9dVHZ0pmf1eHAsxnVLjR6TDJnOD6moQigTSDaNjseUQjkMze g3GMgss8VwB3PDeGD+Q7UXUJGw3ZkKphZvy7zfqjqbEd+3zwFobjabgNIzEp8GRS iKRywISPkuZ+ZeHzhsIyrf8NlIvqAOW1uVHd3w057NUwGauqkojLelSHpvRn95J8 QKonbrfTTYCR+QOl4+VeH9ZrCMc5c6ib77VLDoEcq30CYJyuedW6oP7nH+d1X69s hA4yjfVPxVY6C96NGMfHrufUwJKEK8hnjTqkXVztz1MzXDoJHG5BUq8+3RFEvDNU 4feArDEr368yVRyc92hGnXSyaem3H9KwTKePG+62WZFcG3G/9IZ2jub5XHbegpPe Hq4yq7tlTXetZv1DMgUFV6kEpsTMPGD17NCt1/MOsK3xnYvFCoc6a9PQBKLcakzk X3bKO69THWcAoVEkPbFhwp4472IuBa5YuJaMcoKzaujoYIX/7CZSdjKEMDqbZwWM IpJtlfKTXBKpE3WduYvWBASJIR8DBhz2VynwJ5/EFZH4Ni8gfT1awUJ5Qln3hGQw qeun8M+w+GEVyuEBlOCf8wD9AF8H/kQhLSd6u7Vr3fmMBix57XHXXn+Bpu9SWEZ5 gGh9j3AlIw2S =fxdX -----END PGP SIGNATURE-----Attachment: pgpeSMhyPf9gc.pgp
Description: PGP signature
--- End Message ---