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

Proposed by Jose Manuel Santamaria Lema
Status: Merged
Merged at revision: 517559c071096563bd356c887bbe1837713caefb
Proposed branch: ~panfaust/kubuntu-packaging/+git/akonadi:work
Merge into: ~kubuntu-packagers/kubuntu-packaging/+git/akonadi:kubuntu_yakkety_archive
Diff against target: 92 lines (+17/-13)
4 files modified
debian/changelog (+10/-12)
debian/libkf5akonadicore5.lintian-overrides (+1/-0)
debian/libkf5akonadicore5.symbols (+1/-1)
debian/rules (+5/-0)
Reviewer Review Type Date Requested Status
Kubuntu Packagers Pending
Review via email: mp+303187@code.launchpad.net

Description of the change

This merge request contains 2 commits. The second commit is just fixing the format of the latest changelog entry.

The first commit re-introduces the -bin depend injection by libkf5akonadicore5 symbols file; this was removed in kubuntu to avoid circular dependencies, however that's not the correct solution.

They tried to fix the circular dependencies in debian here:
https://anonscm.debian.org/git/pkg-kde/applications/akonadi.git/commit/?id=95455706d6f2fc7538651f48b95afaa1581278c8
That's not the correct solution either. It moves the -bin dependency injection to other symbols file, so I have the impression that they weren't able to figure this out properly and they applied that wrong solution because they didn't find other way to do it.

The correct solution is adding something like this to the rules file:
lib_packages = $(filter lib%,$(shell dh_listpackages))
override_dh_shlibdeps:
        $(overridden_command) $(foreach p,$(lib_packages),-p$(p)) -- -xkdepimlibs-data -xlibkf5akonadicore-bin
        $(overridden_command) --remaining-packages -- -xkdepimlibs-data

This way we don't have circular dependencies and we can keep the -bin depend injection in the libkf5akonadicore5 symbols file, which is where it should be.

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

I think you got the correct solution here, but why are you excluding kdepimlibs-data?

and nitpicking: fo -> for in the changelog

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

Hi Philip, thank you for your reply

> I think you got the correct solution here, but why are you excluding
> kdepimlibs-data?

kdepimlibs-data is being built by the source package kdepimlibs, which build depends on libkf5akonadi-dev. Building the package as it is in this merge request but without that exclusion at least libkf5akonadiagentbase5 and libkf5akonadixml5 would depend on kdepimlibs-data. This is an important issue, because as I said kdepimlibs build depends on akonadi so we would be in a circular situation.

> and nitpicking: fo -> for in the changelog

Indeed, thanks for noticing the typo.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index ed0af6e..fe95960 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -6,18 +6,10 @@ akonadi (4:16.04.3-0ubuntu1) UNRELEASED; urgency=medium
6 * Add versions to dependencies. Fix merge.
7 * Fix merger in patch.
8 * Fix merge in series
9-
10- [ Philip Muškovac ]
11- * Update the Vcs URLs now that the repositories are hosted on
12- Launchpad
13-
14- [ Scarlett Clark ]
15 * Fix symbols file.
16 * Debian merge: Remaining changes:
17 mysql-server version.
18 * Fix duplicate packages from merge.
19- * Remove dependency to libkf5akonadi-bin in symbols file as it caused
20- intra-circular dep.
21 * Fix install files.
22 * Fix spelling error in README
23 * Add MultiArch: same to akonadiprivate
24@@ -25,18 +17,24 @@ akonadi (4:16.04.3-0ubuntu1) UNRELEASED; urgency=medium
25 * Add akonadiserver to breaks and replaces.
26 * New upstream bugfix release
27
28+ [ Philip Muškovac ]
29+ * Update the Vcs URLs now that the repositories are hosted on
30+ Launchpad
31+
32 [ Clive Johnston ]
33- * Temporarily disabled patch
34+ * Temporarily disabled patches
35 * New upstream release (16.04.2)
36+ * New upstream release (16.04.3)
37+ * Refreshing symbols
38
39 [ Rik Mills ]
40 * Install binaries in correct packages
41 * Drop libakonadi-kde4 breaks/replaces - fixes installing kgpg
42 calligra-libs & other packages
43
44- [ Clive Johnston ]
45- * New upstream release (16.04.3)
46- * Refreshing symbols
47+ [ José Manuel Santamaría Lema ]
48+ * Add in the rules file an override for dh_shlibdeps to exclude
49+ libkf5akonadicore-bin, this way we avoid a circular dependencies.
50
51 -- Clive Johnston <clivejo@kubuntu.org> Fri, 08 Jul 2016 00:40:13 +0100
52
53diff --git a/debian/libkf5akonadicore5.lintian-overrides b/debian/libkf5akonadicore5.lintian-overrides
54new file mode 100644
55index 0000000..92dfe71
56--- /dev/null
57+++ b/debian/libkf5akonadicore5.lintian-overrides
58@@ -0,0 +1 @@
59+libkf5akonadicore5: symbols-declares-dependency-on-other-package libkf5akonadicore-bin
60diff --git a/debian/libkf5akonadicore5.symbols b/debian/libkf5akonadicore5.symbols
61index 95eecaf..ffb3acf 100644
62--- a/debian/libkf5akonadicore5.symbols
63+++ b/debian/libkf5akonadicore5.symbols
64@@ -1,5 +1,5 @@
65 # SymbolsHelper-Confirmed: 4:16.04.3 amd64 i386
66-libKF5AkonadiCore.so.5 libkf5akonadicore5 #MINVER#
67+libKF5AkonadiCore.so.5 libkf5akonadicore5 #MINVER#, libkf5akonadicore-bin
68 _Z5qHashRKN7Akonadi8RelationE@Base 15.07.90
69 (optional=templinst)_ZN12KConfigGroup10writeEntryIxEEvPKcRK5QListIT_E6QFlagsIN11KConfigBase15WriteConfigFlagEE@Base 15.07.90
70 _ZN7Akonadi10Collection10setEnabledEb@Base 15.07.90
71diff --git a/debian/rules b/debian/rules
72index 178c498..ab6f4f9 100755
73--- a/debian/rules
74+++ b/debian/rules
75@@ -8,6 +8,7 @@ libpkgs_gen_strict_local_shlibs = $(libpkgs_all_packages)
76 include /usr/share/pkg-kde-tools/qt-kde-team/3/library-packages.mk
77
78 backend_packages = $(filter akonadi-backend-%,$(shell dh_listpackages))
79+lib_packages = $(filter lib%,$(shell dh_listpackages))
80
81 override_dh_auto_configure:
82 $(overridden_command) -- -DMYSQLD_EXECUTABLE:STRING=/usr/sbin/mysqld-akonadi \
83@@ -25,6 +26,10 @@ override_dh_installdocs:
84 override_dh_makeshlibs:
85 $(overridden_command) -V -- -c0
86
87+override_dh_shlibdeps:
88+ $(overridden_command) $(foreach p,$(lib_packages),-p$(p)) -- -xkdepimlibs-data -xlibkf5akonadicore-bin
89+ $(overridden_command) --remaining-packages -- -xkdepimlibs-data
90+
91 override_dh_strip:
92 $(overridden_command) --dbgsym-migration='akonadi-dbg (<= 15.12.1-1~~)'
93

Subscribers

People subscribed via source and target branches