From 4e969701fbdc52b7294d51cb54a822a0656210fc Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com> Date: Mon, 26 Apr 2021 15:01:57 -0400 Subject: [PATCH] packaging: Add jami-libqt to the jami-all package. This makes the current 'jami-all' package the one used for the one-click install package. * packaging/rules/debian/rules (OCI_INSTALL_DIR): New variable. (override_dh_auto_install): Extend rule to install the files of the jami-libqt package. Do not include the jami-gnome in jami-all. * packaging/rules/debian/control (jami-all): Update description. * packaging/rules/debian-one-click-install: Delete directory. * packaging/rules/debian-one-click-install/jami-all.postinst: Move to ... * packaging/rules/debian/jami-all.postinst: ... here. * scripts/make-packaging-target.py: Remove all OCI-specific targets. * scripts/deploy-packages.sh (package_deb) [jami-all]: Do not add package to the apt repository. [manual-download]: Look for the jami-all package from the main distribution directory, not in a '_oci' suffixed version. GitLab: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/263 Change-Id: I4cacf26355c767d1c77b1ce478b184023481b674 --- Makefile | 3 - .../debian-one-click-install/README.Debian | 28 - .../rules/debian-one-click-install/compat | 1 - .../rules/debian-one-click-install/control | 114 ---- .../rules/debian-one-click-install/copyright | 575 ------------------ .../jami-all.lintian-overrides | 3 - .../jami-all.manpages | 2 - .../jami-all.triggers | 1 - .../rules/debian-one-click-install/rules | 279 --------- .../debian-one-click-install/source/format | 1 - .../rules/debian-one-click-install/watch | 3 - packaging/rules/debian/control | 22 +- .../jami-all.postinst | 0 packaging/rules/debian/rules | 14 +- scripts/deploy-packages.sh | 27 +- scripts/make-packaging-target.py | 71 --- 16 files changed, 38 insertions(+), 1106 deletions(-) delete mode 100644 packaging/rules/debian-one-click-install/README.Debian delete mode 100644 packaging/rules/debian-one-click-install/compat delete mode 100644 packaging/rules/debian-one-click-install/control delete mode 100644 packaging/rules/debian-one-click-install/copyright delete mode 100644 packaging/rules/debian-one-click-install/jami-all.lintian-overrides delete mode 100644 packaging/rules/debian-one-click-install/jami-all.manpages delete mode 100644 packaging/rules/debian-one-click-install/jami-all.triggers delete mode 100755 packaging/rules/debian-one-click-install/rules delete mode 100644 packaging/rules/debian-one-click-install/source/format delete mode 100644 packaging/rules/debian-one-click-install/watch rename packaging/rules/{debian-one-click-install => debian}/jami-all.postinst (100%) diff --git a/Makefile b/Makefile index ac0e3873..88e679e4 100644 --- a/Makefile +++ b/Makefile @@ -37,9 +37,6 @@ RELEASE_TARBALL_FILENAME:=jami_$(RELEASE_VERSION).tar.gz # Debian versions DEBIAN_VERSION:=$(RELEASE_VERSION)~dfsg1-1 DEBIAN_DSC_FILENAME:=jami_$(DEBIAN_VERSION).dsc -DEBIAN_OCI_VERSION:=$(RELEASE_VERSION)~dfsg1-0 -DEBIAN_OCI_DSC_FILENAME:=jami_$(DEBIAN_OCI_VERSION).dsc -DEBIAN_OCI_PKG_DIR:="packaging/rules/debian-one-click-install" # Qt versions QT_MAJOR:=5 diff --git a/packaging/rules/debian-one-click-install/README.Debian b/packaging/rules/debian-one-click-install/README.Debian deleted file mode 100644 index c0dd291f..00000000 --- a/packaging/rules/debian-one-click-install/README.Debian +++ /dev/null @@ -1,28 +0,0 @@ -# jami-all package for jami.net website - -This source package provides a single jami-all binary package. - -This binary package is the same as the mainline jami-all, apart from -the fact that it installs release keys and jami.net package repository -as trusted peers so Jami can be updated from jami.net along with -system updates. - -# Notes - -## Importing a new version - -1- Prepare the new changelog entry mentioning the new version. - (the version on the changelog will be used to determine what to download). - Releases are available here: https://dl.jami.net/release/tarballs/ - -2- Run debian/rules get-orig-source - -3- Import the tarball with gbp import-orig <tarball> - -## tarballs-unpacked - -We need those tarballs in tarballs-unpacked. -The rest should be excluded. - - msgpack-c-cpp-1.2.0.tar.gz - - opendht-281b62dfd529a226e94d0da19e01acf07871a797.tar.gz - - pjproject-2.4.5.tar.bz2 diff --git a/packaging/rules/debian-one-click-install/compat b/packaging/rules/debian-one-click-install/compat deleted file mode 100644 index ec635144..00000000 --- a/packaging/rules/debian-one-click-install/compat +++ /dev/null @@ -1 +0,0 @@ -9 diff --git a/packaging/rules/debian-one-click-install/control b/packaging/rules/debian-one-click-install/control deleted file mode 100644 index 982c778d..00000000 --- a/packaging/rules/debian-one-click-install/control +++ /dev/null @@ -1,114 +0,0 @@ -Source: jami -Section: comm -Priority: optional -Maintainer: The Jami project <jami@gnu.org> -Build-Depends: debhelper (>= 9), - autoconf, - automake, - cmake, - libtool, - autotools-dev, -# qt client - libqt-jami, -# libqt5svg5-dev, -# qml-module-qt-labs-platform, -# qml-module-qtquick-controls, -# qml-module-qtquick-controls2, -# qml-module-qtquick-dialogs, -# qml-module-qtquick-layouts, -# qml-module-qtquick-privatewidgets, -# qml-module-qtquick-shapes, -# qml-module-qtquick-templates2, -# qml-module-qtquick-window2, -# qml-module-qtquick2, -# qml-module-qtwebchannel, -# qml-module-qtwebengine | qml-module-qtwebkit, -# qtdeclarative5-dev, -# qtmultimedia5-dev, -# qtquickcontrols2-5-dev, -# qtwebengine5-dev | libqtwebkit-dev, -# both qt client and gnome client - libnm-dev, - libnotify-dev, -# gnome client - libebook1.2-dev, - libcanberra-gtk3-dev, - libclutter-gtk-1.0-dev, - libclutter-1.0-dev, - libglib2.0-dev, - libgtk-3-dev, -# qtbase5-dev, -# qttools5-dev, -# qttools5-dev-tools, - gettext, - libqrencode-dev, - libayatana-appindicator3-dev | libappindicator3-dev, - libwebkit2gtk-4.0-dev | libwebkit2gtk-3.0-dev, -# daemon - libdbus-1-dev, - libdbus-c++-dev, - libupnp-dev, - libgnutls28-dev, - libpulse-dev, - libasound2-dev, - libexpat1-dev, - libpcre3-dev, - libyaml-cpp-dev, - libboost-dev, - libxext-dev, - libxfixes-dev, - libspeex-dev, - libspeexdsp-dev, - uuid-dev, - libavcodec-dev, - libavutil-dev, - libavformat-dev, - libswscale-dev, - libavdevice-dev, - libopus-dev, - libudev-dev, - libgsm1-dev, - libjsoncpp-dev, - libnatpmp-dev, - libva-dev, - libcrypto++-dev, - libvdpau-dev, - libssl-dev, -# other - nasm, - yasm, -Standards-Version: 4.1.5 -Homepage: https://jami.net -Vcs-Git: https://git.jami.net/savoirfairelinux/ring-project.git -Vcs-Browser: https://git.jami.net/savoirfairelinux/ring-project - -Package: jami-all -Architecture: any -Depends: gnupg, -# libqt5sql5-sqlite, - ${shlibs:Depends}, - ${misc:Depends} -Replaces: jami, - jami-daemon, - ring, - ring-all, - ring-daemon -Conflicts: jami, - jami-daemon, - jami-gnome, - ring, - ring-all, - ring-gnome, - ring-daemon -Description: Secure and distributed voice, video and chat platform - all in one package - Jami (jami.net) is a secure and distributed voice, video and chat communication - platform that requires no centralized server and leaves the power of privacy - in the hands of the user. - . - This package contains the GNOME desktop client and dring, the Jami daemon. - -Package: ring-all -Depends: jami-all, ${misc:Depends} -Architecture: all -Description: transitional package for jami-all - This is a transitional package. It can safely be removed. diff --git a/packaging/rules/debian-one-click-install/copyright b/packaging/rules/debian-one-click-install/copyright deleted file mode 100644 index 2a82b17b..00000000 --- a/packaging/rules/debian-one-click-install/copyright +++ /dev/null @@ -1,575 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: jami -Upstream-Contact: Alexandre Viau <alexandre.viau@savoirfairelinux.net> -Source: https://dl.jami.net/release/tarballs/ -Files-Excluded: client-electron/* - client-uwp/* - client-android/* - client-macosx/* - client-ios/* - client-gnome/libqrencode/* - -Files: * -Copyright: 2004-2019 Savoir-faire Linux Inc. - 1999 Tom Tromey - 1994-2009 Red Hat, Inc. - 2010 Michael Kerrisk - 2007-2009 Rémi Denis-Courmont - 2002 Fabrice Bellard - 2012 VLC authors and VideoLAN - 2012-2013 LOTES TM LLC - 2011-2014 lolilolicon <lolilolicon@gmail.com> -License: GPL-3+ -Comment: Upstream embeds everything that is needed to build Jami inside the release tarball. - Everything that is already in Debian has been removed. - . - OpenDHT was kept and not packaged independently. OpenDHT was written for Jami and is a moving - target. It is best to wait until it is more mature before packaging it separately. - . - Msgpack was kept because the version available in Debian is currently too old for Jami to build. - The Debian version of Msgpack cannot be updated at the moment because of reverse dependencies which - are not ready. - . - Pjproject was kept because it is heavily patched by Jami developers. None of the patches were merged - upstream and Jami developers are still waiting for a reaction from Pjproject developers. - See the relevant threads: - - http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2014-October/017905.html - - http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2015-January/018072.html - - http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2016-April/019196.html - -##################### -## Start of daemon ## -##################### - -Files: daemon/doc/dbus-api/tools/devhelp.xsl - daemon/doc/dbus-api/tools/doc-generator.py - daemon/doc/dbus-api/tools/doc-generator.xsl - daemon/doc/dbus-api/tools/specparser.py -Copyright: 2009 Collabora Ltd. -License: LGPL-2.1+ - -Files: daemon/src/dlfcn.h - daemon/src/dlfcn.c -Copyright: 2007 Ramiro Polla -License: LGPL-2.1+ - -Files: daemon/src/media/srtp.h - daemon/src/media/srtp.c -Copyright: 2012 Martin Storsjo -License: LGPL-2.1+ - -Files: daemon/src/media/audio/opensl/audio_common.h - daemon/src/media/audio/opensl/audio_player.cpp - daemon/src/media/audio/opensl/audio_player.h - daemon/src/media/audio/opensl/audio_recorder.cpp - daemon/src/media/audio/opensl/audio_recorder.h - daemon/src/media/audio/opensl/buf_manager.h -Copyright: 2015 The Android Open Source Project - 2015-2019 Savoir-faire Linux Inc. -License: Apache-2.0 - -Files: daemon/extras/tools/bootstrap -Copyright: 2011 Rafaël Carré -License: GPL-2+ - -Files: daemon/extras/tools/tools.mak - daemon/contrib/src/main.mak -Copyright: 2003-2011 the VideoLAN team -License: GPL-2+ - -Files: daemon/m4/ax_cxx_compile_stdcxx.m4 - daemon/m4/dolt.m4 -Copyright: 2008 Benjamin Kosnik <bkoz@redhat.com> - 2012 Zack Weinberg <zackw@panix.com> - 2013 Roy Stogner <roystgnr@ices.utexas.edu> - 2014-2015 Google Inc. - 2015 Paul Norman <penorman@mac.com> - 2015 Moritz Klammler <moritz@klammler.eu> - 2007-2010 Josh Triplett <josh@joshtriplett.org> -License: GNUAllPermissive - -Files: daemon/tools/dringctrl/sippwrap.py - daemon/tools/dringctrl/test_dring_dbus_interface.py -Copyright: 2012 Free Software Foundation, Inc. -License: GPL-2+ - -Files: daemon/tools/cpplint.py3 -Copyright: 2009 Google Inc. -License: BSD-3-Clause - -################### -## End of daemon ## -################### - -################## -## Start of lrc ## -################## - -Files: lrc/* -Copyright: 2009-2019 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 ## -###################### - -Files: daemon/contrib/tarballs-unpacked/msgpack-c-* -Copyright: 2008-2016 FURUHASHI Sadayuki - 2008-2016 KONDO Takatoshi - 2013 Vladimir Volodko - 2015 MIZUKI Hirata - 2005-2014 Rene Rivera - 2014 Franz Detro - 2014 Microsoft Corporation - 2014 Jessica Hamilton - 2001 Housemarque Oy - 2011-2014 Edward Diener - 2001-2011 Paul Mensonides -License: Boost-1.0 - -Files: daemon/contrib/tarballs-unpacked/msgpack-c*/msgpack-c*/bootstrap -Copyright: 2002 Anthony Ventimiglia -License: GPL-2+ - -License: Boost-1.0 - Permission is hereby granted, free of charge, to any person or organization - obtaining a copy of the software and accompanying documentation covered by - this license (the "Software") to use, reproduce, display, distribute, - execute, and transmit the Software, and to prepare derivative works of the - Software, and to permit third-parties to whom the Software is furnished to - do so, all subject to the following: - . - The copyright notices in the Software and this entire statement, including - the above license grant, this restriction and the following disclaimer, - must be included in all copies of the Software, in whole or in part, and - all derivative works of the Software, unless such copies or derivative - works are solely in the form of machine-executable object code generated by - a source language processor. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - -#################### -## End of msgpack ## -#################### - -###################### -## Start of opendht ## -###################### - -Files: daemon/contrib/tarballs-unpacked/opendht*/opendht*/include/opendht/securedht.h -Copyright: 2014-2019 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 - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - . - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - . - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - . - Additional permission under GNU GPL version 3 section 7: - . - If you modify this program, or any covered work, by linking or - combining it with the OpenSSL project's OpenSSL library (or a - modified version of that library), containing parts covered by the - terms of the OpenSSL or SSLeay licenses, Savoir-faire Linux Inc. - grants you additional permission to convey the resulting work. - Corresponding Source for a non-source form of such a combination - shall include the source code for the parts of OpenSSL used as well - as that of the covered work. - -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-2019 Savoir-faire Linux Inc -License: Expat - -Files: daemon/contrib/tarballs-unpacked/opendht-*/opendht-*/m4/ax_cxx_compile_stdcxx.m4 -Copyright: 2008 Benjamin Kosnik <bkoz@redhat.com> - 2012 Zack Weinberg <zackw@panix.com> - 2013 Roy Stogner <roystgnr@ices.utexas.edu> - 2014-2015 Google Inc. - 2015 Paul Norman <penorman@mac.com> - 2015 Moritz Klammler <moritz@klammler.eu> -License: GNUAllPermissive - -Files: daemon/contrib/tarballs-unpacked/opendht-*/opendht-*/argon2/* -Copyright: 2015 Daniel Dinu - 2015 Dmitry Khovratovich - 2015 Jean-Philippe Aumasson - 2015 Samuel Neves - 2013-2015 Samuel Neves - 2015 Thomas Pornin -License: CC0 - -Files: daemon/src/ringdht/eth/* -Copyright: Ethereum Contributors -License: GPL-3+ - -License: CC0 - /Statement of Purpose/ - . - The laws of most jurisdictions throughout the world automatically confer - exclusive Copyright and Related Rights (defined below) upon the creator - and subsequent owner(s) (each and all, an "owner") of an original work - of authorship and/or a database (each, a "Work"). - . - Certain owners wish to permanently relinquish those rights to a Work for - the purpose of contributing to a commons of creative, cultural and - scientific works ("Commons") that the public can reliably and without - fear of later claims of infringement build upon, modify, incorporate in - other works, reuse and redistribute as freely as possible in any form - whatsoever and for any purposes, including without limitation commercial - purposes. These owners may contribute to the Commons to promote the - ideal of a free culture and the further production of creative, cultural - and scientific works, or to gain reputation or greater distribution for - their Work in part through the use and efforts of others. - . - For these and/or other purposes and motivations, and without any - expectation of additional consideration or compensation, the person - associating CC0 with a Work (the "Affirmer"), to the extent that he or - she is an owner of Copyright and Related Rights in the Work, voluntarily - elects to apply CC0 to the Work and publicly distribute the Work under - its terms, with knowledge of his or her Copyright and Related Rights in - the Work and the meaning and intended legal effect of CC0 on those rights. - . - *1. Copyright and Related Rights.* A Work made available under CC0 may - be protected by copyright and related or neighboring rights ("Copyright - and Related Rights"). Copyright and Related Rights include, but are not - limited to, the following: - . - 1. the right to reproduce, adapt, distribute, perform, display, - communicate, and translate a Work; - 2. moral rights retained by the original author(s) and/or performer(s); - 3. publicity and privacy rights pertaining to a person's image or - likeness depicted in a Work; - 4. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - 5. rights protecting the extraction, dissemination, use and reuse of - data in a Work; - 6. database rights (such as those arising under Directive 96/9/EC of - the European Parliament and of the Council of 11 March 1996 on the - legal protection of databases, and under any national implementation - thereof, including any amended or successor version of such - directive); and - 7. other similar, equivalent or corresponding rights throughout the - world based on applicable law or treaty, and any national - implementations thereof. - . - *2. Waiver.* To the greatest extent permitted by, but not in - contravention of, applicable law, Affirmer hereby overtly, fully, - permanently, irrevocably and unconditionally waives, abandons, and - surrenders all of Affirmer's Copyright and Related Rights and associated - claims and causes of action, whether now known or unknown (including - existing as well as future claims and causes of action), in the Work (i) - in all territories worldwide, (ii) for the maximum duration provided by - applicable law or treaty (including future time extensions), (iii) in - any current or future medium and for any number of copies, and (iv) for - any purpose whatsoever, including without limitation commercial, - advertising or promotional purposes (the "Waiver"). Affirmer makes the - Waiver for the benefit of each member of the public at large and to the - detriment of Affirmer's heirs and successors, fully intending that such - Waiver shall not be subject to revocation, rescission, cancellation, - termination, or any other legal or equitable action to disrupt the quiet - enjoyment of the Work by the public as contemplated by Affirmer's - express Statement of Purpose. - . - *3. Public License Fallback.* Should any part of the Waiver for any - reason be judged legally invalid or ineffective under applicable law, - then the Waiver shall be preserved to the maximum extent permitted - taking into account Affirmer's express Statement of Purpose. In - addition, to the extent the Waiver is so judged Affirmer hereby grants - to each affected person a royalty-free, non transferable, non - sublicensable, non exclusive, irrevocable and unconditional license to - exercise Affirmer's Copyright and Related Rights in the Work (i) in all - territories worldwide, (ii) for the maximum duration provided by - applicable law or treaty (including future time extensions), (iii) in - any current or future medium and for any number of copies, and (iv) for - any purpose whatsoever, including without limitation commercial, - advertising or promotional purposes (the "License"). The License shall - be deemed effective as of the date CC0 was applied by Affirmer to the - Work. Should any part of the License for any reason be judged legally - invalid or ineffective under applicable law, such partial invalidity or - ineffectiveness shall not invalidate the remainder of the License, and - in such case Affirmer hereby affirms that he or she will not (i) - exercise any of his or her remaining Copyright and Related Rights in the - Work or (ii) assert any associated claims and causes of action with - respect to the Work, in either case contrary to Affirmer's express - Statement of Purpose. - . - *4. Limitations and Disclaimers.* - . - 1. No trademark or patent rights held by Affirmer are waived, - abandoned, surrendered, licensed or otherwise affected by this document. - 2. Affirmer offers the Work as-is and makes no representations or - warranties of any kind concerning the Work, express, implied, - statutory or otherwise, including without limitation warranties of - title, merchantability, fitness for a particular purpose, non - infringement, or the absence of latent or other defects, accuracy, - or the present or absence of errors, whether or not discoverable, - all to the greatest extent permissible under applicable law. - 3. Affirmer disclaims responsibility for clearing rights of other - persons that may apply to the Work or any use thereof, including - without limitation any person's Copyright and Related Rights in the - Work. Further, Affirmer disclaims responsibility for obtaining any - necessary consents, permissions or other rights required for any use - of the Work. - 4. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to - this CC0 or use of the Work. - -#################### -## End of opendht ## -#################### - -######################## -## Start of pjproject ## -######################## - -Files: daemon/contrib/tarballs-unpacked/pjproject-* -Copyright: 2008-2011 Teluu Inc. - 2003-2008 Benny Prijono <benny@prijono.org> - 1987-1998 Free Software Foundation Inc - 1993-2006 Douglas C. Schmidt <d.schmidt@vanderbilt.edu> - 2011 Dan Arrhenius <dan@keystream.se> - 2010-2012 Regis Montoya - 2015 bdSound s.r.l. - 2007-2009 Keystream AB and Konftel AB - 1992-2001 Microsoft Corporation - 1991 Massachusetts Institute of Technology -License: GPL-2+ - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/pjlib/src/pj/compat/longjmp_i386.S - daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/pjlib-util/include/pjlib-util/getopt.h - daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/pjlib-util/src/pjlib-util/getopt.c -Copyright: 1989-1998 Free Software Foundation, Inc. -License: LGPL-2+ - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/pjlib/src/pj/compat/setjmp_i386.S -Copyright: 1995-2001 Free Software Foundation, Inc. -License: LGPL-2.1+ - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/pjlib-util/src/pjlib-util/crc32.c -Copyright: - -License: public-domain - This file is partly taken from Crypto++ library (http://www.cryptopp.com) - and http://www.di-mgt.com.au/crypto.html#CRC. - . - Since the original version of the code is put in public domain, - this file is put on public domain as well. - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/pjlib-util/src/pjlib-util/md5.c -Copyright: - -License: public-domain - This is the implementation of MD5 algorithm, based on the code - written by Colin Plumb. This file is put in public domain. - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/pjlib-util/src/pjlib-util/sha1.c -Copyright: Steve Reid <sreid@sea-to-sky.net> -License: public-domain - No license nor text except for the following mention: "100% Public Domain" - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/pjmedia/src/pjmedia/alaw_ulaw.c -Copyright: Sun Microsystems, Inc. -License: sun-license - This source code is a product of Sun Microsystems, Inc. and is provided - for unrestricted use. Users may copy or modify this source code without - charge. - . - SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING - THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - . - Sun source code is provided with no support and without any obligation on - the part of Sun Microsystems, Inc. to assist in its use, correction, - modification or enhancement. - . - SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE - OR ANY PART THEREOF. - . - In no event will Sun Microsystems, Inc. be liable for any lost revenue - or profits or other special, indirect and consequential damages, even if - Sun has been advised of the possibility of such damages. - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/pjsip-apps/src/pjsua/bb10/bar-descriptor.xml -Copyright: 2011-2013 Research In Motion Limited. -License: Apache-2.0 - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/aconfigure - daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/srtp/configure -Copyright: 1992-2012 Free Software Foundation, Inc. -License: configure-fsf-permissive - This configure script is free software; the Free Software Foundation - gives unlimited permission to copy, distribute and modify it. - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/install-sh - daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/srtp/install-sh -Copyright: 1991 Massachusetts Institute of Technology -License: mit-permissive - Permission to use, copy, modify, distribute, and sell this software and its - documentation for any purpose is hereby granted without fee, provided that - the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting - documentation, and that the name of M.I.T. not be used in advertising or - publicity pertaining to distribution of the software without specific, - written prior permission. M.I.T. makes no representations about the - suitability of this software for any purpose. It is provided "as is" - without express or implied warranty. - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/resample/* -Copyright: 1994-2006 Julius O. Smith III <jos@ccrma.stanford.edu> -License: LGPL-2.1+ - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/srtp/* -Copyright: 2001-2006 Cisco Systems, Inc. - 2005 Ingate Systems AB -License: BSD-3-Clause - -Files: daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/srtp/pjlib/* -Copyright: 2003-2007 Benny Prijono <benny@prijono.org> -License: GPL-2+ - -###################### -## End of pjproject ## -###################### - -License: GPL-3+ - 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 - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - ․ - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - ․ - The complete text of the GNU General Public License version 3 - can be found in `/usr/share/common-licenses/GPL-3`. - -License: GPL-2+ - This package is free software; you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free Software - Foundation; either version 2 of the License, or (at your option) any later - version. - . - This package is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - details. - . - You should have received a copy of the GNU General Public License along with - this program. If not, see http://www.gnu.org/licenses/ - . - On Debian systems, the complete text of the GNU General Public License version - 2 can be found in "/usr/share/common-licenses/GPL-2". - -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy of - this software and associated documentation files (the "Software"), to deal in - the Software without restriction, including without limitation the rights to - use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - the Software, and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - . - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License: LGPL-2.1+ - This library is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of the - License, or (at your option) any later version. - . - See /usr/share/common-licenses/LGPL-2.1 for the full license text. - -License: BSD-3-Clause - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - . - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - . - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License: Apache-2.0 - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - . - http://www.apache.org/licenses/LICENSE-2.0 - . - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - . - The complete text of the Apache version 2.0 license - can be found in "/usr/share/common-licenses/Apache-2.0". - -License: GNUAllPermissive - Copying and distribution of this file, with or without modification, are - permitted in any medium without royalty provided the copyright notice - and this notice are preserved. This file is offered as-is, without any - warranty. - -License: LGPL-2+ - This library is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - . - See /usr/share/common-licenses/LGPL-2 for the full license text. diff --git a/packaging/rules/debian-one-click-install/jami-all.lintian-overrides b/packaging/rules/debian-one-click-install/jami-all.lintian-overrides deleted file mode 100644 index 8ab14fe9..00000000 --- a/packaging/rules/debian-one-click-install/jami-all.lintian-overrides +++ /dev/null @@ -1,3 +0,0 @@ -# We are shipping a .so, but this isn't a library package -package-name-doesnt-match-sonames -no-symbols-control-file diff --git a/packaging/rules/debian-one-click-install/jami-all.manpages b/packaging/rules/debian-one-click-install/jami-all.manpages deleted file mode 100644 index 5e0fefce..00000000 --- a/packaging/rules/debian-one-click-install/jami-all.manpages +++ /dev/null @@ -1,2 +0,0 @@ -client-gnome/doc/jami-gnome.1 -daemon/dring.1 diff --git a/packaging/rules/debian-one-click-install/jami-all.triggers b/packaging/rules/debian-one-click-install/jami-all.triggers deleted file mode 100644 index dd866036..00000000 --- a/packaging/rules/debian-one-click-install/jami-all.triggers +++ /dev/null @@ -1 +0,0 @@ -activate-noawait ldconfig diff --git a/packaging/rules/debian-one-click-install/rules b/packaging/rules/debian-one-click-install/rules deleted file mode 100755 index 895604b1..00000000 --- a/packaging/rules/debian-one-click-install/rules +++ /dev/null @@ -1,279 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- - -# Hardening -export DEB_BUILD_MAINT_OPTIONS = hardening=+all -DPKG_EXPORT_BUILDFLAGS = 1 -include /usr/share/dpkg/buildflags.mk - -# Number of CPUS -NO_CPUS=$(shell nproc) -ifeq ($(NO_CPUS),0) -NO_CPUS=1 -endif - -# Binary package names -JAMI_ALL_IN_ONE_PKG_NAME="jami-all" - -# Bundled packages from contrib -BUNDLED_PKGS="" -ifeq (raspbian_10_armhf,$(findstring raspbian_10_armhf, $(DISTRIBUTION))) -# Raspbian's yaml-cpp lib does not work properly -BUNDLED_PKGS="--enable-ffmpeg --enable-yaml-cpp" -# Add host environment variables -CMAKE_OPTIONS=-DCHOST=${HOST_ARCH} \ - -DCMAKE_C_COMPILER=${HOST_ARCH}-gcc \ - -DCMAKE_CXX_COMPILER=${HOST_ARCH}-g++ \ - -DCMAKE_FIND_ROOT_PATH=/usr/${HOST_ARCH} \ - -DPKG_CONFIG_EXECUTABLE=/usr/bin/${HOST_ARCH}-pkg-config -else -ifneq (ubuntu_21.04,$(findstring ubuntu_21.04, $(DISTRIBUTION))) -BUNDLED_PKGS="--enable-ffmpeg" # For ubuntu 21.04 it seems there is massive issues with linking for swscale -endif -endif - -# Qt-related variables -QT_JAMI_PREFIX := ${QT_JAMI_PREFIX} -export PATH := $(QT_JAMI_PREFIX)/bin:${PATH} -export LD_LIBRARY_PATH := $(QT_JAMI_PREFIX)/lib:${LD_LIBRARY_PATH} -export PKG_CONFIG_PATH := $(QT_JAMI_PREFIX)/lib/pkgconfig:${PKG_CONFIG_PATH} -export CMAKE_PREFIX_PATH := $(QT_JAMI_PREFIX)/lib/cmake:${CMAKE_PREFIX_PATH} - - -%: - dh $@ - -override_dh_auto_configure: - ############################################### - ## Re-create tarballs from tarballs-unpacked ## - ############################################### - mkdir -p daemon/contrib/tarballs - - # Create tarballs - for i in $(CURDIR)/daemon/contrib/tarballs-unpacked/*; do \ - projectname=`basename $$i` && \ - cd $$i && tar -caf ../../tarballs/$$projectname * && \ - echo "Repacked $$projectname"; \ - done - - ########################### - ## Daemon configure ## - ########################### - mkdir -p daemon/contrib/native - cd daemon/contrib/native && \ - ../bootstrap \ - --host=${HOST_ARCH} \ - --disable-downloads \ - --no-checksums \ - --disable-ogg \ - --disable-flac \ - --disable-vorbis \ - --disable-vorbisenc \ - --disable-speex \ - --disable-sndfile \ - --disable-gsm \ - --disable-speexdsp \ - --disable-natpmp \ - --enable-gnutls $(BUNDLED_PKGS) && \ - make list && \ - make -j$(NO_CPUS) V=1 - cd daemon && \ - ./autogen.sh && \ - ./configure \ - --prefix=/usr \ - --disable-shared \ - --host=${HOST_ARCH} - - ############################# - ## libringclient configure ## - ############################# - cd lrc && \ - mkdir build && \ - cd build && \ - cmake \ - -DRING_BUILD_DIR=$(CURDIR)/daemon/src \ - -DCMAKE_INSTALL_PREFIX=/usr \ - $(CMAKE_OPTIONS) \ - .. - - ############################ - ## gnome client configure ## - ############################ - cd client-gnome && \ - mkdir build && \ - cd build && \ - cmake \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLibRingClient_PROJECT_DIR=/$(CURDIR)/lrc \ - -DGSETTINGS_LOCALCOMPILE=OFF \ - $(CMAKE_OPTIONS) \ - .. - - ######################### - ## qt client configure ## - ######################### - # needs to be done after lrc is built; see below - - dh_auto_configure - -override_dh_auto_build: - ####################### - ## Daemon build ## - ####################### - make -C daemon -j$(NO_CPUS) V=1 - pod2man daemon/man/dring.pod > daemon/dring.1 - - ######################### - ## libringclient build ## - ######################### - make -C lrc/build -j$(NO_CPUS) V=1 - - ######################## - ## gnome client build ## - ######################## - make -C client-gnome/build LDFLAGS="-lpthread" -j$(NO_CPUS) V=1 - - ################################### - ## qt client configure and build ## - ################################### - cd client-qt && \ - mkdir build && \ - cd build && \ - cmake \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLRC=$(CURDIR)/lrc \ - $(CMAKE_OPTIONS) \ - .. - make -C client-qt/build -j$(NO_CPUS) V=1 - -override_dh_auto_clean: - ################################ - ## Generated contrib tarballs ## - ################################ - rm -rfv daemon/contrib/tarballs - - ####################### - ## Daemon clean ## - ####################### - if [ -f daemon/contrib/native/Makefile ]; then make -C daemon/contrib/native distclean; fi - rm -rfv daemon/contrib/native - rm -rfv daemon/dring.1 - - ######################### - ## libringclient clean ## - ######################### - # CMake build system has no distclean target, so use clean. - if [ -f lrc/build/Makefile ]; then make -C lrc/build clean; fi - rm -rfv lrc/build - - ######################## - ## gnome client clean ## - ######################## - # CMake build system has no distclean target, so use clean. - if [ -f client-gnome/build/Makefile ]; then make -C client-gnome/build clean; fi - rm -rfv client-gnome/build - - ##################### - ## qt client clean ## - ##################### - # CMake build system has no distclean target, so use clean. - if [ -f client-qt/build/Makefile ]; then make -C client-qt/build clean; fi - rm -rfv client-qt/build - -override_dh_clean: - # GNUTLS contains: - # ring-project/daemon/contrib/tarballs-unpacked/gnutls-3.5.10.tar.xz/gnutls-3.5.10/src/certtool-args.c.bak - # ring-project/daemon/contrib/tarballs-unpacked/gnutls-3.5.10.tar.xz/gnutls-3.5.10/doc/doxygen/Doxyfile.orig - dh_clean -X.bak -X.orig - -override_dh_auto_install: - ###################### - ## Jami AiO install ## - ###################### - - ## daemon - cd daemon && make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install - rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/include - rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/lib/*.a - rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/lib/*.la - - ## LibRingClient - cd lrc/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install - rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/include - - # This is a symlink, should be in -dev package - rm -v $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/lib/libringclient.so - - # cmake files - rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/lib/cmake - - ## GNOME client - cd client-gnome/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install - rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/bin/jami - - ## Qt client - cd client-qt/build && \ - make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install - - ln -sf /usr/bin/jami $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/bin/ring.cx - -tmpdir:= $(shell mktemp -d) -workdir:= $(shell pwd) -PKD := $(abspath $(dir $(MAKEFILE_LIST))) -version_to_download := $(shell dpkg-parsechangelog -ldebian/changelog | perl -ne 'print $$1 if m{^Version:\s+(?:\d+:)?(\d.*)(?:\~dfsg.+)(?:\-\d+.*)};') - -# Repacks the tarball with contrib tarballs unpacked. -get-orig-source: - # Download jami tarball - if [ -n "$$GET_ORIG_SOURCE_OVERRIDE_USCAN_TARBALL" ]; then \ - mv $$GET_ORIG_SOURCE_OVERRIDE_USCAN_TARBALL ${tmpdir}; \ - else \ - uscan --rename --destdir=${tmpdir} --download-version ${version_to_download} ;\ - fi - - # Unpack jami tarball - tar -C ${tmpdir} -xf ${tmpdir}/*.tar.gz - - # Remove original tarball - rm ${tmpdir}/*.tar.gz - - # Unpack all of the orig tarballs into tarballs-unpacked - if [ -d "${tmpdir}/jami/" ]; then \ - mv ${tmpdir}/jami/ ${tmpdir}/ring-project/; \ - fi - mkdir ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked - for i in `find ${tmpdir}/ring-project/daemon/contrib/tarballs/ -name "*.tar.*"`; do \ - projectname=`basename $$i` && \ - mkdir ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/$$projectname && \ - tar -C ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/$$projectname -xf $$i && \ - echo "Unpacked $$projectname"; \ - done - - ################### - ## Exclude files ## - ################### - # This does not exclude everything that we need to exclude. - # debian/copyright's File-Excluded section also excludes files. - - ## pjproject - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/g7221 # non-distributable (requires a license from Polycom) - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/ilbc # non distributable (the version included with pjproject) - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/milenage # non distributable - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/BaseClasses # non distributable (?) - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/portaudio # not needed - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/speex # not needed - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/mp3 # not needed - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/gsm # not needed - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/bdsound # not needed - #rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/third_party/srtp # not needed - rm -f ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/pjmedia/src/pjmedia-audiodev/s60_g729_bitstream.h # non distributable - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs-unpacked/pjproject-*/pjproject-*/build/vs # not needed, VisualStudio files. - - # Remove all contrib tarballs - rm -rf ${tmpdir}/ring-project/daemon/contrib/tarballs - - # Create the new tarball - cd ${tmpdir} && tar -czf ${workdir}/jami_${version_to_download}~dfsg1.orig.tar.gz ring-project - - # Clear the temp dir - rm -rf ${tmpdir} diff --git a/packaging/rules/debian-one-click-install/source/format b/packaging/rules/debian-one-click-install/source/format deleted file mode 100644 index 163aaf8d..00000000 --- a/packaging/rules/debian-one-click-install/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) diff --git a/packaging/rules/debian-one-click-install/watch b/packaging/rules/debian-one-click-install/watch deleted file mode 100644 index c219a014..00000000 --- a/packaging/rules/debian-one-click-install/watch +++ /dev/null @@ -1,3 +0,0 @@ -version=3 -opts=dversionmangle=s/\~dfsg\d*$// \ -https://dl.jami.net/release/tarballs/ jami_(\d\S*)\.tar\.gz diff --git a/packaging/rules/debian/control b/packaging/rules/debian/control index 53de64b7..0ab11d58 100644 --- a/packaging/rules/debian/control +++ b/packaging/rules/debian/control @@ -62,6 +62,13 @@ Homepage: https://jami.net Vcs-Git: https://git.jami.net/savoirfairelinux/ring-project.git Vcs-Browser: https://git.jami.net/savoirfairelinux/ring-project +# The jami-all package is used as the "one-click install" package +# offered on the Jami website. The following relationships ensure +# that installing the jami-all package replaces version of the other +# individual Jami packages. This is so that users can fix any +# installation problem on their side by simply reinstalling as per the +# website instructions. +# Package: jami-all Architecture: any Depends: gnupg, @@ -76,19 +83,20 @@ Conflicts: jami, jami-daemon, jami-gnome, libqt-jami -Description: Secure and distributed voice, video and chat platform - all in one package - Jami (jami.net) is a secure and distributed voice, video and chat communication - platform that requires no centralized server and leaves the power of privacy - in the hands of the user. - . - This package contains the GNOME desktop client and dring, the Jami daemon. +Description: One-click install package for Jami + This package only exists to provide an easy installation user experience. + To install the default client, install the 'jami' package. To install + the GNOME client, install the 'jami-gnome' package. Package: jami Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - jami-libclient (=${binary:Version}) + jami-libclient (=${binary:Version}), + libqt-jami Provides: jami-qt +Replaces: jami-all +Conflicts: jami-all Description: Secure and distributed voice, video and chat platform - desktop client Jami (jami.net) is a secure and distributed voice, video and chat communication platform that requires no centralized server and leaves the power of privacy diff --git a/packaging/rules/debian-one-click-install/jami-all.postinst b/packaging/rules/debian/jami-all.postinst similarity index 100% rename from packaging/rules/debian-one-click-install/jami-all.postinst rename to packaging/rules/debian/jami-all.postinst diff --git a/packaging/rules/debian/rules b/packaging/rules/debian/rules index 27a990d4..c806cd61 100755 --- a/packaging/rules/debian/rules +++ b/packaging/rules/debian/rules @@ -43,6 +43,8 @@ export LD_LIBRARY_PATH := $(QT_JAMI_PREFIX)/lib:${LD_LIBRARY_PATH} export PKG_CONFIG_PATH := $(QT_JAMI_PREFIX)/lib/pkgconfig:${PKG_CONFIG_PATH} export CMAKE_PREFIX_PATH := $(QT_JAMI_PREFIX)/lib/cmake:${CMAKE_PREFIX_PATH} +# Installation directories. +OCI_INSTALL_DIR = $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) %: dh $@ @@ -225,6 +227,14 @@ override_dh_auto_install: ln -sf /usr/bin/jami $(CURDIR)/debian/jami/usr/bin/ring.cx + ## Custom Qt package for Jami (libqt-jami) + ## Copy our own Qt library package content into the OCI package. + for file_name in $$(dpkg-query -L libqt-jami); do \ + mkdir -p "$(OCI_INSTALL_DIR)$$(dirname $$file_name)"; \ + test -d "$$file_name" && continue; \ + cp "$$file_name" "$(OCI_INSTALL_DIR)$$file_name"; \ + done + ###################### ## Jami AiO install ## ###################### @@ -245,10 +255,6 @@ override_dh_auto_install: # cmake files rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/lib/cmake - ## GNOME client - cd client-gnome/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install - rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/bin/jami - ## Qt client cd client-qt/build && \ make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install diff --git a/scripts/deploy-packages.sh b/scripts/deploy-packages.sh index e30d7904..d87a7a40 100755 --- a/scripts/deploy-packages.sh +++ b/scripts/deploy-packages.sh @@ -111,6 +111,7 @@ EOF echo "## including ${package} ##" package_name=$(dpkg -I ${package} | grep -m 1 Package: | awk '{print $2}') package_arch=$(dpkg -I ${package} | grep -m 1 Architecture: | awk '{print $2}') + if [ ${package_arch} = "all" ]; then # Removing to avoid the error of adding the same deb twice. # This happens with arch all packages, which are generated in amd64 and i386. @@ -136,20 +137,18 @@ EOF ####################################### ## create the manual download folder ## ####################################### - if ls packages/${DISTRIBUTION}*_oci &> /dev/null; then - DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER=$(realpath manual-download)/${DISTRIBUTION} - mkdir -p ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER} - NAME_PATTERN=jami-all_????????.*\~dfsg*.deb - cp packages/${DISTRIBUTION}*_oci/${NAME_PATTERN} ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER} - for package in ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER}/${NAME_PATTERN} ; do - package_name=$(dpkg -I ${package} | grep -m 1 Package: | awk '{print $2}') - package_arch=$(dpkg -I ${package} | grep -m 1 Architecture: | awk '{print $2}') - package_shortname=${package_name}_${package_arch}.deb - rm -f ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER}/${package_shortname} - cp ${package} ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER}/${package_shortname} - done - else - echo "WARNING: OCI packages directory not found" + NAME_PATTERN=jami-all_????????.*\~dfsg*.deb + if ls packages/${DISTRIBUTION}/${NAME_PATTERN}i &> /dev/null; then + DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER=$(realpath manual-download)/${DISTRIBUTION} + mkdir -p ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER} + cp packages/${DISTRIBUTION}/${NAME_PATTERN} ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER} + for package in ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER}/${NAME_PATTERN} ; do + package_name=$(dpkg -I ${package} | grep -m 1 Package: | awk '{print $2}') + package_arch=$(dpkg -I ${package} | grep -m 1 Architecture: | awk '{print $2}') + package_shortname=${package_name}_${package_arch}.deb + rm -f ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER}/${package_shortname} + cp ${package} ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER}/${package_shortname} + done fi } diff --git a/scripts/make-packaging-target.py b/scripts/make-packaging-target.py index 88741cac..625d677c 100755 --- a/scripts/make-packaging-target.py +++ b/scripts/make-packaging-target.py @@ -153,47 +153,12 @@ def run_generate_all(parsed_args): "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, "version": "$(DEBIAN_QT_VERSION)", }, - { - "distribution": "debian_10_oci", - "docker_image": "debian_10", - "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) -e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) --privileged --security-opt apparmor=docker-default", - "version": "$(DEBIAN_OCI_VERSION)", - }, - { - "distribution": "debian_10_i386_oci", - "docker_image": "debian_10_i386", - "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", - "version": "$(DEBIAN_OCI_VERSION)", - }, - { - "distribution": "debian_10_armhf_oci", - "docker_image": "debian_10_armhf", - "output_file": "$(DEBIAN_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", - "version": "$(DEBIAN_OCI_VERSION)" - }, - { - "distribution": "debian_10_arm64_oci", - "docker_image": "debian_10_arm64", - "output_file": "$(DEBIAN_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", - "version": "$(DEBIAN_OCI_VERSION)" - }, # Raspbian { "distribution": "raspbian_10_armhf", "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "--privileged --security-opt apparmor=docker-default", }, - { - "distribution": "raspbian_10_armhf_oci", - "docker_image": "raspbian_10_armhf", - "output_file": "$(DEBIAN_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", - "version": "$(DEBIAN_OCI_VERSION)", - }, # Ubuntu { "distribution": "ubuntu_18.04", @@ -217,20 +182,6 @@ def run_generate_all(parsed_args): "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, "version": "$(DEBIAN_QT_VERSION)", }, - { - "distribution": "ubuntu_18.04_oci", - "docker_image": "ubuntu_18.04", - "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) -e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX)", - "version": "$(DEBIAN_OCI_VERSION)", - }, - { - "distribution": "ubuntu_18.04_i386_oci", - "docker_image": "ubuntu_18.04_i386", - "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) -e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX)", - "version": "$(DEBIAN_OCI_VERSION)", - }, { "distribution": "ubuntu_20.04", "output_file": "$(DEBIAN_DSC_FILENAME)", @@ -242,13 +193,6 @@ def run_generate_all(parsed_args): "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, "version": "$(DEBIAN_QT_VERSION)", }, - { - "distribution": "ubuntu_20.04_oci", - "docker_image": "ubuntu_20.04", - "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) -e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) --privileged --security-opt apparmor=docker-default", - "version": "$(DEBIAN_OCI_VERSION)", - }, { "distribution": "ubuntu_20.10", "output_file": "$(DEBIAN_DSC_FILENAME)", @@ -260,26 +204,11 @@ def run_generate_all(parsed_args): "options": DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS_QT, "version": "$(DEBIAN_QT_VERSION)", }, - { - "distribution": "ubuntu_20.10_oci", - "docker_image": "ubuntu_20.10", - "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) -e QT_JAMI_PREFIX=$(QT_JAMI_PREFIX) --privileged --security-opt apparmor=docker-default", - "version": "$(DEBIAN_OCI_VERSION)", - }, { "distribution": "ubuntu_21.04", "output_file": "$(DEBIAN_DSC_FILENAME)", "options": "--privileged --security-opt apparmor=docker-default", }, - { - "distribution": "ubuntu_21.04_oci", - "docker_image": "ubuntu_21.04", - "output_file": "$(DEBIAN_OCI_DSC_FILENAME)", - "options": "-e OVERRIDE_PACKAGING_DIR=$(DEBIAN_OCI_PKG_DIR) --privileged --security-opt apparmor=docker-default", - "version": "$(DEBIAN_OCI_VERSION)", - }, - # Fedora { "distribution": "fedora_32", -- GitLab