Compare commits
26 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
c7283b8066 | ||
|
c80e96268d | ||
|
fd0e455f70 | ||
|
38b8c8de0d | ||
|
dadd1cafbe | ||
|
a4a01db5bf | ||
|
e0e5ccde41 | ||
|
ba995db099 | ||
|
1d3e5a3566 | ||
|
5ed9e0ba62 | ||
|
a3338edcfa | ||
|
88bf4b40ab | ||
|
ba3343956e | ||
|
d52d4cb95b | ||
|
cdeed80bba | ||
|
d0d879eaa0 | ||
|
b86b0448e4 | ||
|
568b758001 | ||
|
149515a277 | ||
|
882cfc9f54 | ||
|
8d569b4ce7 | ||
|
6c3a0a4c26 | ||
|
2737f2f2c8 | ||
|
0b61435b61 | ||
|
fd40309299 | ||
|
004176ee9b |
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
|
*.rpm
|
||||||
/quassel-0.7.3.tar.bz2
|
/quassel-0.7.3.tar.bz2
|
||||||
/quassel-0.8.0.tar.bz2
|
/quassel-0.8.0.tar.bz2
|
||||||
/quassel-0.9.0.tar.bz2
|
/quassel-0.9.0.tar.bz2
|
||||||
@ -9,3 +10,6 @@
|
|||||||
/quassel-0.12.3.tar.bz2
|
/quassel-0.12.3.tar.bz2
|
||||||
/quassel-0.12.4.tar.bz2
|
/quassel-0.12.4.tar.bz2
|
||||||
/quassel-0.12.5.tar.bz2
|
/quassel-0.12.5.tar.bz2
|
||||||
|
/quassel-0.13.0.tar.bz2
|
||||||
|
/quassel-0.13.1.tar.bz2
|
||||||
|
/quassel-0.14.0.tar.bz2
|
||||||
|
23
patch-src_common_types.h
Normal file
23
patch-src_common_types.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Fix with Qt5-5.14
|
||||||
|
|
||||||
|
Obtained from:
|
||||||
|
https://github.com/quassel/quassel/commit/579e559a6322209df7cd51c34801fecff5fe734b
|
||||||
|
|
||||||
|
--- src/common/types.h.orig 2020-04-04 10:50:56 UTC
|
||||||
|
+++ src/common/types.h
|
||||||
|
@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress)
|
||||||
|
typedef QList<MsgId> MsgIdList;
|
||||||
|
typedef QList<BufferId> 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, T &value) {
|
||||||
|
value = static_cast<T>(v);
|
||||||
|
return in;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// Exceptions
|
||||||
|
|
39
quassel-gcc11.patch
Normal file
39
quassel-gcc11.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
diff --git a/src/common/protocols/datastream/datastreampeer.cpp b/src/common/protocols/datastream/datastreampeer.cpp
|
||||||
|
index 033639e..8c65f79 100644
|
||||||
|
--- src/common/protocols/datastream/datastreampeer.cpp
|
||||||
|
+++ src/common/protocols/datastream/datastreampeer.cpp
|
||||||
|
@@ -18,6 +18,8 @@
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
+#include <limits>
|
||||||
|
+
|
||||||
|
#include <QtEndian>
|
||||||
|
#include <QDataStream>
|
||||||
|
#include <QHostAddress>
|
||||||
|
diff --git a/src/common/remotepeer.cpp b/src/common/remotepeer.cpp
|
||||||
|
index bc9f9d0..89bee40 100644
|
||||||
|
--- src/common/remotepeer.cpp
|
||||||
|
+++ src/common/remotepeer.cpp
|
||||||
|
@@ -18,6 +18,8 @@
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
+#include <limits>
|
||||||
|
+
|
||||||
|
#include <QtEndian>
|
||||||
|
|
||||||
|
#include <QHostAddress>
|
||||||
|
diff --git a/src/core/coretransfer.cpp b/src/core/coretransfer.cpp
|
||||||
|
index cf12088..031aaa0 100644
|
||||||
|
--- src/core/coretransfer.cpp
|
||||||
|
+++ src/core/coretransfer.cpp
|
||||||
|
@@ -18,6 +18,8 @@
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
+#include <limits>
|
||||||
|
+
|
||||||
|
#include <QtEndian>
|
||||||
|
|
||||||
|
#include <QCoreApplication>
|
136
quassel.spec
136
quassel.spec
@ -1,14 +1,13 @@
|
|||||||
%global quassel_user quassel
|
|
||||||
%global quassel_data_dir %{_var}/lib/quassel
|
%global quassel_data_dir %{_var}/lib/quassel
|
||||||
|
|
||||||
Name: quassel
|
Name: quassel
|
||||||
Summary: A modern distributed IRC system
|
Summary: A modern distributed IRC system
|
||||||
Version: 0.12.5
|
Version: 0.14.0
|
||||||
Release: 1%{?dist}
|
Release: 3%{?dist}
|
||||||
|
|
||||||
License: GPLv2 or GPLv3
|
License: GPLv2 or GPLv3
|
||||||
URL: http://quassel-irc.org/
|
URL: https://quassel-irc.org/
|
||||||
Source0: http://quassel-irc.org/pub/quassel-%{version}.tar.bz2
|
Source0: https://quassel-irc.org/pub/quassel-%{version}.tar.bz2
|
||||||
|
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: dbusmenu-qt5-devel
|
BuildRequires: dbusmenu-qt5-devel
|
||||||
@ -31,8 +30,12 @@ BuildRequires: qt5-linguist
|
|||||||
BuildRequires: qt5-qtbase-devel
|
BuildRequires: qt5-qtbase-devel
|
||||||
BuildRequires: qt5-qtscript-devel
|
BuildRequires: qt5-qtscript-devel
|
||||||
BuildRequires: qt5-qtwebkit-devel
|
BuildRequires: qt5-qtwebkit-devel
|
||||||
|
BuildRequires: qt5-qtmultimedia-devel
|
||||||
|
BuildRequires: openldap-devel
|
||||||
|
BuildRequires: boost-devel
|
||||||
|
|
||||||
BuildRequires: systemd
|
BuildRequires: systemd
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
|
|
||||||
BuildRequires: libappstream-glib
|
BuildRequires: libappstream-glib
|
||||||
|
|
||||||
@ -45,10 +48,7 @@ Requires: %{name}-common = %{version}-%{release}
|
|||||||
# Systemd service file and configuration script.
|
# Systemd service file and configuration script.
|
||||||
Source1: quasselcore.service
|
Source1: quasselcore.service
|
||||||
Source2: quassel.conf
|
Source2: quassel.conf
|
||||||
|
Source3: quassel.sysusers
|
||||||
# Appstream metadata, for GNOME Software.
|
|
||||||
Source4: quassel.appdata.xml
|
|
||||||
Source5: quasselclient.appdata.xml
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Quassel IRC is a modern, distributed IRC client,
|
Quassel IRC is a modern, distributed IRC client,
|
||||||
@ -64,8 +64,6 @@ Summary: Quassel common/shared files
|
|||||||
Requires: %{name}-gui = %{version}-%{release}
|
Requires: %{name}-gui = %{version}-%{release}
|
||||||
# put here for convenience, instead of all subpkgs which
|
# put here for convenience, instead of all subpkgs which
|
||||||
# provide %%{name}-gui
|
# provide %%{name}-gui
|
||||||
#%{?_kde4_version:Requires: kdelibs4 >= %{_kde4_version}}
|
|
||||||
#%{?_qt4_version:Requires: qt4 >= %{_qt4_version}}
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
%description common
|
%description common
|
||||||
%{summary}.
|
%{summary}.
|
||||||
@ -73,8 +71,9 @@ BuildArch: noarch
|
|||||||
%package core
|
%package core
|
||||||
Summary: Quassel core component
|
Summary: Quassel core component
|
||||||
|
|
||||||
# Required for the quassel user.
|
# Weak dependency on qt5 postgresql bindings.
|
||||||
Requires(pre): shadow-utils
|
# We use a weak dependency here so they can be uninstalled if necessary.
|
||||||
|
Recommends: qt5-qtbase-postgresql
|
||||||
|
|
||||||
%description core
|
%description core
|
||||||
The Quassel IRC Core maintains a connection with the
|
The Quassel IRC Core maintains a connection with the
|
||||||
@ -89,59 +88,42 @@ Quassel client
|
|||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}
|
%autosetup -p0 -n %{name}-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
mkdir build
|
%cmake_kf5 \
|
||||||
pushd build
|
-DWANT_MONO=1 -DUSE_QT5=1 -DWITH_KDE=1 -DHAVE_SSL=1 -DENABLE_SHARED=OFF
|
||||||
%{cmake_kf5} .. -DWANT_MONO=1 -DUSE_QT5=1 -DWITH_KDE=1 -DHAVE_SSL=1
|
|
||||||
popd
|
|
||||||
|
|
||||||
make %{?_smp_mflags} -C build
|
%cmake_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install/fast DESTDIR=%{buildroot} -C build
|
%cmake_install
|
||||||
|
|
||||||
# unpackaged files
|
# unpackaged files
|
||||||
rm -f %{buildroot}/%{_datadir}/pixmaps/quassel.png
|
rm -f %{buildroot}/%{_datadir}/pixmaps/quassel.png
|
||||||
|
|
||||||
# Install quassel.conf for systemd file
|
# Install quassel.conf for systemd file
|
||||||
mkdir -p %{buildroot}/%{_sysconfdir}
|
install -Dp -m 0644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/%{name}.conf
|
||||||
install -m 0644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/
|
|
||||||
|
|
||||||
# Install systemd service file
|
# Install systemd service file
|
||||||
install -d -m 0755 %{buildroot}/%{_unitdir}
|
install -Dp -m 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/quasselcore.service
|
||||||
install -p -m 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/
|
|
||||||
|
# Install the systemd-sysusers config
|
||||||
|
install -Dp -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/%{name}.conf
|
||||||
|
|
||||||
# Home directory for quassel user
|
# Home directory for quassel user
|
||||||
install -d -m 0750 %{buildroot}/%{quassel_data_dir}
|
install -d -m 0750 %{buildroot}/%{quassel_data_dir}
|
||||||
|
|
||||||
# Install the appdata files.
|
# Install AppStream metadata
|
||||||
mkdir %{buildroot}%{_datadir}/appdata/
|
install -d -m 0755 %{buildroot}%{_datadir}/metainfo
|
||||||
cp -a %{SOURCE4} %{SOURCE5} %{buildroot}%{_datadir}/appdata/
|
install -p -m 0644 data/*.appdata.xml %{buildroot}%{_datadir}/metainfo/
|
||||||
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/*.appdata.xml
|
|
||||||
|
|
||||||
|
%check
|
||||||
%post common
|
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdata.xml
|
||||||
touch --no-create %{_kf5_iconsdir}/hicolor &> /dev/null || :
|
|
||||||
|
|
||||||
%postun common
|
|
||||||
if [ $1 -eq 0 ] ; then
|
|
||||||
touch --no-create %{_kf5_iconsdir}/hicolor &> /dev/null
|
|
||||||
gtk-update-icon-cache %{_kf5_iconsdir}/hicolor &> /dev/null || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%posttrans common
|
|
||||||
gtk-update-icon-cache %{_kf5_iconsdir}/hicolor &> /dev/null || :
|
|
||||||
|
|
||||||
# Core pre/post macros.
|
# Core pre/post macros.
|
||||||
|
|
||||||
%pre core
|
%pre core
|
||||||
getent group %{quassel_user} >/dev/null || groupadd -r %{quassel_user}
|
%sysusers_create_compat %{SOURCE3}
|
||||||
getent passwd %{quassel_user} >/dev/null || \
|
|
||||||
useradd -r -g %{quassel_user} -d %{quassel_data_dir} -s /sbin/nologin \
|
|
||||||
-c "Account to own and run the quasselcore daemon from." %{quassel_user}
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
%post core
|
%post core
|
||||||
# Install quassel service.
|
# Install quassel service.
|
||||||
@ -156,7 +138,7 @@ exit 0
|
|||||||
%files
|
%files
|
||||||
%{_kf5_bindir}/quassel
|
%{_kf5_bindir}/quassel
|
||||||
%{_kf5_datadir}/applications/quassel.desktop
|
%{_kf5_datadir}/applications/quassel.desktop
|
||||||
%{_datadir}/appdata/quassel.appdata.xml
|
%{_datadir}/metainfo/quassel.appdata.xml
|
||||||
|
|
||||||
%files common
|
%files common
|
||||||
%doc README.md
|
%doc README.md
|
||||||
@ -172,14 +154,72 @@ exit 0
|
|||||||
%dir %attr(-,quassel,quassel) %{quassel_data_dir}
|
%dir %attr(-,quassel,quassel) %{quassel_data_dir}
|
||||||
%{_unitdir}/quasselcore.service
|
%{_unitdir}/quasselcore.service
|
||||||
%config(noreplace) %{_sysconfdir}/quassel.conf
|
%config(noreplace) %{_sysconfdir}/quassel.conf
|
||||||
|
%{_sysusersdir}/%{name}.conf
|
||||||
|
|
||||||
%files client
|
%files client
|
||||||
%{_kf5_bindir}/quasselclient
|
%{_kf5_bindir}/quasselclient
|
||||||
%{_kf5_datadir}/applications/quasselclient.desktop
|
%{_kf5_datadir}/applications/quasselclient.desktop
|
||||||
%{_datadir}/appdata/quasselclient.appdata.xml
|
%{_datadir}/metainfo/quasselclient.appdata.xml
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 25 2022 Chris Egeland <phuzion@fedoraproject.org> - 0.14.0-1
|
||||||
|
- New upstream release (rhbz#1917071)
|
||||||
|
|
||||||
|
* Thu Feb 10 2022 Timothée Ravier <tim@siosm.fr> - 0.13.1-11
|
||||||
|
- Use systemd sysusers config to create user and group
|
||||||
|
- Use upstream AppStream metadata
|
||||||
|
|
||||||
|
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jun 17 2021 Chris Egeland <chris@chrisegeland.com> - 0.13.1-8
|
||||||
|
- Added security fix for CVE-2021-34825
|
||||||
|
|
||||||
|
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.13.1-7
|
||||||
|
- Rebuilt for updated systemd-rpm-macros
|
||||||
|
See https://pagure.io/fesco/issue/2583.
|
||||||
|
|
||||||
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Oct 16 2020 Jeff Law <law@redhat.com> - 0.13.1-6
|
||||||
|
- Fix missing #include for gcc-11
|
||||||
|
|
||||||
|
* Mon Jul 13 2020 Marie Loise Nolden <loise@kde.org> - 0.13.1-5
|
||||||
|
- Fix for Qt 5.14.2 from FreeBSD ports tree
|
||||||
|
|
||||||
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 16 2019 Ben Rosser <rosser.bjr@gmail.com> - 0.13.1-2
|
||||||
|
- Add a weak dep (Recommends) on qt5-qtbase-postgresql.
|
||||||
|
|
||||||
|
* Fri Feb 15 2019 Ben Rosser <rosser.bjr@gmail.com> - 0.13.1-1
|
||||||
|
- Updated to latest upstream release, 0.13.1 (rhbz#1677722).
|
||||||
|
|
||||||
|
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Nov 19 2018 Ben Rosser <rosser.bjr@gmail.com> - 0.13.0-1
|
||||||
|
- Updated to latest upstream release, 0.13.0.
|
||||||
|
- Add support for reloading quasselcore daemon via SIGHUP (#1380176).
|
||||||
|
|
||||||
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.5-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
* Mon Apr 30 2018 Ben Rosser <rosser.bjr@gmail.com> - 0.12.5-1
|
* Mon Apr 30 2018 Ben Rosser <rosser.bjr@gmail.com> - 0.12.5-1
|
||||||
- Updated to latest upstream release (#1571443, #1573318, #1573319).
|
- Updated to latest upstream release (#1571443, #1573318, #1573319).
|
||||||
|
|
||||||
|
1
quassel.sysusers
Normal file
1
quassel.sysusers
Normal file
@ -0,0 +1 @@
|
|||||||
|
u quassel - "quasselcore daemon" /var/lib/quassel
|
18
quassel_0.13.1_CVE-2021-34825.patch
Normal file
18
quassel_0.13.1_CVE-2021-34825.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
diff --git src/core/sslserver.cpp src/core/sslserver.cpp
|
||||||
|
index de420bd8..e4fcbc32 100644
|
||||||
|
--- src/core/sslserver.cpp
|
||||||
|
+++ src/core/sslserver.cpp
|
||||||
|
@@ -52,6 +52,13 @@ SslServer::SslServer(QObject *parent)
|
||||||
|
|
||||||
|
// Initialize the certificates for first-time usage
|
||||||
|
if (!loadCerts()) {
|
||||||
|
+ // If the core is unable to load a certificate, and "--require-ssl" is specified,
|
||||||
|
+ // do not proceed, throw an exception and quit. This prevents the core from falling
|
||||||
|
+ // back to a plaintext-only core when they should be expecting SSL/TLS only.
|
||||||
|
+ if (Quassel::isOptionSet("require-ssl")) {
|
||||||
|
+ throw ExitException{EXIT_FAILURE, tr("--require-ssl is set, but no SSL certificate is available. Exiting.\n"
|
||||||
|
+ "Please see https://quassel-irc.org/faq/cert to learn how to enable SSL support.")};
|
||||||
|
+ }
|
||||||
|
if (!sslWarningShown) {
|
||||||
|
quWarning()
|
||||||
|
<< "SslServer: Unable to set certificate file\n"
|
@ -7,6 +7,7 @@ Type=simple
|
|||||||
EnvironmentFile=-/etc/quassel.conf
|
EnvironmentFile=-/etc/quassel.conf
|
||||||
User=quassel
|
User=quassel
|
||||||
ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel --listen=${LISTEN} --port=${PORT}
|
ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel --listen=${LISTEN} --port=${PORT}
|
||||||
|
ExecReload=/bin/kill -HUP $MAINPID
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (quassel-0.12.5.tar.bz2) = 3a0263d7bec9ef4b0d8ef6ea53784f95e0efbadc0f03b49005908411b0b53543ebc66189fb4100c117d87264b648f2a1b01be48c371f926b9f326b1ffc870685
|
SHA512 (quassel-0.14.0.tar.bz2) = ea6b9723acab5ce73f760692770c1340c03bf277d2c99a2520345bfb6a7bb6fdc64a01dccfd7026341b46ee727821e1bcc2f487be72dfbc155f1de1ad264763f
|
||||||
|
Loading…
Reference in New Issue
Block a user