diff -Nru quassel-0.13.1/debian/changelog quassel-0.13.1/debian/changelog --- quassel-0.13.1/debian/changelog 2020-06-28 16:54:49.000000000 +0200 +++ quassel-0.13.1/debian/changelog 2021-08-18 11:57:23.000000000 +0200 @@ -1,3 +1,37 @@ +quassel (1:0.13.1-5ubuntu1) impish; urgency=low + + * Merge from Debian unstable. Remaining changes: + - Change the default channel to #lubuntu. + - Update apparmor profile to allow running in lxd + * Dropped changes, merged in Debian: + - Fix FTBFS due to QT 5.14 changes + + -- Simon Chopin Wed, 18 Aug 2021 11:57:23 +0200 + +quassel (1:0.13.1-5) unstable; urgency=medium + + [ Christian Göttsche ] + * Start quasselcore with --require-ssl (Closes: #950244) + + [ Felix Geyer ] + * Switch to debhelper compat level 12. + + -- Felix Geyer Fri, 12 Feb 2021 18:40:17 +0100 + +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-3ubuntu3) groovy; urgency=medium * d/p/lp1885436/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch, @@ -688,3 +722,4 @@ * Initial release (LP: #195861) -- Harald Sitter Sat, 23 Feb 2008 14:22:06 +0100 + diff -Nru quassel-0.13.1/debian/control quassel-0.13.1/debian/control --- quassel-0.13.1/debian/control 2020-06-28 16:54:49.000000000 +0200 +++ quassel-0.13.1/debian/control 2021-02-12 22:20:29.000000000 +0100 @@ -5,7 +5,7 @@ Uploaders: Thomas Mueller , Felix Geyer , Scott Kitterman -Build-Depends: debhelper-compat (= 10), +Build-Depends: debhelper-compat (= 12), dh-apparmor, cmake, libqca-qt5-2-dev, @@ -28,13 +28,15 @@ libkf5widgetsaddons-dev, libssl-dev Homepage: https://www.quassel-irc.org/ -Standards-Version: 4.4.1 +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 +Pre-Depends: ${misc:Pre-Depends} 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 @@ -60,6 +62,7 @@ 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 diff -Nru quassel-0.13.1/debian/patches/lp1885436/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch quassel-0.13.1/debian/patches/lp1885436/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch --- quassel-0.13.1/debian/patches/lp1885436/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch 2020-06-28 16:54:49.000000000 +0200 +++ quassel-0.13.1/debian/patches/lp1885436/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -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 -Nru quassel-0.13.1/debian/patches/lp1885436/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch quassel-0.13.1/debian/patches/lp1885436/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch --- quassel-0.13.1/debian/patches/lp1885436/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch 2020-06-28 16:54:49.000000000 +0200 +++ quassel-0.13.1/debian/patches/lp1885436/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,424 +0,0 @@ -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 -Nru quassel-0.13.1/debian/patches/lp1885436/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch quassel-0.13.1/debian/patches/lp1885436/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch --- quassel-0.13.1/debian/patches/lp1885436/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch 2020-06-28 16:54:49.000000000 +0200 +++ quassel-0.13.1/debian/patches/lp1885436/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,130 +0,0 @@ -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 -Nru quassel-0.13.1/debian/patches/lp1885436/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch quassel-0.13.1/debian/patches/lp1885436/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch --- quassel-0.13.1/debian/patches/lp1885436/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch 2020-06-28 16:54:49.000000000 +0200 +++ quassel-0.13.1/debian/patches/lp1885436/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,361 +0,0 @@ -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 -Nru quassel-0.13.1/debian/patches/lp1885436/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch quassel-0.13.1/debian/patches/lp1885436/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch --- quassel-0.13.1/debian/patches/lp1885436/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch 2020-06-28 16:54:49.000000000 +0200 +++ quassel-0.13.1/debian/patches/lp1885436/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ -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 -Nru quassel-0.13.1/debian/patches/qt514/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch quassel-0.13.1/debian/patches/qt514/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch --- quassel-0.13.1/debian/patches/qt514/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch 1970-01-01 01:00:00.000000000 +0100 +++ quassel-0.13.1/debian/patches/qt514/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch 2020-07-13 22:57:47.000000000 +0200 @@ -0,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 -Nru quassel-0.13.1/debian/patches/qt514/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch quassel-0.13.1/debian/patches/qt514/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch --- quassel-0.13.1/debian/patches/qt514/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch 1970-01-01 01:00:00.000000000 +0100 +++ quassel-0.13.1/debian/patches/qt514/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch 2020-07-13 22:57:47.000000000 +0200 @@ -0,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 -Nru quassel-0.13.1/debian/patches/qt514/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch quassel-0.13.1/debian/patches/qt514/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch --- quassel-0.13.1/debian/patches/qt514/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch 1970-01-01 01:00:00.000000000 +0100 +++ quassel-0.13.1/debian/patches/qt514/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch 2020-07-13 22:57:47.000000000 +0200 @@ -0,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 -Nru quassel-0.13.1/debian/patches/qt514/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch quassel-0.13.1/debian/patches/qt514/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch --- quassel-0.13.1/debian/patches/qt514/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch 1970-01-01 01:00:00.000000000 +0100 +++ quassel-0.13.1/debian/patches/qt514/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch 2020-07-13 22:57:47.000000000 +0200 @@ -0,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 -Nru quassel-0.13.1/debian/patches/qt514/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch quassel-0.13.1/debian/patches/qt514/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch --- quassel-0.13.1/debian/patches/qt514/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch 1970-01-01 01:00:00.000000000 +0100 +++ quassel-0.13.1/debian/patches/qt514/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.patch 2020-07-13 22:57:47.000000000 +0200 @@ -0,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 -Nru quassel-0.13.1/debian/patches/series quassel-0.13.1/debian/patches/series --- quassel-0.13.1/debian/patches/series 2020-06-28 16:54:49.000000000 +0200 +++ quassel-0.13.1/debian/patches/series 2021-08-18 11:43:23.000000000 +0200 @@ -1,7 +1,7 @@ 02_script_interpreter_path.patch lubuntu_01_default_network_channel.patch -lp1885436/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch -lp1885436/0002-common-Always-let-QVariant-fromValue-deduce-the-type.patch -lp1885436/0003-qa-Replace-deprecated-qVariantFromValue-by-QVariant-.patch -lp1885436/0004-qa-Avoid-deprecation-warnings-for-QList-QSet-convers.patch -lp1885436/0005-qa-Replace-deprecated-QString-sprintf-by-QString-asp.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 -Nru quassel-0.13.1/debian/quassel-core.quasselcore.service quassel-0.13.1/debian/quassel-core.quasselcore.service --- quassel-0.13.1/debian/quassel-core.quasselcore.service 2019-10-03 11:59:08.000000000 +0200 +++ quassel-0.13.1/debian/quassel-core.quasselcore.service 2021-02-12 22:20:29.000000000 +0100 @@ -10,7 +10,7 @@ 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} +ExecStart=/usr/bin/quasselcore --configdir=${DATADIR} --logfile=${LOGFILE} --loglevel=${LOGLEVEL} --port=${PORT} --listen=${LISTEN} --require-ssl ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure diff -Nru quassel-0.13.1/debian/rules quassel-0.13.1/debian/rules --- quassel-0.13.1/debian/rules 2020-06-28 16:54:49.000000000 +0200 +++ quassel-0.13.1/debian/rules 2021-02-12 22:20:29.000000000 +0100 @@ -22,14 +22,14 @@ ifneq (,$(filter quassel-data, $(shell dh_listpackages))) rm debian/quassel-data/usr/share/quassel/scripts/inxi endif + + dh_apparmor -pquassel-core --profile-name=usr.bin.quasselcore + +override_dh_missing: 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 +override_dh_installsystemd: + dh_installsystemd --no-stop-on-upgrade --no-restart-after-upgrade --name=quasselcore diff -Nru quassel-0.13.1/debian/salsa-ci.yml quassel-0.13.1/debian/salsa-ci.yml --- quassel-0.13.1/debian/salsa-ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ quassel-0.13.1/debian/salsa-ci.yml 2021-01-02 21:50:05.000000000 +0100 @@ -0,0 +1,8 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml + +variables: + SALSA_CI_LINTIAN_FAIL_WARNING: 1 + SALSA_CI_DISABLE_BLHC: 1