commit 4b974a62819868dd31562cb0e919075aabffee8c08cf47323455cf662d29dcef Author: Sascha Peilicke Date: Fri Jul 29 14:45:46 2011 +0000 Accepting request 77287 from KDE:Distro:Factory new package quassel OBS-URL: https://build.opensuse.org/request/show/77287 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/quassel?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/init.quasselcore b/init.quasselcore new file mode 100644 index 0000000..9c8a65c --- /dev/null +++ b/init.quasselcore @@ -0,0 +1,105 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: quasselcore +# Required-Start: $syslog $remote_fs $network +# Should-Start: $time $named +# Required-Stop: $syslog $remote_fs $network +# Should-Stop: $null +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: quassel core daemon +# Description: Start quassel core +### END INIT INFO + + +# Check for missing binaries (stale symlinks should not happen) +# Note: Special treatment of stop for LSB conformance +QUASSELCORE_BIN=/usr/bin/quasselcore +test -x $QUASSELCORE_BIN || { echo "$QUASSELCORE_BIN not installed"; + if [ "$1" = "stop" ]; then exit 0; + else exit 5; fi; } + +# Check for existence of needed config file and read it +QUASSELCORE_CONFIG=/etc/sysconfig/quasselcore +test -r $QUASSELCORE_CONFIG || { echo "$QUASSELCORE_CONFIG not existing"; + if [ "$1" = "stop" ]; then exit 0; + else exit 6; fi; } + +# Read config +. $QUASSELCORE_CONFIG + +QUASSELCORE_USERID=quasselcore +QUASSELCORE_GROUPID=quasselcore +: ${QUASSELCORE_LISTEN:=127.0.0.1} + +. /etc/rc.status + +# Reset status of this service +rc_reset + +case "$1" in + start) + echo -n "Starting quassel core" + /sbin/startproc -u ${QUASSELCORE_USERID} -g ${QUASSELCORE_GROUPID} \ + $QUASSELCORE_BIN --configdir=/var/lib/quasselcore --listen="${QUASSELCORE_LISTEN/ /,}" \ + --logfile=/var/log/quassel/quasselcore &>/var/log/quassel/rcquasselcore.out + rc_status -v + ;; + stop) + echo -n "Shutting down quassel core" + /sbin/killproc -TERM $QUASSELCORE_BIN + sleep 1 + rc_status -v + ;; + try-restart|condrestart) + if test "$1" = "condrestart"; then + echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" + fi + $0 status + if test $? = 0; then + $0 restart + else + rc_reset # Not running is not a failure. + fi + rc_status + ;; + restart) + $0 stop + $0 start + rc_status + ;; + force-reload) + echo -n "Reload service quassel core" + ## if it supports it: + #/sbin/killproc -HUP $QUASSELCORE_BIN + #touch /var/run/FOO.pid + #rc_status -v + + ## Otherwise: + $0 try-restart + #rc_status + ;; + reload) + #echo -n "Reload service quassel core" + #/sbin/killproc -HUP $QUASSELCORE_BIN + #touch /var/run/FOO.pid + #rc_status -v + + ## Otherwise if it does not support reload: + rc_failed 3 + #rc_status -v + ;; + status) + echo -n "Checking for service quassel core" + /sbin/checkproc $QUASSELCORE_BIN + rc_status -v + ;; + probe) + #test /var/lib/quasselcore/quasselcore.conf -nt /var/run/quasselcore.pid && echo reload + ;; + *) + echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" + exit 1 + ;; +esac +rc_exit diff --git a/logrotate.quasselcore b/logrotate.quasselcore new file mode 100644 index 0000000..9c1f38f --- /dev/null +++ b/logrotate.quasselcore @@ -0,0 +1,13 @@ +/var/log/quassel/quasselcore { + compress + dateext + maxage 365 + rotate 99 + size=+1024k + notifempty + missingok + copytruncate + postrotate + chmod 644 /var/log/quasselcore + endscript +} diff --git a/quassel-0.7.2.tar.bz2 b/quassel-0.7.2.tar.bz2 new file mode 100644 index 0000000..eee96b2 --- /dev/null +++ b/quassel-0.7.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9e4a094c46715dd68152cd98a4e0778e308a0ec653eb8b5476ec429d128d55c +size 2714322 diff --git a/quassel.SuSEfirewall2 b/quassel.SuSEfirewall2 new file mode 100644 index 0000000..466ae66 --- /dev/null +++ b/quassel.SuSEfirewall2 @@ -0,0 +1,6 @@ +## Name: Quassel Core +## Description: opens port for quassel core in order to allow clients to connect to it + +# space separated list of allowed TCP ports +TCP="4242" + diff --git a/quassel.changes b/quassel.changes new file mode 100644 index 0000000..ab9b64e --- /dev/null +++ b/quassel.changes @@ -0,0 +1,179 @@ +------------------------------------------------------------------- +Sun Apr 3 20:07:21 UTC 2011 - herbert@graeber-clan.de + +- update to version 0.7.2 + * show notices in current buffer by default + * despammificating the pglog. This is done by switching from EAFP to LBYL + * Reworking handling of Prepared Queries in PostgreSQL (Quasselcore should + now survive PG restarts) + * Don't have CTCP ignore rules apply to ACTIONs + * Some smaller fixes + +------------------------------------------------------------------- +Sat Mar 5 22:37:56 UTC 2011 - herbert@graeber-clan.de + +- replace __DATE__ and __TIME__ by quassel.changes change time to + make buildcompare working better + +------------------------------------------------------------------- +Tue Sep 21 12:00:27 UTC 2010 - herbert@graeber-clan.de + +- update to version 0.7.1 + * fix possible DoS over CTCP + +------------------------------------------------------------------- +Thu Sep 16 19:01:02 UTC 2010 - herbert@graeber-clan.de + +- update to version 0.7.0 final +- enable dbusmenu support when available + +------------------------------------------------------------------- +Sat Aug 28 16:35:53 UTC 2010 - herbert@graeber-clan.de + +- update to version 0.7-rc1 +- require libca2-devel for ncryption support + +------------------------------------------------------------------- +Sun Aug 15 11:46:18 UTC 2010 - herbert@graeber-clan.de + +- update to version 0.7-beta1 + * Fullscreen mode (F11) + * CTCP CLIENTINFO support + * Shortcuts for navigation between chats (Alt+Left/Right/Up/Down) + * Add blowfish encryption (/setkey and /delkey; needs QCA2) + * Shortcut editing for all platforms (!KDE) + * Improved handling of invites + * New tray icon for highlights + * Global away + * Emacs-style keybindings for the input line + * Improved markerline behavior + - Allow manual setting (Ctrl+R) + - Provide shortcut for jumping to the markerline (Ctrl+K) + * New languages: pt, ja + * Many bugfixes + +------------------------------------------------------------------- +Wed Apr 21 12:37:02 UTC 2010 - herbert@graeber-clan.de + +- update to version 0.6.1 + * bug fixes + +------------------------------------------------------------------- +Thu Apr 15 17:32:49 UTC 2010 - herbert@graeber-clan.de + +- update to version 0.6.0 + * Completely reworked client/core connection featuring the long-awaited + reconnection and Solid support as well as a streamlined UI + * Support for the new DBus-based system tray of KDE and, in some distros, + Gnome (StatusNotifier spec) + * Improved notification handling + * Support for inputting formatted (colored/bold/...) text + * SASL auth support (replaces NickServ e.g. in Freenode) + * Several new languages and improved translations for alreay existing ones + * Build system improvements + +------------------------------------------------------------------- +Mon Mar 8 18:03:25 UTC 2010 - herbert@graeber-clan.de + +- require libqtl4_sql_backend and recommend libqt4-sql-sqlite instead of requiring + it for quasselcore and quassel-mono +- save output of quasselcore daemon in /var/log/quassel + +------------------------------------------------------------------- +Thu Mar 4 19:53:10 UTC 2010 - herbert@graeber-clan.de + +- update to version 0.6-rc1 + +------------------------------------------------------------------- +Tue Jan 19 21:36:37 UTC 2010 - herbert@graeber-clan.de + +- update to version 0.5.2 + +------------------------------------------------------------------- +Wed Nov 25 22:11:45 UTC 2009 - herbert@graeber-clan.de + +- update to version 0.5.1 + +------------------------------------------------------------------- +Fri Oct 16 12:25:14 UTC 2009 - herbert@graeber-clan.de + +- update to version 0.5.0 + +------------------------------------------------------------------- +Fri Oct 2 16:44:52 UTC 2009 - herbert@graeber-clan.de + +- update to version 0.5rc2 + +------------------------------------------------------------------- +Wed Sep 16 18:28:56 UTC 2009 - herbert@graeber-clan.de + +- fix requires + +------------------------------------------------------------------- +Mon Sep 7 18:44:01 UTC 2009 - herbert@graeber-clan.de + +- remove the kde4 prefix from packages + +------------------------------------------------------------------- +Fri Sep 4 10:53:45 CEST 2009 - herbert@graeber-clan.de + +- chown quasselcode.quasselcore /var/lib/quasselcore on installation, + so that the database can be updated properly + +------------------------------------------------------------------- +Sun Aug 30 18:50:46 UTC 2009 - herbert@graeber-clan.de + +- update to version 0.5rc1 + * Sort nicklist (and tabcomplete) by most-recently-used + * Add a multiline write line with a toogle button like Chatzilla + * /exec commands + * Tab completion should show list of possible matches + * Rework styling settings + * Please add notifications for pms even when quassel is focused. + * automatically connect/disconnect on network status changes (w/ KDE) + * regain primary nick when free again + * Meta-Buffer: Highlighted Messages + * SSL Certificate collecting method +------------------------------------------------------------------- +Thu May 28 00:00:00 CEST 2009 - herbert@graeber-clan.de + +- Update to version 0.4.2 +- Removed the support to change user and group for the quasselcore daemon +- Use a group named quasselcore instead of daemon +- Use 127.0.0.1 as default listen address. Hostnames are not allowed +- Fix creation of initial log file + +------------------------------------------------------------------- +Wed May 27 00:00:00 CEST 2009 - herbert@graeber-clan.de + +- Put kde4_runtime_requires macro into the right subpackages +- Quasselcore requires logrotate +- Move log file into its own folder +- Mark logrotate config file as "noreplace" +- Add rpmlintrc file to make rpmlint happy + +------------------------------------------------------------------- +Tue May 26 00:00:00 CEST 2009 - herbert@graeber-clan.de + +- Add SuSEfirewall2 service file + +------------------------------------------------------------------- +Thu May 21 00:00:00 CEST 2009 - herbert@graeber-clan.de + +- Split into subpackages +- Create a quasselcore user +- Add init.d script and fillup template for quasselcore +- Use /var/lib intead of /etc for configuration and data because the sqlite database + should not be stored below /etc +- Add an empty log file +- change owner of files and directories that are used by quasselcore +------------------------------------------------------------------- +Fri Mar 27 00:00:00 CET 2009 - bitshuffler #suse@irc.f + +- Updated to 0.4.1 + +------------------------------------------------------------------- +Sun Feb 22 00:00:00 CET 2009 - bitshuffler #suse@irc.f + +- Initial RPM + diff --git a/quassel.spec b/quassel.spec new file mode 100644 index 0000000..aeaaeca --- /dev/null +++ b/quassel.spec @@ -0,0 +1,203 @@ +# norootforbuild + +Name: quassel +Version: 0.7.2 +Release: 0 +License: GNU GPL v2 or v3 +Summary: Modern, cross-platform, distributed IRC client +Group: Productivity/Networking/IRC +Url: http://quassel-irc.org/ +Source: http://quassel-irc.org/pub/%{name}-%{version}.tar.bz2 +Source1: init.quasselcore +Source2: sysconfig.quasselcore +Source3: logrotate.quasselcore +Source4: quassel.SuSEfirewall2 +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: cmake +BuildRequires: fdupes +BuildRequires: libkde4-devel +BuildRequires: libqca2-devel +BuildRequires: libQtWebKit-devel +BuildRecommends:libdbusmenu-qt-devel + + +%description +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. + +%package mono +Summary: Modern, cross-platform, distributed IRC client +Group: Productivity/Networking/IRC +Requires: quassel-base = %{version}-%{release} +Provides: quassel = %{version} +Obsoletes: quassel < %{version} +Provides: kde4-quassel-mono = %{version} +Obsoletes: kde4-quassel-mono < %{version} +Provides: quassel_ui = %{version} +Provides: quassel:%{_bindir}/quasselclient +Requires: libqt4_sql_backend +Recommends: libqt4-sql-sqlite +%kde4_runtime_requires + +%description mono +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 standalone client + + +%package client +Summary: Modern, cross-platform, distributed IRC client +Group: Productivity/Networking/IRC +Requires: quassel-base = %{version}-%{release} +Provides: quassel_ui = %{version} +Provides: quassel:%{_bindir}/quasselclient +Provides: kde4-quassel-client = %{version} +Obsoletes: kde4-quassel-client < %{version} +%kde4_runtime_requires + +%description client +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 client only + + +%package core +Summary: Modern, cross-platform, distributed IRC client +Group: Productivity/Networking/IRC +Requires: %fillup_prereq +Requires: libqt4_sql_backend +Recommends: libqt4-sql-sqlite +Requires: logrotate +Provides: quassel:%{_bindir}/quasselcore +Provides: kde4-quassel-core = %{version} +Obsoletes: kde4-quassel-core < %{version} +PreReq: pwdutils +PreReq: %fillup_prereq +PreReq: %insserv_prereq + +%description core +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 core only + + +%package base +Summary: Modern, cross-platform, distributed IRC client +Group: Productivity/Networking/IRC +Provides: kde4-quassel-base = %{version} +Obsoletes: kde4-quassel-base < %{version} +Requires: quassel_ui = %{version} + +%description base +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 contains common parts shared by kde4-quassel ind kde4-quassel-client + + +%prep +%setup -q + +%build +FAKE_BUILDDATE=$(LC_ALL=C date -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y') +sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" src/common/main.cpp +FAKE_BUILDTIME=$(LC_ALL=C date -r %{_sourcedir}/%{name}.changes '+%%H:%%M:%%S') +sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/" src/common/main.cpp + +%cmake_kde4 -- -DWITH_KDE=ON -DWITH_OPENSSL=ON -DWITH_DBUS=ON -DWITH_PHONON=ON -DWITH_WEBKIT=ON +%make_jobs + +%install +%makeinstall +%kde_post_install +%fdupes %{buildroot} +install -d -m 755 %{buildroot}%{_var}/lib/quasselcore +install -d -m 755 %{buildroot}%{_sbindir} +install -D -m 755 %{S:1} %{buildroot}%{_sysconfdir}/init.d/quasselcore +ln -sf ../../%{_sysconfdir}/init.d/quasselcore %{buildroot}%{_sbindir}/rcquasselcore +install -D -m 644 %{S:2} %{buildroot}%{_var}/adm/fillup-templates/sysconfig.quasselcore +install -d -m 751 %{buildroot}/var/log/quassel +install -D -m 644 %{S:3} %{buildroot}%{_sysconfdir}/logrotate.d/quasselcore +install -D -m 644 %{S:4} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/quassel + +%pre core +/usr/bin/getent group quasselcore >/dev/null || /usr/sbin/groupadd -r quasselcore || : +/usr/bin/getent passwd quasselcore >/dev/null || /usr/sbin/useradd -r -d /var/lib/quasselcore \ + -s /bin/false -c "quasselcore daemon" -g quasselcore quasselcore || : + +%post core +%{fillup_and_insserv -yn quasselcore quasselcore} + +%preun core +%{stop_on_removal quasselcore} + +%postun core +%{restart_on_update quasselcore} +%{insserv_cleanup} + + +%files mono +%defattr(-,root,root) +%doc AUTHORS ChangeLog README +%{_bindir}/quassel +%{_datadir}/applications/kde4/quassel.desktop + +%files client +%defattr(-,root,root) +%doc AUTHORS ChangeLog README +%{_bindir}/quasselclient +%{_datadir}/applications/kde4/quasselclient.desktop + +%files core +%defattr(-,root,root) +%doc AUTHORS ChangeLog README +%{_bindir}/quasselcore +%{_sysconfdir}/init.d/quasselcore +%{_sbindir}/rcquasselcore +%attr(-,quasselcore,quasselcore) %dir %{_var}/lib/quasselcore +%{_var}/adm/fillup-templates/sysconfig.quasselcore +%attr(-,quasselcore,quasselcore) %dir %{_var}/log/quassel +%config(noreplace) %{_sysconfdir}/logrotate.d/quasselcore +%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/quassel + +%files base +%defattr(-,root,root) +%{_datadir}/icons/hicolor/*/apps/quassel.png +%{_datadir}/icons/hicolor/*/status/quassel_*.png +%{_kde_share_dir}/apps/quassel +%{_datadir}/pixmaps/quassel.png + +%changelog diff --git a/rpmlintrc b/rpmlintrc new file mode 100644 index 0000000..8ab4d92 --- /dev/null +++ b/rpmlintrc @@ -0,0 +1,7 @@ +addFilter("incoherent-init-script-name quasselcore") +addFilter("incoherent-logrotate-file /etc/logrotate.d/quasselcore") +addFilter("non-conffile-in-etc /etc/sysconfig/SuSEfirewall2.d/services/quassel") +addFilter("useless-explicit-requires kdebase4-runtime") +addFilter("explicit-lib-dependency libqt4_sql_backend") +addFilter("non-standard-uid /var/log/quassel quasslecore") +addFilter("non-standard-uid /var/lib/quasselcore quasslecore") diff --git a/sysconfig.quasselcore b/sysconfig.quasselcore new file mode 100644 index 0000000..7cff872 --- /dev/null +++ b/sysconfig.quasselcore @@ -0,0 +1,12 @@ +## Path: Applications/quasselcore +## Description: Basic configuration for the quassel core daemon + +## Type: ip +## Default "127.0.0.1" +## ServiceReload: quasselcore +# +# Interfaces the quassel core should listen on +# +QUASSELCORE_LISTEN="" + +