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
diff --git a/debian/changelog b/debian/changelog
index ed0af6e..fe95960 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,18 +6,10 @@ akonadi (4:16.04.3-0ubuntu1) UNRELEASED; urgency=medium
6 * Add versions to dependencies. Fix merge.6 * Add versions to dependencies. Fix merge.
7 * Fix merger in patch.7 * Fix merger in patch.
8 * Fix merge in series8 * 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.9 * Fix symbols file.
16 * Debian merge: Remaining changes:10 * Debian merge: Remaining changes:
17 mysql-server version. 11 mysql-server version.
18 * Fix duplicate packages from merge. 12 * 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.13 * Fix install files.
22 * Fix spelling error in README 14 * Fix spelling error in README
23 * Add MultiArch: same to akonadiprivate15 * Add MultiArch: same to akonadiprivate
@@ -25,18 +17,24 @@ akonadi (4:16.04.3-0ubuntu1) UNRELEASED; urgency=medium
25 * Add akonadiserver to breaks and replaces. 17 * Add akonadiserver to breaks and replaces.
26 * New upstream bugfix release18 * New upstream bugfix release
2719
20 [ Philip Muškovac ]
21 * Update the Vcs URLs now that the repositories are hosted on
22 Launchpad
23
28 [ Clive Johnston ]24 [ Clive Johnston ]
29 * Temporarily disabled patch 25 * Temporarily disabled patches
30 * New upstream release (16.04.2)26 * New upstream release (16.04.2)
27 * New upstream release (16.04.3)
28 * Refreshing symbols
3129
32 [ Rik Mills ]30 [ Rik Mills ]
33 * Install binaries in correct packages31 * Install binaries in correct packages
34 * Drop libakonadi-kde4 breaks/replaces - fixes installing kgpg32 * Drop libakonadi-kde4 breaks/replaces - fixes installing kgpg
35 calligra-libs & other packages33 calligra-libs & other packages
3634
37 [ Clive Johnston ]35 [ José Manuel Santamaría Lema ]
38 * New upstream release (16.04.3)36 * Add in the rules file an override for dh_shlibdeps to exclude
39 * Refreshing symbols37 libkf5akonadicore-bin, this way we avoid a circular dependencies.
4038
41 -- Clive Johnston <clivejo@kubuntu.org> Fri, 08 Jul 2016 00:40:13 +010039 -- Clive Johnston <clivejo@kubuntu.org> Fri, 08 Jul 2016 00:40:13 +0100
4240
diff --git a/debian/libkf5akonadicore5.lintian-overrides b/debian/libkf5akonadicore5.lintian-overrides
43new file mode 10064441new file mode 100644
index 0000000..92dfe71
--- /dev/null
+++ b/debian/libkf5akonadicore5.lintian-overrides
@@ -0,0 +1 @@
1libkf5akonadicore5: symbols-declares-dependency-on-other-package libkf5akonadicore-bin
diff --git a/debian/libkf5akonadicore5.symbols b/debian/libkf5akonadicore5.symbols
index 95eecaf..ffb3acf 100644
--- a/debian/libkf5akonadicore5.symbols
+++ b/debian/libkf5akonadicore5.symbols
@@ -1,5 +1,5 @@
1# SymbolsHelper-Confirmed: 4:16.04.3 amd64 i3861# SymbolsHelper-Confirmed: 4:16.04.3 amd64 i386
2libKF5AkonadiCore.so.5 libkf5akonadicore5 #MINVER#2libKF5AkonadiCore.so.5 libkf5akonadicore5 #MINVER#, libkf5akonadicore-bin
3 _Z5qHashRKN7Akonadi8RelationE@Base 15.07.903 _Z5qHashRKN7Akonadi8RelationE@Base 15.07.90
4 (optional=templinst)_ZN12KConfigGroup10writeEntryIxEEvPKcRK5QListIT_E6QFlagsIN11KConfigBase15WriteConfigFlagEE@Base 15.07.904 (optional=templinst)_ZN12KConfigGroup10writeEntryIxEEvPKcRK5QListIT_E6QFlagsIN11KConfigBase15WriteConfigFlagEE@Base 15.07.90
5 _ZN7Akonadi10Collection10setEnabledEb@Base 15.07.905 _ZN7Akonadi10Collection10setEnabledEb@Base 15.07.90
diff --git a/debian/rules b/debian/rules
index 178c498..ab6f4f9 100755
--- a/debian/rules
+++ b/debian/rules
@@ -8,6 +8,7 @@ libpkgs_gen_strict_local_shlibs = $(libpkgs_all_packages)
8include /usr/share/pkg-kde-tools/qt-kde-team/3/library-packages.mk8include /usr/share/pkg-kde-tools/qt-kde-team/3/library-packages.mk
99
10backend_packages = $(filter akonadi-backend-%,$(shell dh_listpackages))10backend_packages = $(filter akonadi-backend-%,$(shell dh_listpackages))
11lib_packages = $(filter lib%,$(shell dh_listpackages))
1112
12override_dh_auto_configure:13override_dh_auto_configure:
13 $(overridden_command) -- -DMYSQLD_EXECUTABLE:STRING=/usr/sbin/mysqld-akonadi \14 $(overridden_command) -- -DMYSQLD_EXECUTABLE:STRING=/usr/sbin/mysqld-akonadi \
@@ -25,6 +26,10 @@ override_dh_installdocs:
25override_dh_makeshlibs:26override_dh_makeshlibs:
26 $(overridden_command) -V -- -c027 $(overridden_command) -V -- -c0
2728
29override_dh_shlibdeps:
30 $(overridden_command) $(foreach p,$(lib_packages),-p$(p)) -- -xkdepimlibs-data -xlibkf5akonadicore-bin
31 $(overridden_command) --remaining-packages -- -xkdepimlibs-data
32
28override_dh_strip:33override_dh_strip:
29 $(overridden_command) --dbgsym-migration='akonadi-dbg (<= 15.12.1-1~~)'34 $(overridden_command) --dbgsym-migration='akonadi-dbg (<= 15.12.1-1~~)'
3035

Subscribers

People subscribed via source and target branches