Compare commits

...

26 Commits
f27 ... rawhide

Author SHA1 Message Date
Fedora Release Engineering c7283b8066 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 19:18:14 +00:00
Fedora Release Engineering c80e96268d Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 00:19:27 +00:00
Chris Egeland fd0e455f70 Latest release 2022-02-25 13:33:29 -05:00
Chris Egeland 38b8c8de0d New upstream release (rhbz#1917071) 2022-02-25 12:57:13 -05:00
Timothée Ravier dadd1cafbe Use upstream AppStream metadata
See https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location
2022-02-10 17:45:46 +01:00
Timothée Ravier a4a01db5bf Use systemd sysusers config to create user and group
See https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/#_dynamic_allocation
2022-02-10 17:45:46 +01:00
Timothée Ravier e0e5ccde41 Use 'install -Dp' instead of separated 'install' calls 2022-02-10 17:45:45 +01:00
Fedora Release Engineering ba995db099 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 17:20:26 +00:00
Fedora Release Engineering 1d3e5a3566 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 11:00:21 +00:00
phuzion 5ed9e0ba62 Fix patch for CVE-2021-34825 2021-06-20 00:38:00 -04:00
phuzion a3338edcfa Added security fix for CVE-2021-34825 2021-06-17 22:25:26 -04:00
Zbigniew Jędrzejewski-Szmek 88bf4b40ab Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:12:53 +01:00
Fedora Release Engineering ba3343956e - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 14:53:31 +00:00
Jeff Law d52d4cb95b Fix missing #includes for gcc-11 2020-10-16 15:45:19 -06:00
Rex Dieter cdeed80bba use new %%cmake_build, %%cmake_install macros to fix build 2020-07-28 11:19:16 -05:00
Rex Dieter d0d879eaa0 pull in missing patch from prior PR 2020-07-28 08:39:35 -05:00
Marie Loise Nolden b86b0448e4 Update quassel.spec 2020-07-13 17:33:11 +00:00
Marie Loise Nolden 568b758001 Add fix for compiling with qt 5.14
From FreeBSD ports tree (tcberner)

Fix with Qt5-5.14

Obtained from:
        579e559a63

--- 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
2020-07-13 17:32:30 +00:00
Fedora Release Engineering 149515a277 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 17:06:48 +00:00
Fedora Release Engineering 882cfc9f54 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 17:59:21 +00:00
Ben Rosser 8d569b4ce7 Add a weak dependency (Recommends:) on qt5-qtbase-postgresql to core package
This has been something I've meant to do for a while. It's recommended
but not necessary to use the core with a postgresql server-- and the
package supports it, if the qt5 postgresql bindings are installed.
We may as well pull them in by default, but if a user wants to
remove them for some reason, we should allow it. So I think it makes
sense to use a weak dep here.
2019-02-15 19:12:34 -05:00
Ben Rosser 6c3a0a4c26 Update to latest upstream release, 0.13.1. 2019-02-15 16:28:14 -05:00
Fedora Release Engineering 2737f2f2c8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 10:52:50 +00:00
Igor Gnatenko 0b61435b61 Remove obsolete scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-29 05:58:30 +01:00
Ben Rosser fd40309299 Update to latest release; quassel 0.13.0. 2018-11-19 11:31:27 -05:00
Fedora Release Engineering 004176ee9b - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 03:15:07 +00:00
8 changed files with 183 additions and 57 deletions

4
.gitignore vendored
View File

@ -1,3 +1,4 @@
*.rpm
/quassel-0.7.3.tar.bz2
/quassel-0.8.0.tar.bz2
/quassel-0.9.0.tar.bz2
@ -9,3 +10,6 @@
/quassel-0.12.3.tar.bz2
/quassel-0.12.4.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
View 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
View 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>

View File

@ -1,14 +1,13 @@
%global quassel_user quassel
%global quassel_data_dir %{_var}/lib/quassel
Name: quassel
Summary: A modern distributed IRC system
Version: 0.12.5
Release: 1%{?dist}
Version: 0.14.0
Release: 3%{?dist}
License: GPLv2 or GPLv3
URL: http://quassel-irc.org/
Source0: http://quassel-irc.org/pub/quassel-%{version}.tar.bz2
URL: https://quassel-irc.org/
Source0: https://quassel-irc.org/pub/quassel-%{version}.tar.bz2
BuildRequires: cmake
BuildRequires: dbusmenu-qt5-devel
@ -31,8 +30,12 @@ BuildRequires: qt5-linguist
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtscript-devel
BuildRequires: qt5-qtwebkit-devel
BuildRequires: qt5-qtmultimedia-devel
BuildRequires: openldap-devel
BuildRequires: boost-devel
BuildRequires: systemd
BuildRequires: systemd-rpm-macros
BuildRequires: libappstream-glib
@ -45,16 +48,13 @@ Requires: %{name}-common = %{version}-%{release}
# Systemd service file and configuration script.
Source1: quasselcore.service
Source2: quassel.conf
# Appstream metadata, for GNOME Software.
Source4: quassel.appdata.xml
Source5: quasselclient.appdata.xml
Source3: quassel.sysusers
%description
Quassel IRC is a modern, 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
Quassel IRC is a modern, 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
%package common
@ -64,8 +64,6 @@ Summary: Quassel common/shared files
Requires: %{name}-gui = %{version}-%{release}
# put here for convenience, instead of all subpkgs which
# provide %%{name}-gui
#%{?_kde4_version:Requires: kdelibs4 >= %{_kde4_version}}
#%{?_qt4_version:Requires: qt4 >= %{_qt4_version}}
BuildArch: noarch
%description common
%{summary}.
@ -73,11 +71,12 @@ BuildArch: noarch
%package core
Summary: Quassel core component
# Required for the quassel user.
Requires(pre): shadow-utils
# Weak dependency on qt5 postgresql bindings.
# We use a weak dependency here so they can be uninstalled if necessary.
Recommends: qt5-qtbase-postgresql
%description core
The Quassel IRC Core maintains a connection with the
The Quassel IRC Core maintains a connection with the
server, and allows for multiple clients to connect
%package client
@ -85,63 +84,46 @@ Summary: Quassel client
Provides: %{name}-gui = %{version}-%{release}
Requires: %{name}-common = %{version}-%{release}
%description client
Quassel client
Quassel client
%prep
%setup -q -n %{name}-%{version}
%autosetup -p0 -n %{name}-%{version}
%build
mkdir build
pushd build
%{cmake_kf5} .. -DWANT_MONO=1 -DUSE_QT5=1 -DWITH_KDE=1 -DHAVE_SSL=1
popd
%cmake_kf5 \
-DWANT_MONO=1 -DUSE_QT5=1 -DWITH_KDE=1 -DHAVE_SSL=1 -DENABLE_SHARED=OFF
make %{?_smp_mflags} -C build
%cmake_build
%install
make install/fast DESTDIR=%{buildroot} -C build
%cmake_install
# unpackaged files
rm -f %{buildroot}/%{_datadir}/pixmaps/quassel.png
# Install quassel.conf for systemd file
mkdir -p %{buildroot}/%{_sysconfdir}
install -m 0644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/
install -Dp -m 0644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/%{name}.conf
# Install systemd service file
install -d -m 0755 %{buildroot}/%{_unitdir}
install -p -m 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/
install -Dp -m 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/quasselcore.service
# Install the systemd-sysusers config
install -Dp -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/%{name}.conf
# Home directory for quassel user
install -d -m 0750 %{buildroot}/%{quassel_data_dir}
# Install the appdata files.
mkdir %{buildroot}%{_datadir}/appdata/
cp -a %{SOURCE4} %{SOURCE5} %{buildroot}%{_datadir}/appdata/
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/*.appdata.xml
# Install AppStream metadata
install -d -m 0755 %{buildroot}%{_datadir}/metainfo
install -p -m 0644 data/*.appdata.xml %{buildroot}%{_datadir}/metainfo/
%post common
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 || :
%check
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdata.xml
# Core pre/post macros.
%pre core
getent group %{quassel_user} >/dev/null || groupadd -r %{quassel_user}
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
%sysusers_create_compat %{SOURCE3}
%post core
# Install quassel service.
@ -153,10 +135,10 @@ exit 0
%postun core
%systemd_postun_with_restart quasselcore.service
%files
%files
%{_kf5_bindir}/quassel
%{_kf5_datadir}/applications/quassel.desktop
%{_datadir}/appdata/quassel.appdata.xml
%{_datadir}/metainfo/quassel.appdata.xml
%files common
%doc README.md
@ -172,14 +154,72 @@ exit 0
%dir %attr(-,quassel,quassel) %{quassel_data_dir}
%{_unitdir}/quasselcore.service
%config(noreplace) %{_sysconfdir}/quassel.conf
%{_sysusersdir}/%{name}.conf
%files client
%files client
%{_kf5_bindir}/quasselclient
%{_kf5_datadir}/applications/quasselclient.desktop
%{_datadir}/appdata/quasselclient.appdata.xml
%{_datadir}/metainfo/quasselclient.appdata.xml
%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
- Updated to latest upstream release (#1571443, #1573318, #1573319).

1
quassel.sysusers Normal file
View File

@ -0,0 +1 @@
u quassel - "quasselcore daemon" /var/lib/quassel

View 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"

View File

@ -7,6 +7,7 @@ Type=simple
EnvironmentFile=-/etc/quassel.conf
User=quassel
ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel --listen=${LISTEN} --port=${PORT}
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

View File

@ -1 +1 @@
SHA512 (quassel-0.12.5.tar.bz2) = 3a0263d7bec9ef4b0d8ef6ea53784f95e0efbadc0f03b49005908411b0b53543ebc66189fb4100c117d87264b648f2a1b01be48c371f926b9f326b1ffc870685
SHA512 (quassel-0.14.0.tar.bz2) = ea6b9723acab5ce73f760692770c1340c03bf277d2c99a2520345bfb6a7bb6fdc64a01dccfd7026341b46ee727821e1bcc2f487be72dfbc155f1de1ad264763f