Bug#1022135: libkf5kcmutils-bin should be Multi-Arch: foreign
Package: libkf5kcmutils-bin
Version: 5.98.0-1
Tags: patch
Control: affects -1 + src:kwin
libkf5kcmutils-bin contains essentially only kcmdesktopfilegenerator.
src:kwin fails to cross build from source by failing to run this tool. I
see that this utility already was split out to a *-bin package. This is
a great first step to support cross building, but it is not sufficient.
In order to make this split useful to cross building, libkf5kcmutils-bin
needs to be marked Multi-Arch: foreign. Unfortunately, we cannot
presently mark it such, because kcmdesktopfilegenerator lives on an
architecture-dependent path. So what needs to happen here?
1. Move kcmdesktopfilegenerator to an architecture-independent path in
libkf5kcmutils-bin. This is going to break consumers that expect it
in its original location. So a symbolic link from the old location to
the new location is needed.
2. Move this symbolic link added in the previous step from
libkf5kcmutils-bin to libkf5kcmutils-dev. Remember to add the
required Breaks+Replaces.
3. Since libkf5kcmutils-bin no longer has an architecture-dependent
path, it can be marked Multi-Arch: foreign.
Do you agree with this approach? I've implemented it in the attached
patch.
Helmut
diff --minimal -Nru kcmutils-5.98.0/debian/changelog kcmutils-5.98.0/debian/changelog
--- kcmutils-5.98.0/debian/changelog 2022-09-18 23:13:26.000000000 +0200
+++ kcmutils-5.98.0/debian/changelog 2022-10-20 21:03:11.000000000 +0200
@@ -1,3 +1,10 @@
+kcmutils (5.98.0-1.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Make libkf5kcmutils-bin Multi-Arch: foreign. (Closes: #-1)
+
+ -- Helmut Grohne <helmut@subdivi.de> Thu, 20 Oct 2022 21:03:11 +0200
+
kcmutils (5.98.0-1) unstable; urgency=medium
[ Aurélien COUDERC ]
diff --minimal -Nru kcmutils-5.98.0/debian/control kcmutils-5.98.0/debian/control
--- kcmutils-5.98.0/debian/control 2022-09-18 23:13:26.000000000 +0200
+++ kcmutils-5.98.0/debian/control 2022-10-20 21:03:08.000000000 +0200
@@ -32,6 +32,7 @@
Package: libkf5kcmutils-bin
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: runtime files for kcmutils
KCMUtils provides various classes to work with KCModules. KCModules can be
@@ -60,6 +61,8 @@
libkf5service-dev (>= 5.98.0~),
libkf5xmlgui-dev (>= 5.98.0~),
${misc:Depends},
+Breaks: libkf5kcmutils-bin (<< 5.98.0-1.1~)
+Replaces: libkf5kcmutils-bin (<< 5.98.0-1.1~)
Recommends: libkf5kcmutils-doc (= ${source:Version})
Description: Extra APIs to write KConfig modules
Some utility classes for KSettings, KCModule and KPlugin.
diff --minimal -Nru kcmutils-5.98.0/debian/libkf5kcmutils-bin.install kcmutils-5.98.0/debian/libkf5kcmutils-bin.install
--- kcmutils-5.98.0/debian/libkf5kcmutils-bin.install 2022-08-15 23:04:53.000000000 +0200
+++ kcmutils-5.98.0/debian/libkf5kcmutils-bin.install 2022-10-20 21:00:16.000000000 +0200
@@ -1 +1 @@
-usr/lib/*/libexec/kf5/kcmdesktopfilegenerator
+usr/lib/*/libexec/kf5/kcmdesktopfilegenerator usr/libexec/kf5/kcmdesktopfilegenerator
diff --minimal -Nru kcmutils-5.98.0/debian/libkf5kcmutils-dev.links kcmutils-5.98.0/debian/libkf5kcmutils-dev.links
--- kcmutils-5.98.0/debian/libkf5kcmutils-dev.links 1970-01-01 01:00:00.000000000 +0100
+++ kcmutils-5.98.0/debian/libkf5kcmutils-dev.links 2022-10-20 21:01:53.000000000 +0200
@@ -0,0 +1 @@
+usr/libexec/kf5/kcmdesktopfilegenerator usr/lib/${DEB_HOST_MULTIARCH}/libexec/kf5/kcmdesktopfilegenerator
Reply to: