Merge ~panfaust/kubuntu-packaging/+git/libksane:work into ~kubuntu-packagers/kubuntu-packaging/+git/libksane:kubuntu_yakkety_archive

Proposed by Jose Manuel Santamaria Lema
Status: Merged
Merged at revision: a3d5a8047534b4793e957fdf6c93eb431fa3118e
Proposed branch: ~panfaust/kubuntu-packaging/+git/libksane:work
Merge into: ~kubuntu-packagers/kubuntu-packaging/+git/libksane:kubuntu_yakkety_archive
Diff against target: 81 lines (+30/-4)
5 files modified
debian/changelog (+7/-1)
debian/control (+19/-0)
debian/libkf5sane-data.install (+1/-0)
debian/libkf5sane5.install (+0/-1)
debian/rules (+3/-2)
Reviewer Review Type Date Requested Status
Rik Mills Approve
Philip Muškovac Needs Fixing
Review via email: mp+302979@code.launchpad.net

Description of the change

This merge request contains 2 commits, the first one corrects a problem similar to this one:
https://code.launchpad.net/~panfaust/kubuntu-packaging/+git/libkipi/+merge/302962

Here in libksane are the misplaced files are
usr/share/icons/hicolor/16x16/*

So in addition to the problems already mentioned in the libpiki merge request (violates a 'must' policy, contradicts the lib packaging guide, makes the upgrades unneccesarily difficult), here in libksane also the misplaced files can break the multiarch installation because the files have the same name for any architecture so libkf5ksane5 couldn't be installed, for instance, for both amd64 and i386 in the same system.

So I moved the files in question to a libkf5ksane-data package. That's the name of the package in debian's git master. In xenial there is already 'libksane-data', version '4:15.08.2-0ubuntu1' (note the epoch in the version) so I also made a dummy transitional package so the package managers will find more easily a solution for xenial->yakkety dist-upgrades, avoiding situations like this one:

root@xdu-up-test:/home/santa# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
[snip]
Use 'sudo apt autoremove' to remove them.
The following packages have been kept back:
  gir1.2-packagekitglib-1.0 python3-aptdaemon skanlite
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

The change I made in the first commit in the debian/rules file is to add the epoch to the libksane-data dummy package and ONLY to that package; this way we don't have to add an epoch to the other packages so once yakkety is released we could remove both this change in the rules file and the dummy transitional package.

The change I made in the second commit is just removing the exclusion of 'kde-runtime' when calling dh_shlibdeps, this exclusion was there to avoid undesired dependencies when libksane was still based on kdelibs 4; note that the libkdecore5 symbols file from kde4libs injects a dependency on kde-runtime. So now that libksane is based on KDE Frameworks that exclusion is no longer needed.

To post a comment you must log in.
Revision history for this message
Philip Muškovac (yofel) wrote :

So the idea is ok, but the versions for the breaks are wrong

libkf5sane5 (<= 16.04.3-0ubuntu1~ubuntu16.10~ppa50),
should be
libkf5sane5 (<= 16.04.3~),

libksane-data (<= 16.04.3-0ubuntu1~ubuntu16.10~ppa50)
should be
libksane-data (<= 4:16.04.3~)

and is $(overridden_command) not a thing for dh_gencontrol?

review: Needs Fixing
Revision history for this message
Jose Manuel Santamaria Lema (panfaust) wrote :

Thank you for your reply Philip,

> So the idea is ok, but the versions for the breaks are wrong
>
> libkf5sane5 (<= 16.04.3-0ubuntu1~ubuntu16.10~ppa50),
> should be
> libkf5sane5 (<= 16.04.3~),
>
> libksane-data (<= 16.04.3-0ubuntu1~ubuntu16.10~ppa50)
> should be
> libksane-data (<= 4:16.04.3~)

Indeed I missed the epoch in libksane-data, that has to be corrected. However I think it's very arguably that the version of libkf5sane5 is wrong, because it depends on what you understand as "wrong": if I'm not mistaken the version you suggest would break dist-upgrades in the staging ppa; if you don't want to support that, then OK, but I used that version working on the assumption that you might want to support dist-upgrades with the staging ppa and you would include this request and you would upload the version with the ~ppa51 suffix to staging.

Anyway I will push a commit using the versions you said.

> and is $(overridden_command) not a thing for dh_gencontrol?

Well, in this case there won't be any difference in the final command to be executed, but I agree it's better to use $(overridden_command). It was done that way because I got the idea from other package not using dhmk.

Revision history for this message
Rik Mills (rikmills) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/debian/changelog b/debian/changelog
index da78194..d1d6e8f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,10 +13,16 @@ libkf5sane (16.04.3-0ubuntu1) UNRELEASED; urgency=medium
13 * New upstream bugfix release. 13 * New upstream bugfix release.
1414
15 [ Clive Johnston ]15 [ Clive Johnston ]
16 * libkf5sane5 breaks/replaces libksane-data
17 * New upstream release (16.04.2)16 * New upstream release (16.04.2)
18 * New upstream release (16.04.3)17 * New upstream release (16.04.3)
1918
19 [ José Manuel Santamaría Lema ]
20 * Install usr/share/icons/hicolor/16x16/* in libkf5sane-data
21 * Provide libksane-data dummy transitional package to make the upgrades
22 easier for the package managers.
23 * Remove dh_shlibdeps override to exclude kde-runtime; this is no
24 longer needed since the port to frameworks.
25
20 -- Clive Johnston <clivejo@kubuntu.org> Fri, 08 Jul 2016 01:34:49 +010026 -- Clive Johnston <clivejo@kubuntu.org> Fri, 08 Jul 2016 01:34:49 +0100
2127
22libkf5sane (15.12.3-0ubuntu1) xenial; urgency=medium28libkf5sane (15.12.3-0ubuntu1) xenial; urgency=medium
diff --git a/debian/control b/debian/control
index 6cfbc7a..2d75d32 100644
--- a/debian/control
+++ b/debian/control
@@ -33,6 +33,25 @@ Description: scanner library (runtime)
33 .33 .
34 This package contains the shared library.34 This package contains the shared library.
3535
36Package: libkf5sane-data
37Architecture: all
38Depends: ${misc:Depends}
39Breaks: libkf5sane5 (<= 16.04.3~), libksane-data (<= 4:16.04.3~)
40Replaces: libkf5sane5 (<= 16.04.3~), libksane-data (<= 4:16.04.3~)
41Description: scanner library (data files)
42 The KDE scanner library provides an API and widgets for using scanners and
43 other imaging devices supported by SANE.
44 .
45 This package contains data files used by the library.
46
47Package: libksane-data
48Architecture: all
49Section: oldlibs
50Priority: extra
51Depends: libkf5sane-data, ${misc:Depends}
52Description: scanner library (data files) - transitional package
53 This is a transitional dummy package. It can safely be removed.
54
36Package: libkf5sane-dev55Package: libkf5sane-dev
37Section: libdevel56Section: libdevel
38Architecture: any57Architecture: any
diff --git a/debian/libkf5sane-data.install b/debian/libkf5sane-data.install
39new file mode 10064458new file mode 100644
index 0000000..5dda087
--- /dev/null
+++ b/debian/libkf5sane-data.install
@@ -0,0 +1 @@
1usr/share/icons/hicolor/16x16/*
diff --git a/debian/libkf5sane5.install b/debian/libkf5sane5.install
index 30e7449..e631579 100644
--- a/debian/libkf5sane5.install
+++ b/debian/libkf5sane5.install
@@ -1,3 +1,2 @@
1usr/lib/*/libKF5Sane.so.51usr/lib/*/libKF5Sane.so.5
2usr/lib/*/libKF5Sane.so.5.*2usr/lib/*/libKF5Sane.so.5.*
3usr/share/icons/hicolor/16x16/*
diff --git a/debian/rules b/debian/rules
index d8e4a0c..6441b1c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,6 +2,7 @@
22
3include /usr/share/pkg-kde-tools/qt-kde-team/3/debian-qt-kde.mk3include /usr/share/pkg-kde-tools/qt-kde-team/3/debian-qt-kde.mk
44
5override_dh_shlibdeps:5PACKAGE_VERSION = $(shell dpkg-parsechangelog | grep '^Version: ' | sed 's/^Version: //')
6 $(overridden_command) $(foreach p,$(shell dh_listpackages | grep ^lib),-p$p) -- -xkde-runtime6override_dh_gencontrol:
7 $(overridden_command) -plibksane-data -- -v"4:${PACKAGE_VERSION}"
7 $(overridden_command) --remaining-packages8 $(overridden_command) --remaining-packages

Subscribers

People subscribed via source and target branches