From: Jochen Sprickerhof Date: Wed, 6 Jul 2022 16:30:02 +0000 (+0200) Subject: Improve packaging X-Git-Tag: debian/0.9.13-1~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=457bcb2a43c66aab8ed08ea8750e1e97acc09018;p=location%2Fdebian%2Flibloc.git Improve packaging - Build with pybuild to compile against all installed Python versions. - Rename and reorganize package names to comply with Debian policies. - Cleanup build dependencies and bump policy and debhelper versions. - Make sure all files are installed. --- diff --git a/debian/compat b/debian/compat deleted file mode 100644 index f599e28..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -10 diff --git a/debian/control b/debian/control index 4b1407a..bc2bd7c 100644 --- a/debian/control +++ b/debian/control @@ -1,37 +1,30 @@ Source: libloc -Maintainer: Stefan Schantl -Section: misc +Maintainer: Jochen Sprickerhof +Section: net Priority: optional -Standards-Version: 4.3.0 +Standards-Version: 4.6.1 Build-Depends: - debhelper (>= 11), - dh-python , - asciidoc , - intltool (>=0.40.0), - libpython3-dev , + debhelper-compat (= 13), + dh-sequence-python3, + asciidoc, + intltool, libssl-dev, libsystemd-dev, - python3-dev:any , pkg-config, + python3-all-dev, systemd, - xsltproc , - docbook-xsl , - git, + xsltproc, Rules-Requires-Root: no Homepage: https://location.ipfire.org/ -Vcs-Git: https://git.ipfire.org/pub/git/location/libloc.git -Vcs-Browser: https://git.ipfire.org/pub/git/location/libloc.git +Vcs-Git: https://salsa.debian.org/debian/libloc.git +Vcs-Browser: https://salsa.debian.org/debian/libloc Package: libloc1 Architecture: any Section: libs -Pre-Depends: - ${misc:Pre-Depends} Depends: ${shlibs:Depends}, - ${misc:Depends} -Recommends: - location (= ${binary:Version}) + ${misc:Depends}, Multi-Arch: same Description: Location library A library to determine the location of someone on the Internet @@ -42,46 +35,37 @@ Section: libdevel Depends: libloc1 (= ${binary:Version}), ${misc:Depends}, -Suggests: - pkg-config Multi-Arch: same Description: Development files for libloc Install this package if you wish to develop your own programs using libloc. Package: location -Architecture: any -Pre-Depends: - ${misc:Pre-Depends} +Architecture: all Depends: - location-python (= ${binary:Version}), + python3-location, ${misc:Depends}, - ${python3:Depends} -Multi-Arch: same + ${python3:Depends}, +Recommends: + libloc-database, +Replaces: location-importer (<< 0.9.14-1~) +Breaks: location-importer (<< 0.9.14-1~) Description: CLI utilities for libloc Commands to determine someone's location on the Internet -Package: location-importer -Architecture: any -Pre-Depends: - ${misc:Pre-Depends} -Depends: - location-python (= ${binary:Version}), - ${misc:Depends}, - ${python3:Depends} -Multi-Arch: foreign -Description: Tools to author location databases - This package contains tools that are required to build location databases - -Package: location-python +Package: python3-location Architecture: any Section: python -Pre-Depends: - ${misc:Pre-Depends} Depends: ${misc:Depends}, ${python3:Depends}, - ${shlibs:Depends} + ${shlibs:Depends}, + python3-psycopg2, +Replaces: + location-python (<< 0.9.14-1~), +Breaks: + location-python (<< 0.9.14-1~), + location-importer (<< 0.9.14-1~), Multi-Arch: foreign Description: Python modules for libloc This package contains Python bindings for libloc diff --git a/debian/libloc-dev.install b/debian/libloc-dev.install index d93d217..04e85fa 100644 --- a/debian/libloc-dev.install +++ b/debian/libloc-dev.install @@ -1,3 +1,4 @@ usr/include/libloc usr/lib/*/libloc.so usr/lib/*/pkgconfig +usr/share/man/man3 diff --git a/debian/libloc1.install b/debian/libloc1.install index 0f8eec4..e6cb2ac 100644 --- a/debian/libloc1.install +++ b/debian/libloc1.install @@ -1 +1,2 @@ usr/lib/*/libloc.so.* +usr/share/locale/*/LC_MESSAGES/libloc.mo diff --git a/debian/location-importer.install b/debian/location-importer.install deleted file mode 100644 index eaae79d..0000000 --- a/debian/location-importer.install +++ /dev/null @@ -1,3 +0,0 @@ -usr/bin/location-importer -usr/lib/python3*/site-packages/location/database.py -usr/lib/python3*/site-packages/location/importer.py diff --git a/debian/location-python.install b/debian/location-python.install deleted file mode 100644 index a6004ca..0000000 --- a/debian/location-python.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/python3*/site-packages diff --git a/debian/location.install b/debian/location.install index 25d9b6f..f9cb894 100644 --- a/debian/location.install +++ b/debian/location.install @@ -1,4 +1,4 @@ -usr/bin/location +usr/bin var/lib/location/signing-key.pem -src/systemd/*.service /lib/systemd/system/ -src/systemd/*.timer /lib/systemd/system/ +lib/systemd/system +usr/share/man/man8 diff --git a/debian/location.manpages b/debian/location.manpages deleted file mode 100644 index 3e662bb..0000000 --- a/debian/location.manpages +++ /dev/null @@ -1 +0,0 @@ -man/location.8 diff --git a/debian/location.postinst b/debian/location.postinst new file mode 100644 index 0000000..913f39c --- /dev/null +++ b/debian/location.postinst @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +case "$1" in + configure) + mkdir -p /var/lib/location || true + ln -s /usr/share/libloc-location/location.db /var/lib/location/database.db 2>/dev/null || true + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/location.postrm b/debian/location.postrm new file mode 100644 index 0000000..df1b03e --- /dev/null +++ b/debian/location.postrm @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +case "$1" in + purge) + rm -f /var/lib/location/database.db 2>/dev/null + rm -f /var/lib/location/signing-key.pem 2>/dev/null + rmdir /var/lib/location || true + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/location-python.examples b/debian/python3-location.examples similarity index 100% rename from debian/location-python.examples rename to debian/python3-location.examples diff --git a/debian/python3-location.install b/debian/python3-location.install new file mode 100644 index 0000000..4606faa --- /dev/null +++ b/debian/python3-location.install @@ -0,0 +1 @@ +usr/lib/python3* diff --git a/debian/rules b/debian/rules index 05b88fd..e5e3f18 100755 --- a/debian/rules +++ b/debian/rules @@ -1,28 +1,17 @@ #!/usr/bin/make -f -# enable verbose mode -#export DH_VERBOSE=1 - -# enable all hardening build flags export DEB_BUILD_MAINT_OPTIONS=hardening=+all +export PYBUILD_SYSTEM=custom +export PYBUILD_CLEAN_ARGS=dh_auto_clean +export PYBUILD_CONFIGURE_ARGS=intltoolize --force --automake; \ + PYTHON={interpreter} dh_auto_configure -- \ + --disable-perl +export PYBUILD_BUILD_ARGS=dh_auto_build +export PYBUILD_INSTALL_ARGS=dh_auto_install --destdir={destdir}; \ + mkdir -p {destdir}/usr/lib/python{version}/dist-packages; \ + mv {destdir}/usr/lib/python3/dist-packages/_location.so {destdir}/usr/lib/python{version}/dist-packages/_location.so; \ + rm -f {destdir}/usr/lib/python3/dist-packages/_location.la {destdir}/usr/lib/*/libloc.la +export PYBUILD_TEST_ARGS=dh_auto_test %: - dh $@ --with python3 --with-systemd - -override_dh_auto_configure: - intltoolize --force --automake - dh_auto_configure -- --disable-perl - -override_dh_perl: - dh_perl -d - -override_dh_systemd_enable: - dh_systemd_enable location-update.timer - -override_dh_install: - dh_install - # lintian: unknown-file-in-python-module-directory - rm debian/location-python/usr/lib/python3*/site-packages/_location.la - # linitan: binaries-have-file-conflict (d/location-importer.install) - rm debian/location-python/usr/lib/python3*/site-packages/location/database.py - rm debian/location-python/usr/lib/python3*/site-packages/location/importer.py + dh $@ --buildsystem=pybuild