File fqircd.spec of Package fqircd
# norootforbuild
Name: fqircd
Version: 2.1.3b
Release: 0
#
License: GPL
Group: Productivity/Networking/IRC
#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: openssl-devel pkgconfig zlib-devel
PreReq: %insserv_prereq %fillup_prereq openssl
%define fqircd_config /etc/%{name}
%define fqircd_home /var/lib/%{name}
%define fqircd_logdir /var/log/%{name}
%define fqircd_rundir /var/run/%{name}
# %define fqircd_key "/etc/ssl/private/fqircd.pem"
# %define fqircd_cert "/etc/ssl/certs/fqircd.crt"
%define fqircd_key "%{fqircd_config}/fqircd.pem"
%define fqircd_cert "%{fqircd_config}/fqircd.crt"
#
URL: http://code.freequest.net/
Source: http://files.freequest.net/software/ircd/fqircd-%{version}.tar.gz
Source1: %{name}.init
Source2: openssl.cnf
Patch: fqircd-2.1.3b_config_paths.patch
Patch1: fqircd-2.1.3b_openssl_no_prompt.patch
Patch2: openssl.cnf
#
Summary: FreeQuest IRCd
%description
The Story
Bahamut was nice, but we wanted a bit more than the standard Bahamut offered.
In the very beginning we only had small optimizations for FreeQuest, like
default hostmasking for Opers and other default settings. After a while we
started to use the bahamut-inet6 project and started to do some additions to
it.
The new FreeQuest IRCd
An entire new version of our ircd is currently being actively developed. It’s
based on the Bahamut 1.8.x tree and clientside SSL from the bahamut-inet6
project. For a brief explanation of what improvements fqircd-2.x has that
fqircd-1.x didn’t, please read below.
Features
SSL support for clients
OpenSSL encryption for server< ->server connections
+q for clients (Hostmangling, ie. hide your real host to other users) , encodes the host with MD5 sum.
+W mode for opers (Notice on WHOIS)
+S channel mode (Only SSL enabled clients)
+I channel mode (Invite Excempts)
+e channel mode (Ban Excempts)
+N channel mode (Do not recieve /INVITE notices)
+q channel mode (Only host mangled clients may enter)
CGI:IRC support
SVSJOIN support
RWHO - Regexp WHO function
MAP shows a graphic maps of all servers connected
Configurable classes for IRC Searchbots, so they don’t need to register to be able to do /LIST
All registered users can do /LIST and not registered users needs to do /FQLIST
More understandable config
%debug_package
%prep
%setup
%patch
%patch1
%build
export CFLAGS="%{optflags} -fno-strict-aliasing"
%if %suse_version > 1000
export CFLAGS="$CFLAGS -fstack-protector"
%endif
%configure --prefix=%{fqircd_config}
%{__make}
%install
%{__install} -d -m 0755 \
%{buildroot}%{fqircd_config} \
%{buildroot}%{_bindir} \
%{buildroot}%{_sbindir} \
%{buildroot}%{fqircd_home} \
%{buildroot}%{fqircd_logdir} \
%{buildroot}%{fqircd_rundir}
#
%makeinstall INSTALL_DIR="%{buildroot}%{fqircd_config}"
%{__mv} -v %{buildroot}%{fqircd_config}/ircd %{buildroot}%{_sbindir}/%{name}
%{__mv} -v %{buildroot}%{fqircd_config}/mkpasswd %{buildroot}%{_bindir}/mkpasswd-%{name}
%{__rm} -fv %{buildroot}%{fqircd_config}/ircd.key
#
%{__cp} -v %{buildroot}%{fqircd_config}/template.conf %{buildroot}%{fqircd_config}/ircd.conf
%{__ln_s} -f %{fqircd_config}/ircd.conf %{buildroot}%{fqircd_home}/ircd.conf
%{__install} -m 0644 %{S:2} %{buildroot}%{fqircd_config}/ircdssl.cnf
#
%{__install} -D -m 0755 %{S:1} %{buildroot}%{_sysconfdir}/init.d/%{name}
%{__ln_s} -f %{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name}
#
cat <<EOF > fqircd-makecerts
#!/bin/sh
if ! [ -e %{fqircd_cert} -a -e %{fqircd_key} ] ; then
/usr/bin/openssl req -new -x509 -nodes -config %{fqircd_config}/ircdssl.cnf -out %{fqircd_cert} -keyout %{fqircd_key} -days 365 || exit 2
chmod 0640 %{fqircd_key}
chgrp %{name} %{fqircd_key}
echo
/usr/bin/openssl x509 -subject -fingerprint -noout -in "%{fqircd_cert}" || exit 2
fi
EOF
%{__install} -D -m 0755 fqircd-makecerts %{buildroot}%{_sbindir}/fqircd-makecerts
%clean
%{__rm} -rf %{buildroot}
%pre
/usr/sbin/groupadd -r %{name} &>/dev/null ||:
/usr/sbin/useradd -r -o -g %{name} -s /bin/false -c "%{name} daemon" -d %{fqircd_home} %{name} &>/dev/null || :
%preun
%stop_on_removal %{name}
%post
%fillup_and_insserv %{name}
%postun
%restart_on_update %{name}
%insserv_cleanup
%files
%defattr(-,root,root,-)
%dir %attr(750,root,%{name}) %{fqircd_config}/
%config(noreplace) %attr(640,root,%{name}) %{fqircd_config}/ircd.conf
%config(noreplace) %attr(640,root,%{name}) %{fqircd_config}/ircd.motd
%config(noreplace) %attr(640,root,%{name}) %{fqircd_config}/opers.txt
%config(noreplace) %attr(640,root,%{name}) %{fqircd_config}/ircdssl.cnf
%{fqircd_home}/ircd.conf
%{fqircd_config}/reference.conf
%{fqircd_config}/template.conf
%{_sbindir}/%{name}
%{_sbindir}/fqircd-makecerts
%{_bindir}/mkpasswd-%{name}
%dir %attr(750,%{name},%{name}) %{fqircd_home}
%dir %attr(750,%{name},%{name}) %{fqircd_logdir}
%dir %attr(750,%{name},%{name}) %{fqircd_rundir}
%config(noreplace) %{_sysconfdir}/init.d/%{name}
%{_sbindir}/rc%{name}
%doc Bahamut-docs/ ChangeLog INSTALL LICEN* ircdssl.cnf TODO doc/*
%changelog
* Sun Nov 26 2006 - mrueckert@suse.de
- initial package of version 2.1.3