From: Felix Geyer Date: Mon, 13 Jul 2020 21:13:31 +0000 (+0100) Subject: quassel (1:0.13.1-4) unstable; urgency=medium X-Git-Tag: archive/raspbian/1%0.13.1-4+rpi1^2~8 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=bfdfd029044690c91e0f57b9f0d1a808efc89631;p=quassel.git quassel (1:0.13.1-4) unstable; urgency=medium [ Scott Kitterman ] * Add explicit build-depeds on debhelper (>= 10.3~) since we use dh_missing * Bump standards-version to 4.5.0 without further change * Add Recommends: ca-certificates to quassel and quassel-client so network certificates can be verified [ Felix Geyer ] * Add patches to fix building against Qt 5.14 from Ubuntu. Thanks Dan Streetman! (Closes: #964687) [dgit import unpatched quassel 1:0.13.1-4] --- bfdfd029044690c91e0f57b9f0d1a808efc89631 diff --cc debian/NEWS index 0000000,0000000..5227430 new file mode 100644 --- /dev/null +++ b/debian/NEWS @@@ -1,0 -1,0 +1,11 @@@ ++quassel (1:0.13.1-2) unstable; urgency=medium ++ ++ * This revision of quassel contains an updated apparmor profile for quassel- ++ core. To load the new profile, use the following command on the server ++ running the core: ++ ++ apparmor_parser -r /etc/apparmor.d/usr.bin.quasselcore ++ ++ This only applies to quaseelcore, no action is required for clients. ++ ++ -- Scott Kitterman Sat, 11 Jan 2020 14:55:50 -0500 diff --cc debian/changelog index 0000000,0000000..b39531e new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,590 @@@ ++quassel (1:0.13.1-4) unstable; urgency=medium ++ ++ [ Scott Kitterman ] ++ * Add explicit build-depeds on debhelper (>= 10.3~) since we use dh_missing ++ * Bump standards-version to 4.5.0 without further change ++ * Add Recommends: ca-certificates to quassel and quassel-client so network ++ certificates can be verified ++ ++ [ Felix Geyer ] ++ * Add patches to fix building against Qt 5.14 from Ubuntu. ++ Thanks Dan Streetman! (Closes: #964687) ++ ++ -- Felix Geyer Mon, 13 Jul 2020 23:13:31 +0200 ++ ++quassel (1:0.13.1-3) unstable; urgency=medium ++ ++ * Delete quassel-core.NEWS, not needed ++ * Bump standards version to 4.4.1 without further change ++ * Switch from deboan/compat + debhelper to debhelper-compat ++ ++ -- Scott Kitterman Sat, 18 Jan 2020 15:55:00 -0500 ++ ++quassel (1:0.13.1-2) unstable; urgency=medium ++ ++ [ Felix Geyer ] ++ * Fix quasselcore AppArmor denials when the config is saved. (Closes: ++ #940482) ++ ++ [ Scott Kitterman ] ++ * Correct default channel for Debian ++ * Add NEWS entry about reloading the quaseelcore AppArmor profile ++ ++ -- Scott Kitterman Sat, 11 Jan 2020 15:00:28 -0500 ++ ++quassel (1:0.13.1-1) unstable; urgency=medium ++ ++ [ Scott Kitterman ] ++ * New upstream bugfix release ++ * Do not explicitly set DEMBED_DATA=OFF, it is the default when KDE (Kf5) ++ integration is enabled ++ * Update debian/copyright ++ * Add hurd-i386 to libqt5webkit5-dev build-depends arch list, since it is ++ available there ++ ++ [ Shane Synan ] ++ * Clean up and update manpages with new options for Quassel 0.13.1 ++ ++ -- Scott Kitterman Fri, 15 Feb 2019 13:00:08 -0500 ++ ++quassel (1:0.13.0-4) unstable; urgency=medium ++ ++ * Fix install of ufw profile so install is only attempted for quassel-core ++ (fixes arch all FTBFS) ++ * Replace obsolete dh_install --fail-missing with dh_missing --fail-missing ++ ++ -- Scott Kitterman Sun, 06 Jan 2019 04:33:59 -0500 ++ ++quassel (1:0.13.0-3) unstable; urgency=medium ++ ++ [ Scott Kitterman ] ++ * Make quassel-data Multi-Arch: foreign ++ * Add apparmor profile (adopted from Ubuntu) ++ * Bump standards-version to 4.3.0 without further change ++ ++ [ Michael Marley ] ++ * Add reload support to quasselcore service to re-read SSL certificates ++ * Add ufw profile (adopted from Ubuntu) ++ ++ [ Shane Synan ] ++ * Clean up and update manpages with new options for Quassel 0.13.0 ++ * Update manpages to mention file paths for quassel, quasselclient, and ++ quasselcore (Closes: #724617) ++ ++ -- Scott Kitterman Sat, 05 Jan 2019 23:45:11 -0500 ++ ++quassel (1:0.13.0-2) unstable; urgency=medium ++ ++ * Upload to unstable ++ * Set -DWITH_OXYGEN_ICONS for compatibility for Oxygen users ++ * Add oxygen-icon-theme as an alternative Recommends to breeze-icon-theme ++ * Make debian/NEWS specific to quassel-core and quassel binaries ++ ++ -- Scott Kitterman Wed, 05 Dec 2018 00:34:55 -0500 ++ ++quassel (1:0.13.0-1) experimental; urgency=medium ++ ++ * New upstream release (Closes: #915244) ++ - Delete debian/patches/03_force_icon_theme.patch, fixed upstream ++ - Refresh remaining patch ++ * Add libqt5webkit5-dev to build depends for archs where qtwebengine5-dev is ++ not available and update the qtwebengine5-dev arch list ++ * Set web backend during configure in debian/rules (Thanks to Michael ++ Marley) ++ * Update debian/copyright ++ * Add debian/NEWS item suggesting a backup of the database ++ * Add debian/patches/02_script_interpreter_path.patch to use correct path in ++ scripts ++ * Bump standards-version to 4.2.1 without further change ++ * Add qtmultimedia5-dev to build-depends ++ * Update debian/patches/01_default_network_channel.patch to connect via SSL ++ (TLS) when possible ++ * Add symlink to usr/bin/mpris-quassel from usr/share/quassel/scripts/mpris ++ so the script is available on the system path ++ * Change recommended icon theme to breeze-icon-theme to match Plasma default ++ * Include quassel unique icons for breeze and breeze-dark icon themes ++ ++ -- Scott Kitterman Mon, 03 Dec 2018 17:27:44 -0500 ++ ++quassel (1:0.12.5-3) unstable; urgency=medium ++ ++ * Change postinst script to call runuser instead of su. (Closes: #906794) ++ ++ -- Felix Geyer Sun, 07 Oct 2018 16:43:33 +0200 ++ ++quassel (1:0.12.5-2) unstable; urgency=high ++ ++ * Build-depend on qtwebengine5-dev only for archs where it's available. ++ ++ -- Felix Geyer Wed, 25 Apr 2018 22:58:59 +0200 ++ ++quassel (1:0.12.5-1) unstable; urgency=high ++ ++ * New upstream release. ++ - Fixes a deserialization security vulnerability. ++ - Fixes a DoS while quassel is starting up. ++ * Drop Fix_the_ssl_check_with_Qt_5.6_and_gcc_5.patch, applied upstream. ++ * Build against Qt WebEngine instead of QtWebKit, following upstream. ++ * Move git repo to salsa.debian.org ++ ++ -- Felix Geyer Wed, 25 Apr 2018 19:58:02 +0200 ++ ++quassel (1:0.12.4-3) unstable; urgency=medium ++ ++ * Depend on default-dbus-session-bus | dbus-session-bus instead of dbus-x11. ++ (Closes: #836142) ++ * Provide support for --listen option in the init script and systemd service. ++ (Closes: #590645) ++ * Fix the OpenSSL detection. ++ - Add Fix_the_ssl_check_with_Qt_5.6_and_gcc_5.patch, ++ cherry picked from upstream. ++ * Switch to debhelper compat level 10. ++ * quassel-core postinst: chmod/chown only after creating the files/dirs. ++ * Remove transitional packages quassel-kde4 and quassel-client-kde4. ++ ++ -- Felix Geyer Thu, 08 Feb 2018 18:31:06 +0100 ++ ++quassel (1:0.12.4-2) unstable; urgency=medium ++ ++ * Fix FTBFS when building only architecture dependent packages. ++ ++ -- Felix Geyer Tue, 26 Apr 2016 19:10:51 +0200 ++ ++quassel (1:0.12.4-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * quassel-core: Add libqt5sql5-psql to Suggests since PostgreSQL is supported ++ as an alternative backend. (Closes: #552374) ++ * Pass service name to dh_systemd_*. (Closes: #811149) ++ * Replace bundled inxi script with a symlink to the one provided by pkg:inxi. ++ (Closes: #814278) ++ ++ -- Felix Geyer Tue, 26 Apr 2016 18:16:53 +0200 ++ ++quassel (1:0.12.3-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Drop patches that have been applied upstream: ++ - 02_set-required-libs-and-flags.patch ++ - 04_fix_ftbfs_qt55.patch ++ - CVE-2015-8547.patch ++ ++ -- Felix Geyer Thu, 11 Feb 2016 21:38:13 +0100 ++ ++quassel (1:0.12.2-3) unstable; urgency=high ++ ++ * Fix CVE-2015-8547: op command denial of service issue (Closes: #807801) ++ - Add CVE-2015-8547.patch ++ ++ -- Felix Geyer Mon, 14 Dec 2015 21:25:33 +0100 ++ ++quassel (1:0.12.2-2) unstable; urgency=medium ++ ++ * Fix FTBFS with Qt 5.5. (Closes: #802868) ++ - Add 04_fix_ftbfs_qt55.patch ++ ++ -- Felix Geyer Thu, 29 Oct 2015 17:05:50 +0100 ++ ++quassel (1:0.12.2-1) unstable; urgency=medium ++ ++ [ Felix Geyer ] ++ * New upstream release. (Closes: #779726) ++ * Remove patches that have been applied upstream: ++ - CVE-2014-8483.patch ++ - CVE-2015-2778.patch ++ - CVE-2015-3427.patch ++ * Set maintainer to Debian KDE Extras Team. ++ * Add Vcs control fields pointing to the new git packaging repo. ++ (Closes: #732605) ++ * Drop explicit phonon depenencies, they are automatically added. ++ * Build quassel against Qt5 + KF5 libs instead of a Qt4 and a KDE4 variant. ++ (Closes: #784519) ++ - Remove quassel-data-kde4. ++ - Turn quassel-kde4 and quassel-client-kde4 into transitional packages. ++ * Enable parallel building. ++ * Pass --fail-missing to dh_install. ++ * Create the SSL certificate as user quasselcore to avoid a symlink race ++ condition. (Closes: #753737) ++ * Stop hardcoding the path to deluser / delgroup in postrm. ++ * Enable all hardening build flags. ++ * Build with -Wl,--as-needed. ++ * Fix detection of OpenSSL when building against Qt5. ++ - Add 02_set-required-libs-and-flags.patch from openSUSE. ++ * Work around missing icon theme fallback in KF5. ++ - Add 03_force_icon_theme.patch ++ - Add oxygen-icon-theme to quassel-data/Recommends. ++ ++ [ Scott Kitterman ] ++ * Add systemd service file and associated changes for quasselcore. ++ ++ -- Felix Geyer Thu, 10 Sep 2015 22:44:32 +0200 ++ ++quassel (1:0.10.0-2.4) unstable; urgency=high ++ ++ * Non-maintainer upload. ++ * Fix CVE-2015-3427: SQL injection vulnerability in PostgreSQL backend. ++ (Closes: #783926) ++ - Add debian/patches/CVE-2015-3427.patch, cherry-picked from upstream. ++ - The original issue was CVE-2013-4422 which had an incomplete fix. ++ ++ -- Felix Geyer Tue, 05 May 2015 16:48:57 +0200 ++ ++quassel (1:0.10.0-2.3) unstable; urgency=high ++ ++ * Non-maintainer upload with maintainer's permission. ++ * Improve the message-splitting algorithm for PRIVMSG and CTCP. Original ++ patch from Michael Marley, backported by Steinar H. Gunderson. Fixes ++ CVE-2015-2778 and CVE-2015-2779. (Closes: #781024) ++ ++ -- Olly Betts Wed, 01 Apr 2015 11:41:28 +1300 ++ ++quassel (1:0.10.0-2.2) unstable; urgency=high ++ ++ * Non-maintainer upload. ++ * Increment Debian revision and epoch to re-upload 0.10.0-2.1 to ++ unstable containing the fix for #766962 / CVE-2014-8483: ++ out-of-bounds read in ECB Blowfish decryption. ++ ++ -- Salvatore Bonaccorso Sat, 08 Nov 2014 14:14:56 +0100 ++ ++quassel (0.10.0-2.1) unstable; urgency=high ++ ++ * Non-maintainer upload. ++ * Add CVE-2014-8483.patch patch. ++ CVE-2014-8483: out-of-bounds read in ECB Blowfish decryption. ++ (Closes: #766962) ++ ++ -- Salvatore Bonaccorso Sun, 02 Nov 2014 19:10:58 +0100 ++ ++quassel (0.10.0-2) unstable; urgency=low ++ ++ * Fixing security issue where quassel core certificate is ++ readable by all local users ++ - Change permissions of /var/lib/quassel/quasselCert.pem ++ - Add debian/NEWS to notify the admin to change the certificate ++ ++ -- Thomas Mueller Fri, 04 Jul 2014 17:15:10 +0200 ++ ++quassel (0.10.0-1) unstable; urgency=low ++ ++ * New upstream release ++ * Debian policy to 3.9.5 ++ * Don't create 1024 bit key (Closes: #732728) ++ * Start quaselcore after databases (Closes: #701943) ++ ++ -- Thomas Mueller Fri, 09 May 2014 17:42:19 +0200 ++ ++quassel (0.9.2-1) unstable; urgency=low ++ ++ * New upstream release ++ * Increase debhelper compat to 9 - supporting hardening now ++ ++ -- Thomas Mueller Tue, 26 Nov 2013 22:53:55 +0100 ++ ++quassel (0.9.1-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Thomas Mueller Tue, 05 Nov 2013 17:39:26 +0100 ++ ++quassel (0.8.0-1) unstable; urgency=low ++ ++ * New upstream release ++ * Debian Policy to 3.9.3 ++ ++ -- Thomas Mueller Wed, 25 Apr 2012 00:02:51 +0200 ++ ++quassel (0.7.3-2.1) unstable; urgency=low ++ ++ * Non-maintainer upload. ++ * Fix "fails to upgrade from squeeze": test for existence of to-be-moved ++ file in quassel-core.preinst; and use -p for mkdir to avoid errors when ++ the directory exists, like after failed upgrades. ++ (Closes: #655844) ++ ++ -- gregor herrmann Tue, 10 Apr 2012 19:02:42 +0200 ++ ++quassel (0.7.3-2) unstable; urgency=medium ++ ++ * Change Build-Depends of the package from libpng12-dev to libpng-dev. ++ (Closes: #662486) ++ ++ -- Thomas Mueller Mon, 05 Mar 2012 09:27:50 +0100 ++ ++quassel (0.7.3-1) unstable; urgency=medium ++ ++ * New upstream release ++ * Translation update ++ * Fixing security issue: ctcp DoS (Closes: #640960) ++ ++ -- Thomas Mueller Fri, 09 Sep 2011 19:00:55 +0000 ++ ++quassel (0.7.2-2) unstable; urgency=low ++ ++ * DATADIR set to new location /var/lib/ (Closes: #629507) ++ ++ -- Thomas Mueller Tue, 07 Jun 2011 19:01:51 +0000 ++ ++quassel (0.7.2-1) unstable; urgency=low ++ ++ * New upstream release (Closes: #629393) ++ * Clients no longer recommend quassel-core (Closes: #622904) ++ * Debian Policy to 3.9.2 ++ * quassel-core.preinst added - taken from Ubuntu (Closes: #612042) ++ Thanks to Scott Kitterman ++ ++ -- Thomas Mueller Mon, 06 Jun 2011 20:40:24 +0200 ++ ++quassel (0.7.1-4) unstable; urgency=low ++ ++ * 0.7.1-3 lost the kfreebsd patch of 0.7.1-2 ++ ++ -- Thomas Mueller Thu, 14 Apr 2011 20:08:27 +0200 ++ ++quassel (0.7.1-3) unstable; urgency=low ++ ++ * Build-dependency qt4-dev-tools added (Closes: #613599) ++ * Build-dependency libqtwebkit-dev added (Closes: #622273) ++ * Build-dependency libdbusmenu-qt-dev added ++ * Build-dependency libindicate-qt-dev added ++ ++ -- Thomas Mueller Tue, 12 Apr 2011 22:40:46 +0200 ++ ++quassel (0.7.1-2) unstable; urgency=low ++ ++ * Patch added to fix kfreebsd builds (Closes: #620542) ++ ++ -- Thomas Mueller Mon, 11 Apr 2011 21:44:34 +0200 ++ ++quassel (0.7.1-1.1) unstable; urgency=low ++ ++ * Non-maintainer upload with maintainer permission. ++ * Do not hardcode kdelibs5 and kdebase-runtime in quassel-client-kde4 and ++ quassel-kde4 Depends (Closes: #616026). kdelibs5 has been deprecated and ++ will be removed soon while kdebase-runtime is added via shlibs as needed. ++ ++ -- Modestas Vainius Wed, 30 Mar 2011 18:59:12 +0300 ++ ++quassel (0.7.1-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Thomas Mueller Tue, 21 Sep 2010 19:59:07 +0200 ++ ++quassel (0.7.0-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Thomas Mueller Sat, 18 Sep 2010 19:19:40 +0200 ++ ++quassel (0.6.1-2) unstable; urgency=low ++ ++ * add dependency to gawk (closes: #592455) ++ * remove manageusers.py (closes: #590644) ++ * man pages updated (closes: #590643) ++ * dump Debian Policy to 3.9.1 ++ ++ -- Thomas Mueller Sun, 15 Aug 2010 23:11:16 +0200 ++ ++quassel (0.6.1-1) unstable; urgency=low ++ ++ * New upstream release ++ * Switch to dpkg-source 3.0 (quilt) format ++ * desktop notification have been reimplemented (closes: #562974) ++ ++ -- Thomas Mueller Wed, 21 Apr 2010 20:11:17 +0200 ++ ++quassel (0.5.2-3) unstable; urgency=low ++ ++ * missing name changes quassel-core - in init and default ++ ++ -- Thomas Mueller Thu, 18 Feb 2010 17:12:06 +0100 ++ ++quassel (0.5.2-2) unstable; urgency=low ++ ++ * Re-include init script into (closes: #569942) ++ * Fixing lintian error init.d-script-missing-dependency-on-remote_fs ++ ++ -- Thomas Mueller Thu, 18 Feb 2010 17:11:18 +0100 ++ ++quassel (0.5.2-1) unstable; urgency=low ++ ++ * New upstream release (closes: #556309) ++ * Fixing minor lintian warnings: ++ - copyright-with-old-dh-make-debian-copyright ++ - duplicate-long-description ++ - quilt-patch-missing-description ++ * package descriptions have been reviewed by debian-i10n-english ++ * fixing dependencies - thanks to puiparts: ++ - quassel-client: phonon ++ - quassel: phonon ++ - quassel-kde4: kdebase-runtime, kdelibs5 ++ - quassel-client-kde4: kdebase-runtime, kdelibs5 ++ ++ -- Thomas Mueller Mon, 01 Feb 2010 23:41:05 +0100 ++ ++quassel (0.5.1-3) unstable; urgency=low ++ ++ * Conflict dependency added between quassel-data and quassel-data- ++ kde4(closes: #566097) ++ ++ -- Thomas Mueller Thu, 21 Jan 2010 20:36:09 +0100 ++ ++quassel (0.5.1-2) unstable; urgency=low ++ ++ * KDE4 support enabled (closes: #561795) ++ - package quassel-kde4 (monolithic client with KDE) has been added ++ - package quassel-client-kde4 (client with KDE) has been added ++ - package quassel-data-kde4 (data files) has been added ++ ++ * switch from cdbs to debhelper - basic idea taken from the ubuntu package ++ thanks guys ++ * quilt is used as patch system now ++ ++ -- Thomas Mueller Thu, 11 Jan 2010 12:52:45 +0100 ++ ++quassel (0.5.1-1) unstable; urgency=low ++ ++ * New upstream release ++ * dbus-x11 dependency moved to quasselclient & quassel (closes: #552061) ++ * remove deprecated usage of argument -datadir (closes: #552373) ++ ++ -- Thomas Mueller Sun, 22 Nov 2009 23:44:04 +0100 ++ ++quassel (0.5.0-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Thomas Mueller Thu, 22 Oct 2009 22:19:05 +0200 ++ ++quassel (0.5.0~rc2-1) experimental; urgency=low ++ ++ * New upstream release (rc2) ++ * Make puiparts happy (closes: #538182) ++ * manageusers.py added (closes: #549296) ++ ++ -- Thomas Mueller Mon, 05 Oct 2009 23:13:06 +0200 ++ ++quassel (0.4.2-1) unstable; urgency=low ++ ++ * New upstream release ++ * watch file looks to the *.tar.bz2 directly ++ no longer scanning the html page ++ ++ -- Thomas Mueller Thu, 28 May 2009 21:42:24 +0200 ++ ++quassel (0.4.1-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Thomas Mueller Sun, 29 Mar 2009 12:51:42 +0200 ++ ++quassel (0.4.0-1) unstable; urgency=low ++ ++ * New upstream release ++ * repackaging no longer necessary, because svgz of oxygen icons have been ++ added to the source tarball: ++ - debian/repack.sh removed ++ - debian/README.source removed ++ - debian/watch adjusted ++ - debian/rules: get-orig-source removed ++ * debian/copyright updated: license for oxygen icons added ++ * debian/quassel-core.logrotate added ++ * debian/patcher/01_default_network_channel.patch added ++ ++ -- Thomas Mueller Wed, 18 Feb 2009 22:14:23 +0100 ++ ++quassel (0.3.1+dfsg-3) unstable; urgency=low ++ ++ * fixing bug on upgrade (closes: #513677) ++ * 'set -e' removed from ini script ++ * cleanup in quassel-core.postrm ++ ++ -- Thomas Mueller Wed, 11 Feb 2009 21:14:33 +0100 ++ ++quassel (0.3.1+dfsg-2) unstable; urgency=low ++ ++ * init script added (closes: #513677) ++ * user and group for the daemon added (closes: #513677) ++ * ssl certificate has been added (closes: #511169) ++ All scripts are based on the ubuntu package ++ thanks to Harald Sitter ++ * Version in manpages have been adjusted. ++ ++ -- Thomas Mueller Mon, 10 Feb 2009 23:13:25 +0100 ++ ++quassel (0.3.1+dfsg-1) unstable; urgency=low ++ ++ * New upstream release ++ * upstream update to 0.3.0.3 (closes: #498283) ++ * upstream update to 0.3.0.1 (closes: #498283) ++ * watch file added - thx to Per Hausen ++ * Downgrade quasselclient's dependency on quasselcore (closes: #503126) ++ The packages quassel-client and quassel-core can be installed separately ++ now. ++ The package quassel is a dummy package, which installs client and core. ++ * Additional package for the monolithic client. ++ * Repackaging orig.tar.gz to remove the oxygen icons. They are no longer ++ needed because we go for the locally installed oxygen icons of the package ++ kde-icons-oxygen. ++ * License for oxygen removed, because it is no longer part of the package. ++ * debian/repack.sh added + bz2 handling ++ * debian/README.source ++ * debian/watch changed to handle repackaging ++ * debian/patches removed - no need to patch anything at the moment ++ * debian/control: dependeny libqt4-sql-sqlite added ++ ++ -- Thomas Mueller Tue, 08 Jan 2009 01:44:23 +0100 ++ ++quassel (0.2~rc1-1) unstable; urgency=low ++ ++ * download link in copyright changed ++ * manpage warnings removed ++ * update to debian policy 3.8 ++ * upstream update to 0.2.0-rc1 ++ ++ -- Thomas Mueller Mon, 07 Jul 2008 20:56:53 +0100 ++ ++quassel (0.2~beta1-1) unstable; urgency=low ++ ++ * svg files for oxygen icons added src/icons/oxygen/scalable ++ * upstream update to 0.2.0-beta1 ++ ++ -- Thomas Mueller Mon, 02 Jun 2008 20:27:28 +0100 ++ ++quassel (0.2~alpha5-1) unstable; urgency=low ++ ++ * svgz files for oxygen icons added src/icons/oxygen/scalable ++ * upstream update to 0.2.0-alpha5 ++ ++ -- Thomas Mueller Mon, 21 Apr 2008 22:20:18 +0100 ++ ++quassel (0.2~alpha2-3) unstable; urgency=low ++ ++ * debian/copyright updated: license for oxygen icons added ++ ++ -- Thomas Mueller Mon, 24 Mar 2008 20:01:18 +0100 ++ ++quassel (0.2~alpha2-2) unstable; urgency=low ++ ++ * debian/copyright updated ++ ++ -- Thomas Mueller Wed, 12 Mar 2008 21:48:12 +0100 ++ ++quassel (0.2~alpha2-1) unstable; urgency=low ++ ++ * Debianized ++ ++ -- Thomas Mueller Sun, 02 Mar 2008 11:40:43 +0100 ++ ++quassel (0.2~alpha2-0ubuntu1~hardy1~ppa1) hardy; urgency=low ++ ++ * Hardy PPA Build ++ ++ -- Harald Sitter Sat, 01 Mar 2008 21:05:03 +0100 ++ ++quassel (0.2~alpha2-0ubuntu1) ibex; urgency=low ++ ++ * Initial release (LP: #195861) ++ ++ -- Harald Sitter Sat, 23 Feb 2008 14:22:06 +0100 diff --cc debian/control index 0000000,0000000..3ac542a new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,91 @@@ ++Source: quassel ++Section: net ++Priority: optional ++Maintainer: Debian KDE Extras Team ++Uploaders: Thomas Mueller , ++ Felix Geyer , ++ Scott Kitterman ++Build-Depends: debhelper-compat (= 10), ++ debhelper (>= 10.3~), ++ dh-apparmor, ++ cmake, ++ libqca-qt5-2-dev, ++ zlib1g-dev, ++ qttools5-dev-tools, ++ qttools5-dev, ++ qtscript5-dev, ++ qtmultimedia5-dev, ++ libphonon4qt5-dev, ++ libphonon4qt5experimental-dev, ++ libdbusmenu-qt5-dev, ++ qtwebengine5-dev [amd64 arm64 armhf i386 mipsel], ++ libqt5webkit5-dev [armel hurd-i386 mips mips64el ppc64el s390x], ++ extra-cmake-modules, ++ libkf5textwidgets-dev, ++ libkf5coreaddons-dev, ++ libkf5xmlgui-dev, ++ libkf5notifications-dev, ++ libkf5notifyconfig-dev, ++ libkf5widgetsaddons-dev, ++ libssl-dev ++Homepage: https://www.quassel-irc.org/ ++Standards-Version: 4.5.0 ++Vcs-Git: https://salsa.debian.org/qt-kde-team/extras/quassel.git ++Vcs-Browser: https://salsa.debian.org/qt-kde-team/extras/quassel ++ ++Package: quassel-core ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, libqt5sql5-sqlite, lsb-base (>= 3.2-14), openssl ++Recommends: ca-certificates ++Suggests: libqt5sql5-psql ++Description: distributed IRC client - core component ++ Quassel is a modern, cross-platform, distributed IRC client, meaning that ++ one or more clients can attach to and detach from the central core. It's ++ much like the popular combination of screen and a text-based IRC client ++ such as WeeChat or irssi, but graphical. ++ . ++ This package provides only the core component. ++ ++Package: quassel-client ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, quassel-data (= ${source:Version}), default-dbus-session-bus | dbus-session-bus ++Breaks: quassel-client-kde4 (<< 0.12.2) ++Replaces: quassel-client-kde4 (<< 0.12.2) ++Description: distributed IRC client - client component ++ Quassel is a modern, cross-platform, distributed IRC client, meaning that ++ one or more clients can attach to and detach from the central core. It's ++ much like the popular combination of screen and a text-based IRC client ++ such as WeeChat or irssi, but graphical. ++ . ++ This package provides only the client component. ++ ++Package: quassel ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, libqt5sql5-sqlite, quassel-data (= ${source:Version}), default-dbus-session-bus | dbus-session-bus ++Recommends: ca-certificates ++Breaks: quassel-kde4 (<< 0.12.2) ++Replaces: quassel-kde4 (<< 0.12.2) ++Description: distributed IRC client - monolithic core+client ++ Quassel is a modern, cross-platform, distributed IRC client, meaning that ++ one or more clients can attach to and detach from the central core. It's ++ much like the popular combination of screen and a text-based IRC client ++ such as WeeChat or irssi, but graphical. ++ . ++ This package provides the monolithic client. It contains both core and ++ client and can be used like a traditional IRC client, without requiring an ++ external core. ++ ++Package: quassel-data ++Architecture: all ++Depends: ${misc:Depends} ++Recommends: breeze-icon-theme | oxygen-icon-theme ++Suggests: inxi ++Conflicts: quassel-data-kde4 ++Multi-Arch: foreign ++Description: distributed IRC client - shared data ++ Quassel is a modern, cross-platform, distributed IRC client, meaning that ++ one or more clients can attach to and detach from the central core. It's ++ much like the popular combination of screen and a text-based IRC client ++ such as WeeChat or irssi, but graphical. ++ . ++ This package provides files used by the Quassel client packages. diff --cc debian/copyright index 0000000,0000000..f96cd2c new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,592 @@@ ++This package was debianized by Harald Sitter on ++Sat, 23 Feb 2008 14:22:06 +0100. ++ ++The current Debian maintainer is Thomas Mueller ++ ++It was downloaded from ++http://www.quassel-irc.org/downloads ++ ++Upstream Author: ++ ++ Manuel Nickschas ++ Marcus Eggenberger ++ Alexander von Renteln ++ ++Files/* ++Copyright: ++ ++ Copyright (C) 2005-2019 by the Quassel Project devel@quassel-irc.org ++ ++ 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) version 3. ++ ++ 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 package; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++Files src/qtui/snorenotificationbackend.* ++ ++ Copyright (C) 2011-2019 by Hannah von Reth ++ ++ 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) version 3. ++ ++ 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 package; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++ ++On Debian systems, the complete text of the GNU General Public License ++can be found in `/usr/share/common-licenses/GPL-2' and ++`/usr/share/common-licenses/GPL-3'. ++ ++The Debian packaging is © 2008, Harald Sitter and ++is licensed under the GPL version 2, or (at your option) ++any later version, see `/usr/share/common-licenses/GPL-2'. ++ ++ ++For 3rdparty/sha512/* ++ ++ Copyright (C) 2006-2014, ARM Limited, All Rights Reserved ++ ++For data/scripts/mpris: ++ Copyright (C) 2009 by Sebastian Goth ++ ++For the 3rdparty/icons/* components: ++ ++For 3rdparty/icons/breeze* ++ Copyright (C) 2014 Uri Herrera and others ++ ++ You may copy it under the GNU Library General Public License ++ (with following clarification) ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either ++ version 2 of the License, or (at your option) any later version. ++ ++ This library 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 ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA ++ ++On Debian systems, the complete text of the GNU Library General Public License ++can be found in `/usr/share/common-licenses/LGPL'. ++ ++For 3rdparty/icons/oxygen/* ++ ++The Oxygen Icon Theme ++ Copyright © 2007 David Vignoni ++ Copyright © 2007 Johann Ollivier Lapeyre ++ Copyright © 2007 Kenneth Wimer ++ Copyright © 2007 Nuno Fernades Pinheiro ++ Copyright © 2007 Riccardo Iaconelli ++ Copyright © 2007 David Miller ++ ++ and others ++ ++You may copy it under the Creative Common Attribution-ShareAlike 3.0 ++license, as found here: ++ ++ http://creativecommons.org/licenses/by-sa/3.0/ ++ ++or the GNU Library General Public License (with following clarification). ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either ++ version 2 of the License, or (at your option) any later version. ++ ++ This library 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 ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA ++ ++Clarification: ++ ++ The GNU Lesser General Public License or LGPL is written for ++ software libraries in the first place. We expressly want the LGPL to ++ be valid for this artwork library too. ++ ++ KDE Oxygen theme icons is a special kind of software library, it is an ++ artwork library, it's elements can be used in a Graphical User Interface, or ++ GUI. ++ ++ Source code, for this library means: ++ - where they exist, SVG; ++ - otherwise, if applicable, the multi-layered formats xcf or psd, or ++ otherwise png. ++ ++ The LGPL in some sections obliges you to make the files carry ++ notices. With images this is in some cases impossible or hardly useful. ++ ++ With this library a notice is placed at a prominent place in the directory ++ containing the elements. You may follow this practice. ++ ++ The exception in section 6 of the GNU Lesser General Public License covers ++ the use of elements of this art library in a GUI. ++ ++ kde-artists [at] kde.org ++ ++ ++Attribution-ShareAlike 3.0 Unported ++ ++ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. ++DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE ++COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES ++REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS ++USE. ++ ++License ++ ++THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC ++LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE ++LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS ++PROHIBITED. ++ ++BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE ++TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE ++LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH ++TERMS AND CONDITIONS. ++ ++1. Definitions ++ ++ 1. "Adaptation" means a work based upon the Work, or upon the Work and other ++pre-existing works, such as a translation, adaptation, derivative work, arrangement of ++music or other alterations of a literary or artistic work, or phonogram or performance and ++includes cinematographic adaptations or any other form in which the Work may be recast, ++transformed, or adapted including in any form recognizably derived from the original, ++except that a work that constitutes a Collection will not be considered an Adaptation for ++the purpose of this License. For the avoidance of doubt, where the Work is a musical work, ++performance or phonogram, the synchronization of the Work in timed-relation with a moving ++image ("synching") will be considered an Adaptation for the purpose of this License. ++ 2. "Collection" means a collection of literary or artistic works, such as encyclopedias ++and anthologies, or performances, phonograms or broadcasts, or other works or subject ++matter other than works listed in Section 1(f) below, which, by reason of the selection and ++arrangement of their contents, constitute intellectual creations, in which the Work is ++included in its entirety in unmodified form along with one or more other contributions, ++each constituting separate and independent works in themselves, which together are ++assembled into a collective whole. A work that constitutes a Collection will not be ++considered an Adaptation (as defined below) for the purposes of this License. ++ 3. "Creative Commons Compatible License" means a license that is listed at ++http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as ++being essentially equivalent to this License, including, at a minimum, because that ++license: (i) contains terms that have the same purpose, meaning and effect as the License ++Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of ++works made available under that license under this License or a Creative Commons ++jurisdiction license with the same License Elements as this License. ++ 4. "Distribute" means to make available to the public the original and copies of the ++Work or Adaptation, as appropriate, through sale or other transfer of ownership. ++ 5. "License Elements" means the following high-level license attributes as selected by ++Licensor and indicated in the title of this License: Attribution, ShareAlike. ++ 6. "Licensor" means the individual, individuals, entity or entities that offer(s) the ++Work under the terms of this License. ++ 7. "Original Author" means, in the case of a literary or artistic work, the individual, ++individuals, entity or entities who created the Work or if no individual or entity can be ++identified, the publisher; and in addition (i) in the case of a performance the actors, ++singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, ++interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) ++in the case of a phonogram the producer being the person or legal entity who first fixes ++the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the ++organization that transmits the broadcast. ++ 8. "Work" means the literary and/or artistic work offered under the terms of this ++License including without limitation any production in the literary, scientific and ++artistic domain, whatever may be the mode or form of its expression including digital form, ++such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the ++same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in ++dumb show; a musical composition with or without words; a cinematographic work to which are ++assimilated works expressed by a process analogous to cinematography; a work of drawing, ++painting, architecture, sculpture, engraving or lithography; a photographic work to which ++are assimilated works expressed by a process analogous to photography; a work of applied ++art; an illustration, map, plan, sketch or three-dimensional work relative to geography, ++topography, architecture or science; a performance; a broadcast; a phonogram; a compilation ++of data to the extent it is protected as a copyrightable work; or a work performed by a ++variety or circus performer to the extent it is not otherwise considered a literary or ++artistic work. ++ 9. "You" means an individual or entity exercising rights under this License who has not ++previously violated the terms of this License with respect to the Work, or who has received ++express permission from the Licensor to exercise rights under this License despite a ++previous violation. ++ 10. "Publicly Perform" means to perform public recitations of the Work and to communicate ++to the public those public recitations, by any means or process, including by wire or ++wireless means or public digital performances; to make available to the public Works in ++such a way that members of the public may access these Works from a place and at a place ++individually chosen by them; to perform the Work to the public by any means or process and ++the communication to the public of the performances of the Work, including by public ++digital performance; to broadcast and rebroadcast the Work by any means including signs, ++sounds or images. ++ 11. "Reproduce" means to make copies of the Work by any means including without ++limitation by sound or visual recordings and the right of fixation and reproducing ++fixations of the Work, including storage of a protected performance or phonogram in digital ++form or other electronic medium. ++ ++2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict ++any uses free from copyright or rights arising from limitations or exceptions that are ++provided for in connection with the copyright protection under copyright law or other ++applicable laws. ++ ++3. License Grant. Subject to the terms and conditions of this License, Licensor hereby ++grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the ++applicable copyright) license to exercise the rights in the Work as stated below: ++ ++ 1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to ++Reproduce the Work as incorporated in the Collections; ++ 2. to create and Reproduce Adaptations provided that any such Adaptation, including any ++translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise ++identify that changes were made to the original Work. For example, a translation could be ++marked "The original work was translated from English to Spanish," or a modification could ++indicate "The original work has been modified."; ++ 3. to Distribute and Publicly Perform the Work including as incorporated in Collections; ++and, ++ 4. to Distribute and Publicly Perform Adaptations. ++ 5. ++ ++ For the avoidance of doubt: ++ 1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the ++right to collect royalties through any statutory or compulsory licensing scheme cannot be ++waived, the Licensor reserves the exclusive right to collect such royalties for any ++exercise by You of the rights granted under this License; ++ 2. Waivable Compulsory License Schemes. In those jurisdictions in which the right ++to collect royalties through any statutory or compulsory licensing scheme can be waived, ++the Licensor waives the exclusive right to collect such royalties for any exercise by You ++of the rights granted under this License; and, ++ 3. Voluntary License Schemes. The Licensor waives the right to collect royalties, ++whether individually or, in the event that the Licensor is a member of a collecting society ++that administers voluntary licensing schemes, via that society, from any exercise by You of ++the rights granted under this License. ++ ++The above rights may be exercised in all media and formats whether now known or hereafter ++devised. The above rights include the right to make such modifications as are technically ++necessary to exercise the rights in other media and formats. Subject to Section 8(f), all ++rights not expressly granted by Licensor are hereby reserved. ++ ++4. Restrictions. The license granted in Section 3 above is expressly made subject to and ++limited by the following restrictions: ++ ++ 1. You may Distribute or Publicly Perform the Work only under the terms of this License. ++You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with ++every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any ++terms on the Work that restrict the terms of this License or the ability of the recipient ++of the Work to exercise the rights granted to that recipient under the terms of the ++License. You may not sublicense the Work. You must keep intact all notices that refer to ++this License and to the disclaimer of warranties with every copy of the Work You Distribute ++or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose ++any effective technological measures on the Work that restrict the ability of a recipient ++of the Work from You to exercise the rights granted to that recipient under the terms of ++the License. This Section 4(a) applies to the Work as incorporated in a Collection, but ++this does not require the Collection apart from the Work itself to be made subject to the ++terms of this License. If You create a Collection, upon notice from any Licensor You must, ++to the extent practicable, remove from the Collection any credit as required by Section ++4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to ++the extent practicable, remove from the Adaptation any credit as required by Section 4(c), ++as requested. ++ 2. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) ++this License; (ii) a later version of this License with the same License Elements as this ++License; (iii) a Creative Commons jurisdiction license (either this or a later license ++version) that contains the same License Elements as this License (e.g., ++Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license ++the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms ++of that license. If you license the Adaptation under the terms of any of the licenses ++mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms ++of the Applicable License generally and the following provisions: (I) You must include a ++copy of, or the URI for, the Applicable License with every copy of each Adaptation You ++Distribute or Publicly Perform; (II) You may not offer or impose any terms on the ++Adaptation that restrict the terms of the Applicable License or the ability of the ++recipient of the Adaptation to exercise the rights granted to that recipient under the ++terms of the Applicable License; (III) You must keep intact all notices that refer to the ++Applicable License and to the disclaimer of warranties with every copy of the Work as ++included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or ++Publicly Perform the Adaptation, You may not impose any effective technological measures on ++the Adaptation that restrict the ability of a recipient of the Adaptation from You to ++exercise the rights granted to that recipient under the terms of the Applicable License. ++This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does ++not require the Collection apart from the Adaptation itself to be made subject to the terms ++of the Applicable License. ++ 3. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, ++You must, unless a request has been made pursuant to Section 4(a), keep intact all ++copyright notices for the Work and provide, reasonable to the medium or means You are ++utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, ++and/or if the Original Author and/or Licensor designate another party or parties (e.g., a ++sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in ++Licensor's copyright notice, terms of service or by other reasonable means, the name of ++such party or parties; (ii) the title of the Work if supplied; (iii) to the extent ++reasonably practicable, the URI, if any, that Licensor specifies to be associated with the ++Work, unless such URI does not refer to the copyright notice or licensing information for ++the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit ++identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by ++Original Author," or "Screenplay based on original Work by Original Author"). The credit ++required by this Section 4(c) may be implemented in any reasonable manner; provided, ++however, that in the case of a Adaptation or Collection, at a minimum such credit will ++appear, if a credit for all contributing authors of the Adaptation or Collection appears, ++then as part of these credits and in a manner at least as prominent as the credits for the ++other contributing authors. For the avoidance of doubt, You may only use the credit ++required by this Section for the purpose of attribution in the manner set out above and, by ++exercising Your rights under this License, You may not implicitly or explicitly assert or ++imply any connection with, sponsorship or endorsement by the Original Author, Licensor ++and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the ++separate, express prior written permission of the Original Author, Licensor and/or ++Attribution Parties. ++ 4. Except as otherwise agreed in writing by the Licensor or as may be otherwise ++permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work ++either by itself or as part of any Adaptations or Collections, You must not distort, ++mutilate, modify or take other derogatory action in relation to the Work which would be ++prejudicial to the Original Author's honor or reputation. Licensor agrees that in those ++jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of ++this License (the right to make Adaptations) would be deemed to be a distortion, ++mutilation, modification or other derogatory action prejudicial to the Original Author's ++honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, ++to the fullest extent permitted by the applicable national law, to enable You to reasonably ++exercise Your right under Section 3(b) of this License (right to make Adaptations) but not ++otherwise. ++ ++5. Representations, Warranties and Disclaimer ++ ++UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR 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, ++MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF ++LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT ++DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH ++EXCLUSION MAY NOT APPLY TO YOU. ++ ++6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT ++WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, ++CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE ++WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ++ ++7. Termination ++ ++ 1. This License and the rights granted hereunder will terminate automatically upon any ++breach by You of the terms of this License. Individuals or entities who have received ++Adaptations or Collections from You under this License, however, will not have their ++licenses terminated provided such individuals or entities remain in full compliance with ++those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. ++ 2. Subject to the above terms and conditions, the license granted here is perpetual (for ++the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor ++reserves the right to release the Work under different license terms or to stop ++distributing the Work at any time; provided, however that any such election will not serve ++to withdraw this License (or any other license that has been, or is required to be, granted ++under the terms of this License), and this License will continue in full force and effect ++unless terminated as stated above. ++ ++8. Miscellaneous ++ ++ 1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor ++offers to the recipient a license to the Work on the same terms and conditions as the ++license granted to You under this License. ++ 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the ++recipient a license to the original Work on the same terms and conditions as the license ++granted to You under this License. ++ 3. If any provision of this License is invalid or unenforceable under applicable law, it ++shall not affect the validity or enforceability of the remainder of the terms of this ++License, and without further action by the parties to this agreement, such provision shall ++be reformed to the minimum extent necessary to make such provision valid and enforceable. ++ 4. No term or provision of this License shall be deemed waived and no breach consented ++to unless such waiver or consent shall be in writing and signed by the party to be charged ++with such waiver or consent. ++ 5. This License constitutes the entire agreement between the parties with respect to the ++Work licensed here. There are no understandings, agreements or representations with respect ++to the Work not specified here. Licensor shall not be bound by any additional provisions ++that may appear in any communication from You. This License may not be modified without the ++mutual written agreement of the Licensor and You. ++ 6. The rights granted under, and the subject matter referenced, in this License were ++drafted utilizing the terminology of the Berne Convention for the Protection of Literary ++and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the ++WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the ++Universal Copyright Convention (as revised on July 24, 1971). These rights and subject ++matter take effect in the relevant jurisdiction in which the License terms are sought to be ++enforced according to the corresponding provisions of the implementation of those treaty ++provisions in the applicable national law. If the standard suite of rights granted under ++applicable copyright law includes additional rights not granted under this License, such ++additional rights are deemed to be included in the License; this License is not intended to ++restrict the license of any rights under applicable law. ++ ++ Creative Commons Notice ++ ++ Creative Commons is not a party to this License, and makes no warranty whatsoever in ++connection with the Work. Creative Commons will not be liable to You or any party on any ++legal theory for any damages whatsoever, including without limitation any general, special, ++incidental or consequential damages arising in connection to this license. Notwithstanding ++the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the ++Licensor hereunder, it shall have all rights and obligations of Licensor. ++ ++ Except for the limited purpose of indicating to the public that the Work is licensed ++under the CCPL, Creative Commons does not authorize the use by either party of the ++trademark "Creative Commons" or any related trademark or logo of Creative Commons without ++the prior written consent of Creative Commons. Any permitted use will be in compliance with ++Creative Commons' then-current trademark usage guidelines, as may be published on its ++website or otherwise made available upon request from time to time. For the avoidance of ++doubt, this trademark restriction does not form part of the License. ++ ++ Creative Commons may be contacted at http://creativecommons.org/. ++ ++For files 3rdparty/miniz/* ++ ++/* ++ This is free and unencumbered software released into the public domain. ++ ++ Anyone is free to copy, modify, publish, use, compile, sell, or ++ distribute this software, either in source code form or as a compiled ++ binary, for any purpose, commercial or non-commercial, and by any ++ means. ++ ++ In jurisdictions that recognize copyright laws, the author or authors ++ of this software dedicate any and all copyright interest in the ++ software to the public domain. We make this dedication for the benefit ++ of the public at large and to the detriment of our heirs and ++ successors. We intend this dedication to be an overt act of ++ relinquishment in perpetuity of all present and future rights to this ++ software under copyright law. ++ ++ 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 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. ++ ++ For more information, please refer to ++*/ ++ ++ ++For files cmake/* ++ ++cmake/FindQCA2-QT5.cmake: ++cmake/FindQCA2.cmake: ++ Copyright (c) 2006, Michael Larouche, ++ ++cmake/FindPhonon.cmake: ++ Copyright (c) 2008, Matthias Kretz ++ ++cmake/FindLibraryWithDebug.cmake: ++ Copyright (c) 2007, Christian Ehrlicher, ++ ++cmake/GetGitRevisionDescription.cmake: ++ Copyright Iowa State University 2009-2010. ++ ++This is the standard license for CMake scripts. Please note that some ++of the CMake scripts we bundle come with their own license as indicated ++in the file, in which case that one applies. ++ ++Redistribution and use in source and binary forms, with or without ++modification, are permitted provided that the following conditions ++are met: ++ ++1. Redistributions of source code must retain the copyright ++ notice, this list of conditions and the following disclaimer. ++2. Redistributions in binary form must reproduce the copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++3. The name of the author may not be used to endorse or promote products ++ derived from this software without specific prior written permission. ++ ++THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. ++ ++ ++For cmake/GetGitRevisionDescription.cmake.in: ++ Copyright Iowa State University 2009-2010. ++ ++Boost Software License - Version 1.0 - August 17th, 2003 ++ ++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. ++ ++ ++For data/stylesheets/LinuxDolt-bluestheme.qss: ++ Copyright (C) Drew Patridge 2009-2010 ++For data/stylesheets/jussi01-darktheme.qss: ++ Copyright (C) Jussi Schultink 2009 ++ ++ 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; version 2 of the License. ++ ++ 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 package; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++On Debian systems, the complete text of the GNU General Public License ++can be found in `/usr/share/common-licenses/GPL-2'. ++ ++For data/scripts/inxi: ++## infobash: Copyright (C) 2005-2007 Michiel de Boer aka locsmif ++## inxi: Copyright (C) 2008-2018 Harald Hope ++## Additional features (C) Scott Rogers - kde, cpu info ++## Further fixes (listed as known): Horst Tritremmel ++## Steven Barrett (aka: damentz) - usb audio patch; swap percent used patch ++## Jarett.Stevens - dmidecode -M patch for older systems with the /sys ++## ++## License: GNU GPL v3 or greater ++ ++ 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; version 3 of the License. ++ ++ 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 package; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++On Debian systems, the complete text of the GNU General Public License ++can be found in `/usr/share/common-licenses/GPL-3'. ++ diff --cc debian/manpages/quassel.1 index 0000000,0000000..766b4f5 new file mode 100644 --- /dev/null +++ b/debian/manpages/quassel.1 @@@ -1,0 -1,0 +1,207 @@@ ++.TH "QUASSEL" "1" "0.13.1" "Quassel IRC Team, Internet." "" ++.SH "NAME" ++quassel \(em a modern, cross-platform and distributed IRC client ++.SH "SYNPOSIS" ++\fBquassel\fR [\fIOPTION\fR]... ++. ++.SH "DESCRIPTION" ++.B Quassel IRC ++is a modern, cross-platform, distributed IRC client, meaning that one ++(or multiple) client(s) can attach to and detach from a central core -- much ++like the popular combination of screen and a text-based IRC client such as ++WeeChat, but graphical. ++.PP ++\fBquassel\fR provides a standalone IRC client experience, integrating the core ++and client into a single program. To connect to and manage a running ++\fBquasselcore\fR, use the \fBquasselclient\fR client program. ++. ++.SH "COMMON OPTIONS" ++.TP ++\fB\-c\fR, \fB\-\-configdir\fR=\fICONFIGDIR\fR ++Specify the directory holding the configuration files, the SQLite database with ++chat logs, and the SSL/TLS certificate. ++.TP ++\fB\-d\fR, \fB\-\-debug\fR ++Enable extra debugging output. ++.TP ++\fB\-h\fR, \fB\-\-help\fR ++Show help message. ++.TP ++\fB\-L\fR, \fB\-\-loglevel\fR=\fILOGLEVEL\fR ++Set the logging level to LOGLEVEL: Debug, Info, Warning, Error. Default is: ++Info ++.TP ++\fB\-l\fR, \fB\-\-logfile\fR=\fILOGFILE\fR ++Log to a file. ++.TP ++\fB\-\-syslog\fR ++Log to syslog. ++.TP ++\fB\-v\fR, \fB\-\-version\fR ++Display version information. ++. ++.SH "CLIENT OPTIONS" ++.TP ++\fB\-\-debugbufferswitches\fR ++Enables debugging for bufferswitches. ++.TP ++\fB\-\-debugmodel\fR ++Enables debugging for models. ++.TP ++\fB\-\-hidewindow\fR ++Start the client minimized to the system tray. ++.TP ++\fB\-\-icontheme\fR=\fITHEME\fR ++Override the system icon theme. 'breeze' is recommended. This may also be ++configured in the client settings. ++.TP ++\fB\-\-qss\fR=\fIQSS\fR ++Load a custom application stylesheet. ++. ++.SH "INTERNAL CORE OPTIONS" ++.B NOTE: ++These options should not need modified in most cases. Running a separate ++\fBquasselcore\fR is the recommended way to allow multiple clients to connect ++to a core. ++. ++.TP ++\fB\-\-add\-user\fR ++Starts an interactive session to add a new core user ++.TP ++\fB\-\-change\-userpass\fR=\fIUSERNAME\fR ++Starts an interactive session to change the password of the user identified by ++USERNAME. ++.TP ++\fB\-\-config\-from\-environment\fR ++Load configuration from environment variables, ignoring the configuration file. ++See the section on \fBENVIRONMENT VARIABLES\fR. ++.TP ++\fB\-\-debug-irc\fR ++Enable logging of all raw IRC messages to debug log, \fBincluding passwords!\fR ++In most cases you should also set \fB--loglevel Debug\fR. ++.TP ++\fB\-\-debug\-irc\-id\fR=\fIDATABASENETWORKID\fR ++Limit raw IRC logging to this network ID. Implies \fB\-\-debug-irc\fR. ++.TP ++\fB\-\-ident\-daemon\fR ++Enable internal ident daemon. ++.TP ++\fB\-\-ident\-listen\fR=\fIIDENTLISTEN\fR ++The address(es) quasselcore will listen on for ident requests. Same format as ++\fB\-\-listen\fR. Only meaningful with \fB\-\-ident\-daemon\fR. Default is: ++::1,127.0.0.1 (only localhost) ++.TP ++\fB\-\-ident\-port\fR=\fIIDENTPORT\fR ++The port the quasselcore will listen at for ident requests. Only meaningful ++with \fB\-\-ident\-daemon\fR. Default is: 10113 ++.TP ++\fB\-\-listen\fR=\fILISTEN\fR ++The address(es) quasselcore will listen on when \fB\-\-port\fR is specified. ++Default is: ::,0.0.0.0 (all addresses) ++.TP ++\fB\-n\fR, \fB\-\-norestore\fR ++Don't restore last core's state, such as previously connected networks. ++.TP ++\fB\-\-oidentd\fR ++Enable oidentd integration. In most cases you should also enable ++\fB\-\-strict-ident\fR. ++.TP ++\fB\-\-oidentd\-conffile\fR=\fIOIDENTCONF\fR ++Set path to oidentd configuration file. ++.TP ++\fB\-p\fR, \fB\-\-port\fR=\fIPORT\fR ++The port the internal quasselcore will listen at. If not specified, the ++internal core will not accept connections from other clients. ++.TP ++\fB\-\-require\-ssl\fR ++Require SSL for remote (non-loopback) client connections. ++.TP ++\fB\-\-select\-authenticator\fR=\fIAUTHENTICATOR\fR ++Starts an interactive session to switch your current user authentication ++backend to the new one. ++.TP ++\fB\-\-select\-backend\fR=\fIBACKEND\fR ++Starts an interactive session to switch your current storage backend to the new ++one. Attempts a merge if the new backend is uninitialized and the old backend ++supports migration, otherwise prompts for new user credentials. ++.TP ++\fB\-\-ssl\-cert\fR=\fISSLCERTFILE\fR ++Specify the path to the SSL certificate. Reloaded when quasselcore is sent a ++SIGHUP. Default is: CONFIGDIR/quasselCert.pem ++.TP ++\fB\-\-ssl\-key\fR=\fISSLKEYFILE\fR ++Specify the path to the SSL key. Reloaded when quasselcore is sent a SIGHUP. ++Only needed if not combined with the SSL certificate. ++.TP ++\fB\-\-strict\-ident\fR ++Use users' quasselcore username as ident reply. Ignores each user's configured ++ident setting. Useful for multi-user quasselcores connecting to IRC networks ++that require a fixed identifier for each user. ++. ++.SH "ENVIRONMENT" ++When \fB\-\-config\-from\-environment\fR is specified, the quasselcore will use ++the following environment variables instead of the configuration file. This may ++be useful for container setups or automated deployment. ++. ++.TP ++\fBAUTH_AUTHENTICATOR\fR ++Specifies the selected user authentication backend. See ++\fB\-\-select\-authenticator\fR. ++.TP ++\fBAUTH_LDAP_BASE_DN\fR ++Specifies the LDAP authenticator base DN. ++.TP ++\fBAUTH_LDAP_BIND_DN\fR ++Specifies the LDAP authenticator bind DN. ++.TP ++\fBAUTH_LDAP_BIND_PASSWORD\fR ++Specifies the LDAP authenticator bind password. ++.TP ++\fBAUTH_LDAP_FILTER\fR ++Specifies the LDAP authenticator filter. ++.TP ++\fBAUTH_LDAP_HOSTNAME\fR ++Specifies the LDAP authenticator connection hostname. ++.TP ++\fBAUTH_LDAP_PORT\fR ++Specifies the LDAP authenticator connection port. ++.TP ++\fBAUTH_LDAP_UID_ATTRIBUTE\fR ++Specifies the LDAP authenticator UID attribute. ++.TP ++\fBDB_BACKEND\fR ++Specifies the selected database backend. See \fB\-\-select\-backend\fR. ++.TP ++\fBDB_PGSQL_DATABASE\fR ++Specifies the Postgres connection database name. ++.TP ++\fBDB_PGSQL_HOSTNAME\fR ++Specifies the Postgres connection hostname. ++.TP ++\fBDB_PGSQL_USERNAME\fR ++Specifies the Postgres connection username. ++.TP ++\fBDB_PGSQL_PASSWORD\fR ++Specifies the Postgres connection user password. ++.TP ++\fBDB_PGSQL_PORT\fR ++Specifies the Postgres connection port. ++. ++.SH FILES ++. ++.TP ++\fI$HOME/.config/quassel-irc.org\fR ++Configuration files, SQLite database with chat logs, and the SSL/TLS ++certificate. To override, see \fB\-\-configdir\fR. ++. ++.SH AUTHORS ++The full list of Quassel IRC authors and contributors may be seen in the ++client's About window. ++.PP ++This manual page was written by Thomas Mueller ++ and updated by Shane Synan ++, for the Debian GNU/Linux ++system (but may be used by others). Permission is ++granted to copy, distribute and/or modify this document under ++the terms of the GNU General Public License ++version 2 or any later version published by the Free Software Foundation. diff --cc debian/manpages/quasselclient.1 index 0000000,0000000..6cdbcad new file mode 100644 --- /dev/null +++ b/debian/manpages/quasselclient.1 @@@ -1,0 -1,0 +1,78 @@@ ++.TH "QUASSELCLIENT" "1" "0.13.1" "Quassel IRC Team, Internet." "" ++.SH "NAME" ++quasselclient \(em GUI of the Quassel IRC client, client only ++.SH "SYNPOSIS" ++\fBquasselclient\fR [\fIOPTION\fR]... ++. ++.SH "DESCRIPTION" ++.B Quassel IRC ++is a modern, cross-platform, distributed IRC client, meaning that one ++(or multiple) client(s) can attach to and detach from a central core -- much ++like the popular combination of screen and a text-based IRC client such as ++WeeChat, but graphical. ++.PP ++\fBquasselclient\fR connects to and manages a running \fBquasselcore\fR and ++will not work on its own. For a standalone IRC client experience, use the ++\fBquassel\fR monolithic program. ++. ++.SH "OPTIONS" ++.TP ++\fB\-c\fR, \fB\-\-configdir\fR=\fICONFIGDIR\fR ++Specify the directory holding the client configuration. ++.TP ++\fB\-d\fR, \fB\-\-debug\fR ++Enable extra debugging output. ++.TP ++\fB\-\-debugbufferswitches\fR ++Enables debugging for bufferswitches. ++.TP ++\fB\-\-debugmodel\fR ++Enables debugging for models. ++.TP ++\fB\-h\fR, \fB\-\-help\fR ++Show help message. ++.TP ++\fB\-\-hidewindow\fR ++Start the client minimized to the system tray. ++.TP ++\fB\-\-icontheme\fR=\fITHEME\fR ++Override the system icon theme. 'breeze' is recommended. This may also be ++configured in the client settings. ++.TP ++\fB\-L\fR, \fB\-\-loglevel\fR=\fILOGLEVEL\fR ++Set the logging level to LOGLEVEL: Debug, Info, Warning, Error. Default is: ++Info ++.TP ++\fB\-l\fR, \fB\-\-logfile\fR=\fILOGFILE\fR ++Log to a file. ++.TP ++\fB\-\-qss\fR=\fIQSS\fR ++Load a custom application stylesheet. ++.TP ++\fB\-\-syslog\fR ++Log to syslog. ++.TP ++\fB\-v\fR, \fB\-\-version\fR ++Display version information. ++. ++.SH FILES ++. ++.TP ++\fI$HOME/.config/quassel-irc.org\fR ++Configuration files. To override, see \fB\-\-configdir\fR. ++. ++.B NOTE: ++Chat logs are maintained by the remote Quassel core and requested as needed. ++They are not saved locally. ++. ++.SH AUTHORS ++The full list of Quassel IRC authors and contributors may be seen in the ++client's About window. ++.PP ++This manual page was written by Thomas Mueller ++ and updated by Shane Synan ++, for the Debian GNU/Linux ++system (but may be used by others). Permission is ++granted to copy, distribute and/or modify this document under ++the terms of the GNU General Public License ++version 2 or any later version published by the Free Software Foundation. diff --cc debian/manpages/quasselcore.1 index 0000000,0000000..efa0860 new file mode 100644 --- /dev/null +++ b/debian/manpages/quasselcore.1 @@@ -1,0 -1,0 +1,199 @@@ ++.TH "QUASSELCORE" "1" "0.13.1" "Quassel IRC Team, Internet." "" ++.SH "NAME" ++quasselcore \(em the daemon process for the Quassel IRC client ++.SH "SYNPOSIS" ++\fBquasselcore\fR [\fIOPTION\fR]... ++. ++.SH "DESCRIPTION" ++.B Quassel IRC ++is a modern, cross-platform, distributed IRC client, meaning that one ++(or multiple) client(s) can attach to and detach from a central core -- much ++like the popular combination of screen and a text-based IRC client such as ++WeeChat, but graphical. ++.PP ++\fBquasselcore\fR provides the daemon which connects to IRC networks, allowing ++any number of Quassel clients to connect, including the official desktop ++client, the \fBquasselclient\fR program. ++. ++.SH "OPTIONS" ++.TP ++\fB\-\-add\-user\fR ++Starts an interactive session to add a new core user ++.TP ++\fB\-\-change\-userpass\fR=\fIUSERNAME\fR ++Starts an interactive session to change the password of the user identified by ++USERNAME. ++.TP ++\fB\-c\fR, \fB\-\-configdir\fR=\fICONFIGDIR\fR ++Specify the directory holding the configuration files, the SQLite database with ++chat logs (unless another database backend is selected), and the SSL/TLS ++certificate. ++.TP ++\fB\-\-config\-from\-environment\fR ++Load configuration from environment variables, ignoring the configuration file. ++See the section on \fBENVIRONMENT VARIABLES\fR. ++.TP ++\fB\-d\fR, \fB\-\-debug\fR ++Enable extra debugging output. Requires setting \fB\-\-loglevel=Debug\fR. ++.TP ++\fB\-\-debug-irc\fR ++Enable logging of all raw IRC messages to debug log, \fBincluding passwords!\fR ++In most cases you should also set \fB--loglevel Debug\fR. ++.TP ++\fB\-\-debug\-irc\-id\fR=\fIDATABASENETWORKID\fR ++Limit raw IRC logging to this network ID. Implies \fB\-\-debug-irc\fR. ++.TP ++\fB\-h\fR, \fB\-\-help\fR ++Show help message. ++.TP ++\fB\-\-ident\-daemon\fR ++Enable internal ident daemon. ++.TP ++\fB\-\-ident\-listen\fR=\fIIDENTLISTEN\fR ++The address(es) quasselcore will listen on for ident requests. Same format as ++\fB\-\-listen\fR. Only meaningful with \fB\-\-ident\-daemon\fR. Default is: ++::1,127.0.0.1 (only localhost) ++.TP ++\fB\-\-ident\-port\fR=\fIIDENTPORT\fR ++The port the quasselcore will listen at for ident requests. Only meaningful ++with \fB\-\-ident\-daemon\fR. Default is: 10113 ++.TP ++\fB\-\-listen\fR=\fILISTEN\fR ++The address(es) quasselcore will listen on. Default is: ::,0.0.0.0 (all ++addresses) ++.TP ++\fB\-L\fR, \fB\-\-loglevel\fR=\fILOGLEVEL\fR ++Set the logging level to LOGLEVEL: Debug, Info, Warning, Error. Default is: ++Info ++.TP ++\fB\-l\fR, \fB\-\-logfile\fR=\fILOGFILE\fR ++Log to a file. ++.TP ++\fB\-n\fR, \fB\-\-norestore\fR ++Don't restore last core's state, such as previously connected networks. ++.TP ++\fB\-\-oidentd\fR ++Enable oidentd integration. In most cases you should also enable ++\fB\-\-strict-ident\fR. ++.TP ++\fB\-\-oidentd\-conffile\fR=\fIOIDENTCONF\fR ++Set path to oidentd configuration file. ++.TP ++\fB\-p\fR, \fB\-\-port\fR=\fIPORT\fR ++The port quasselcore will listen at. Default is: 4242 ++.TP ++\fB\-\-require\-ssl\fR ++Require SSL for remote (non-loopback) client connections. ++.TP ++\fB\-\-select\-authenticator\fR=\fIAUTHENTICATOR\fR ++Starts an interactive session to switch your current user authentication ++backend to the new one. ++.TP ++\fB\-\-select\-backend\fR=\fIBACKEND\fR ++Starts an interactive session to switch your current storage backend to the new ++one. Attempts a merge if the new backend is uninitialized and the old backend ++supports migration, otherwise prompts for new user credentials. ++.TP ++\fB\-\-ssl\-cert\fR=\fISSLCERTFILE\fR ++Specify the path to the SSL certificate. Reloaded when quasselcore is sent a ++SIGHUP. Default is: CONFIGDIR/quasselCert.pem ++.TP ++\fB\-\-ssl\-key\fR=\fISSLKEYFILE\fR ++Specify the path to the SSL key. Reloaded when quasselcore is sent a SIGHUP. ++Only needed if not combined with the SSL certificate. ++.TP ++\fB\-\-strict\-ident\fR ++Use users' quasselcore username as ident reply. Ignores each user's configured ++ident setting. Useful for multi-user quasselcores connecting to IRC networks ++that require a fixed identifier for each user. ++.TP ++\fB\-\-syslog\fR ++Log to syslog. ++.TP ++\fB\-v\fR, \fB\-\-version\fR ++Display version information. ++. ++.SH "ENVIRONMENT" ++When \fB\-\-config\-from\-environment\fR is specified, the quasselcore will use ++the following environment variables instead of the configuration file. This may ++be useful for container setups or automated deployment. ++. ++.TP ++\fBAUTH_AUTHENTICATOR\fR ++Specifies the selected user authentication backend. See ++\fB\-\-select\-authenticator\fR. ++.TP ++\fBAUTH_LDAP_BASE_DN\fR ++Specifies the LDAP authenticator base DN. ++.TP ++\fBAUTH_LDAP_BIND_DN\fR ++Specifies the LDAP authenticator bind DN. ++.TP ++\fBAUTH_LDAP_BIND_PASSWORD\fR ++Specifies the LDAP authenticator bind password. ++.TP ++\fBAUTH_LDAP_FILTER\fR ++Specifies the LDAP authenticator filter. ++.TP ++\fBAUTH_LDAP_HOSTNAME\fR ++Specifies the LDAP authenticator connection hostname. ++.TP ++\fBAUTH_LDAP_PORT\fR ++Specifies the LDAP authenticator connection port. ++.TP ++\fBAUTH_LDAP_UID_ATTRIBUTE\fR ++Specifies the LDAP authenticator UID attribute. ++.TP ++\fBDB_BACKEND\fR ++Specifies the selected database backend. See \fB\-\-select\-backend\fR. ++.TP ++\fBDB_PGSQL_DATABASE\fR ++Specifies the Postgres connection database name. ++.TP ++\fBDB_PGSQL_HOSTNAME\fR ++Specifies the Postgres connection hostname. ++.TP ++\fBDB_PGSQL_USERNAME\fR ++Specifies the Postgres connection username. ++.TP ++\fBDB_PGSQL_PASSWORD\fR ++Specifies the Postgres connection user password. ++.TP ++\fBDB_PGSQL_PORT\fR ++Specifies the Postgres connection port. ++. ++.SH FILES ++. ++.TP ++\fI/var/lib/quassel\fR ++Configuration files, the SQLite database with chat logs (unless another ++database backend is selected), and the SSL/TLS certificate. To override, see ++\fB\-\-configdir\fR. ++.TP ++\fI/etc/default/quasselcore\fR ++Additional configuration parameters, including default port and logging level. ++. ++.SH "NOTES" ++In a typical installation, \fBquasselcore\fR runs as the \fIquasselcore\fR ++user, with configuration data stored in \fI/var/lib/quassel\fR. When manually ++running quasselcore, you should specify the proper user and \fB\-\-configdir\fR ++as follows. ++.PP ++.nf ++.RS 4 ++$\ sudo\ \-\-user=quasselcore\ \\ ++quasselcore\ \-\-configdir=/var/lib/quassel [\fIOPTIONS\fR] ++.RE ++.fi ++. ++.SH AUTHORS ++The full list of Quassel IRC authors and contributors may be seen in ++quasselclient's About window. ++.PP ++This manual page was written by Thomas Mueller ++ and updated by Shane Synan ++, for the Debian GNU/Linux ++system (but may be used by others). Permission is ++granted to copy, distribute and/or modify this document under ++the terms of the GNU General Public License ++version 2 or any later version published by the Free Software Foundation. diff --cc debian/patches/01_default_network_channel.patch index 0000000,0000000..1acd431 new file mode 100644 --- /dev/null +++ b/debian/patches/01_default_network_channel.patch @@@ -1,0 -1,0 +1,24 @@@ ++From: Debian KDE Extras Team ++Date: Sun, 2 Dec 2018 15:29:07 -0500 ++Subject: 01_default_network_channel ++ ++--- ++ data/networks.ini | 8 ++++++++ ++ 1 file changed, 8 insertions(+) ++ ++diff --git a/data/networks.ini b/data/networks.ini ++index 5f8fa02..873ac4e 100644 ++--- a/data/networks.ini +++++ b/data/networks.ini ++@@ -49,3 +49,11 @@ Servers=eu.undernet.org:6667,us.undernet.org:6667,elsene.be.eu.undernet.org:6667 ++ ++ [euIRCnet] ++ Servers=irc.euirc.net:+6697,irc.euirc.net:6665 +++ +++[DebianIRC] +++Default=Yes +++DefaultChannels=#debian +++Servers=irc.debian.org:+6697 +++ +++Default=Yes +++DefaultChannels=#debian diff --cc debian/patches/02_script_interpreter_path.patch index 0000000,0000000..5cbb01b new file mode 100644 --- /dev/null +++ b/debian/patches/02_script_interpreter_path.patch @@@ -1,0 -1,0 +1,20 @@@ ++Index: quassel/data/scripts/inxi ++=================================================================== ++--- quassel.orig/data/scripts/inxi 2018-12-02 15:30:30.586561181 -0500 +++++ quassel/data/scripts/inxi 2018-12-03 00:24:30.599106749 -0500 ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ ## infobash: Copyright (C) 2005-2007 Michiel de Boer aka locsmif ++ ## inxi: Copyright (C) 2008-2018 Harald Hope ++ ## Additional features (C) Scott Rogers - kde, cpu info ++Index: quassel/data/scripts/mpris ++=================================================================== ++--- quassel.orig/data/scripts/mpris 2018-12-02 15:26:46.362556679 -0500 +++++ quassel/data/scripts/mpris 2018-12-03 00:24:18.139106499 -0500 ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ ++ ########################################################################## ++ # Copyright (C) 2009 by Sebastian Goth # diff --cc debian/patches/qt514/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch index 0000000,0000000..a66ccfb new file mode 100644 --- /dev/null +++ b/debian/patches/qt514/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch @@@ -1,0 -1,0 +1,40 @@@ ++From 579e559a6322209df7cd51c34801fecff5fe734b Mon Sep 17 00:00:00 2001 ++From: Manuel Nickschas ++Date: Tue, 7 Jan 2020 18:34:54 +0100 ++Subject: [PATCH 1/6] common: Disable enum type stream operators for Qt >= 5.14 ++Bug: https://bugs.quassel-irc.org/issues/1544 ++Bug-Ubuntu: https://bugs.launchpad.net/quassel/+bug/1885436 ++Origin: upstream, https://github.com/quassel/quassel/pull/518 ++Origin: upstream, https://github.com/quassel/quassel/commit/579e559a6322209df7cd51c34801fecff5fe734b ++ ++Starting from version 5.14, Qt provides stream operators for enum ++types, which collide with the ones we ship in types.h. Disable ++Quassel's stream operators when compiling against Qt 5.14 or later. ++ ++Add a unit test that ensures that enum serialization honors the width ++of the underlying type. ++--- ++ src/common/types.h | 2 + ++ tests/common/CMakeLists.txt | 2 + ++ tests/common/typestest.cpp | 79 +++++++++++++++++++++++++++++++++++++ ++ 3 files changed, 83 insertions(+) ++ create mode 100644 tests/common/typestest.cpp ++ ++--- a/src/common/types.h +++++ b/src/common/types.h ++@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress) ++ typedef QList MsgIdList; ++ typedef QList BufferIdList; ++ +++#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) ++ /** ++ * Catch-all stream serialization operator for enum types. ++ * ++@@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, ++ value = static_cast(v); ++ return in; ++ } +++#endif ++ ++ // Exceptions ++ diff --cc debian/patches/qt514/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch index 0000000,0000000..f9eafdb new file mode 100644 --- /dev/null +++ b/debian/patches/qt514/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch @@@ -1,0 -1,0 +1,424 @@@ ++From 41bf70c263ee0af80ad1850fabe77ffffee188f4 Mon Sep 17 00:00:00 2001 ++From: Manuel Nickschas ++Date: Tue, 7 Jan 2020 18:39:48 +0100 ++Subject: [PATCH 2/6] common: Always let QVariant::fromValue() deduce the type ++Bug: https://bugs.quassel-irc.org/issues/1544 ++Bug-Ubuntu: https://bugs.launchpad.net/quassel/+bug/1885436 ++Origin: upstream, https://github.com/quassel/quassel/pull/518 ++Origin: upstream, https://github.com/quassel/quassel/commit/41bf70c263ee0af80ad1850fabe77ffffee188f4 ++ ++In some places, we would explicitly give the type to ++QVariant::fromValue(), forgoing automatic type deduction. This is ++almost always redundant, and in the cases where it is not, the ++input type should be explicitly cast. ++ ++Additionally, the implementation of QVariant::fromValue() subtly changed ++in Qt 5.14, leading to compile errors when giving a non-decayed type ++(as we did in SignalProxy::attachSignal()). ++--- ++ src/client/coreaccountmodel.cpp | 2 +- ++ src/client/messagefilter.cpp | 2 +- ++ src/client/messagemodel.cpp | 10 +++++----- ++ src/client/networkmodel.cpp | 18 +++++++++--------- ++ src/common/buffersyncer.cpp | 8 ++++---- ++ src/common/network.cpp | 4 ++-- ++ src/common/serializers/serializers.cpp | 2 +- ++ src/common/signalproxy.h | 2 +- ++ src/common/types.h | 10 +++++----- ++ src/common/util.h | 2 +- ++ src/core/core.cpp | 2 +- ++ src/qtui/chatitem.cpp | 2 +- ++ src/qtui/chatlinemodelitem.cpp | 16 ++++++++-------- ++ src/qtui/chatviewsettings.cpp | 2 +- ++ src/qtui/mainwin.cpp | 2 +- ++ src/qtui/settingsdlg.cpp | 2 +- ++ .../settingspages/chatmonitorsettingspage.cpp | 2 +- ++ .../settingspages/networkssettingspage.cpp | 2 +- ++ src/qtui/settingspages/shortcutsmodel.cpp | 2 +- ++ src/uisupport/networkmodelcontroller.cpp | 2 +- ++ src/uisupport/toolbaractionprovider.cpp | 2 +- ++ 21 files changed, 48 insertions(+), 48 deletions(-) ++ ++--- a/src/client/coreaccountmodel.cpp +++++ b/src/client/coreaccountmodel.cpp ++@@ -107,7 +107,7 @@ QVariant CoreAccountModel::data(const QM ++ case Qt::DisplayRole: ++ return acc.accountName(); ++ case AccountIdRole: ++- return QVariant::fromValue(acc.accountId()); +++ return QVariant::fromValue(acc.accountId()); ++ case UuidRole: ++ return acc.uuid().toString(); ++ ++--- a/src/client/messagefilter.cpp +++++ b/src/client/messagefilter.cpp ++@@ -191,7 +191,7 @@ bool MessageFilter::filterAcceptsRow(int ++ if (!redirectedTo.isValid()) { ++ BufferId redirectedTo = Client::bufferModel()->currentIndex().data(NetworkModel::BufferIdRole).value(); ++ if (redirectedTo.isValid()) ++- sourceModel()->setData(sourceIdx, QVariant::fromValue(redirectedTo), MessageModel::RedirectedToRole); +++ sourceModel()->setData(sourceIdx, QVariant::fromValue(redirectedTo), MessageModel::RedirectedToRole); ++ } ++ ++ if (_validBuffers.contains(redirectedTo)) ++--- a/src/client/messagemodel.cpp +++++ b/src/client/messagemodel.cpp ++@@ -448,11 +448,11 @@ QVariant MessageModelItem::data(int colu ++ ++ switch (role) { ++ case MessageModel::MessageRole: ++- return QVariant::fromValue(message()); +++ return QVariant::fromValue(message()); ++ case MessageModel::MsgIdRole: ++- return QVariant::fromValue(msgId()); +++ return QVariant::fromValue(msgId()); ++ case MessageModel::BufferIdRole: ++- return QVariant::fromValue(bufferId()); +++ return QVariant::fromValue(bufferId()); ++ case MessageModel::TypeRole: ++ return msgType(); ++ case MessageModel::FlagsRole: ++@@ -460,9 +460,9 @@ QVariant MessageModelItem::data(int colu ++ case MessageModel::TimestampRole: ++ return timestamp(); ++ case MessageModel::RedirectedToRole: ++- return qVariantFromValue(_redirectedTo); +++ return QVariant::fromValue(_redirectedTo); ++ default: ++- return QVariant(); +++ return {}; ++ } ++ } ++ ++--- a/src/client/networkmodel.cpp +++++ b/src/client/networkmodel.cpp ++@@ -72,7 +72,7 @@ QVariant NetworkItem::data(int column, i ++ else ++ return QVariant(); ++ case NetworkModel::NetworkIdRole: ++- return qVariantFromValue(_networkId); +++ return QVariant::fromValue(_networkId); ++ case NetworkModel::ItemTypeRole: ++ return NetworkModel::NetworkItemType; ++ case NetworkModel::ItemActiveRole: ++@@ -406,11 +406,11 @@ QVariant BufferItem::data(int column, in ++ case NetworkModel::ItemTypeRole: ++ return NetworkModel::BufferItemType; ++ case NetworkModel::BufferIdRole: ++- return qVariantFromValue(bufferInfo().bufferId()); +++ return QVariant::fromValue(bufferInfo().bufferId()); ++ case NetworkModel::NetworkIdRole: ++- return qVariantFromValue(bufferInfo().networkId()); +++ return QVariant::fromValue(bufferInfo().networkId()); ++ case NetworkModel::BufferInfoRole: ++- return qVariantFromValue(bufferInfo()); +++ return QVariant::fromValue(bufferInfo()); ++ case NetworkModel::BufferTypeRole: ++ return int(bufferType()); ++ case NetworkModel::ItemActiveRole: ++@@ -418,9 +418,9 @@ QVariant BufferItem::data(int column, in ++ case NetworkModel::BufferActivityRole: ++ return (int)activityLevel(); ++ case NetworkModel::BufferFirstUnreadMsgIdRole: ++- return qVariantFromValue(firstUnreadMsgId()); +++ return QVariant::fromValue(firstUnreadMsgId()); ++ case NetworkModel::MarkerLineMsgIdRole: ++- return qVariantFromValue(markerLineMsgId()); +++ return QVariant::fromValue(markerLineMsgId()); ++ default: ++ return PropertyMapItem::data(column, role); ++ } ++@@ -523,7 +523,7 @@ QVariant QueryBufferItem::data(int colum ++ case Qt::EditRole: ++ return BufferItem::data(column, Qt::DisplayRole); ++ case NetworkModel::IrcUserRole: ++- return QVariant::fromValue(_ircUser); +++ return QVariant::fromValue(_ircUser); ++ case NetworkModel::UserAwayRole: ++ return (bool)_ircUser ? _ircUser->isAway() : false; ++ default: ++@@ -750,7 +750,7 @@ QVariant ChannelBufferItem::data(int col ++ { ++ switch (role) { ++ case NetworkModel::IrcChannelRole: ++- return QVariant::fromValue(_ircChannel); +++ return QVariant::fromValue(_ircChannel); ++ default: ++ return BufferItem::data(column, role); ++ } ++@@ -1147,7 +1147,7 @@ QVariant IrcUserItem::data(int column, i ++ case NetworkModel::IrcChannelRole: ++ return parent()->data(column, role); ++ case NetworkModel::IrcUserRole: ++- return QVariant::fromValue(_ircUser.data()); +++ return QVariant::fromValue(_ircUser.data()); ++ case NetworkModel::UserAwayRole: ++ return (bool)_ircUser ? _ircUser->isAway() : false; ++ default: ++--- a/src/common/buffersyncer.cpp +++++ b/src/common/buffersyncer.cpp ++@@ -90,8 +90,7 @@ QVariantList BufferSyncer::initLastSeenM ++ QVariantList list; ++ QHash::const_iterator iter = _lastSeenMsg.constBegin(); ++ while (iter != _lastSeenMsg.constEnd()) { ++- list << QVariant::fromValue(iter.key()) ++- << QVariant::fromValue(iter.value()); +++ list << QVariant::fromValue(iter.key()) << QVariant::fromValue(iter.value()); ++ ++iter; ++ } ++ return list; ++@@ -113,8 +112,7 @@ QVariantList BufferSyncer::initMarkerLin ++ QVariantList list; ++ QHash::const_iterator iter = _markerLines.constBegin(); ++ while (iter != _markerLines.constEnd()) { ++- list << QVariant::fromValue(iter.key()) ++- << QVariant::fromValue(iter.value()); +++ list << QVariant::fromValue(iter.key()) << QVariant::fromValue(iter.value()); ++ ++iter; ++ } ++ return list; ++@@ -136,8 +134,7 @@ QVariantList BufferSyncer::initActivitie ++ QVariantList list; ++ auto iter = _bufferActivities.constBegin(); ++ while (iter != _bufferActivities.constEnd()) { ++- list << QVariant::fromValue(iter.key()) ++- << QVariant::fromValue((int) iter.value()); +++ list << QVariant::fromValue(iter.key()) << QVariant::fromValue((int)iter.value()); ++ ++iter; ++ } ++ return list; ++@@ -197,8 +194,7 @@ QVariantList BufferSyncer::initHighlight ++ QVariantList list; ++ auto iter = _highlightCounts.constBegin(); ++ while (iter != _highlightCounts.constEnd()) { ++- list << QVariant::fromValue(iter.key()) ++- << QVariant::fromValue((int) iter.value()); +++ list << QVariant::fromValue(iter.key()) << QVariant::fromValue((int)iter.value()); ++ ++iter; ++ } ++ return list; ++--- a/src/common/network.cpp +++++ b/src/common/network.cpp ++@@ -1209,8 +1209,8 @@ QDataStream &operator<<(QDataStream &out ++ i["CodecForServer"] = info.codecForServer; ++ i["CodecForEncoding"] = info.codecForEncoding; ++ i["CodecForDecoding"] = info.codecForDecoding; ++- i["NetworkId"] = QVariant::fromValue(info.networkId); ++- i["Identity"] = QVariant::fromValue(info.identity); +++ i["NetworkId"] = QVariant::fromValue(info.networkId); +++ i["Identity"] = QVariant::fromValue(info.identity); ++ i["MessageRateBurstSize"] = info.messageRateBurstSize; ++ i["MessageRateDelay"] = info.messageRateDelay; ++ i["AutoReconnectInterval"] = info.autoReconnectInterval; ++--- a/src/common/serializers/serializers.cpp +++++ b/src/common/serializers/serializers.cpp ++@@ -29,7 +29,7 @@ bool toVariant(QDataStream& stream, Quas ++ if (!Serializers::deserialize(stream, features, content)) { ++ return false; ++ } ++- data = QVariant::fromValue(content); +++ data = QVariant::fromValue(content); ++ return true; ++ } ++ ++--- a/src/common/types.h +++++ b/src/common/types.h ++@@ -100,27 +100,27 @@ inline uint qHash(const SignedId64 &id) ++ ++ struct UserId : public SignedId { ++ inline UserId(int _id = 0) : SignedId(_id) {} ++- //inline operator QVariant() const { return QVariant::fromValue(*this); } // no automatic conversion! +++ //inline operator QVariant() const { return QVariant::fromValue(*this); } // no automatic conversion! ++ }; ++ ++ struct MsgId : public SignedId64 { ++ inline MsgId(qint64 _id = 0) : SignedId64(_id) {} ++- //inline operator QVariant() const { return QVariant::fromValue(*this); } +++ //inline operator QVariant() const { return QVariant::fromValue(*this); } ++ }; ++ ++ struct BufferId : public SignedId { ++ inline BufferId(int _id = 0) : SignedId(_id) {} ++- //inline operator QVariant() const { return QVariant::fromValue(*this); } +++ //inline operator QVariant() const { return QVariant::fromValue(*this); } ++ }; ++ ++ struct NetworkId : public SignedId { ++ inline NetworkId(int _id = 0) : SignedId(_id) {} ++- //inline operator QVariant() const { return QVariant::fromValue(*this); } +++ //inline operator QVariant() const { return QVariant::fromValue(*this); } ++ }; ++ ++ struct IdentityId : public SignedId { ++ inline IdentityId(int _id = 0) : SignedId(_id) {} ++- //inline operator QVariant() const { return QVariant::fromValue(*this); } +++ //inline operator QVariant() const { return QVariant::fromValue(*this); } ++ }; ++ ++ struct AccountId : public SignedId { ++--- a/src/common/util.h +++++ b/src/common/util.h ++@@ -53,7 +53,7 @@ QVariantList toVariantList(const QList(list[i]); +++ variants << QVariant::fromValue(list[i]); ++ } ++ return variants; ++ } ++--- a/src/core/core.cpp +++++ b/src/core/core.cpp ++@@ -301,7 +301,7 @@ void Core::saveState() ++ if (_storage) { ++ QVariantList activeSessions; ++ for (auto &&user : instance()->_sessions.keys()) ++- activeSessions << QVariant::fromValue(user); +++ activeSessions << QVariant::fromValue(user); ++ _storage->setCoreState(activeSessions); ++ } ++ } ++--- a/src/qtui/chatitem.cpp +++++ b/src/qtui/chatitem.cpp ++@@ -871,7 +871,7 @@ void ContentsChatItem::addActionsToMenu( ++ case Clickable::Url: ++ privateData()->activeClickable = click; ++ menu->addAction(icon::get("edit-copy"), tr("Copy Link Address"), ++- &_actionProxy, SLOT(copyLinkToClipboard()))->setData(QVariant::fromValue(this)); +++ &_actionProxy, SLOT(copyLinkToClipboard()))->setData(QVariant::fromValue(static_cast(this))); ++ break; ++ case Clickable::Channel: ++ { ++--- a/src/qtui/chatlinemodelitem.cpp +++++ b/src/qtui/chatlinemodelitem.cpp ++@@ -76,7 +76,7 @@ bool ChatLineModelItem::setData(int colu ++ QVariant ChatLineModelItem::data(int column, int role) const ++ { ++ if (role == ChatLineModel::MsgLabelRole) ++- return QVariant::fromValue(messageLabel()); +++ return QVariant::fromValue(messageLabel()); ++ ++ QVariant variant; ++ MessageModel::ColumnType col = (MessageModel::ColumnType)column; ++@@ -111,7 +111,8 @@ QVariant ChatLineModelItem::timestampDat ++ case ChatLineModel::SelectedBackgroundRole: ++ return backgroundBrush(UiStyle::FormatType::Timestamp, true); ++ case ChatLineModel::FormatRole: ++- return QVariant::fromValue({std::make_pair(quint16{0}, UiStyle::Format{UiStyle::formatType(_styledMsg.type()) | UiStyle::FormatType::Timestamp, {}, {}})}); +++ return QVariant::fromValue(UiStyle::FormatList{ +++ std::make_pair(quint16{0}, UiStyle::Format{UiStyle::formatType(_styledMsg.type()) | UiStyle::FormatType::Timestamp, {}, {}})}); ++ } ++ return QVariant(); ++ } ++@@ -129,7 +130,8 @@ QVariant ChatLineModelItem::senderData(i ++ case ChatLineModel::SelectedBackgroundRole: ++ return backgroundBrush(UiStyle::FormatType::Sender, true); ++ case ChatLineModel::FormatRole: ++- return QVariant::fromValue({std::make_pair(quint16{0}, UiStyle::Format{UiStyle::formatType(_styledMsg.type()) | UiStyle::FormatType::Sender, {}, {}})}); +++ return QVariant::fromValue(UiStyle::FormatList{ +++ std::make_pair(quint16{0}, UiStyle::Format{UiStyle::formatType(_styledMsg.type()) | UiStyle::FormatType::Sender, {}, {}})}); ++ } ++ return QVariant(); ++ } ++@@ -146,11 +148,11 @@ QVariant ChatLineModelItem::contentsData ++ case ChatLineModel::SelectedBackgroundRole: ++ return backgroundBrush(UiStyle::FormatType::Contents, true); ++ case ChatLineModel::FormatRole: ++- return QVariant::fromValue(_styledMsg.contentsFormatList()); +++ return QVariant::fromValue(_styledMsg.contentsFormatList()); ++ case ChatLineModel::WrapListRole: ++ if (_wrapList.isEmpty()) ++ computeWrapList(); ++- return QVariant::fromValue(_wrapList); +++ return QVariant::fromValue(_wrapList); ++ } ++ return QVariant(); ++ } ++@@ -174,7 +176,7 @@ QVariant ChatLineModelItem::backgroundBr ++ QTextCharFormat fmt = QtUi::style()->format({UiStyle::formatType(_styledMsg.type()) | subelement, {}, {}}, ++ messageLabel() | (selected ? UiStyle::MessageLabel::Selected : UiStyle::MessageLabel::None)); ++ if (fmt.hasProperty(QTextFormat::BackgroundBrush)) ++- return QVariant::fromValue(fmt.background()); +++ return QVariant::fromValue(fmt.background()); ++ return QVariant(); ++ } ++ ++--- a/src/qtui/mainwin.cpp +++++ b/src/qtui/mainwin.cpp ++@@ -1774,7 +1774,7 @@ void MainWin::clientNetworkCreated(Netwo ++ const Network *net = Client::network(id); ++ QAction *act = new QAction(net->networkName(), this); ++ act->setObjectName(QString("NetworkAction-%1").arg(id.toInt())); ++- act->setData(QVariant::fromValue(id)); +++ act->setData(QVariant::fromValue(id)); ++ connect(net, SIGNAL(updatedRemotely()), this, SLOT(clientNetworkUpdated())); ++ connect(act, SIGNAL(triggered()), this, SLOT(connectOrDisconnectFromNet())); ++ ++--- a/src/qtui/settingsdlg.cpp +++++ b/src/qtui/settingsdlg.cpp ++@@ -95,7 +95,7 @@ void SettingsDlg::registerSettingsPage(S ++ else ++ item = new QTreeWidgetItem(cat, QStringList(sp->title())); ++ ++- item->setData(0, SettingsPageRole, QVariant::fromValue(sp)); +++ item->setData(0, SettingsPageRole, QVariant::fromValue(sp)); ++ pageIsLoaded[sp] = false; ++ if (!ui.settingsTree->selectedItems().count()) ++ ui.settingsTree->setCurrentItem(item); ++--- a/src/qtui/settingspages/chatmonitorsettingspage.cpp +++++ b/src/qtui/settingspages/chatmonitorsettingspage.cpp ++@@ -161,8 +161,8 @@ void ChatMonitorSettingsPage::save() ++ ++ // save list of active buffers ++ QVariantList saveableBufferIdList; ++- foreach(BufferId id, _configActive->bufferList()) { ++- saveableBufferIdList << QVariant::fromValue(id); +++ foreach (BufferId id, _configActive->bufferList()) { +++ saveableBufferIdList << QVariant::fromValue(id); ++ } ++ ++ chatViewSettings.setValue("Buffers", saveableBufferIdList); ++--- a/src/qtui/settingspages/networkssettingspage.cpp +++++ b/src/qtui/settingspages/networkssettingspage.cpp ++@@ -570,7 +570,7 @@ QListWidgetItem *NetworksSettingsPage::i ++ } ++ if (!item) item = new QListWidgetItem(disconnectedIcon, info.networkName, ui.networkList); ++ } ++- item->setData(Qt::UserRole, QVariant::fromValue(info.networkId)); +++ item->setData(Qt::UserRole, QVariant::fromValue(info.networkId)); ++ setItemState(info.networkId, item); ++ widgetHasChanged(); ++ return item; ++--- a/src/qtui/settingspages/shortcutsmodel.cpp +++++ b/src/qtui/settingspages/shortcutsmodel.cpp ++@@ -156,7 +156,7 @@ QVariant ShortcutsModel::data(const QMod ++ return QVariant(); ++ ++ case ActionRole: ++- return QVariant::fromValue(action); +++ return QVariant::fromValue(action); ++ ++ case DefaultShortcutRole: ++ return action->shortcut(Action::DefaultShortcut); ++--- a/src/uisupport/networkmodelcontroller.cpp +++++ b/src/uisupport/networkmodelcontroller.cpp ++@@ -577,7 +577,7 @@ NetworkModelController::JoinDlg::JoinDlg ++ foreach(NetworkId id, Client::networkIds()) { ++ const Network *net = Client::network(id); ++ if (net->isConnected()) { ++- networks->addItem(net->networkName(), QVariant::fromValue(id)); +++ networks->addItem(net->networkName(), QVariant::fromValue(id)); ++ } ++ } ++ ++--- a/src/uisupport/toolbaractionprovider.cpp +++++ b/src/uisupport/toolbaractionprovider.cpp ++@@ -165,7 +165,7 @@ void ToolBarActionProvider::networkCreat ++ Action *act = new Action(net->networkName(), this); ++ _networkActions[id] = act; ++ act->setObjectName(QString("NetworkAction-%1").arg(id.toInt())); ++- act->setData(QVariant::fromValue(id)); +++ act->setData(QVariant::fromValue(id)); ++ connect(net, SIGNAL(updatedRemotely()), SLOT(networkUpdated())); ++ connect(act, SIGNAL(triggered()), SLOT(connectOrDisconnectNet())); ++ networkUpdated(net); diff --cc debian/patches/qt514/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch index 0000000,0000000..621e2da new file mode 100644 --- /dev/null +++ b/debian/patches/qt514/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch @@@ -1,0 -1,0 +1,130 @@@ ++From 1f21c1f9613031ae263eeed0c4883bfcd5488343 Mon Sep 17 00:00:00 2001 ++From: Manuel Nickschas ++Date: Tue, 7 Jan 2020 19:25:38 +0100 ++Subject: [PATCH 3/6] qa: Replace deprecated qVariantFromValue() by ++ QVariant::fromValue() ++Bug: https://bugs.quassel-irc.org/issues/1544 ++Bug-Ubuntu: https://bugs.launchpad.net/quassel/+bug/1885436 ++Origin: upstream, https://github.com/quassel/quassel/pull/518 ++Origin: upstream, https://github.com/quassel/quassel/commit/1f21c1f9613031ae263eeed0c4883bfcd5488343 ++ ++Deprecated since Qt 5.14. ++--- ++ src/client/clientsettings.cpp | 4 ++-- ++ src/common/bufferviewconfig.cpp | 6 +++--- ++ src/core/coreirclisthelper.cpp | 2 +- ++ src/core/coreusersettings.cpp | 2 +- ++ src/qtui/settingspages/bufferviewsettingspage.cpp | 6 +++--- ++ 5 files changed, 10 insertions(+), 10 deletions(-) ++ ++--- a/src/client/clientsettings.cpp +++++ b/src/client/clientsettings.cpp ++@@ -182,7 +182,7 @@ void CoreAccountSettings::setJumpKeyMap( ++ QVariantMap variants; ++ QHash::const_iterator mapIter = keyMap.constBegin(); ++ while (mapIter != keyMap.constEnd()) { ++- variants[QString::number(mapIter.key())] = qVariantFromValue(mapIter.value()); +++ variants[QString::number(mapIter.key())] = QVariant::fromValue(mapIter.value()); ++ ++mapIter; ++ } ++ setAccountValue("JumpKeyMap", variants); ++@@ -205,8 +205,8 @@ QHash CoreAccountSettings ++ void CoreAccountSettings::setBufferViewOverlay(const QSet &viewIds) ++ { ++ QVariantList variants; ++- foreach(int viewId, viewIds) { ++- variants << qVariantFromValue(viewId); +++ foreach (int viewId, viewIds) { +++ variants << QVariant::fromValue(viewId); ++ } ++ setAccountValue("BufferViewOverlay", variants); ++ } ++--- a/src/common/bufferviewconfig.cpp +++++ b/src/common/bufferviewconfig.cpp ++@@ -150,8 +150,8 @@ QVariantList BufferViewConfig::initBuffe ++ { ++ QVariantList buffers; ++ ++- foreach(BufferId bufferId, _buffers) { ++- buffers << qVariantFromValue(bufferId); +++ foreach (BufferId bufferId, _buffers) { +++ buffers << QVariant::fromValue(bufferId); ++ } ++ ++ return buffers; ++@@ -186,8 +186,8 @@ QVariantList BufferViewConfig::initRemov ++ { ++ QVariantList removedBuffers; ++ ++- foreach(BufferId bufferId, _removedBuffers) { ++- removedBuffers << qVariantFromValue(bufferId); +++ foreach (BufferId bufferId, _removedBuffers) { +++ removedBuffers << QVariant::fromValue(bufferId); ++ } ++ ++ return removedBuffers; ++@@ -208,8 +208,8 @@ QVariantList BufferViewConfig::initTempo ++ { ++ QVariantList temporarilyRemovedBuffers; ++ ++- foreach(BufferId bufferId, _temporarilyRemovedBuffers) { ++- temporarilyRemovedBuffers << qVariantFromValue(bufferId); +++ foreach (BufferId bufferId, _temporarilyRemovedBuffers) { +++ temporarilyRemovedBuffers << QVariant::fromValue(bufferId); ++ } ++ ++ return temporarilyRemovedBuffers; ++--- a/src/core/coreirclisthelper.cpp +++++ b/src/core/coreirclisthelper.cpp ++@@ -90,10 +90,8 @@ bool CoreIrcListHelper::endOfChannelList ++ QVariantList channelList; ++ foreach(ChannelDescription channel, _channelLists[netId]) { ++ QVariantList channelVariant; ++- channelVariant << channel.channelName ++- << channel.userCount ++- << channel.topic; ++- channelList << qVariantFromValue(channelVariant); +++ channelVariant << channel.channelName << channel.userCount << channel.topic; +++ channelList << QVariant::fromValue(channelVariant); ++ } ++ _finishedChannelLists[netId] = channelList; ++ _channelLists.remove(netId); ++--- a/src/core/coreusersettings.cpp +++++ b/src/core/coreusersettings.cpp ++@@ -47,7 +47,7 @@ QList CoreUserSettings::iden ++ ++ void CoreUserSettings::storeIdentity(const Identity &identity) ++ { ++- setLocalValue(QString("Identities/%1").arg(identity.id().toInt()), qVariantFromValue(identity)); +++ setLocalValue(QString("Identities/%1").arg(identity.id().toInt()), QVariant::fromValue(identity)); ++ } ++ ++ ++--- a/src/qtui/settingspages/bufferviewsettingspage.cpp +++++ b/src/qtui/settingspages/bufferviewsettingspage.cpp ++@@ -127,12 +127,12 @@ void BufferViewSettingsPage::load() ++ // load network selector ++ ui.networkSelector->clear(); ++ ui.networkSelector->addItem(tr("All")); ++- ui.networkSelector->setItemData(0, qVariantFromValue(NetworkId())); ++- const Network *net; ++- foreach(NetworkId netId, Client::networkIds()) { +++ ui.networkSelector->setItemData(0, QVariant::fromValue(NetworkId())); +++ const Network* net; +++ foreach (NetworkId netId, Client::networkIds()) { ++ net = Client::network(netId); ++ ui.networkSelector->addItem(net->networkName()); ++- ui.networkSelector->setItemData(ui.networkSelector->count() - 1, qVariantFromValue(net->networkId())); +++ ui.networkSelector->setItemData(ui.networkSelector->count() - 1, QVariant::fromValue(net->networkId())); ++ } ++ _ignoreWidgetChanges = false; ++ ++@@ -207,7 +207,7 @@ void BufferViewSettingsPage::coreConnect ++ void BufferViewSettingsPage::addBufferView(BufferViewConfig *config) ++ { ++ QListWidgetItem *item = new QListWidgetItem(config->bufferViewName(), ui.bufferViewList); ++- item->setData(Qt::UserRole, qVariantFromValue(qobject_cast(config))); +++ item->setData(Qt::UserRole, QVariant::fromValue(qobject_cast(config))); ++ connect(config, SIGNAL(updatedRemotely()), this, SLOT(updateBufferView())); ++ connect(config, SIGNAL(destroyed()), this, SLOT(bufferViewDeleted())); ++ ui.deleteBufferView->setEnabled(ui.bufferViewList->count() > 1); diff --cc debian/patches/qt514/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch index 0000000,0000000..61e4cca new file mode 100644 --- /dev/null +++ b/debian/patches/qt514/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch @@@ -1,0 -1,0 +1,361 @@@ ++From 52209badc8e769e50aa3019b63689dda0e79e9d0 Mon Sep 17 00:00:00 2001 ++From: Manuel Nickschas ++Date: Tue, 7 Jan 2020 20:31:31 +0100 ++Subject: [PATCH 4/6] qa: Avoid deprecation warnings for QList/QSet conversions ++Bug: https://bugs.quassel-irc.org/issues/1544 ++Bug-Ubuntu: https://bugs.launchpad.net/quassel/+bug/1885436 ++Origin: upstream, https://github.com/quassel/quassel/pull/518 ++Origin: upstream, https://github.com/quassel/quassel/commit/52209badc8e769e50aa3019b63689dda0e79e9d0 ++ ++Qt 5.14 deprecated the explicit functions for converting between ++QSet and QList, preferring instead the use of range-based ctors. ++Unfortunately, those ctors were only added in Qt 5.14, so we can't ++use them when compiling against older versions. ++ ++Add a util function for QList->QSet to keep the version check in ++a single place. Replace the other direction by using QSet::values(). ++In some cases, conversions could be avoided altogether, or an STL ++container be used easily, so do that. ++--- ++ src/client/backlogrequester.cpp | 22 +++++++------------ ++ src/client/backlogrequester.h | 15 +++++-------- ++ src/client/bufferviewoverlay.cpp | 9 ++++---- ++ src/client/clientbacklogmanager.cpp | 3 ++- ++ src/client/messagefilter.cpp | 5 +++-- ++ src/common/ircuser.cpp | 2 +- ++ src/common/util.h | 11 ++++++++++ ++ src/core/corebuffersyncer.cpp | 3 ++- ++ src/qtui/chatview.cpp | 3 ++- ++ src/qtui/chatviewsearchcontroller.cpp | 5 ++--- ++ .../settingspages/chatmonitorsettingspage.cpp | 3 ++- ++ src/uisupport/bufferviewfilter.cpp | 3 ++- ++ 12 files changed, 46 insertions(+), 38 deletions(-) ++ ++--- a/src/client/backlogrequester.cpp +++++ b/src/client/backlogrequester.cpp ++@@ -35,26 +35,18 @@ BacklogRequester::BacklogRequester(bool ++ Q_ASSERT(backlogManager); ++ } ++ ++- ++-void BacklogRequester::setWaitingBuffers(const QSet &buffers) ++-{ ++- _buffersWaiting = buffers; ++- _totalBuffers = _buffersWaiting.count(); ++-} ++- ++- ++-void BacklogRequester::addWaitingBuffer(BufferId buffer) +++void BacklogRequester::setWaitingBuffers(const BufferIdList& buffers) ++ { ++- _buffersWaiting << buffer; ++- _totalBuffers++; +++ _buffersWaiting = {buffers.begin(), buffers.end()}; +++ _totalBuffers = int(_buffersWaiting.size()); ++ } ++ ++ ++ bool BacklogRequester::buffer(BufferId bufferId, const MessageList &messages) ++ { ++ _bufferedMessages << messages; ++- _buffersWaiting.remove(bufferId); ++- return !_buffersWaiting.isEmpty(); +++ _buffersWaiting.erase(bufferId); +++ return !_buffersWaiting.empty(); ++ } ++ ++ ++@@ -62,15 +54,14 @@ BufferIdList BacklogRequester::allBuffer ++ { ++ QSet bufferIds = Client::bufferViewOverlay()->bufferIds(); ++ bufferIds += Client::bufferViewOverlay()->tempRemovedBufferIds(); ++- return bufferIds.toList(); +++ return bufferIds.values(); ++ } ++ ++ ++ void BacklogRequester::flushBuffer() ++ { ++- if (!_buffersWaiting.isEmpty()) { ++- qWarning() << Q_FUNC_INFO << "was called before all backlog was received:" ++- << _buffersWaiting.count() << "buffers are waiting."; +++ if (!_buffersWaiting.empty()) { +++ qWarning() << Q_FUNC_INFO << "was called before all backlog was received:" << _buffersWaiting.size() << "buffers are waiting."; ++ } ++ _bufferedMessages.clear(); ++ _totalBuffers = 0; ++--- a/src/client/backlogrequester.h +++++ b/src/client/backlogrequester.h ++@@ -18,8 +18,9 @@ ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ++ ***************************************************************************/ ++ ++-#ifndef BACKLOGREQUESTER_H ++-#define BACKLOGREQUESTER_H +++#pragma once +++ +++#include ++ ++ #include ++ ++@@ -47,7 +48,7 @@ public: ++ inline RequesterType type() { return _requesterType; } ++ inline const QList &bufferedMessages() { return _bufferedMessages; } ++ ++- inline int buffersWaiting() const { return _buffersWaiting.count(); } +++ inline int buffersWaiting() const { return int(_buffersWaiting.size()); } ++ inline int totalBuffers() const { return _totalBuffers; } ++ ++ bool buffer(BufferId bufferId, const MessageList &messages); //! returns false if it was the last missing backlogpart ++@@ -59,9 +60,7 @@ public: ++ ++ protected: ++ BufferIdList allBufferIds() const; ++- inline void setWaitingBuffers(const QList &buffers) { setWaitingBuffers(buffers.toSet()); } ++- void setWaitingBuffers(const QSet &buffers); ++- void addWaitingBuffer(BufferId buffer); +++ void setWaitingBuffers(const BufferIdList& buffers); ++ ++ ClientBacklogManager *backlogManager; ++ ++@@ -70,7 +69,7 @@ private: ++ RequesterType _requesterType; ++ MessageList _bufferedMessages; ++ int _totalBuffers; ++- QSet _buffersWaiting; +++ std::set _buffersWaiting; ++ }; ++ ++ ++@@ -117,6 +116,3 @@ private: ++ int _limit; ++ int _additional; ++ }; ++- ++- ++-#endif //BACKLOGREQUESTER_H ++--- a/src/client/bufferviewoverlay.cpp +++++ b/src/client/bufferviewoverlay.cpp ++@@ -27,6 +27,7 @@ ++ #include "clientbacklogmanager.h" ++ #include "clientbufferviewmanager.h" ++ #include "networkmodel.h" +++#include "util.h" ++ ++ const int BufferViewOverlay::_updateEventId = QEvent::registerEventType(); ++ ++@@ -101,13 +102,13 @@ void BufferViewOverlay::addView(int view ++ if (Client::networkModel()->networkId(bufferId) == config->networkId()) ++ buffers << bufferId; ++ } ++- foreach(BufferId bufferId, config->temporarilyRemovedBuffers().toList()) { +++ for (BufferId bufferId : config->temporarilyRemovedBuffers()) { ++ if (Client::networkModel()->networkId(bufferId) == config->networkId()) ++ buffers << bufferId; ++ } ++ } ++ else { ++- buffers = BufferIdList::fromSet(config->bufferList().toSet() + config->temporarilyRemovedBuffers()); +++ buffers = (toQSet(config->bufferList()) + config->temporarilyRemovedBuffers()).values(); ++ } ++ Client::backlogManager()->checkForBacklog(buffers); ++ } ++@@ -224,12 +225,12 @@ void BufferViewOverlay::updateHelper() ++ ++ // we have to apply several filters before we can add a buffer to a category (visible, removed, ...) ++ buffers += filterBuffersByConfig(config->bufferList(), config); ++- tempRemovedBuffers += filterBuffersByConfig(config->temporarilyRemovedBuffers().toList(), config); +++ tempRemovedBuffers += filterBuffersByConfig(config->temporarilyRemovedBuffers().values(), config); ++ removedBuffers += config->removedBuffers(); ++ } ++ ++ // prune the sets from overlap ++- QSet availableBuffers = Client::networkModel()->allBufferIds().toSet(); +++ QSet availableBuffers = toQSet(Client::networkModel()->allBufferIds()); ++ ++ buffers.intersect(availableBuffers); ++ ++--- a/src/client/clientbacklogmanager.cpp +++++ b/src/client/clientbacklogmanager.cpp ++@@ -24,6 +24,7 @@ ++ #include "backlogsettings.h" ++ #include "backlogrequester.h" ++ #include "client.h" +++#include "util.h" ++ ++ #include ++ ++@@ -119,8 +120,8 @@ void ClientBacklogManager::requestInitia ++ BufferIdList ClientBacklogManager::filterNewBufferIds(const BufferIdList &bufferIds) ++ { ++ BufferIdList newBuffers; ++- QSet availableBuffers = Client::networkModel()->allBufferIds().toSet(); ++- foreach(BufferId bufferId, bufferIds) { +++ QSet availableBuffers = toQSet(Client::networkModel()->allBufferIds()); +++ foreach (BufferId bufferId, bufferIds) { ++ if (_buffersRequested.contains(bufferId) || !availableBuffers.contains(bufferId)) ++ continue; ++ newBuffers << bufferId; ++--- a/src/client/messagefilter.cpp +++++ b/src/client/messagefilter.cpp ++@@ -28,6 +28,7 @@ ++ #include "messagemodel.h" ++ #include "networkmodel.h" ++ #include "clientignorelistmanager.h" +++#include "util.h" ++ ++ MessageFilter::MessageFilter(QAbstractItemModel *source, QObject *parent) ++ : QSortFilterProxyModel(parent), ++@@ -40,7 +41,7 @@ MessageFilter::MessageFilter(QAbstractIt ++ ++ MessageFilter::MessageFilter(MessageModel *source, const QList &buffers, QObject *parent) ++ : QSortFilterProxyModel(parent), ++- _validBuffers(buffers.toSet()), +++ _validBuffers(toQSet(buffers)), ++ _messageTypeFilter(0) ++ { ++ init(); ++@@ -119,7 +120,7 @@ QString MessageFilter::idString() const ++ if (_validBuffers.isEmpty()) ++ return "*"; ++ ++- QList bufferIds = _validBuffers.toList(); +++ QList bufferIds = _validBuffers.values(); ++ qSort(bufferIds); ++ ++ QStringList bufferIdStrings; ++--- a/src/common/ircuser.cpp +++++ b/src/common/ircuser.cpp ++@@ -353,7 +353,7 @@ void IrcUser::partChannel(const QString ++ ++ void IrcUser::quit() ++ { ++- QList channels = _channels.toList(); +++ QList channels = _channels.values(); ++ _channels.clear(); ++ foreach(IrcChannel *channel, channels) { ++ disconnect(channel, 0, this, 0); ++--- a/src/common/util.h +++++ b/src/common/util.h ++@@ -21,6 +21,7 @@ ++ #pragma once ++ ++ #include +++#include ++ #include ++ #include ++ ++@@ -60,6 +61,16 @@ QVariantList toVariantList(const QList +++QSet toQSet(const QList& list) +++{ +++#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) +++ return list.toSet(); +++#else +++ return {list.begin(), list.end()}; +++#endif +++} +++ +++template ++ QList fromVariantList(const QVariantList &variants) ++ { ++ QList list; ++--- a/src/core/corebuffersyncer.cpp +++++ b/src/core/corebuffersyncer.cpp ++@@ -24,6 +24,7 @@ ++ #include "coresession.h" ++ #include "corenetwork.h" ++ #include "ircchannel.h" +++#include "util.h" ++ ++ class PurgeEvent : public QEvent ++ { ++@@ -193,7 +194,7 @@ void CoreBufferSyncer::purgeBufferIds() ++ actualBuffers << bufferInfo.bufferId(); ++ } ++ ++- QSet storedIds = lastSeenBufferIds().toSet() + markerLineBufferIds().toSet(); +++ QSet storedIds = toQSet(lastSeenBufferIds()) + toQSet(markerLineBufferIds()); ++ foreach(BufferId bufferId, storedIds) { ++ if (!actualBuffers.contains(bufferId)) { ++ BufferSyncer::removeBuffer(bufferId); ++--- a/src/qtui/chatview.cpp +++++ b/src/qtui/chatview.cpp ++@@ -31,6 +31,7 @@ ++ #include "qtui.h" ++ #include "qtuistyle.h" ++ #include "clientignorelistmanager.h" +++#include "util.h" ++ ++ #include "chatline.h" ++ ++@@ -316,7 +317,7 @@ QSet ChatView::visibleChatLi ++ ++ QList ChatView::visibleChatLinesSorted(Qt::ItemSelectionMode mode) const ++ { ++- QList result = visibleChatLines(mode).toList(); +++ QList result = visibleChatLines(mode).values(); ++ qSort(result.begin(), result.end(), chatLinePtrLessThan); ++ return result; ++ } ++--- a/src/qtui/chatviewsearchcontroller.cpp +++++ b/src/qtui/chatviewsearchcontroller.cpp ++@@ -128,7 +128,7 @@ void ChatViewSearchController::updateHig ++ if (line) ++ chatLines << line; ++ } ++- foreach(ChatLine *line, QList(chatLines.toList())) { +++ foreach (ChatLine* line, chatLines) { ++ updateHighlights(line); ++ } ++ } ++@@ -314,8 +314,7 @@ void ChatViewSearchController::repositio ++ if (line) ++ chatLines << line; ++ } ++- QList chatLineList(chatLines.toList()); ++- foreach(ChatLine *line, chatLineList) { +++ foreach (ChatLine* line, chatLines) { ++ repositionHighlights(line); ++ } ++ } ++--- a/src/qtui/settingspages/chatmonitorsettingspage.cpp +++++ b/src/qtui/settingspages/chatmonitorsettingspage.cpp ++@@ -28,6 +28,7 @@ ++ #include "bufferview.h" ++ #include "bufferviewfilter.h" ++ #include "chatviewsettings.h" +++#include "util.h" ++ ++ #include ++ ++@@ -196,7 +197,7 @@ bool ChatMonitorSettingsPage::testHasCha ++ if (_configActive->bufferList().count() != settings["Buffers"].toList().count()) ++ return true; ++ ++- QSet uiBufs = _configActive->bufferList().toSet(); +++ QSet uiBufs = toQSet(_configActive->bufferList()); ++ QSet settingsBufs; ++ foreach(QVariant v, settings["Buffers"].toList()) ++ settingsBufs << v.value(); ++--- a/src/uisupport/bufferviewfilter.cpp +++++ b/src/uisupport/bufferviewfilter.cpp ++@@ -32,6 +32,7 @@ ++ #include "graphicalui.h" ++ #include "networkmodel.h" ++ #include "uistyle.h" +++#include "util.h" ++ ++ ++ /***************************************** ++@@ -159,7 +160,7 @@ void BufferViewFilter::enableEditMode(bo ++ return; ++ ++ if (enable == false) { ++- addBuffers(QList::fromSet(_toAdd)); +++ addBuffers(_toAdd.values()); ++ QSet::const_iterator iter; ++ for (iter = _toTempRemove.constBegin(); iter != _toTempRemove.constEnd(); ++iter) { ++ if (config()->temporarilyRemovedBuffers().contains(*iter)) diff --cc debian/patches/qt514/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch index 0000000,0000000..c249361 new file mode 100644 --- /dev/null +++ b/debian/patches/qt514/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch @@@ -1,0 -1,0 +1,25 @@@ ++From 56491f1d5772764aa82a5bda85c83ab336af4346 Mon Sep 17 00:00:00 2001 ++From: Manuel Nickschas ++Date: Tue, 7 Jan 2020 20:39:38 +0100 ++Subject: [PATCH 5/6] qa: Replace deprecated QString::sprintf() by ++ QString::asprintf() ++Bug: https://bugs.quassel-irc.org/issues/1544 ++Bug-Ubuntu: https://bugs.launchpad.net/quassel/+bug/1885436 ++Origin: upstream, https://github.com/quassel/quassel/pull/518 ++Origin: upstream, https://github.com/quassel/quassel/commit/56491f1d5772764aa82a5bda85c83ab336af4346 ++ ++--- ++ src/uisupport/actioncollection.cpp | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++--- a/src/uisupport/actioncollection.cpp +++++ b/src/uisupport/actioncollection.cpp ++@@ -93,7 +93,7 @@ QAction *ActionCollection::addAction(con ++ else ++ action->setObjectName(indexName); ++ if (indexName.isEmpty()) ++- indexName = indexName.sprintf("unnamed-%p", (void *)action); +++ indexName = indexName.asprintf("unnamed-%p", (void*)action); ++ ++ // do we already have this action? ++ if (_actionByName.value(indexName, 0) == action) diff --cc debian/patches/series index 0000000,0000000..55949c2 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,7 @@@ ++01_default_network_channel.patch ++02_script_interpreter_path.patch ++qt514/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch ++qt514/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch ++qt514/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch ++qt514/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch ++qt514/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch diff --cc debian/quassel-client.install index 0000000,0000000..2090435 new file mode 100644 --- /dev/null +++ b/debian/quassel-client.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/bin/quasselclient ++usr/share/applications/quasselclient.desktop diff --cc debian/quassel-client.manpages index 0000000,0000000..8d6da06 new file mode 100644 --- /dev/null +++ b/debian/quassel-client.manpages @@@ -1,0 -1,0 +1,1 @@@ ++debian/manpages/quasselclient.1 diff --cc debian/quassel-core.install index 0000000,0000000..18c1f54 new file mode 100644 --- /dev/null +++ b/debian/quassel-core.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/bin/quasselcore ++debian/usr.bin.quasselcore /etc/apparmor.d ++debian/quassel-core.ufw.profile /etc/ufw/applications.d diff --cc debian/quassel-core.logrotate index 0000000,0000000..4a05659 new file mode 100644 --- /dev/null +++ b/debian/quassel-core.logrotate @@@ -1,0 -1,0 +1,10 @@@ ++/var/log/quassel/core.log { ++ rotate 4 ++ weekly ++ compress ++ delaycompress ++ copytruncate ++ missingok ++ notifempty ++} ++ diff --cc debian/quassel-core.manpages index 0000000,0000000..42b2438 new file mode 100644 --- /dev/null +++ b/debian/quassel-core.manpages @@@ -1,0 -1,0 +1,2 @@@ ++debian/manpages/quasselcore.1 ++ diff --cc debian/quassel-core.postinst index 0000000,0000000..358b2d8 new file mode 100644 --- /dev/null +++ b/debian/quassel-core.postinst @@@ -1,0 -1,0 +1,45 @@@ ++#!/bin/sh -e ++# postinst script for quassel-core ++ ++set -e ++ ++# some variables ++QUASSEL_GROUP=quassel ++QUASSEL_USER=quasselcore ++QUASSEL_HOME=/var/lib/quassel ++QUASSEL_LOG=/var/log/quassel ++QUASSEL_CERT=$QUASSEL_HOME/quasselCert.pem ++ ++# create group ++echo "Creating $QUASSEL_GROUP group ..." ++addgroup --quiet --system $QUASSEL_GROUP ++ ++# create user ++echo "Creating $QUASSEL_USER user ..." ++adduser --quiet --system --ingroup $QUASSEL_GROUP \ ++--home $QUASSEL_HOME --no-create-home $QUASSEL_USER ++ ++if [ ! -d $QUASSEL_HOME ] ; then ++ # create $HOME ++ echo "Creating $QUASSEL_HOME directory ..." ++ mkdir -p $QUASSEL_HOME ++ chown $QUASSEL_USER:$QUASSEL_GROUP $QUASSEL_HOME ++fi ++ ++if [ ! -d $QUASSEL_LOG ] ; then ++ echo "Creating $QUASSEL_LOG directory ..." ++ mkdir -p $QUASSEL_LOG ++ chown $QUASSEL_USER:$QUASSEL_GROUP $QUASSEL_LOG ++fi ++ ++# generate a SSL certificate for 18 months (support time) + 6 months (development time) ++# this covers the worst case scenario of earliest possible install + no whatsoever ++# updates while support time frame. otherwise the key will be regenerated ++# FIXME: Not over-writing existing certs, but need to (someday) replace old certs ++if [ ! -e $QUASSEL_CERT ] ; then ++ echo "Generating SSL certificate as $QUASSEL_CERT ..." ++ ( umask 0027 && runuser -u $QUASSEL_USER -- openssl req -x509 -nodes -batch -days 680 -newkey rsa \ ++ -keyout $QUASSEL_CERT -out $QUASSEL_CERT ) ++fi ++ ++#DEBHELPER# diff --cc debian/quassel-core.postrm index 0000000,0000000..1e90e86 new file mode 100644 --- /dev/null +++ b/debian/quassel-core.postrm @@@ -1,0 -1,0 +1,37 @@@ ++#!/bin/sh ++# postrm script for quassel-core ++ ++set -e ++ ++# configure some variables ++QUASSEL_GROUP=quassel ++QUASSEL_USER=quasselcore ++ ++case "$1" in ++ purge) ++ echo "Deleting $QUASSEL_USER user ..." ++ if which deluser > /dev/null; then ++ deluser --quiet --system $QUASSEL_USER ++ fi ++ ++ echo "Deleting $QUASSEL_GROUP group ..." ++ if which delgroup > /dev/null; then ++ delgroup --quiet --system $QUASSEL_GROUP ++ fi ++ ++ echo "Deleting /var/cache/quassel ..." ++ rm -rf /var/lib/quassel ++ echo "Deleting /var/log/quassel ..." ++ rm -rf /var/log/quassel ++ ;; ++ remove) ++ ;; ++ upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ++ ;; ++ *) ++ echo "postrm called with unknown argument \`$1'" >&2 ++ exit 1 ++ ;; ++esac ++ ++#DEBHELPER# diff --cc debian/quassel-core.quasselcore.default index 0000000,0000000..448472d new file mode 100644 --- /dev/null +++ b/debian/quassel-core.quasselcore.default @@@ -1,0 -1,0 +1,11 @@@ ++# Defaults for quasselcore initscript ++# sourced by /etc/init.d/quasselcore ++ ++# Loglevel Debug|Info|Warning|Error. Default is: Info ++LOGLEVEL="Info" ++ ++# The port quasselcore will listen at. Default is: 4242 ++PORT="4242" ++ ++# Network address to listen on ++LISTEN="::,0.0.0.0" diff --cc debian/quassel-core.quasselcore.init index 0000000,0000000..e4b3c74 new file mode 100644 --- /dev/null +++ b/debian/quassel-core.quasselcore.init @@@ -1,0 -1,0 +1,142 @@@ ++#!/bin/sh ++# ++# Copyright (C) 2008 Harald Sitter ++# Copyright (C) 2009 Thomas Mueller ++# Copyright (C) 2014 Thomas Mueller ++# ++# This is free software; you may 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, ++# or (at your option) any later version. ++# ++# This 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 with ++# the Debian operating system, in /usr/share/common-licenses/GPL; if ++# not, write to the Free Software Foundation, Inc., 51 Franklin Street, ++# Fifth Floor, Boston, MA 02110-1301, USA ++ ++### BEGIN INIT INFO ++# Provides: quasselcore ++# Required-Start: $remote_fs ++# Required-Stop: $remote_fs ++# Should-Start: postgresql ++# Should-Stop: postgresql ++# Default-Start: 2 3 4 5 ++# Default-Stop: 0 1 6 ++# Short-Description: distributed IRC client using a central core component ++# Description: This is the core component of Quassel. A modern, ++# cross-platform, distributed IRC client, meaning that one ++# (or multiple) client(s) can attach to and detach from this ++# central core. It's much like the popular combination ++# of screen and a text-based IRC client such as WeeChat. ++### END INIT INFO ++ ++PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin ++ ++DAEMON=/usr/bin/quasselcore ++NAME=quasselcore ++DESC="distributed IRC core" ++LOGDIR=/var/log/quassel ++ ++PIDFILE=/var/run/quasselcore.pid ++ ++# Test if binary exisits ++test -x $DAEMON || exit 0 ++ ++# Define LSB log_* functions. ++. /lib/lsb/init-functions ++ ++DAEMON_OPTS="" ++LOGFILE=$LOGDIR/core.log ++DATADIR=/var/lib/quassel ++DAEMONUSER=quasselcore ++ ++# defaulting LOGLEVEL and PORT, just in case /etc/default/$name gets deleted ++LOGLEVEL="Info" ++PORT="4242" ++LISTEN="::,0.0.0.0" ++ ++# source default ++if [ -f /etc/default/$NAME ] ; then ++ . /etc/default/$NAME ++fi ++ ++# test daemon user ++if [ -n "$DAEMONUSER" ] ; then ++ getent passwd | grep -q "^$DAEMONUSER:" ++ if [ $? -ne 0 ]; then ++ log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist." ++ exit 1 ++ fi ++fi ++ ++start_server() { ++ start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \ ++ --background --chuid $DAEMONUSER --exec $DAEMON \ ++ -- --logfile=$LOGFILE --loglevel=$LOGLEVEL --configdir=$DATADIR \ ++ --port=$PORT --listen=$LISTEN \ ++ $DAEMON_OPTS ++} ++ ++stop_server() { ++ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --user $DAEMONUSER \ ++ --exec $DAEMON ++} ++ ++reload_server() { ++ start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --user $DAEMONUSER \ ++ --exec $DAEMON ++} ++ ++case "$1" in ++ start) ++ log_daemon_msg "Starting $DESC" "$NAME" ++ start_server ++ case "$?" in ++ 0) log_end_msg 0 ;; ++ 1) log_progress_msg "already started" ++ log_end_msg 0 ;; ++ *) log_end_msg $? ;; ++ esac ++ ++ ;; ++ stop) ++ log_daemon_msg "Stopping $DESC" "$NAME" ++ stop_server ++ case "$?" in ++ 0) log_end_msg 0 ;; ++ 1) log_progress_msg "already stopped" ++ log_end_msg 0 ;; ++ *) log_end_msg $? ;; ++ esac ++ ++ ;; ++ reload) ++ log_daemon_msg "Reloading $DESC" "$NAME" ++ reload_server ++ case "$?" in ++ 0) log_end_msg 0 ;; ++ 1) log_progress_msg "not running" ++ log_end_msg 0 ;; ++ *) log_end_msg $? ;; ++ esac ++ ++ ;; ++ restart|force-reload) ++ $0 stop ++ $0 start ++ ;; ++ status) ++ status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? ++ ;; ++ *) ++ echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload|force-reload|status}" >&2 ++ exit 3 ++ ;; ++esac ++ ++exit 0 diff --cc debian/quassel-core.quasselcore.service index 0000000,0000000..6bdb1f5 new file mode 100644 --- /dev/null +++ b/debian/quassel-core.quasselcore.service @@@ -1,0 -1,0 +1,18 @@@ ++[Unit] ++Description=distributed IRC client using a central core component ++Documentation=man:quasselcore(1) ++Wants=network-online.target postgresql.service ++After=network-online.target postgresql.service ++ ++[Service] ++User=quasselcore ++Group=quassel ++WorkingDirectory=/var/lib/quassel ++Environment="DATADIR=/var/lib/quassel" "LOGFILE=/var/log/quassel/core.log" "LOGLEVEL=Info" "PORT=4242" "LISTEN=::,0.0.0.0" ++EnvironmentFile=-/etc/default/quasselcore ++ExecStart=/usr/bin/quasselcore --configdir=${DATADIR} --logfile=${LOGFILE} --loglevel=${LOGLEVEL} --port=${PORT} --listen=${LISTEN} ++ExecReload=/bin/kill -HUP $MAINPID ++Restart=on-failure ++ ++[Install] ++WantedBy=multi-user.target diff --cc debian/quassel-core.ufw.profile index 0000000,0000000..42e6cd6 new file mode 100644 --- /dev/null +++ b/debian/quassel-core.ufw.profile @@@ -1,0 -1,0 +1,4 @@@ ++[Quassel] ++title=Quassel Core ++description=Quassel IRC core/server component ++ports=4242/tcp diff --cc debian/quassel-data.install index 0000000,0000000..24c7372 new file mode 100644 --- /dev/null +++ b/debian/quassel-data.install @@@ -1,0 -1,0 +1,36 @@@ ++usr/share/icons/hicolor/ ++usr/share/pixmaps/ ++usr/share/quassel/icons/breeze*/apps/32/ ++usr/share/quassel/icons/breeze*/apps/64/ ++usr/share/quassel/icons/breeze*/apps/48/ ++usr/share/quassel/icons/breeze*/scalable/apps/ ++usr/share/quassel/icons/breeze*/scalable/status/ ++usr/share/quassel/icons/breeze*/scalable/actions/ ++usr/share/quassel/icons/breeze*/status/24/ ++usr/share/quassel/icons/breeze*/status/64/ ++usr/share/quassel/icons/breeze*/actions/32/ ++usr/share/quassel/icons/breeze*/actions/24/ ++usr/share/quassel/icons/oxygen/22x22/apps/ ++usr/share/quassel/icons/oxygen/22x22/status/ ++usr/share/quassel/icons/oxygen/22x22/actions/ ++usr/share/quassel/icons/oxygen/scalable/action/ ++usr/share/quassel/icons/oxygen/48x48/apps/ ++usr/share/quassel/icons/oxygen/48x48/status/ ++usr/share/quassel/icons/oxygen/48x48/actions/ ++usr/share/quassel/icons/oxygen/128x128/apps/ ++usr/share/quassel/icons/oxygen/128x128/status/ ++usr/share/quassel/icons/oxygen/128x128/actions/ ++usr/share/quassel/icons/oxygen/64x64/apps/ ++usr/share/quassel/icons/oxygen/64x64/status/ ++usr/share/quassel/icons/oxygen/64x64/actions/ ++usr/share/quassel/icons/oxygen/16x16/apps/ ++usr/share/quassel/icons/oxygen/16x16/status/ ++usr/share/quassel/icons/oxygen/16x16/actions/ ++usr/share/quassel/icons/oxygen/32x32/apps/ ++usr/share/quassel/icons/oxygen/32x32/status/ ++usr/share/quassel/icons/oxygen/32x32/actions/ ++usr/share/quassel/translations/*.qm ++usr/share/quassel/networks.ini ++usr/share/quassel/scripts/ ++usr/share/quassel/stylesheets/*.qss ++usr/share/knotifications5/quassel.notifyrc diff --cc debian/quassel-data.links index 0000000,0000000..50a719a new file mode 100644 --- /dev/null +++ b/debian/quassel-data.links @@@ -1,0 -1,0 +1,2 @@@ ++/usr/bin/inxi /usr/share/quassel/scripts/inxi ++/usr/bin/mpris-quassel /usr/share/quassel/scripts/mpris diff --cc debian/quassel.NEWS index 0000000,0000000..18384d6 new file mode 100644 --- /dev/null +++ b/debian/quassel.NEWS @@@ -1,0 -1,0 +1,22 @@@ ++quassel (1:0.13.0-1) experimental; urgency=medium ++ ++ Upstream recommends making a backup of your quassel database before ++ proceeding with the upgrade to 0.13.0: ++ ++ "Before you upgrade, please be aware that both the database schema and the ++ config file formats have been updated since 0.12. Quassel will ++ automatically upgrade both once the new version is started for the first ++ time, however no rollback is possible, so do make a backup before starting ++ the new version! The upgrade may take a long time (up to several hours) if ++ your database is (un)reasonably large, during which the core or mono client ++ cannot be used. The upgrade may also temporarily require up to double the ++ disk space. Do not interrupt the upgrade process, otherwise your database ++ may become corrupted!" ++ ++ The package does not restart on upgrade. The database upgrade will be done ++ after system reboot or manual restart. ++ ++ Please make a backup or decide to live dangerously before proceeding. ++ ++ -- Scott Kitterman Sun, 02 Dec 2018 17:21:06 -0500 ++ diff --cc debian/quassel.install index 0000000,0000000..14f2575 new file mode 100644 --- /dev/null +++ b/debian/quassel.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/bin/quassel ++usr/share/applications/quassel.desktop diff --cc debian/quassel.manpages index 0000000,0000000..6294277 new file mode 100644 --- /dev/null +++ b/debian/quassel.manpages @@@ -1,0 -1,0 +1,1 @@@ ++debian/manpages/quassel.1 diff --cc debian/rules index 0000000,0000000..f83543a new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,35 @@@ ++#!/usr/bin/make -f ++ ++export DEB_BUILD_MAINT_OPTIONS=hardening=+all ++export DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed ++ ++WEBENGINE_INSTALL_STATUS := $(shell dpkg-query -W --showformat='$${Status}\n' qtwebengine5-dev|grep "install ok installed") ++ifeq (install ok installed,$(WEBENGINE_INSTALL_STATUS)) ++ WEB_BACKEND = -DWITH_WEBKIT=OFF -DWITH_WEBENGINE=ON ++else ++ WEB_BACKEND = -DWITH_WEBKIT=ON -DWITH_WEBENGINE=OFF ++endif ++ ++%: ++ dh $@ ++ ++override_dh_auto_configure: ++ dh_auto_configure -- -DWITH_OXYGEN_ICONS=ON -DWITH_BUNDLED_ICONS=OFF -DUSE_QT5=ON -DWITH_KDE=ON $(WEB_BACKEND) ++ ++override_dh_install: ++ dh_install ++ # replace inxi with a symlink ++ifneq (,$(filter quassel-data, $(shell dh_listpackages))) ++ rm debian/quassel-data/usr/share/quassel/scripts/inxi ++endif ++ dh_missing --fail-missing ++ ++override_dh_installinit: ++ dh_apparmor -pquassel-core --profile-name=usr.bin.quasselcore ++ dh_installinit --no-stop-on-upgrade --no-restart-after-upgrade --error-handler=exit --name=quasselcore ++ ++override_dh_systemd_enable: ++ dh_systemd_enable --name=quasselcore ++ ++override_dh_systemd_start: ++ dh_systemd_start --name=quasselcore diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/usr.bin.quasselcore index 0000000,0000000..1dd43e8 new file mode 100644 --- /dev/null +++ b/debian/usr.bin.quasselcore @@@ -1,0 -1,0 +1,34 @@@ ++# Author: Felix Geyer ++# ++# This program is free software; you can redistribute it and/or ++# modify it under the terms of version 2 of the GNU General Public ++# License published by the Free Software Foundation. ++ ++#include ++ ++/usr/bin/quasselcore { ++ #include ++ #include ++ #include ++ #include ++ ++ /var/lib/quassel/ rw, ++ /var/lib/quassel/** rwkl, ++ ++ /var/log/quassel/* rw, ++ ++ /etc/xdg/Trolltech.conf r, ++ deny /etc/xdg/Trolltech.conf k, ++ /etc/ssl/openssl.cnf r, ++ /usr/lib/ssl/openssl.cnf r, ++ ++ # QSysInfo::machineUniqueId() ++ /var/lib/dbus/machine-id r, ++ /etc/machine-id r, ++ ++ # QSysInfo::bootUniqueId() ++ @{PROC}/sys/kernel/random/boot_id r, ++ ++ # Site-specific additions and overrides. See local/README for details. ++ #include ++} diff --cc debian/watch index 0000000,0000000..fadc0cf new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,4 @@@ ++version=3 ++ ++https://quassel-irc.org/downloads \ ++ /pub/quassel-(.*)\.tar\.bz2