[Merge] ~panfaust/kubuntu-packaging/+git/libkipi:work into ~kubuntu-packagers/kubuntu-packaging/+git/libkipi:kubuntu_yakkety_archive

Simon Quigley tsimonq2 at ubuntu.com
Mon Aug 15 19:45:27 UTC 2016


The proposal to merge ~panfaust/kubuntu-packaging/+git/libkipi:work into ~kubuntu-packagers/kubuntu-packaging/+git/libkipi:kubuntu_yakkety_archive has been updated.

Description changed to:

This merge request includes 3 commits.

The first one is an updated symbols file for the library.

The second one is a change in the rules file to avoid a circular dependency. Without it, after adding the symbols file we would get this:
libkf5kipi source: intra-source-package-circular-dependency libkf5kipi-bin libkf5kipi31.0.0

The third one is moving this file
usr/lib/*/qt5/plugins/kipiplugin_kxmlhelloworld.so
from the 'libkf5kipi31.0.0' package to the 'libkf5kipi-bin'
because it's not correct to include that file in 'libkf5kipi31.0.0', read the reasons below.

See the Debian policy, section 8.2 "Shared library support files":
https://www.debian.org/doc/debian-policy/ch-sharedlibs.html

The first paragraph says:
"If your package contains files whose names do not change with each change in the library shared object version, you must not put them in the shared library package. Otherwise, several versions of the shared library cannot be installed at the same time without filename clashes, making upgrades and transitions unnecessarily difficult."

Note that the use of the word MUST has a meaning; quote from the chapter 1 of the debian policy:
"In the normative part of this manual, the words must, should and may, and the adjectives required, recommended and optional, are used to distinguish the significance of the various guidelines in this policy document. Packages that do not conform to the guidelines denoted by must (or required) will generally not be considered acceptable for the Debian distribution. [...]"

Also see the Debian Library Packaging Guide, Chapter 4, Section 1 "Files in lib* package":
https://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#id249898

The first paragraph says:
"In the lib* (e.g. in this text, libfooX is used as an example, foo being the name of the package and X being a numeric number.) package, only the runtime library, and the files necessary to use the runtime library should be included in such a way that different versions of the runtime library can be co-installed on a user's system."

Last but not least, note that this is not about obeying the debian policy or the library packaging guide just for the sake of obeying, this is about not making the upgrades unnecesarily difficult; conflicting libraries may confuse package managers.

Once you merge this in git and *after* you get libkipi built with these changes, you should make a no-change rebuild gwenview and spectacle in the PPA, so they would get a dependency on libkf5kipi-bin (which is injected by the symbols file).

For more details, see:
https://code.launchpad.net/~panfaust/kubuntu-packaging/+git/libkipi/+merge/302962
-- 
Your team Kubuntu Packagers is requested to review the proposed merge of ~panfaust/kubuntu-packaging/+git/libkipi:work into ~kubuntu-packagers/kubuntu-packaging/+git/libkipi:kubuntu_yakkety_archive.



More information about the kubuntu-devel mailing list