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 <hel...@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 via email to