Merge branch 'el6' into el5

Conflicts:
	znc.spec
This commit is contained in:
Nick Bebout 2011-08-15 21:08:27 -05:00
commit c7370d052e
8 changed files with 245 additions and 18 deletions

4
.gitignore vendored
View File

@ -14,3 +14,7 @@ znc-0.094.tar.gz
/znc-0.098-beta.tar.gz
/znc-0.098-rc1.tar.gz
/znc-0.098.tar.gz
/znc-0.099.tar.xz
/znc-0.2-alpha1.tar.gz
/znc-0.2-beta1.tar.gz
/znc-0.200-rc1.tar.gz

View File

@ -1 +1 @@
5667b4acb1f01309d6eded77abac700c znc-0.098.tar.gz
40b99830fac3f5ee813d3ab04b4b9e74 znc-0.200-rc1.tar.gz

11
znc-modperl.patch Normal file
View File

@ -0,0 +1,11 @@
--- znc-0.2-alpha1-original/modules/modperl/Makefile.inc 2011-08-05 16:27:44.000000000 -0500
+++ znc-0.2-alpha1/modules/modperl/Makefile.inc 2011-08-05 17:24:25.658100254 -0500
@@ -43,7 +43,7 @@
@mkdir -p modperl
$(Q)$(PERL) $(srcdir)/modperl/codegen.pl $< $@
-modperl_install: create_install_dir modperl.so
+modperl_install: install_datadir modperl.so
for i in $(wildcard $(srcdir)/*.pm); do \
$(INSTALL_DATA) $$i $(DESTDIR)$(MODDIR); \
done

11
znc-modpython.patch Normal file
View File

@ -0,0 +1,11 @@
--- znc-0.2-alpha1-original/modules/modpython/Makefile.inc 2011-08-05 16:27:44.000000000 -0500
+++ znc-0.2-alpha1/modules/modpython/Makefile.inc 2011-08-05 17:24:07.317001140 -0500
@@ -58,7 +58,7 @@
$(E) Building optimizer for python files...
$(Q)$(CXX) $(PYTHONCOMMON) -o $@ $< $(PY_LDFLAGS)
-modpython_install: create_install_dir modpython_all
+modpython_install: install_datadir modpython_all
-for i in *.pyc; do \
$(INSTALL_DATA) $$i $(DESTDIR)$(MODDIR); \
done

View File

@ -1,6 +1,6 @@
--- znc-0.098-beta-original/znc.cpp 2011-03-02 07:45:07.000000000 -0600
+++ znc-0.098-beta/znc.cpp 2011-03-03 16:48:07.752119484 -0600
@@ -96,7 +96,7 @@
--- znc-0.200-rc1-orig/znc.cpp 2011-08-13 01:36:13.000000000 -0500
+++ znc-0.200-rc1/znc.cpp 2011-08-13 16:56:21.118177776 -0500
@@ -84,7 +84,7 @@
}
char szBuf[128];

90
znc.init Normal file
View File

@ -0,0 +1,90 @@
#!/bin/sh
#
# znc - Advanced IRC Bouncer INIT script for Fedora #
# chkconfig: 35 99 14
# description: An Advanced IRC bouncer INIT script for
# Fedora-CentOS Variants
# Source function library.
. /etc/rc.d/init.d/functions
exec=/usr/bin/znc
prog=znc
config=/home/znc/.znc
runas=znc
lockfile=/var/lock/subsys/$prog
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
# if not running, start it up here, usually something like "daemon $exec"
daemon --user $runas "$exec -d $config >/dev/null 2>&1"
# If you're reckless with your system, comment the line above and
# uncomment this one below... I just don't get it why
# daemon "$exec -r -d $config >/dev/null 2>&1"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
# stop it here, often "killproc $prog"
killproc $prog -TERM
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
reload() {
echo -n $"Reloading $prog: "
# stop it here, often "killproc $prog"
killproc $prog -HUP
retval=$?
echo
}
restart() {
stop
start
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|reload|restart|condrestart|try-restart}"
exit 2
esac
exit $?

11
znc.service Normal file
View File

@ -0,0 +1,11 @@
[Unit]
Description=Daemon to do something
After=network.target
[Service]
ExecStart=/usr/bin/znc
User=znc
Type=forking
[Install]
WantedBy=multi-user.target

128
znc.spec
View File

@ -1,17 +1,28 @@
# Define variables to use in conditionals
%define use_systemd 0
%if 0%{?fedora} >= 15
%define use_systemd 1
%endif
Summary: An advanced IRC bouncer
Name: znc
Version: 0.098
#Release: 8.20110215git%{?dist}
#Release: 0.3.rc1%{?dist}
Release: 1%{?dist}
Version: 0.200
#Release: 0.1.20110801git%{?dist}
Release: 0.4.rc1%{?dist}
#Release: 1%{?dist}
License: GPLv2 with exceptions
Group: System Environment/Daemons
URL: http://znc.in
#Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
#Source0: znc-0.097.tar.xz
#Source0: http://people.znc.in/~psychon/znc/releases/znc-0.098-rc1.tar.gz
Source0: http://people.znc.in/~psychon/znc/releases/znc-0.098.tar.gz
#Patch0: znc-release.patch
#Source0: znc-0.099.tar.xz
Source0: http://people.znc.in/~psychon/znc/releases/znc-0.200-rc1.tar.gz
%if %{use_systemd}
Source1: znc.service
%endif
#Source0: http://people.znc.in/~psychon/znc/releases/znc-0.098.tar.gz
Patch0: znc-release.patch
#Patch1: znc-modperl.patch
#Patch2: znc-modpython.patch
# git clone https://github.com/znc/znc.git
# cd znc
# git archive --prefix=znc/ HEAD | xz > ../znc-0.097.tar.xz
@ -21,7 +32,17 @@ BuildRequires: gcc-c++ perl
BuildRequires: openssl-devel >= 0.9.8
BuildRequires: cyrus-sasl-devel
BuildRequires: c-ares-devel automake
BuildRequires: tcl-devel
BuildRequires: perl(ExtUtils::Embed) swig tcl-devel
%if %{use_systemd}
BuildRequires: systemd-units
%endif
Requires(pre): shadow-utils
%if %{use_systemd}
Requires(post): systemd-units
Requires(post): systemd-sysv
Requires(preun): systemd-units
Requires(postun): systemd-units
%endif
%description
ZNC is an IRC bouncer with many advanced features like detaching,
@ -55,10 +76,19 @@ Requires: tcl
%description modtcl
TCL module for ZNC
%package modperl
Summary: perl module for ZNC
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: perl
Provides: perl(ZNC::Module) = %{version}-%{release}
%description modperl
perl module for ZNC
%prep
%setup -q
#%setup -q -n %{name}-%{version}-rc1
#%patch0 -p1
%setup -q -n %{name}-%{version}-rc1
%patch0 -p1
%__perl -pi.add_release -e 's|(?<="ZNC \%1\.3f)|-%{release}|' znc.cpp
chmod -x modules/q.cpp
@ -68,13 +98,52 @@ chmod -x modules/q.cpp
--enable-ipv6 --enable-extra --enable-sasl --disable-perl --enable-tcl
%__make %{?_smp_mflags}
%pre
getent group znc >/dev/null || groupadd -r znc
getent passwd znc >/dev/null || \
useradd -r -g znc -d /var/lib/znc -s /sbin/nologin \
-c "Account for ZNC to run as" znc
mkdir -p /var/lib/znc
chown znc:znc /var/lib/znc
exit 0
%install
%__rm -Rf "%{buildroot}"
%__make install DESTDIR="%{buildroot}"
%if %{use_systemd}
mkdir -p %buildroot%{_unitdir}
install -m 0644 %{SOURCE1} %buildroot%{_unitdir}/znc.service
%endif
%clean
%__rm -Rf "%{buildroot}"
%post
%if %{use_systemd}
if [ $1 -eq 1 ] ; then
# Initial installation
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
%endif
%postun
%if %{use_systemd}
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
# Package upgrade, not uninstall
/bin/systemctl try-restart znc.service >/dev/null 2>&1 || :
fi
%endif
%preun
%if %{use_systemd}
if [ $1 -eq 0 ] ; then
# Package removal, not upgrade
/bin/systemctl --no-reload disable znc.service > /dev/null 2>&1 || :
/bin/systemctl stop znc.service > /dev/null 2>&1 || :
fi
%endif
%files
%defattr(-,root,root)
%doc AUTHORS LICENSE LICENSE.OpenSSL README.md
@ -89,14 +158,16 @@ chmod -x modules/q.cpp
%{_libdir}/znc/away.so
%{_libdir}/znc/awaynick.so
%{_libdir}/znc/blockuser.so
%{_libdir}/znc/bouncedcc.so
%{_libdir}/znc/buffextras.so
%{_libdir}/znc/cert.so
%{_libdir}/znc/certauth.so
%{_libdir}/znc/chansaver.so
%{_libdir}/znc/clientnotify.so
%{_libdir}/znc/crypt.so
%{_libdir}/znc/disconkick.so
%{_libdir}/znc/fail2ban.so
%{_libdir}/znc/fixfreenode.so
%{_libdir}/znc/identfile.so
%{_libdir}/znc/keepnick.so
%{_libdir}/znc/kickrejoin.so
%{_libdir}/znc/lastseen.so
@ -117,6 +188,9 @@ chmod -x modules/q.cpp
%{_libdir}/znc/watch.so
%{_libdir}/znc/webadmin.so
%{_datadir}/znc/
%if %{use_systemd}
%{_unitdir}/znc.service
%endif
%files devel
%defattr(-,root,root)
@ -133,6 +207,7 @@ chmod -x modules/q.cpp
%{_libdir}/znc/charset.so
%{_libdir}/znc/clearbufferonmsg.so
%{_libdir}/znc/ctcpflood.so
%{_libdir}/znc/dcc.so
%{_libdir}/znc/droproot.so
%{_libdir}/znc/email.so
%{_libdir}/znc/fakeonline.so
@ -151,6 +226,31 @@ chmod -x modules/q.cpp
%{_libdir}/znc/modtcl.so
%changelog
* Mon Aug 15 2011 Nick Bebout <nb@fedoraproject.org> - 0.200-0.4.rc1
- Change znc's homedir to /var/lib/znc
* Sun Aug 14 2011 Nick Bebout <nb@fedoraproject.org> - 0.200-0.3.rc1
- Re-add modpython, it somehow got disabled accidentally
- Also re-add modperl, it works now
* Sun Aug 14 2011 Nick Bebout <nb@fedoraproject.org> - 0.200-0.2.rc1
- Create /home/znc upon install
* Sat Aug 13 2011 Nick Bebout <nb@fedoraproject.org> - 0.200-0.1.rc1
- Update to 0.200-rc1
* Sat Aug 6 2011 Nick Bebout <nb@fedoraproject.org> - 0.2-0.2.beta1
- Update to 0.2-beta1, disable perl for now
* Fri Aug 5 2011 Nick Bebout <nb@fedoraproject.org> - 0.2-0.1.alpha1
- Update to 0.2-alpha1
* Mon Aug 1 2011 Nick Bebout <nb@fedoraproject.org> - 0.099-0.1.20110801git
- Update to latest git
* Sat Apr 2 2011 Nick Bebout <nb@fedoraproject.org> - 0.098-2
- Add provides for ZNC::Module to znc-modperl
* Tue Mar 29 2011 Nick Bebout <nb@fedoraproject.org> - 0.098-1
- Update to znc-0.098