Signed-off-by: Max Suraev Max.Suraev@fairwaves.co --- debian/README.source | 1 + debian/compat | 2 +- debian/control | 34 ++++++++++++++++++++++++++++++---- debian/copyright | 15 ++------------- debian/libosmocodec0.install | 2 +- debian/libosmocore-dev.install | 8 ++++---- debian/libosmocore4.install | 2 +- debian/libosmogb3.install | 2 +- debian/libosmogsm5.install | 2 +- debian/libosmovty0.install | 2 +- 10 files changed, 43 insertions(+), 27 deletions(-) create mode 100644 debian/README.source
diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..9ba5c67 --- /dev/null +++ b/debian/README.source @@ -0,0 +1 @@ +We do some Debian-specific source patching magic. This file should contain explanation of what the hell we do and why until we fix that one way or another. \ No newline at end of file diff --git a/debian/compat b/debian/compat index 45a4fb7..ec63514 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -8 +9 diff --git a/debian/control b/debian/control index 4af7e85..bce5738 100644 --- a/debian/control +++ b/debian/control @@ -2,8 +2,8 @@ Source: libosmocore Section: libs Priority: optional Maintainer: Harald Welte laforge@gnumonks.org -Build-Depends: debhelper (>= 8.0.0), autotools-dev, autoconf, automake, libtool, dh-autoreconf, libdpkg-perl, git, doxygen -Standards-Version: 3.9.3 +Build-Depends: debhelper (>= 9), autotools-dev, autoconf, automake, libtool, dh-autoreconf, libdpkg-perl, git, doxygen, quilt +Standards-Version: 3.9.5 Homepage: http://bb.osmocom.org/trac/wiki/libosmocore Vcs-Git: git://git.osmocom.org/libosmocore.git Vcs-Browser: http://git.osmocom.org/gitweb?p=libosmocore.git;a=summary @@ -11,53 +11,79 @@ Vcs-Browser: http://git.osmocom.org/gitweb?p=libosmocore.git;a=summary Package: libosmocore Section: libs Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} Depends: libosmocodec0, libosmocore4, libosmogb3, libosmogsm5, libosmovty0, ${misc:Depends} -Description: Open Source MObile COMmunications CORE library +Description: Open Source MObile COMmunications CORE library metapackage + Metapackage for Open Source MObile COMmunications CORE library.
Package: libosmocodec0 Section: libs Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: Osmo codec library + Open Source MObile COMmunications codec library.
Package: libosmocore4 Section: libs Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: Osmo Core library + Open Source MObile COMmunications CORE library.
Package: libosmogb3 Section: libs Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: Osmo GPRS GB library + Open Source MObile COMmunications library containing GPRS support functions.
Package: libosmogsm5 Section: libs Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: Osmo GSM utility library + Open Source MObile COMmunications library implementing various GSM routines.
Package: libosmovty0 Section: libs Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: Osmo VTY library + Open Source MObile COMmunications library implementing VTY interface.
Package: libosmocore-dev Section: libdevel Architecture: any -Depends: ${misc:Depends}, libosmocore +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, libosmocore, libjs-jquery Description: Development headers for Open Source MObile COMmunications CORE library + Open Source MObile COMmunications library development files.
Package: libosmocore-utils Architecture: any +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, libosmocore Description: Utilities for gsm + Open Source MObile COMmunications library utilities.
Package: libosmocore-dbg Architecture: any Section: debug Priority: extra +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} Depends: libosmocore (= ${binary:Version}), ${misc:Depends} Description: Debug symbols for Open Source MObile COMmunications CORE library + Debug version of Open Source MObile COMmunications CORE library. diff --git a/debian/copyright b/debian/copyright index c450be5..c2bfe66 100644 --- a/debian/copyright +++ b/debian/copyright @@ -6,7 +6,7 @@ It was downloaded from:
git://git.osmocom.org/libosmocore.git
-Upstream Author(s): +Upstream Authors:
Harald Welte laforge@gnumonks.org Holger Hans Peter Freyther zecke@selfish.org @@ -36,19 +36,8 @@ Copyright: License:
GNU General Public License, Version 2 or later + see "/usr/share/common-licenses/GPL-2"
The Debian packaging is:
Copyright (C) 2010 Harald Welte laforge@gnumonks.org - -# Please chose a license for your packaging work. If the program you package -# uses a mainstream license, using the same license is the safest choice. -# Please avoid to pick license terms that are more restrictive than the -# packaged work, as it may make Debian's contributions unacceptable upstream. -# If you just want it to be GPL version 3, leave the following lines in. - -and is licensed under the GPL version 3, -see "/usr/share/common-licenses/GPL-3". - -# Please also look if there are files or directories which have a -# different copyright/license attached and list them here. diff --git a/debian/libosmocodec0.install b/debian/libosmocodec0.install index 2743b53..2676133 100644 --- a/debian/libosmocodec0.install +++ b/debian/libosmocodec0.install @@ -1 +1 @@ -usr/lib/libosmocodec*.so.* +usr/lib/*/libosmocodec*.so.* diff --git a/debian/libosmocore-dev.install b/debian/libosmocore-dev.install index ece5b08..7c5a789 100644 --- a/debian/libosmocore-dev.install +++ b/debian/libosmocore-dev.install @@ -1,6 +1,6 @@ usr/include/* -usr/lib/lib*.a -usr/lib/lib*.so -usr/lib/lib*.la -usr/lib/pkgconfig/* +usr/lib/*/lib*.a +usr/lib/*/lib*.so +usr/lib/*/lib*.la +usr/lib/*/pkgconfig/* usr/share/doc/libosmocore/* diff --git a/debian/libosmocore4.install b/debian/libosmocore4.install index d134902..b73331b 100644 --- a/debian/libosmocore4.install +++ b/debian/libosmocore4.install @@ -1 +1 @@ -usr/lib/libosmocore*.so.* +usr/lib/*/libosmocore*.so.* diff --git a/debian/libosmogb3.install b/debian/libosmogb3.install index 73ad3d3..4c47425 100644 --- a/debian/libosmogb3.install +++ b/debian/libosmogb3.install @@ -1 +1 @@ -usr/lib/libosmogb*.so.* +usr/lib/*/libosmogb*.so.* diff --git a/debian/libosmogsm5.install b/debian/libosmogsm5.install index 12c9180..5e61729 100644 --- a/debian/libosmogsm5.install +++ b/debian/libosmogsm5.install @@ -1 +1 @@ -usr/lib/libosmogsm*.so.* +usr/lib/*/libosmogsm*.so.* diff --git a/debian/libosmovty0.install b/debian/libosmovty0.install index 1b993e8..fbf6a5f 100644 --- a/debian/libosmovty0.install +++ b/debian/libosmovty0.install @@ -1 +1 @@ -usr/lib/libosmovty*.so.* +usr/lib/*/libosmovty*.so.*
This patch fixes all the packaging errors reported by lintian and most of the warnings: see http://openbsc.osmocom.org/trac/wiki/Tasks/MISCDebianPackaging for details. Few which still remains are either jquery-related (could it be doxygen error?) or due to lack of manpage (help2man, anyone?)
The patch also adds basic multiarch support - everything should work as it used to be if you're using pkg_config but review and testing will be greatly appreciated.
N. B. 1: this isn't complete and ready2use multiarch support - just some groundwork which might be useful later on.
N. B. 2: I don't get at all quilt patching we're using so I've added only dummy README. Anyone who understands why those patches are not merged to master branch welcomed to write an explanation.
cheers, Max.
On Wed, Jul 9, 2014 at 1:29 AM, Max Suraev wrote:
debian/...
If you would like any osmocom packages uploaded to Debian, I would be happy to sponsor them.
Of course the usual Debian requirements apply; free licenses, source, proper ABI tracking etc.
On Wed, Jul 9, 2014 at 12:09 PM, Paul Wise wrote:
On Wed, Jul 9, 2014 at 1:29 AM, Max Suraev wrote:
debian/...
If you would like any osmocom packages uploaded to Debian, I would be happy to sponsor them.
I should mention that there are two source packages from OsmoSDR in Debian, these were uploaded by the Debian Gnuradio package maintainers:
https://packages.debian.org/source/sid/gr-osmosdr https://packages.debian.org/source/sid/libosmosdr
On Wed, 2014-07-09 at 13:21 +0200, Holger Hans Peter Freyther wrote:
the debian maintainer guide is painful to read. Can you point me to how ABI tracking should be implemented?
It is pretty simple; when library ABI is broken (when new code is binary-incompatible with old code) the library SONAME (libc.so.6 for example) should be bumped. The ABI Compliance Checker (ACC) can help analyse the ABI and report incompatible changes but doesn't cover every situation AFAIK. The libtool manual has a bunch of useful information about maintaining shared libraries.
http://ispras.linuxbase.org/index.php/ABI_compliance_checker https://www.gnu.org/software/libtool/manual/libtool.html
For the Debian side of library packaging, maint-guide covers the very basics, debian-policy covers requirements and the (quite outdated, possibly still useful) libpkg-guide covers library packaging generally.
https://www.debian.org/doc/manuals/maint-guide/advanced.en.html#library https://www.debian.org/doc/debian-policy/ch-sharedlibs.html http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html
Two things I would like to highlight in particular:
Debian likes library upstreams who set their default symbol visibility to hidden and then whitelist their public symbols.
Debian likes library upstreams who implement symbol versioning.
baseband-devel@lists.osmocom.org