[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help needed with symbols index in package



Hi Jonathan,

Initially, your package doesn't build in a fresh jail because needs
extra-cmake-modules, libkf5kdelibs4support-dev and pkg-config in
Build-Depends field. Please, always use cowbuilder or pbuilder to test
if your package builds.

About the symbols, the problem is that dpkg-gensymbols is generating
complementary symbols and those have a Debian revision. See below:

dpkg-gensymbols: warning: debian/libkpmcore1/DEBIAN/symbols doesn't
match completely debian/libkpmcore1.symbols
--- debian/libkpmcore1.symbols (libkpmcore1_1.9.50-1_amd64)
+++ dpkg-gensymbolsBiEPCo       2016-01-06 20:58:15.171645367 -0200
@@ -1195,3 +1195,23 @@
  _ZZZNK27SetFileSystemLabelOperation8iconNameEvENKUlvE_clEvE15qstring_literal@Base
1.9.50
  _ZZZNK29CreatePartitionTableOperation8iconNameEvENKUlvE_clEvE15qstring_literal@Base
1.9.50
  _ZlsR11QTextStreamRK14PartitionTable@Base 1.9.50
+libpmdummybackendplugin.so libkpmcore1 #MINVER#
+ _ZTI17CoreBackendDevice@Base 1.9.50-1
+ _ZTI20CoreBackendPartition@Base 1.9.50-1
+ _ZTI25CoreBackendPartitionTable@Base 1.9.50-1
+ _ZTS17CoreBackendDevice@Base 1.9.50-1
+ _ZTS20CoreBackendPartition@Base 1.9.50-1
+ _ZTS25CoreBackendPartitionTable@Base 1.9.50-1
+ _ZTV17CoreBackendDevice@Base 1.9.50-1
+ qt_plugin_instance@Base 1.9.50-1
+ qt_plugin_query_metadata@Base 1.9.50-1
+libpmlibpartedbackendplugin.so libkpmcore1 #MINVER#
+ _ZTI17CoreBackendDevice@Base 1.9.50-1
+ _ZTI20CoreBackendPartition@Base 1.9.50-1
+ _ZTI25CoreBackendPartitionTable@Base 1.9.50-1
+ _ZTS17CoreBackendDevice@Base 1.9.50-1
+ _ZTS20CoreBackendPartition@Base 1.9.50-1
+ _ZTS25CoreBackendPartitionTable@Base 1.9.50-1
+ _ZTV17CoreBackendDevice@Base 1.9.50-1
+ qt_plugin_instance@Base 1.9.50-1
+ qt_plugin_query_metadata@Base 1.9.50-1

The dpkg-gensymbols is invoked by dh_makeshlibs. From dh_makeshlibs manpage:

-- params
           Pass params to dpkg-gensymbols(1).

>From dpkg-gensymbols manpage:

       -vversion
              Define the package version. Defaults to the version
extracted from debian/changelog. Required if called outside
              of a source package tree.


So, you can use '-- -v1.9.50' to avoid a version as 1.9.50-1. However,
is better always to use the current version. To do it, you can use an
override in debian/rules. An example:

--------------------------------
#!/usr/bin/make -f

export PVER=$(shell dpkg-parsechangelog --show-field version | cut -d"-" -f1)

%:
         dh $@

override_dh_makeshlibs:
         dh_makeshlibs -- -v$(PVER)
-------------------------------


Other datail is that is a good idea upload the first version to
experimental to see how to the library will build. So you will able to
can fix the issues (if necessary) and reupload to unstable.

I hope this help.

Regards,

Eriberto


2016-01-06 11:13 GMT-02:00 Jonathan Carter <jonathan@ubuntu.com>:
> Hi Debian Mentors
>
> I'm attempting to package kpmcore, a shared library for partitioning
> tasks in KDE. I'm not sure if my dpkg symbols index for the shared
> library file gets used because it doesn't contain a debian revision, yet
> lintian says that it does on my binary package (inspecting the binary
> package shows that it did get generated with a debian revision).
>
> Some guidance would be appreciated:
>
> http://mentors.debian.net/package/kpmcore
>
> -Jonathan
>


Reply to: