From 2ae3253819ecc489e2c1f973019ac78bf68194ac Mon Sep 17 00:00:00 2001 From: Hugo Lefeuvre <hugo.lefeuvre@savoirfairelinux.com> Date: Tue, 24 Jul 2018 15:58:03 -0400 Subject: [PATCH] packaging: Debian packaging update Backport various fixes from Alexandre's work on the official Debian package: Debian packaging: * Add missing libqt5sql5-sqlite dependency * Various copyright updates * Update Standards-Version * Priority optional (extra is deprecated now) * Update Vcs-* fields * Add missing copyright entry * Remove useless gbp.conf file (only meaningful when using git-buildpackage in a git-buildpackage compatible repo which is not the case here) Packaging scripts: * Remove Ubuntu 14.04 and 15.10 related code * Various copyright updates * Set e-mail address before generating changelog entry Change-Id: I18e523422d16fe129cf6773ab01a99b00232a5bb Gitlab: #481 Reviewed-by: Sebastien Blin <sebastien.blin@savoirfairelinux.com> --- Makefile.packaging | 2 +- packaging/rules/debian/control | 12 +-- packaging/rules/debian/copyright | 28 +++++-- packaging/rules/debian/gbp.conf | 2 - packaging/rules/debian/ring-all.postinst | 73 +++++++++---------- packaging/rules/debian/ring-all.postrm | 6 +- packaging/rules/debian/rules | 2 +- scripts/build-package-debian.sh | 15 ++-- ...buntu-15.10-android-install-all-devices.sh | 9 --- 9 files changed, 73 insertions(+), 76 deletions(-) delete mode 100644 packaging/rules/debian/gbp.conf delete mode 100755 scripts/ubuntu-15.10-android-install-all-devices.sh diff --git a/Makefile.packaging b/Makefile.packaging index 9aa58be1..0b99c6ab 100644 --- a/Makefile.packaging +++ b/Makefile.packaging @@ -1,5 +1,5 @@ # -*- mode: makefile; -*- -# Copyright (C) 2016-2017 Savoir-faire Linux Inc. +# Copyright (C) 2016-2018 Savoir-faire Linux Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/packaging/rules/debian/control b/packaging/rules/debian/control index f1278264..466c52a5 100644 --- a/packaging/rules/debian/control +++ b/packaging/rules/debian/control @@ -1,6 +1,6 @@ Source: ring Section: comm -Priority: extra +Priority: optional Maintainer: Alexandre Viau <aviau@debian.org> Build-Depends: debhelper (>= 9), autoconf, @@ -56,15 +56,17 @@ Build-Depends: debhelper (>= 9), # other yasm, libsamplerate0-dev -Standards-Version: 3.9.8 +Standards-Version: 4.1.5 Homepage: https://ring.cx -Vcs-Git: https://anonscm.debian.org/git/pkg-voip/ring.git -Vcs-Browser: https://anonscm.debian.org/cgit/pkg-voip/ring.git +Vcs-Git: https://git.ring.cx/savoirfairelinux/ring-project.git +Vcs-Browser: https://git.ring.cx/savoirfairelinux/ring-project Package: ring-all Architecture: any Depends: ${shlibs:Depends}, - ${misc:Depends} + libqt5sql5-sqlite, + ${misc:Depends}, + gnupg Replaces: ring, ring-gnome, ring-daemon diff --git a/packaging/rules/debian/copyright b/packaging/rules/debian/copyright index c9edc267..b77d20e2 100644 --- a/packaging/rules/debian/copyright +++ b/packaging/rules/debian/copyright @@ -1,4 +1,4 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: ring Upstream-Contact: Alexandre Viau <alexandre.viau@savoirfairelinux.net> Source: https://dl.ring.cx/ring-release/tarballs/ @@ -11,7 +11,7 @@ Files-Excluded: client-electron/* client-gnome/libqrencode/* Files: * -Copyright: 2004-2017 Savoir-faire Linux Inc. +Copyright: 2004-2018 Savoir-faire Linux Inc. 1999 Tom Tromey 1994-2009 Red Hat, Inc. 2010 Michael Kerrisk @@ -66,7 +66,7 @@ Files: daemon/src/media/audio/opensl/audio_common.h daemon/src/media/audio/opensl/audio_recorder.h daemon/src/media/audio/opensl/buf_manager.h Copyright: 2015 The Android Open Source Project - 2015-2017 Savoir-faire Linux Inc. + 2015-2018 Savoir-faire Linux Inc. License: Apache-2.0 Files: daemon/extras/tools/bootstrap @@ -107,13 +107,25 @@ License: BSD-3-Clause ################## Files: lrc/* -Copyright: 2009-2017 by Savoir-faire Linux +Copyright: 2009-2018 by Savoir-faire Linux License: LGPL-2.1+ ################ ## End of lrc ## ################ +########################### +## Start of gnome client ## +########################### + +Files: client-gnome/web/linkify* +Copyright: 2016 SoapBox Innovations Inc. +License: Expat + +######################### +## End of gnome client ## +######################### + ###################### ## Start of msgpack ## ###################### @@ -168,7 +180,7 @@ License: Boost-1.0 ###################### Files: daemon/contrib/tarballs-unpacked/opendht*/opendht*/include/opendht/securedht.h -Copyright: 2014-2017 Savoir-faire Linux Inc. +Copyright: 2014-2018 Savoir-faire Linux Inc. License: GPL-3-with-openssl-exception This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -198,7 +210,7 @@ License: GPL-3-with-openssl-exception Files: daemon/contrib/tarballs-unpacked/opendht-*/opendht-*/include/opendht/dht.h daemon/contrib/tarballs-unpacked/opendht-*/opendht-*/src/dht.cpp Copyright: 2009-2014 Juliusz Chroboczek - 2014-2017 Savoir-faire Linux Inc + 2014-2018 Savoir-faire Linux Inc License: Expat Files: daemon/contrib/tarballs-unpacked/opendht-*/opendht-*/m4/ax_cxx_compile_stdcxx.m4 @@ -219,6 +231,10 @@ Copyright: 2015 Daniel Dinu 2015 Thomas Pornin License: CC0 +Files: daemon/src/ringdht/eth/* +Copyright: Ethereum Contributors +License: GPL-3+ + License: CC0 /Statement of Purpose/ . diff --git a/packaging/rules/debian/gbp.conf b/packaging/rules/debian/gbp.conf deleted file mode 100644 index cec628c7..00000000 --- a/packaging/rules/debian/gbp.conf +++ /dev/null @@ -1,2 +0,0 @@ -[DEFAULT] -pristine-tar = True diff --git a/packaging/rules/debian/ring-all.postinst b/packaging/rules/debian/ring-all.postinst index 65e8aad8..bef66013 100755 --- a/packaging/rules/debian/ring-all.postinst +++ b/packaging/rules/debian/ring-all.postinst @@ -32,7 +32,7 @@ RING_PPA_BASE="https://dl.ring.cx/ring-nightly" RING_KEY_FINGERPRINT="A295D773307D25A33AE72F2F64CD5FA175348F84" RING_KEY="\ -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1 +Version: GnuPG v2 mQENBFVSdlcBCAC9zC1rp12O2K08PGozI14Y+t4qC931eHicvkuEMF1B9gAhjdRF aIJS+UXwgQzoamDIHenxz1Q3fXUjKCMXytjGymB/0LUKccSbtH0Rcsl8kZ2z57KN @@ -41,43 +41,32 @@ gmoV8Av714OlswsthSNtN+xQls3ozQ/dVGsOkZEyDbBzi88/rQEtuIDztTSWyD0V x7WaY5+mVRwsJKzyPlgvsXpbP7A41IFykeOzPKh+vYz3k7dcLIRdOwse79oT2RXt 2VYEyTyTZIQlCJjGNTJYsU7GVffU4LnI7p/bABEBAAG0QFJpbmcgLSBTYXZvaXIt RmFpcmUgTGludXgsIEluYyA8cmluZ0BsaXN0cy5zYXZvaXJmYWlyZWxpbnV4Lm5l -dD6JARwEEAEIAAYFAlVSglkACgkQVne4T6jwryPRGQf/ay/gvdfSE8jADN/cJQll -C4eKFQ49ECiu7lGpb/mdaqyuhrVYKEmrv24MR5wMCLNMDUy9pMWYvFOMKQmyj7lQ -cxIeLosBG9hdI54E8WLMQlPiplkJe2LnOH13nPW7ov3zqaucCsDf0hnYX73BXarR -UgOerVO3r5wnvjnNJ5mZszqOKnigQGwpsKQCGrvyyoJzsMiKWwZt3a2CsuyHd+K2 -9qYQkJMJgp0MyiDdM/T4R6RBMDZCniMbRR/saDVi8MNyxrBfI0OswFcQU9WEE2dG -Kxf5hAFFaAMTnz5+mxB95ORuUvlRotaEMaXJ8BzV5svcifOFRYmzCO3QE3cY+g/n -mYkBOQQTAQgAIwUCVVJ2VwIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJ -EGTNX6F1NI+EypIH/1popdUHKgTvPA8zwMNKe1L+NiGFpXUJxnvxZ4LUtjZScctH -/K8AGcMyKSCpswcEO7VH12eOBk2e2nunRuXFxPpJzF1noWkxkbplblg1khVy2cWN -0TFK1x2lxtvJxbwZ4KZB1VwosGXwbnmaJyTTZrJU04fkRO1ZqE/AG8xaTmFJofcT -XzK+eZ2pr2cIRJPhQq8E6mafnybAkMhHZgt0QVwvzPgWTFBQ2TH+GIdKf5guitkf -eIGt/3L29JiFDmnHHux5aShoYBAGB+S1EJQq9VjoTWhJn9ZHVaxHV+0M79EPQTwA -8rOJtXKdQRCsJxBfXq4M5r9iBq9WS2z0eZHtV/uJAhwEEAEIAAYFAlb/E2kACgkQ -ggNx9OB95XEhdg//aHmbkrjeFJlfrvuNXe1MVFc0+0mn+okbqH3WaBXTPClI/KTF -UZ3ek2Bh3cdMWnILGMUyhUZT8gepmjKU2B3KsyyxELrJO5NejeewM4sqC8s37dZK -6cuXA0Nw/to2UwdHkGfMltCxZSt0iEThxNj/9vDJ73ucREWCzJorBPGYHyTStWJO -SFdK9c69cXRrZhTClSoUaz07JCtQcsvEYHV3jab3gWeZlxyvS0OCPFZ5liaart98 -z8G4/G1yjqldx92FQ53H3qXLiyJWCpfspU+m20y4Hpzbz6UYVlEmomRHeubYs+CO -Jh6LdB/tD/uiveZuv+Lf48nPG+6AwNvOeu+qdFUP+QPNIgzh8H2MlXToOu2I20A3 -TdsEXMgF2lGkJ9c+sNMMMONNXhtIeUK0mz3VrCZrSHq3Gido3Qv09jJKCezDEGqP -x+q71UUyPu9PtdUZJ2csd9l0yQiDranI+lEXybCqsgPtcsKEsY6zuAo7td09G12s -fVMRcphO8lsSPriscA9tZHEtWgy7y2TB/1NzDfKIjH6r+NIxjS2Gx4A4/kXLYdza -OQ+b+HhVWEs2aoQYQC2Xt0zkmg0QjnuOBlxKWL8psyXej5l9c1/jYWZ0VEgLZ42l -RGk+qvbCHdmIHfpOp08hRLGognt4WqRTt0z+0+jf0WLKouOKbY77BG6ybUq5AQ0E -VVJ2VwEIAMXhg0w1IM0CrGXMGayaJ3EWd9YXkqq0sAN7b75tD0cOimyPNafnzChG -9//3tt82aPRm8fG5Lk5UfwCS2MSt2Ml8UZeujmEBnvU9hsJBWcGgzXhtBQwZqzmV -2vQg8436nTFY5L24TFBcQNOUJNzSy/dqps0SxcYleE57o24KHlW6ICBaEhz0JoZH -v5+7GtYz6XN2D7pkwTPYUIahyt4dY3geFrkuMzZdTS4qyFb8EE/Ypi/WgewO9ib5 -3kt7FBrxmm0l+d9GR4jHCKGqaYjm8xzTsNa3m2C0Cf/C13bOaQVicgntfQ32IjjZ -daDMlRLQluYNQ0ETA1FE9+EVvrQYZ+kAEQEAAYkBHwQYAQgACQUCVVJ2VwIbDAAK -CRBkzV+hdTSPhMIaB/9DCrIZBDy7YOK3gdnNm57jemJRz6Cum7RTUiqCQ8ivSmEg -v1KmMIqMpjmnKKP43iHOmR4i7XDml6RBGynPys6cQcAlBWSuhOv9PGpRCaGyjJ4v -mQUsYhyD/+tCDZVdBuGgCxteSMbawxtMHESqX7dDlctc+njDjBcbcGj73sj36qoF -IjorjymZlT5IdK39oXVMHi1TssiWPOU0hQgn4BIreYnEZUA6xuFX10C7k2DVRFZr -XF7lpNgPQ8eNZTnQBIuwHUFCGSHO3/kzxSlkE1PBUX3IZ8PSFijyopBnWUhlSXuy -Rjte8OR7Fl/Rlf0IaOD14sRdAfS333T4Uifq4uOu -=vaci +dD6JATkEEwEIACMFAlVSdlcCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAK +CRBkzV+hdTSPhMqSB/9aaKXVByoE7zwPM8DDSntS/jYhhaV1CcZ78WeC1LY2UnHL +R/yvABnDMikgqbMHBDu1R9dnjgZNntp7p0blxcT6ScxdZ6FpMZG6ZW5YNZIVctnF +jdExStcdpcbbycW8GeCmQdVcKLBl8G55mick02ayVNOH5ETtWahPwBvMWk5hSaH3 +E18yvnmdqa9nCEST4UKvBOpmn58mwJDIR2YLdEFcL8z4FkxQUNkx/hiHSn+YLorZ +H3iBrf9y9vSYhQ5pxx7seWkoaGAQBgfktRCUKvVY6E1oSZ/WR1WsR1ftDO/RD0E8 +APKzibVynUEQrCcQX16uDOa/YgavVkts9HmR7Vf7iQEcBBABCAAGBQJVUoJZAAoJ +EFZ3uE+o8K8j0RkH/2sv4L3X0hPIwAzf3CUJZQuHihUOPRAoru5RqW/5nWqsroa1 +WChJq79uDEecDAizTA1MvaTFmLxTjCkJso+5UHMSHi6LARvYXSOeBPFizEJT4qZZ +CXti5zh9d5z1u6L986mrnArA39IZ2F+9wV2q0VIDnq1Tt6+cJ745zSeZmbM6jip4 +oEBsKbCkAhq78sqCc7DIilsGbd2tgrLsh3fitvamEJCTCYKdDMog3TP0+EekQTA2 +Qp4jG0Uf7Gg1YvDDcsawXyNDrMBXEFPVhBNnRisX+YQBRWgDE58+fpsQfeTkblL5 +UaLWhDGlyfAc1ebL3InzhUWJswjt0BN3GPoP55m5AQ0EVVJ2VwEIAMXhg0w1IM0C +rGXMGayaJ3EWd9YXkqq0sAN7b75tD0cOimyPNafnzChG9//3tt82aPRm8fG5Lk5U +fwCS2MSt2Ml8UZeujmEBnvU9hsJBWcGgzXhtBQwZqzmV2vQg8436nTFY5L24TFBc +QNOUJNzSy/dqps0SxcYleE57o24KHlW6ICBaEhz0JoZHv5+7GtYz6XN2D7pkwTPY +UIahyt4dY3geFrkuMzZdTS4qyFb8EE/Ypi/WgewO9ib53kt7FBrxmm0l+d9GR4jH +CKGqaYjm8xzTsNa3m2C0Cf/C13bOaQVicgntfQ32IjjZdaDMlRLQluYNQ0ETA1FE +9+EVvrQYZ+kAEQEAAYkBHwQYAQgACQUCVVJ2VwIbDAAKCRBkzV+hdTSPhMIaB/9D +CrIZBDy7YOK3gdnNm57jemJRz6Cum7RTUiqCQ8ivSmEgv1KmMIqMpjmnKKP43iHO +mR4i7XDml6RBGynPys6cQcAlBWSuhOv9PGpRCaGyjJ4vmQUsYhyD/+tCDZVdBuGg +CxteSMbawxtMHESqX7dDlctc+njDjBcbcGj73sj36qoFIjorjymZlT5IdK39oXVM +Hi1TssiWPOU0hQgn4BIreYnEZUA6xuFX10C7k2DVRFZrXF7lpNgPQ8eNZTnQBIuw +HUFCGSHO3/kzxSlkE1PBUX3IZ8PSFijyopBnWUhlSXuyRjte8OR7Fl/Rlf0IaOD1 +4sRdAfS333T4Uifq4uOu +=s2aQ -----END PGP PUBLIC KEY BLOCK-----" # System paths and generated variables @@ -86,7 +75,6 @@ Rjte8OR7Fl/Rlf0IaOD14sRdAfS333T4Uifq4uOu # postrm paths should be modified as well APT_FILE="/etc/apt/sources.list.d/ring-main.sources" APT_PREFS_FILE="/etc/apt/preferences.d/ring-main.pref" -RING_KEY_FILE="/etc/apt/trusted.gpg.d/ring-main.gpg" UPDATE_MANAGER_PATH="/etc/update-manager/release-upgrades.d/" RING_UPDATE_MANAGER_ID="ring-main" @@ -119,11 +107,16 @@ fi case "$1" in configure) + if [ "`command -v apt-key`" = "" ]; then + # we can only add key if apt-key is present + CAN_ADD_DEB_SOURCE=false + fi + if [ "$CAN_ADD_DEB_SOURCE" = "true" ]; then RING_PPA="${RING_PPA_BASE}/${ENDTAG}" # We first add the key to the trusted keyring. - cat > $RING_KEY_FILE <<EOF + apt-key add - > /dev/null 2>&1 << EOF $RING_KEY EOF diff --git a/packaging/rules/debian/ring-all.postrm b/packaging/rules/debian/ring-all.postrm index 898840a2..8d725aa6 100755 --- a/packaging/rules/debian/ring-all.postrm +++ b/packaging/rules/debian/ring-all.postrm @@ -14,10 +14,11 @@ set -e # [1] Configuration # ############################################################################### +RING_KEY_FINGERPRINT="A295D773307D25A33AE72F2F64CD5FA175348F84" + # System paths and generated variables APT_FILE="/etc/apt/sources.list.d/ring-main.sources" APT_PREFS_FILE="/etc/apt/preferences.d/ring-main.pref" -RING_KEY_FILE="/etc/apt/trusted.gpg.d/ring-main.gpg" UPDATE_MANAGER_PATH="/etc/update-manager/release-upgrades.d/" RING_UPDATE_MANAGER_ID="ring-main" @@ -31,10 +32,11 @@ UPDATE_MANAGER_CFG_PATH="${UPDATE_MANAGER_PATH}/${RING_UPDATE_MANAGER_CFG}" case "$1" in purge) + # Remove key from trusted keyring + command -v apt-key > /dev/null && apt-key del "$RING_KEY_FINGERPRINT" rm -f "$APT_FILE" rm -f "$APT_PREFS_FILE" rm -f "$UPDATE_MANAGER_CFG_PATH" - rm -f "$RING_KEY_FILE" ;; esac diff --git a/packaging/rules/debian/rules b/packaging/rules/debian/rules index 65027e3c..8bcdbf3b 100755 --- a/packaging/rules/debian/rules +++ b/packaging/rules/debian/rules @@ -220,7 +220,7 @@ get-orig-source: rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs # Create the new tarball - cd ${tmpdir} && tar -czf ${workdir}/ring_${version_to_download}~dfsg1.orig.tar.gz ring-project + cd ${tmpdir} && tar -czf ${workdir}/ring_${version_to_download}~dfsg1.orig.tar.gz ring-project # Clear the temp dir rm -rf ${tmpdir} diff --git a/scripts/build-package-debian.sh b/scripts/build-package-debian.sh index ce2a4483..f41a1c5f 100755 --- a/scripts/build-package-debian.sh +++ b/scripts/build-package-debian.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Copyright (C) 2016 Savoir-faire Linux Inc. +# Copyright (C) 2016-2018 Savoir-faire Linux Inc. # # Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com> # @@ -41,17 +41,12 @@ apt-get upgrade -o Acquire::Retires=10 -y mk-build-deps --remove --install debian/control -t "apt-get -y --no-install-recommends" # create changelog file -dch --create --package ring --newversion ${DEBIAN_VERSION} "Automatic nightly release" -dch --release --distribution "unstable" debian/changelog +DEBEMAIL="The Ring project <ring@gnu.org>" dch --create --package ring --newversion ${DEBIAN_VERSION} "Automatic nightly release" +DEBEMAIL="The Ring project <ring@gnu.org>" dch --release --distribution "unstable" debian/changelog # create orig tarball -# mk-origtargz isn't in ubuntu_14.04 -if [ "${DISTRIBUTION}" = "ubuntu_14.04" ] || [ "${DISTRIBUTION}" = "ubuntu_14.04_i386" ]; then - mv ${RELEASE_TARBALL_FILENAME} ../ring_${DEBIAN_VERSION}.orig.tar.gz -else - mk-origtargz ${RELEASE_TARBALL_FILENAME} - rm --verbose ${RELEASE_TARBALL_FILENAME} -fi +mk-origtargz ${RELEASE_TARBALL_FILENAME} +rm --verbose ${RELEASE_TARBALL_FILENAME} GET_ORIG_SOURCE_OVERRIDE_USCAN_TARBALL=$(readlink -f ../ring_*.orig.tar.gz) debian/rules get-orig-source diff --git a/scripts/ubuntu-15.10-android-install-all-devices.sh b/scripts/ubuntu-15.10-android-install-all-devices.sh deleted file mode 100755 index f22c2a8b..00000000 --- a/scripts/ubuntu-15.10-android-install-all-devices.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash -# Build the Android app and install it on all connected devices. -set -e -./ubuntu-15.10-dependencies.sh -cd client-android -./compile.sh -# TODO use gradlew instead. -# From: http://stackoverflow.com/questions/8610733/how-can-i-adb-install-an-apk-to-multiple-connected-devices -adb devices | tail -n +2 | cut -sf 1 | xargs -i'{}' adb -s '{}' install ring-android/app/build/outputs/apk/app-debug.apk -- GitLab