Dear Maintainer, Protection is applied to foreign-arch packages (e.g. libgcc-s1:i386 on amd64) even though they aren't relevant to the scenarios that protection is designed to prevent (as I understand it): Would it be possible for removal of such packages not to require --force-remove-protected, at least if the corresponding native arch package is installed? The latter check isn't useful with libraries (where, if nothing depends on them, we can be certain that they are not needed for the system to boot), but would catch situations where e.g. the system's init is not the native package. (I imagine there's a better approach to this.) Regards, Stephen
Hi! Right, AFAIR this was a workaround used to try to help apt with an upgrade scenario where otherwise it was unable to cope well with the libgcc1 to libgcc-s1 transition. In principle shared libraries should never be marked Essential:yes nor Protected:yes, I think this was a special case, that will go away once the shared library gets the Protected filed dropped after the transition is over. I think at least the description for the field in dpkg(1), deb-control(5) and probably «/usr/share/doc/dpkg/protected-field.txt» should be made more clear. I'll try to prepare a patch for this today. And while I think in this specific case that you mention, the heuristic that you propose might make sense. I'm not sure that is generalizable or can be encoded in a neutral way in dpkg itself. As I don't think it would be appropriate for dpkg to assume that all Mulit-Arch:same packages are going to be shared libraries, or say encode specific package name patterns or even assumed semantics out of section names. Thanks, Guillem
Hi Guillem, Ah right, that’s good to know, thanks! It seems libcrypt1 is protected for upgrade reasons too. Excellent! Right, I didn’t have the latter in mind; I was hoping that a heuristic like “when removing foo:foreign, if foo:native is installed then ignore the protected field” would work, without considering foo’s section etc. Regards, Stephen
Hi! I've got the attached, although it would probably not have been enough. But I'm a bit hesitant to mention the workaround case, as don't feel it's supposed to be used that way, and it looks more like an exception than something proper. But then, if people find these cases, then not mentioning it might be more confusing, so hmmm. If I had to mention that I'd perhaps add something like these lines: other uses ", and in some very special circumstances it might be used as a workaround to help with upgrade scenarios that front-ends might not be able to resolve in some other more proper way" but, not sure. Thanks, Guillem
Hi! Bug #1008780 in package dpkg reported by you has been fixed in the dpkg/dpkg.git Git repository. You can see the changelog below, and you can check the diff of the fix at: https://git.dpkg.org/cgit/dpkg/dpkg.git/diff/?id=becfa57b3 --- man: Expand Protected and Essential field use cases Closes: #1008780
We believe that the bug you reported is fixed in the latest version of
dpkg, 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 1008780@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Guillem Jover <guillem@debian.org> (supplier of updated dpkg 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)
Format: 1.8
Date: Fri, 01 Jul 2022 11:25:58 +0200
Source: dpkg
Architecture: source
Version: 1.21.9
Distribution: unstable
Urgency: medium
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
Changed-By: Guillem Jover <guillem@debian.org>
Closes: 1008780 1011510 1012195
Changes:
dpkg (1.21.9) unstable; urgency=medium
.
[ Guillem Jover ]
* dpkg-deb: Add support for --threads-max and DPKG_DEB_THREADS_MAX.
Prompted by vv221 on IRC.
* Perl modules:
- Dpkg::Source::Package::V2: Always fix the permissions for upstream
tarballs. Closes: #1012195
- Dpkg::BuildFlags: Document optimize feature area.
* Documentation:
- man: Clarify that statoverrides do not need to be known to dpkg.
Closes: #1011510
- man: Expand Protected and Essential field use cases. Closes: #1008780
- doc: Rename frontend.txt to frontend-api.txt.
- doc: Move specifications under doc/spec.
- man: Add references to rootless-builds.txt spec.
* Code internals:
- libdpkg: Refactor command actions for compression.
* Build system:
- Split the test-runner into its own script.
.
[ Helge Kreutzmann ]
* Localization:
- Update German man pages translation.
- Update German scripts translation.
Checksums-Sha1:
1db8f983845fafe1ba6042a60535f6a4e81c7b5e 2120 dpkg_1.21.9.dsc
eb585b54cbadbe20af148425bd023d3954567ae2 5084044 dpkg_1.21.9.tar.xz
d748d8dc644612cfe8b4bfa3c3d32fb8dc7354e3 7892 dpkg_1.21.9_amd64.buildinfo
Checksums-Sha256:
065ee6146fecf372c587fd6f2083cda8704f9b3e20d1816f0972307cdee0c0ac 2120 dpkg_1.21.9.dsc
a0aba375625459260cbc89933a12b3188a713c840e3aaefc14bf2d9adee19642 5084044 dpkg_1.21.9.tar.xz
92e31c720f98fc277dd49fff2d5c7216cc217453bf95b699cd6e382135ea8cb7 7892 dpkg_1.21.9_amd64.buildinfo
Files:
4b652dc6d6548075ea3c511e6ca6c96e 2120 admin required dpkg_1.21.9.dsc
15bc7cc25cc5afd546d3d06755248878 5084044 admin required dpkg_1.21.9.tar.xz
e32381a2416d0e2e4f6eaa80be797a8d 7892 admin required dpkg_1.21.9_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEETz509DYFDBD1aWV0uXK/PqSuV6MFAmK+wCYACgkQuXK/PqSu
V6NLzhAAoB6uS3XqUibxg/b++OypG5NVXN72xtB6Zw1kWmklu2voLtsdbbz7yLJ0
H/1DwYWi5lEntl1P+8FAY4IJfMxayJjbJuqwsEQaZ0RwmtZIiafhgdKFpIy+CRtT
Gwj1KO3R05WiACtW8E5Hzp1gDJIkoVoaVKRKz1wiF7CAJW+Sl1WSsRtKXFz6W0l3
sV+HRn9Vn6L8BNv1aU5eZFzJoZYGTtlQhG5m7VVzKPyim7abwdrNx0m97tkPACAl
m5cZaDdmhE9meDNmRQ1pJidQf/OZIa7HzdrY9kss++nbZ/Wms9LfIV8PILS0x5A9
jsmSWVkeuUWmcZST2ydDtwxFnvXtUQgkH3J5y7qyyA3KeQ28QUZxH2+gW1HlzJzS
q2cuM98uszVo/w2Ri4OZco9qtVGP8z6v3yUkwicTMjk0kg/xG/tiVBoLLzX8lgL0
4PvXCTG3bQ8rVv5AHfg5JvEfmqUMpTABOsvx1GIkuav9dtSwLSi6xevhyqe06RrK
IHKxszEoW0qWwEi5+jvwtD0HdvOG7Gj//j5q/hzVhCI4xLO+ipok+Uc1gHyvnuhC
lyrLT3g8pc2v4plNS7inTCxyUWZnKZf/s4tPBy1qpS8vDJtUCMMMkrJ41KixlCHP
IY3xMFEFWpLlU/mATeLW+iTwxpWpDl+WCVU6C+JgJJ452eYbaBs=
=iHOG
-----END PGP SIGNATURE-----