Your message dated Wed, 05 Feb 2025 15:49:46 +0000
with message-id <e1tfhes-007jn1...@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 ow...@bugs.debian.org
immediately.)
--
1095202: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095202
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: nfs-common
Version: 1:2.8.2-2~exp1
Severity: serious
Justification: file loss in upgrade scenario
Tags: patch
User: helm...@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.
Helmut
diff --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 <hel...@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#
test.sh
Description: Bourne shell script
--- End Message ---
--- Begin Message ---
Source: nfs-utils
Source-Version: 1:2.8.2-2
Done: Salvatore Bonaccorso <car...@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 1095...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Salvatore Bonaccorso <car...@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 ftpmas...@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 <car...@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-----
pgpX5NeZUVLnZ.pgp
Description: PGP signature
--- End Message ---