Bug#1056931: libgphoto2-6: Move files into /usr (incl. DEP17 P7 mitigation)

2023-12-06 Thread Ferenc Wágner

2023-12-06 19:00 időpontban Andreas Metzler ezt írta:

On 2023-12-06 Chris Hofstaedtler  wrote:
[...]

Are there any blockers, or could this move forward?



I expect all other packages will have fixes in unstable on December
10th, and then I would like to continue with the next steps for the
udev rules migrations.


I have just made the upload. - I guess Ferenc is busy, and afaiui this
kind of change would even be OK to NMU.


Hi,

Sorry for the silence, I was very busy indeed in the past weeks (and
also had problems with email access and delivery). I glanced at the
proposed patch and didn't find it obvious at first sight, so I refrained
from quickly applying it. I'm happy that Andreas confidently applied
and uploaded it.
--
Thanks,
Feri.



Bug#1056931: libgphoto2-6: Move files into /usr (incl. DEP17 P7 mitigation)

2023-12-06 Thread Andreas Metzler
On 2023-12-06 Chris Hofstaedtler  wrote:
[...]
> Are there any blockers, or could this move forward?

> I expect all other packages will have fixes in unstable on December
> 10th, and then I would like to continue with the next steps for the
> udev rules migrations.

Hello,

I have just made the upload. - I guess Ferenc is busy, and afaiui this
kind of change would even be OK to NMU.

cu Andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'


signature.asc
Description: PGP signature


Bug#1056931: libgphoto2-6: Move files into /usr (incl. DEP17 P7 mitigation)

2023-12-06 Thread Chris Hofstaedtler
Hello Andreas, Ferenc,

* Andreas Metzler  [231201]:
> On 2023-11-26 Chris Hofstaedtler  wrote:
> [...]
> > Please consider applying this patch at your earliest convenience.
> 
> Looks good to me, thanks!
> 
> @Ferenc: I can fix this via a Team upload, unless you do not want me to.

Thank you for checking the patch!

Are there any blockers, or could this move forward?

I expect all other packages will have fixes in unstable on December
10th, and then I would like to continue with the next steps for the
udev rules migrations.

Many thanks,
Chris



Bug#1056931: libgphoto2-6: Move files into /usr (incl. DEP17 P7 mitigation)

2023-11-30 Thread Andreas Metzler
On 2023-11-26 Chris Hofstaedtler  wrote:
[...]
> Please consider applying this patch at your earliest convenience.

Looks good to me, thanks!

@Ferenc: I can fix this via a Team upload, unless you do not want me to.

cu Andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'


signature.asc
Description: PGP signature


Bug#1056931: libgphoto2-6: Move files into /usr (incl. DEP17 P7 mitigation)

2023-11-26 Thread Chris Hofstaedtler
Package: libgphoto2-6
Version: 2.5.31-1
Severity: important
Tags: patch
User: helm...@debian.org
Usertags: dep17p7
X-Debbugs-Cc: helm...@debian.org

Dear Maintainer,

libgphoto2-6 contains udev files which are installed to /lib; these
files need to be moved to /usr/lib as part of Debian's usr-merge effort.
Because your package is Multi-Arch: same, an unfortunate corner-case
can occur whereby shared files (such as the udev files) may be
erroneously removed on upgrades (please see DEP17[1] P7: Shared
multiarch file loss).

You will find a patch attached to move the udev files, including the
mitigation for the file loss scenario. Alternatively, you can also use the
salsa merge request I've opened[2].

Please consider applying this patch at your earliest convenience. This
bug will be upgraded to release critical soon, as it blocks the overall
usr-merge effort which is being undertaken for the trixie release.

Note on the patch, esp. the debian/rules part: this tries to be
compatible with dh_installudev changing its default install path, and
then not break on binNMUs. It's ugly, I know.


Many thanks,
Chris

1. https://subdivi.de/~helmut/dep17.html
2. https://salsa.debian.org/debian-phototools-team/libgphoto2/-/merge_requests/6
>From 314bf4fae75d2823fc4445a84b53aefdd4290dc1 Mon Sep 17 00:00:00 2001
From: Chris Hofstaedtler 
Date: Sun, 26 Nov 2023 21:32:25 +0100
Subject: [PATCH] Move udev files from /lib to /usr/lib

