Hello community, here is the log from the commit of package quassel for openSUSE:Factory checked in at 2016-02-08 09:48:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/quassel (Old) and /work/SRC/openSUSE:Factory/.quassel.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "quassel" Changes: -------- --- /work/SRC/openSUSE:Factory/quassel/quassel.changes 2015-11-16 18:51:50.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.quassel.new/quassel.changes 2016-02-08 09:48:47.000000000 +0100 @@ -1,0 +2,15 @@ +Sun Feb 7 10:04:26 UTC 2016 - [email protected] + +- Allow building kde and non-kde based quassel version +- Move quasselclient desktop to base so both variants don't have to + rename the file +- Introduce quasselclient-qt5 subpackage +- Use update-alternatives to switch between kde/qt5 versions + +------------------------------------------------------------------- +Mon Dec 14 12:14:48 UTC 2015 - [email protected] + +- Apply patch for bnc#958928 CVE-2015-8547: + * CVE-2015-8547.patch + +------------------------------------------------------------------- New: ---- CVE-2015-8547.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ quassel.spec ++++++ --- /var/tmp/diff_new_pack.hgLFpK/_old 2016-02-08 09:48:48.000000000 +0100 +++ /var/tmp/diff_new_pack.hgLFpK/_new 2016-02-08 09:48:48.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package quassel # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -35,6 +35,8 @@ Patch1: Fix-build-with-Qt-5.5.patch # PATCH-FIX-UPSTREAM Fix-rejoining-parted-channels.patch Patch2: Fix-rejoining-parted-channels.patch +# PATCH-FIX-UPSTREAM: fix CVE-2015-8547 +Patch3: CVE-2015-8547.patch BuildRequires: cmake >= 2.8.10 BuildRequires: extra-cmake-modules BuildRequires: fdupes @@ -118,7 +120,25 @@ making communication with your peers not only convenient, but also ubiquitous available. -This is the quassel client only +This is the quassel KDE client only + +%package client-qt5 +Summary: Modern, cross-platform, distributed IRC client +Group: Productivity/Networking/IRC +Requires: %{name}-base = %{version} +Provides: %{name}_ui = %{version} + +%description client-qt5 +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. In addition to this uniqe feature, we aim to bring +a pleasurable, comfortable chatting experience to all major platforms (including +Linux®, Windows®, and MacOS X® as well as Qtopia-based cell phones and PDAs), +making communication with your peers not only convenient, but also ubiquitous +available. + +This is the quassel Qt5 client only %package core Summary: Modern, cross-platform, distributed IRC client @@ -163,6 +183,7 @@ %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build FAKE_BUILDDATE=$(LC_ALL=C date -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y') @@ -172,9 +193,21 @@ %cmake_kf5 -d build -- -DUSE_QT5=ON -DWITH_WEBKIT=ON -DWITH_KDE=ON make %{?_smp_mflags} +cd .. +%cmake_kf5 -d build-qt5 -- -DUSE_QT5=ON -DWITH_WEBKIT=ON -DWITH_KDE=OFF +make %{?_smp_mflags} %install %kf5_makeinstall -C build + +# Allow client qt5/kde co-install +mv %{buildroot}%{_bindir}/quasselclient %{buildroot}%{_bindir}/quasselclient-kde +install build-qt5/quasselclient %{buildroot}%{_bindir}/quasselclient-qt5 +# Alternatives +mkdir -p %{buildroot}%{_sysconfdir}/alternatives +touch %{buildroot}%{_sysconfdir}/alternatives/quasselclient +ln -sf %{_sysconfdir}/alternatives/quasselclient %{buildroot}%{_bindir}/quasselclient + %fdupes %{buildroot} install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}core install -d -m 755 %{buildroot}%{_sbindir} @@ -209,6 +242,22 @@ %postun base %icon_theme_cache_postun +%post client +update-alternatives --install %{_bindir}/quasselclient quasselclient %{_bindir}/quasselclient-kde 20 + +%postun client +if [ $1 -eq 0 ] ; then + update-alternatives --remove quasselclient %{_bindir}/quasselclient-kde +fi + +%post client-qt5 +update-alternatives --install %{_bindir}/quasselclient quasselclient %{_bindir}/quasselclient-qt5 10 + +%postun client-qt5 +if [ $1 -eq 0 ] ; then + update-alternatives --remove quasselclient %{_bindir}/quasselclient-qt5 +fi + %files mono %defattr(-,root,root) %doc AUTHORS ChangeLog README @@ -218,7 +267,15 @@ %files client %defattr(-,root,root) %doc AUTHORS ChangeLog README -%{_datadir}/applications/%{name}client.desktop +%{_bindir}/%{name}client-kde +%ghost %{_sysconfdir}/alternatives/quasselclient +%{_bindir}/%{name}client + +%files client-qt5 +%defattr(-,root,root) +%doc AUTHORS ChangeLog README +%{_bindir}/%{name}client-qt5 +%ghost %{_sysconfdir}/alternatives/quasselclient %{_bindir}/%{name}client %files core @@ -235,6 +292,7 @@ %files base %defattr(-,root,root) +%{_datadir}/applications/%{name}client.desktop %{_datadir}/pixmaps/%{name}.png %dir %{_datadir}/%{name} %{_datadir}/%{name} ++++++ CVE-2015-8547.patch ++++++ >From 476aaa050f26d6a31494631d172724409e4c569b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Bl=C3=A4si?= <[email protected]> Date: Wed, 21 Oct 2015 03:26:02 +0200 Subject: [PATCH] Fixes a crash of the core when executing "/op *" in a query. --- src/core/coreuserinputhandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/coreuserinputhandler.cpp b/src/core/coreuserinputhandler.cpp index 7887a92..73aac48 100644 --- a/src/core/coreuserinputhandler.cpp +++ b/src/core/coreuserinputhandler.cpp @@ -228,7 +228,7 @@ void CoreUserInputHandler::doMode(const BufferInfo &bufferInfo, const QChar& add if (!isNumber || maxModes == 0) maxModes = 1; QStringList nickList; - if (nicks == "*") { // All users in channel + if (nicks == "*" && bufferInfo.type() == BufferInfo::ChannelBuffer) { // All users in channel const QList<IrcUser*> users = network()->ircChannel(bufferInfo.bufferName())->ircUsers(); foreach(IrcUser *user, users) { if ((addOrRemove == '+' && !network()->ircChannel(bufferInfo.bufferName())->userModes(user).contains(mode))
