diff --git a/0001-build-resolve-compile-warning-in-servtree.c.patch b/0001-build-resolve-compile-warning-in-servtree.c.patch deleted file mode 100644 index 62e84c9..0000000 --- a/0001-build-resolve-compile-warning-in-servtree.c.patch +++ /dev/null @@ -1,35 +0,0 @@ -From be48e415d9937014c4eac4d957ceb3bcc09b406d Mon Sep 17 00:00:00 2001 -From: Jan Engelhardt -Date: Tue, 1 Oct 2013 01:56:13 +0200 -Subject: [PATCH] build: resolve compile warning in servtree.c - -rpmlint is holding up the red flag in atheme 7.0.6 - -I: Program returns random data in a function -E: atheme no-return-in-nonvoid-function servtree.c:405 - -gcc had to say: -servtree.c:405:1: warning: control reaches end of non-void -function [-Wreturn-type] - -The function added in commit f6fcaaa760913fb242cf0d330178a0078d458861 -lacks a return call for the potential case of exiting the loop. ---- - libathemecore/servtree.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libathemecore/servtree.c b/libathemecore/servtree.c -index cc57bee..a4e205b 100644 ---- a/libathemecore/servtree.c -+++ b/libathemecore/servtree.c -@@ -402,6 +402,7 @@ service_t *service_find_any(void) - - MOWGLI_PATRICIA_FOREACH(sptr, &state, services_name) - return sptr; -+ return NULL; - } - - service_t *service_find(const char *name) --- -1.8.2 - diff --git a/atheme-config.diff b/atheme-config.diff index 445956c..6284b7b 100644 --- a/atheme-config.diff +++ b/atheme-config.diff @@ -4,23 +4,32 @@ and then starting both gives a directly usable Services. Signed-off-by: Jan Engelhardt --- - dist/atheme.conf.example | 46 +++++++++++++++++++++++----------------------- - 1 file changed, 23 insertions(+), 23 deletions(-) + dist/atheme.conf.example | 72 +++++++++++++++++++---------------------------- + 1 file changed, 30 insertions(+), 42 deletions(-) -Index: atheme-services-7.0.5/dist/atheme.conf.example +Index: atheme-services-7.1.0/dist/atheme.conf.example =================================================================== ---- atheme-services-7.0.5.orig/dist/atheme.conf.example -+++ atheme-services-7.0.5/dist/atheme.conf.example -@@ -708,7 +708,7 @@ loadmodule "modules/groupserv/set_url"; +--- atheme-services-7.1.0.orig/dist/atheme.conf.example ++++ atheme-services-7.1.0/dist/atheme.conf.example +@@ -67,7 +67,7 @@ + * If your IRCd vendor has supplied a module file, build it and load it here + * instead of one above. + */ +-#loadmodule "modules/protocol/charybdis"; ++loadmodule "modules/protocol/charybdis"; + + /* Protocol mixins. * - * HTTP Server modules/misc/httpd +@@ -749,7 +749,7 @@ loadmodule "modules/groupserv/set_url"; + * + * HTTP Server modules/misc/httpd */ -loadmodule "modules/misc/httpd"; +#loadmodule "modules/misc/httpd"; /* XMLRPC server module. * -@@ -757,7 +757,7 @@ serverinfo { +@@ -798,7 +798,7 @@ serverinfo { * unique on the IRC network and contain at least one dot, but does * not have to be equal to any DNS name. */ @@ -29,7 +38,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* desc * The ``server comment'' we send to the IRC network. -@@ -780,24 +780,24 @@ serverinfo { +@@ -820,24 +820,24 @@ serverinfo { /* (*)netname * The name of your network. */ @@ -56,27 +65,43 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example - adminemail = "misconfigured@admin.tld"; + adminemail = "unconfigured@admin.tld"; - /* (*)mta - * The full path to your mail transfer agent. -@@ -891,7 +891,7 @@ serverinfo { - * Multiple may be defined but only one will be used at a time (IRC - * being a tree shaped network). + /* (*)registeremail + * The email address that messages should be originated from. +@@ -936,12 +936,12 @@ serverinfo { + * To link Atheme over ssl, please connect Atheme to a local ircd and have that + * connect to your network over SSL. */ -uplink "irc.example.net" { +uplink "localhost." { // The server name of the ircd you're linking to goes above. // host -@@ -904,7 +904,7 @@ uplink "irc.example.net" { + // The hostname to connect to. +- host = "127.0.0.1"; ++ host = "localhost"; - // password - // The password used for linking. + // vhost + // The source IP to connect from, used on machines with multiple interfaces. +@@ -960,18 +960,6 @@ uplink "irc.example.net" { + port = 6667; + }; + +-/* this is an example for using an IPv6 address as an uplink */ +-uplink "irc6.example.net" { +- host = "::1"; +- +- // password +- // If you want to have same send_password and accept_password, you +- // can specify both using 'password' instead of individually. - password = "linkage"; -+ password = "servicespassword"; - - // port - // The port to connect to. -@@ -962,7 +962,7 @@ nickserv { +- +- port = 6667; +-}; +- + /* Services configuration. + * + * Each of these blocks can contain a nick, user, host, real and aliases. +@@ -1016,7 +1004,7 @@ nickserv { /* (*)host * The hostname we want NickServ to have. */ @@ -85,7 +110,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The realname (gecos) information we want NickServ to have. -@@ -1053,7 +1053,7 @@ chanserv { +@@ -1113,7 +1101,7 @@ chanserv { /* (*)host * The hostname we want the client to have. */ @@ -94,7 +119,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The GECOS of the client. -@@ -1077,7 +1077,7 @@ chanserv { +@@ -1142,7 +1130,7 @@ chanserv { * use a lot of CPU up, and will only work if you have * join_chans (in general) enabled as well. */ @@ -103,7 +128,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*) hide_xop * Hide the XOP templates from sight. This is useful if you -@@ -1243,7 +1243,7 @@ global { +@@ -1315,7 +1303,7 @@ global { /* (*)host * The hostname used for this client. */ @@ -112,7 +137,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The GECOS (real name) of the client. -@@ -1272,7 +1272,7 @@ infoserv { +@@ -1344,7 +1332,7 @@ infoserv { /* (*)host * The hostname used for this client, */ @@ -121,7 +146,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The GECOS (real name) of the client. -@@ -1308,7 +1308,7 @@ operserv { +@@ -1380,7 +1368,7 @@ operserv { /* (*)host * The hostname used for this client. */ @@ -130,7 +155,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The GECOS (real name) of the client. -@@ -1349,7 +1349,7 @@ saslserv { +@@ -1421,7 +1409,7 @@ saslserv { /* (*)host * The hostname we want SaslServ to have. */ @@ -139,7 +164,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The realname (gecos) information we want SaslServ to have. -@@ -1378,7 +1378,7 @@ memoserv { +@@ -1450,7 +1438,7 @@ memoserv { /* (*)host * The hostname we want MemoServ to have. */ @@ -148,7 +173,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The realname (gecos) information we want MemoServ to have. -@@ -1418,7 +1418,7 @@ gameserv { +@@ -1495,7 +1483,7 @@ gameserv { /* (*)host * The hostname used for this client. */ @@ -157,7 +182,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The GECOS (real name) of the client. -@@ -1458,7 +1458,7 @@ rpgserv { +@@ -1535,7 +1523,7 @@ rpgserv { /* (*)host * The hostname used for this client. */ @@ -166,7 +191,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The GECOS (real name) of the client. -@@ -1533,7 +1533,7 @@ groupserv { +@@ -1610,7 +1598,7 @@ groupserv { /* (*)host * The hostname we want GroupServ to have. */ @@ -175,7 +200,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The realname (gecos) information we want GroupServ to have. -@@ -1598,7 +1598,7 @@ hostserv { +@@ -1675,7 +1663,7 @@ hostserv { /* (*)host * The hostname used for this client. */ @@ -184,7 +209,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The GECOS (real name) of the client. -@@ -1647,7 +1647,7 @@ helpserv { +@@ -1724,7 +1712,7 @@ helpserv { /* (*)host * The hostname we want HelpServ to have. */ @@ -193,7 +218,7 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The realname (gecos) information we want HelpServ to have. -@@ -1701,7 +1701,7 @@ alis { +@@ -1778,7 +1766,7 @@ alis { /* (*)host * The hostname we want ALIS to have. */ @@ -202,7 +227,50 @@ Index: atheme-services-7.0.5/dist/atheme.conf.example /* (*)real * The realname (gecos) information we want ALIS to have. -@@ -1869,7 +1869,7 @@ general { +@@ -1798,18 +1786,18 @@ httpd { + * The host that the HTTP server will listen on. + * Use 0.0.0.0 if you want to listen on all available hosts. + */ +- host = "0.0.0.0"; ++ #host = "0.0.0.0"; + + /* host (ipv6) + * If you want, you can have Atheme listen on an IPv6 host too. + * Use :: if you want to listen on all available IPv6 hosts. + */ +- #host = "::"; ++ host = "::"; + + /* www_root + * The directory that contains the files that should be served by the httpd. + */ +- www_root = "/var/www"; ++ www_root = "/usr/lib/atheme/www"; + + /* port + * The port that the HTTP server will listen on. +@@ -1870,17 +1858,17 @@ ldap { + * This block logs all account and channel registrations and drops, + * and account and channel setting changes to var/account.log. + */ +-logfile "var/account.log" { register; set; }; ++logfile "/var/log/ateme/account.log" { register; set; }; + + /* + * This block logs all command use to var/commands.log. + */ +-logfile "var/commands.log" { commands; }; ++logfile "/var/log/atheme/commands.log" { commands; }; + + /* + * This block logs all security auditing information. + */ +-logfile "var/audit.log" { denycmd; }; ++logfile "/var/log/atheme/audit.log" { denycmd; }; + + /* + * You can log to IRC channels, and even split it by category, too. +@@ -1963,7 +1951,7 @@ general { * network channels by keeping them open, and to preserve the * topic and +beI lists. */ diff --git a/atheme-nodate.diff b/atheme-nodate.diff index de67f55..f978f4d 100644 --- a/atheme-nodate.diff +++ b/atheme-nodate.diff @@ -4,45 +4,41 @@ Date: 2012-10-28 01:35:57.295975255 +0200 __DATE__ is not desired; causes unnecessary rebuilds. --- - libathemecore/ctcp-common.c | 4 ++-- - libathemecore/ptasks.c | 4 ++-- + libathemecore/ctcp-common.c | 2 +- + libathemecore/ptasks.c | 2 +- modules/operserv/uptime.c | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) + 3 files changed, 3 insertions(+), 3 deletions(-) -Index: atheme-services-7.0.5/libathemecore/ctcp-common.c +Index: atheme-services-7.1.0/libathemecore/ctcp-common.c =================================================================== ---- atheme-services-7.0.5.orig/libathemecore/ctcp-common.c -+++ atheme-services-7.0.5/libathemecore/ctcp-common.c -@@ -41,8 +41,8 @@ static void ctcp_ping_handler(sourceinfo - static void ctcp_version_handler(sourceinfo_t *si, char *cmd, char *args) - { +--- atheme-services-7.1.0.orig/libathemecore/ctcp-common.c ++++ atheme-services-7.1.0/libathemecore/ctcp-common.c +@@ -44,7 +44,7 @@ static void ctcp_version_handler(sourcei + notice(si->service->nick, si->su->nick, -- "\001VERSION %s. %s %s %s [%s] Build Date: %s\001", -- PACKAGE_STRING, revision, me.name, get_conf_opts(), ircd->ircdname, __DATE__); -+ "\001VERSION %s. %s %s %s [%s] Build Date: irrelevant\001", -+ PACKAGE_STRING, revision, me.name, get_conf_opts(), ircd->ircdname); + "\001VERSION %s. %s %s %s [%s] [enc:%s] Build Date: %s\001", +- PACKAGE_STRING, revision, me.name, get_conf_opts(), ircd->ircdname, ci->id, __DATE__); ++ PACKAGE_STRING, revision, me.name, get_conf_opts(), ircd->ircdname, ci->id, "suse"); } static void ctcp_clientinfo_handler(sourceinfo_t *si, char *cmd, char *args) -Index: atheme-services-7.0.5/libathemecore/ptasks.c +Index: atheme-services-7.1.0/libathemecore/ptasks.c =================================================================== ---- atheme-services-7.0.5.orig/libathemecore/ptasks.c -+++ atheme-services-7.0.5/libathemecore/ptasks.c -@@ -49,8 +49,8 @@ void handle_version(user_t *u) - if (floodcheck(u, NULL)) +--- atheme-services-7.1.0.orig/libathemecore/ptasks.c ++++ atheme-services-7.1.0/libathemecore/ptasks.c +@@ -51,7 +51,7 @@ void handle_version(user_t *u) return; -- numeric_sts(me.me, 351, u, "%s. %s %s :%s [%s] Build Date: %s", -- PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, __DATE__); -+ numeric_sts(me.me, 351, u, "%s. %s %s :%s [%s] Build Date: irrelevant", -+ PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname); + numeric_sts(me.me, 351, u, "%s. %s %s :%s [%s] [enc:%s] Build Date: %s", +- PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id, __DATE__); ++ PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id, "suse"); } void handle_admin(user_t *u) -Index: atheme-services-7.0.5/modules/operserv/uptime.c +Index: atheme-services-7.1.0/modules/operserv/uptime.c =================================================================== ---- atheme-services-7.0.5.orig/modules/operserv/uptime.c -+++ atheme-services-7.0.5/modules/operserv/uptime.c +--- atheme-services-7.1.0.orig/modules/operserv/uptime.c ++++ atheme-services-7.1.0/modules/operserv/uptime.c @@ -33,7 +33,7 @@ static void os_cmd_uptime(sourceinfo_t * { logcommand(si, CMDLOG_GET, "UPTIME"); diff --git a/atheme-services-7.0.7.tar.bz2 b/atheme-services-7.0.7.tar.bz2 deleted file mode 100644 index e98bfaa..0000000 --- a/atheme-services-7.0.7.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e8c372025845a5b433941d232a51e65527008decf3a4156263cccb7534e2af0 -size 1053389 diff --git a/atheme-services-7.1.0.tar.bz2 b/atheme-services-7.1.0.tar.bz2 new file mode 100644 index 0000000..9ade2e7 --- /dev/null +++ b/atheme-services-7.1.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4290dc41bdd825ee39c2094ba2c0633e75bed344d66f57b6fe9e7ec035fccd2 +size 1201309 diff --git a/atheme.changes b/atheme.changes index fc7b4fc..272358c 100644 --- a/atheme.changes +++ b/atheme.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Sun Jul 20 10:30:48 UTC 2014 - jengelh@inai.de + +- Update to new upstream release 7.1.0 +* ngircd: New protocol module. +* nefarious: Add Nefarious 2 SASL support. +* nefarious: Send account timestamp in svslogin. +* elemental-ircd: New protocol module. +* dreamforge: Remove protocol module. +* inspircd: Add support for server-side MLOCK and TOPICLOCK enforcement +* inspircd: Add support for matching extbans modifying matching logic +* inspircd: Add +H to channel modes +* inspircd: Add +X and +w to list-like mode list +* ircd-seven: Support charybdis extension cmodes on ircd-seven as well. +* ts6-generic: Add support for serverinfo::hidden +* unreal: Add support for extbans. +* unreal: Add cmode +P for permanent channel. +- Remove 0001-build-resolve-compile-warning-in-servtree.c.patch + (merged upstream) +- Delete sysvinit support (keeping the `rcatheme` shortcut, though) + ------------------------------------------------------------------- Mon Mar 3 21:24:59 UTC 2014 - jengelh@inai.de diff --git a/atheme.init b/atheme.init deleted file mode 100644 index 922eb85..0000000 --- a/atheme.init +++ /dev/null @@ -1,275 +0,0 @@ -#!/bin/sh -# -# This library is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at -# your option) any later version. -# -# This library is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, -# USA. -# -# /etc/init.d/atheme -# and its symbolic link -# /(usr/)sbin/rcatheme -# -# Template system startup script for some example service/daemon atheme -# -# LSB compatible service control script; see http://www.linuxbase.org/spec/ -# -# Note: This template uses functions rc_XXX defined in /etc/rc.status on -# UnitedLinux/SUSE/Novell based Linux distributions. If you want to base your -# script on this template and ensure that it works on non UL based LSB -# compliant Linux distributions, you either have to provide the rc.status -# functions from UL or change the script to work without them. -# See skeleton.compat for a template that works with other distros as well. -# -### BEGIN INIT INFO -# Provides: atheme -# Required-Start: $syslog $remote_fs -# Should-Start: $time ypbind sendmail -# Required-Stop: $syslog $remote_fs -# Should-Stop: $time ypbind sendmail -# Default-Start: 3 5 -# Default-Stop: 0 1 2 6 -# Short-Description: Atheme irc service -# Description: Atheme irc service -### END INIT INFO -# -# Any extensions to the keywords given above should be preceeded by -# X-VendorTag- (X-UnitedLinux- X-SuSE- for us) according to LSB. -# -# Notes on Required-Start/Should-Start: -# * There are two different issues that are solved by Required-Start -# and Should-Start -# (a) Hard dependencies: This is used by the runlevel editor to determine -# which services absolutely need to be started to make the start of -# this service make sense. Example: nfsserver should have -# Required-Start: $portmap -# Also, required services are started before the dependent ones. -# The runlevel editor will warn about such missing hard dependencies -# and suggest enabling. During system startup, you may expect an error, -# if the dependency is not fulfilled. -# (b) Specifying the init script ordering, not real (hard) dependencies. -# This is needed by insserv to determine which service should be -# started first (and at a later stage what services can be started -# in parallel). The tag Should-Start: is used for this. -# It tells, that if a service is available, it should be started -# before. If not, never mind. -# * When specifying hard dependencies or ordering requirements, you can -# use names of services (contents of their Provides: section) -# or pseudo names starting with a $. The following ones are available -# according to LSB (1.1): -# $local_fs all local file systems are mounted -# (most services should need this!) -# $remote_fs all remote file systems are mounted -# (note that /usr may be remote, so -# many services should Require this!) -# $syslog system logging facility up -# $network low level networking (eth card, ...) -# $named hostname resolution available -# $netdaemons all network daemons are running -# The $netdaemons pseudo service has been removed in LSB 1.2. -# For now, we still offer it for backward compatibility. -# These are new (LSB 1.2): -# $time the system time has been set correctly -# $portmap SunRPC portmapping service available -# UnitedLinux extensions: -# $ALL indicates that a script should be inserted -# at the end -# * The services specified in the stop tags -# (Required-Stop/Should-Stop) -# specify which services need to be still running when this service -# is shut down. Often the entries there are just copies or a subset -# from the respective start tag. -# * Should-Start/Stop are now part of LSB as of 2.0, -# formerly SUSE/Unitedlinux used X-UnitedLinux-Should-Start/-Stop. -# insserv does support both variants. -# * X-UnitedLinux-Default-Enabled: yes/no is used at installation time -# (%fillup_and_insserv macro in %post of many RPMs) to specify whether -# a startup script should default to be enabled after installation. -# It's not used by insserv. -# -# Note on runlevels: -# 0 - halt/poweroff 6 - reboot -# 1 - single user 2 - multiuser without network exported -# 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm) -# -# Note on script names: -# http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html -# A registry has been set up to manage the init script namespace. -# http://www.lanana.org/ -# Please use the names already registered or register one or use a -# vendor prefix. - - -# Check for missing binaries (stale symlinks should not happen) -# Note: Special treatment of stop for LSB conformance -ATHEME_BIN=/usr/sbin/atheme-services -test -x $ATHEME_BIN || { echo "$ATHEME_BIN not installed"; - if [ "$1" = "stop" ]; then exit 0; - else exit 5; fi; } - -# Check for existence of needed config file and read it -#ATHEME_CONFIG=/etc/sysconfig/atheme -#test -r $ATHEME_CONFIG || { echo "$ATHEME_CONFIG not existing"; -# if [ "$1" = "stop" ]; then exit 0; -# else exit 6; fi; } - -# Read config -#. $ATHEME_CONFIG - -# Source LSB init functions -# providing start_daemon, killproc, pidofproc, -# log_success_msg, log_failure_msg and log_warning_msg. -# This is currently not used by UnitedLinux based distributions and -# not needed for init scripts for UnitedLinux only. If it is used, -# the functions from rc.status should not be sourced or used. -#. /lib/lsb/init-functions - -# Shell functions sourced from /etc/rc.status: -# rc_check check and set local and overall rc status -# rc_status check and set local and overall rc status -# rc_status -v be verbose in local rc status and clear it afterwards -# rc_status -v -r ditto and clear both the local and overall rc status -# rc_status -s display "skipped" and exit with status 3 -# rc_status -u display "unused" and exit with status 3 -# rc_failed set local and overall rc status to failed -# rc_failed set local and overall rc status to -# rc_reset clear both the local and overall rc status -# rc_exit exit appropriate to overall rc status -# rc_active checks whether a service is activated by symlinks -. /etc/rc.status - -# Reset status of this service -rc_reset - -# Return values acc. to LSB for all commands but status: -# 0 - success -# 1 - generic or unspecified error -# 2 - invalid or excess argument(s) -# 3 - unimplemented feature (e.g. "reload") -# 4 - user had insufficient privileges -# 5 - program is not installed -# 6 - program is not configured -# 7 - program is not running -# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) -# -# Note that starting an already running service, stopping -# or restarting a not-running service as well as the restart -# with force-reload (in case signaling is not supported) are -# considered a success. - -case "$1" in - start) - echo -n "Starting atheme " - ## Start daemon with startproc(8). If this fails - ## the return value is set appropriately by startproc. - /sbin/startproc -u atheme -g atheme -e $ATHEME_BIN - - # Remember status and be verbose - rc_status -v - ;; - stop) - echo -n "Shutting down atheme " - ## Stop daemon with killproc(8) and if this fails - ## killproc sets the return value according to LSB. - - /sbin/killproc -TERM $ATHEME_BIN - - # Remember status and be verbose - rc_status -v - ;; - try-restart|condrestart) - ## Do a restart only if the service was active before. - ## Note: try-restart is now part of LSB (as of 1.9). - ## RH has a similar command named 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 - # Remember status and be quiet - rc_status - ;; - restart) - ## Stop the service and regardless of whether it was - ## running or not, start it again. - $0 stop - $0 start - - # Remember status and be quiet - rc_status - ;; - force-reload) - ## Signal the daemon to reload its config. Most daemons - ## do this on signal 1 (SIGHUP). - ## If it does not support it, restart the service if it - ## is running. - - echo -n "Reload service atheme " - ## if it supports it: - /sbin/killproc -HUP $ATHEME_BIN - #touch /var/run/atheme.pid - rc_status -v - - ## Otherwise: - #$0 try-restart - #rc_status - ;; - reload) - ## Like force-reload, but if daemon does not support - ## signaling, do nothing (!) - - # If it supports signaling: - echo -n "Reload service atheme " - /sbin/killproc -HUP $ATHEME_BIN - #touch /var/run/atheme.pid - rc_status -v - - ## Otherwise if it does not support reload: - #rc_failed 3 - #rc_status -v - ;; - status) - echo -n "Checking for service atheme " - ## Check status with checkproc(8), if process is running - ## checkproc will return with exit status 0. - - # Return value is slightly different for the status command: - # 0 - service up and running - # 1 - service dead, but /var/run/ pid file exists - # 2 - service dead, but /var/lock/ lock file exists - # 3 - service not running (unused) - # 4 - service status unknown :-( - # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.) - - # NOTE: checkproc returns LSB compliant status values. - /sbin/checkproc $ATHEME_BIN - # NOTE: rc_status knows that we called this init script with - # "status" option and adapts its messages accordingly. - rc_status -v - ;; - probe) - ## Optional: Probe for the necessity of a reload, print out the - ## argument to this init script which is required for a reload. - ## Note: probe is not (yet) part of LSB (as of 1.9) - - test /etc/atheme/atheme.conf -nt /var/run/atheme/atheme.pid && echo reload - ;; - *) - echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" - exit 1 - ;; -esac -rc_exit diff --git a/atheme.service b/atheme.service index 688638a..346c7cc 100644 --- a/atheme.service +++ b/atheme.service @@ -2,7 +2,7 @@ Description=Atheme IRC Services [Service] -ExecStart=/usr/sbin/atheme-services +ExecStart=/usr/sbin/atheme-services -n User=atheme Group=atheme diff --git a/atheme.spec b/atheme.spec index 86cd9b3..215617d 100644 --- a/atheme.spec +++ b/atheme.spec @@ -18,7 +18,7 @@ Name: atheme %define lname libathemecore1 -Version: 7.0.7 +Version: 7.1.0 Release: 0 Url: http://atheme.net/ Summary: A portable, secure set of open source, modular IRC services @@ -27,24 +27,23 @@ Group: Productivity/Networking/IRC #Git-Clone: git://github.com/atheme/atheme Source: http://atheme.net/downloads/atheme-services-%version.tar.bz2 -Source1: atheme.init Source2: atheme.service Source3: atheme-tmpfiles.conf Patch1: atheme-lockmodes.diff Patch2: atheme-config.diff Patch3: atheme-nodate.diff -Patch4: 0001-build-resolve-compile-warning-in-servtree.c.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cracklib-devel BuildRequires: fdupes BuildRequires: libopenssl-devel BuildRequires: openldap2-devel BuildRequires: pkgconfig -%if 0%{?suse_version} >= 1210 -BuildRequires: systemd -%endif -BuildRequires: pkgconfig(libmowgli-2) >= 2.0.0 +BuildRequires: systemd-rpm-macros +# configure.ac checks for jansson, but it is not yet used in source code +#BuildRequires: pkgconfig(jansson) >= 2.4 +BuildRequires: pkgconfig(libmowgli-2) >= 2.0.0.g185 BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(libqrencode) %define atheme_home /var/lib/atheme %define atheme_log /var/log/atheme %define atheme_run /var/run/atheme @@ -80,9 +79,9 @@ in %lname. %prep %setup -qn %name-services-%version -%patch -P 1 -P 2 -P 3 -P 4 -p1 +%patch -P 1 -P 2 -P 3 -p1 # use system libmowgli -rm -Rf libmowgli*; +rm -Rf libmowgli-2 %build %if 0%{?suse_version} >= 1210 @@ -112,15 +111,10 @@ mkdir -p "$b/%_docdir/%name" install -m 0644 contrib/*.php contrib/*.pl TODO "$b/%_docdir/%name" #mv -v "$b/%_sysconfdir/%name/atheme.chk.sample" "$b/%_docdir/%name" -# init scripts -install -Dm 0755 "%{S:1}" "$b/%_sysconfdir/init.d/%name"; -ln -sf "%_sysconfdir/init.d/%name" "$b/%_sbindir/rc%name"; - -%if 0%{?_unitdir:1} mkdir -p "$b/%_unitdir" "$b/%_libexecdir/tmpfiles.d"; install -pm0644 "%{S:2}" "$b/%_unitdir/"; install -pm0644 "%{S:3}" "$b/%_libexecdir/tmpfiles.d/atheme.conf"; -%endif +ln -s service "$b/%_sbindir/rcatheme" # config files # TODO: check if we should change any defaults and patch it. @@ -136,54 +130,38 @@ cp -v "$b/%_sysconfdir/%name"/atheme.motd{.example,} /usr/sbin/useradd -r -g atheme -s /bin/false \ -c "Atheme IRC Services daemon" -d "%atheme_home" \ atheme >/dev/null || :; -%if 0%{?_unitdir:1} %service_add_pre atheme.service -%endif %post -%fillup_and_insserv %name -%if 0%{?_unitdir:1} %service_add_post atheme.service -%endif +systemd-tmpfiles --create atheme.conf || : %preun -%stop_on_removal %name -%if 0%{?_unitdir:1} %service_del_preun atheme.service -%endif %postun -%restart_on_update %name -%insserv_cleanup -%if 0%{?_unitdir:1} %service_del_postun atheme.service -%endif %post -n %lname -p /sbin/ldconfig - %postun -n %lname -p /sbin/ldconfig %files -f %name.lang %defattr(-,root,root) -%_sysconfdir/init.d/%name -%_sbindir/rc%name +%_sbindir/ecdsakeygen %dir %attr(750,root,atheme) %_sysconfdir/%name %config(noreplace) %attr(640,root,atheme) %_sysconfdir/%name/atheme.conf %config(noreplace) %attr(640,root,atheme) %_sysconfdir/%name/atheme.motd %_sysconfdir/%name/*example %_sbindir/dbverify %_sbindir/atheme-services +%_sbindir/rcatheme %_libdir/%name %_datadir/%name %doc %_docdir/%name %dir %attr(750,atheme,atheme) %atheme_home %dir %attr(750,atheme,atheme) %atheme_log -%if 0%{?_unitdir:1} %_unitdir/*.service %_libexecdir/tmpfiles.d -%else -%dir %attr(750,atheme,atheme) %atheme_run -%endif %files -n %lname %defattr(-,root,root)