Including protective diversion against Multi-Arch: same file loss scenario
(DEP17 P7 M10).
---
 debian/changelog  |  8 
 debian/libgphoto2-6.lintian-overrides |  6 ++
 debian/libgphoto2-6.postinst  | 19 +++
 debian/libgphoto2-6.postrm| 19 +++
 debian/libgphoto2-6.preinst   | 18 ++
 debian/rules  |  8 ++--
 6 files changed, 76 insertions(+), 2 deletions(-)
 create mode 100644 debian/libgphoto2-6.postinst
 create mode 100644 debian/libgphoto2-6.postrm
 create mode 100644 debian/libgphoto2-6.preinst

diff --git a/debian/changelog b/debian/changelog
index b835d5f57..d666f2a66 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+libgphoto2 (2.5.31-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Move udev files from /lib to /usr/lib, including protective diversion
+against Multi-Arch: same file loss scenario (DEP17 P7 M10). (Closes: #-1)
+
+ -- Chris Hofstaedtler   Sun, 26 Nov 2023 21:27:28 +0100
+
 libgphoto2 (2.5.31-1) unstable; urgency=medium
 
   * [33c8d67] The kFreeBSD port has been removed
diff --git a/debian/libgphoto2-6.lintian-overrides 
b/debian/libgphoto2-6.lintian-overrides
index dd6d57455..e1ae1f513 100644
--- a/debian/libgphoto2-6.lintian-overrides
+++ b/debian/libgphoto2-6.lintian-overrides
@@ -5,3 +5,9 @@ libgphoto2-6: spelling-error-in-binary Optio Option 
[usr/lib/*/libgphoto2/*/sier
 # strcpy(id->text, "Lumix Wifi") using immediate values.  The letter
 # "H" is part of the next machine instruction, "ifi\0" follows shortly.
 libgphoto2-6: spelling-error-in-binary WiH With 
[usr/lib/*/libgphoto2/*/lumix.so]
+
+# begin-remove-after: released:forky
+# protective diversion for upgrades of files moved from / to /usr
+libgphoto2-6: diversion-for-unknown-file lib/udev/hwdb.d/20-libgphoto2-6.hwdb 
[preinst:*]
+libgphoto2-6: diversion-for-unknown-file 
lib/udev/rules.d/60-libgphoto2-6.rules [preinst:*]
+# end-remove-after
diff --git a/debian/libgphoto2-6.postinst b/debian/libgphoto2-6.postinst
new file mode 100644
index 0..d8269e6cb
--- /dev/null
+++ b/debian/libgphoto2-6.postinst
@@ -0,0 +1,19 @@
+#! /bin/sh
+
+set -e
+
+# begin-remove-after: released:forky
+# protective diversion of files moved from / to /usr, to avoid file loss.
+# Only for upgrades.
+if [ "$1" = "configure" ]; then
+# At this point, the package will have installed the same file in */usr*.
+dpkg-divert --package usr-is-merged --no-rename \
+--divert /lib/udev/hwdb.d/20-libgphoto2-6.hwdb.usr-is-merged \
+--remove /lib/udev/hwdb.d/20-libgphoto2-6.hwdb
+dpkg-divert --package usr-is-merged --no-rename \
+--divert /lib/udev/rules.d/60-libgphoto2-6.rules.usr-is-merged \
+--remove /lib/udev/rules.d/60-libgphoto2-6.rules
+fi
+# end-remove-after
+
+#DEBHELPER#
diff --git a/debian/libgphoto2-6.postrm b/debian/libgphoto2-6.postrm
new file mode 100644
index 0..7584525c3
--- /dev/null
+++ b/debian/libgphoto2-6.postrm
@@ -0,0 +1,19 @@
+#!/bin/sh
+set -e
+
+# begin-remove-after: released:forky
+# protective diversion of files moved from / to /usr, to avoid file loss.
+# Only for upgrades.
+if [ "$1" = "remove" ] && [ "$DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT" = "1" ]; then
+# Cleanup in case package is removed before upgrade is finished (postinst 
ran).
+dpkg-divert --package usr-is-merged --no-rename \
+--divert /lib/udev/hwdb.d/20-libgphoto2-6.hwdb.usr-is-merged \
+--remove