%define selinux_polversion %(rpm -q --queryformat "%{VERSION}" selinux-policy) %define selinux_variants mls targeted Summary: IRC to other chat networks gateway Name: bitlbee Version: 1.2 Release: 1.git20080730.1%{?dist} License: GPLv2+ and MIT Group: System Environment/Daemons URL: http://www.bitlbee.org/ Source0: %{name}.tar.gz Source1: bitlbee.xinetd Source4: bitlbee-README-SELinux.txt Patch0: bitlbee.fix292.3.patch Patch1: bitlbee-make-docs-lynx.patch #Patch2: ulimft-discovery-nofail.patch Patch3: bitlbee-MC-fix_struct.patch Patch9: bitlbee-RH-build.patch Requires: xinetd Requires(pre): shadow-utils Requires(preun): /sbin/service BuildRequires: glib2-devel, libxslt BuildRequires: gnutls-devel BuildRequires: bind-devel BuildRequires: libotr-devel BuildRequires: lynx, docbook-style-xsl BuildRequires: checkpolicy, selinux-policy-devel, hardlink %if "%{selinux_polversion}" != "" Requires: selinux-policy >= %{selinux_polversion} Requires(post): policycoreutils Requires(postun): policycoreutils %endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description Bitlbee is an IRC to other chat networks gateway. Bitlbee can be used as an IRC server which forwards everything you say to people on other chat networks like ICQ, MSN, Jabber or Yahoo! %prep %setup -q -n %{name} %patch0 -p1 -b .fix292 %patch1 -p1 -b .lynx-txt #%patch2 -p0 -b .ulim-proxy-no-fails %patch3 -p1 -b .MC-build %patch9 -p1 -b .RH_build #mkdir SELinux #cp -p %{SOURCE4} SELinux/README.SELinux %build #CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions #-fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 #-mtune=generic -fasynchronous-unwind-tables' MYCFLAGS='-O0 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables' CFLAGS="$MYFLAGS" ./configure \ --prefix=%{_prefix} \ --bindir=%{_sbindir} \ --libdir=%{_libdir} \ --etcdir=%{_sysconfdir}/%{name} \ --mandir=%{_mandir} \ --datadir=%{_datadir}/%{name} \ --config=%{_localstatedir}/lib/%{name} \ --strip=0 \ --debug=1 \ --otr=1 \ --ssl=auto make %{?_smp_mflags} TMPF=$(mktemp %{_tmppath}/bitlbee-conversion.XXXXXX) for convfile in CREDITS CHANGES ; do iconv -f iso-8859-1 -t utf-8 doc/$convfile >$TMPF cp -v -f $TMPF doc/$convfile done #cd SELinux #for selinuxvariant in %{selinux_variants}; do # make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile # mv bitlbeeFT.pp bitlbeeFT.pp.${selinuxvariant} # make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean #done #cd - %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT{%{_localstatedir}/lib/%{name},%{_mandir}/man8} install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/%{name} install -D -m 644 %{name}.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/%{name}.conf install -m 644 doc/*.8 $RPM_BUILD_ROOT%{_mandir}/man8/ make DESTDIR=$RPM_BUILD_ROOT install #cd SELinux #for selinuxvariant in %{selinux_variants}; do # install -d $RPM_BUILD_ROOT%{_datadir}/selinux/${selinuxvariant} # install -p -m 644 bitlbeeFT.pp.${selinuxvariant} \ # $RPM_BUILD_ROOT%{_datadir}/selinux/${selinuxvariant}/bitlbeeFT.pp #done #cd - # Hardlink identical policy module packages together /usr/sbin/hardlink -cv $RPM_BUILD_ROOT%{_datadir}/selinux/ %pre getent group %{name} > /dev/null || %{_sbindir}/groupadd -r %{name} getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{name} -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -c "BitlBee User" %{name} exit 0 %post ## Install SELinux policy modules #for selinuxvariant in %{selinux_variants}; do # /usr/sbin/semodule -s ${selinuxvariant} -i \ # %{_datadir}/selinux/${selinuxvariant}/bitlbeeFT.pp \ # >/dev/null 2>&1 || : #done ## Fix up non-standard files context #/sbin/fixfiles -R bitlbee restore || : #/sbin/restorecon -F -R /usr/sbin/bitlbee >/dev/null 2>&1 || : %preun if [ $1 -eq 0 ]; then /sbin/service xinetd condrestart > /dev/null 2>&1 || : fi %postun # Clean up after package removal if [ $1 -eq 0 ]; then # # Remove SELinux policy modules # for selinuxvariant in %{selinux_variants}; do # /usr/sbin/semodule -s ${selinuxvariant} -r bitlbeeFT >/dev/null 2>&1 || : # done fi %clean #rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc COPYING doc/{AUTHORS,CHANGES,CREDITS,FAQ,README} %doc doc/user-guide/*.xml doc/user-guide/user-guide.txt #%doc SELinux/* %dir %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf %config(noreplace) %{_sysconfdir}/xinetd.d/%{name} %{_sbindir}/%{name} %{_datadir}/%{name}/ #%{_datadir}/selinux/*/bitlbeeFT.pp %{_mandir}/man?/%{name}* %attr(0700,bitlbee,bitlbee) %dir %{_localstatedir}/lib/%{name} %changelog * Wed Jul 16 2008 matej 1.2-1.git20080527.4 - Add ulim's patch to fix file transfer (bad proxies) - don't bother with semanaging bitlbee_port-s * Tue Apr 29 2008 Matej Cepl 1.2-1.bzr281.noBind.7 - improve SELinux rules. - the first line is wrong, selinux-policy-devel is just a virtual package provied by selinux-policy. * Mon Apr 21 2008 Matěj Cepl 1.2-1.bzr281.noBind.6 - Include additional SELinux policy pro bitlbee-ft * Tue Apr 15 2008 Matěj Cepl 1.2-1.bzr281.noBind.4 - build of my no-bind branch against the published bzr branch * Tue Apr 08 2008 Matěj Cepl 1.2-1.bzr341everything.3 - Get rid of optimization. * Sat Apr 05 2008 Matěj Cepl 1.2-1.bzr341everything.1 - Merged all branches together. * Wed Feb 27 2008 Matěj Cepl 1.1dev-1.bzr336.1 - New bzr checkout. * Tue Nov 20 2007 Matěj Cepl 1.1dev-1.bzr264.1 - All required is merged into 1.1dev version. Yay! * Thu Nov 15 2007 Matěj Cepl 1.1dev-0.bzr267.1 - New pull from upstream. * Wed Oct 24 2007 Matěj Cepl 1.1dev-0.bzr265 - Trying to make upstream bzr checkout into RPM package. * Wed Aug 29 2007 Robert Scheck 1.0.4-1 - Upgrade to 1.0.4 - Updated the license tag according to the guidelines * Mon May 07 2007 Robert Scheck 1.0.3-6 - Rebuilt * Sat Oct 21 2006 Robert Scheck 1.0.3-5 - Create a bitlbee user and condrestart xinetd instead of reload * Fri Aug 04 2006 Robert Scheck 1.0.3-4 - Switched to gnutls per default for SSL support (#196591 #c12) * Mon Jun 26 2006 Robert Scheck 1.0.3-3 - Added patch for using CFLAGS env (#196591 #c4, upstream #171) * Sun Jun 25 2006 Robert Scheck 1.0.3-2 - Changes to match with Fedora Packaging Guidelines (#196591) * Sun Jun 25 2006 Robert Scheck 1.0.3-1 - Upgrade to 1.0.3 * Sun Apr 02 2006 Robert Scheck 1.0.2-1 - Upgrade to 1.0.2 * Sun Jan 15 2006 Robert Scheck 1.0.1-1 - Upgrade to 1.0.1 * Wed Dec 28 2005 Robert Scheck 1.0-2 - Rebuilt against gcc 4.1 * Mon Dec 05 2005 Robert Scheck 1.0-1 - Upgrade to 1.0 * Sat Nov 12 2005 Robert Scheck 0.92-4 - Rebuilt against openssl 0.9.8a * Sun Aug 28 2005 Robert Scheck 0.92-3 - Added patch, that allows specifying the Jabber server manually - Don't start bitlbee per default as xinetd service * Sun Jul 03 2005 Robert Scheck 0.92-2 - Added patch giving ICQ/AIM support for typing notifications * Fri Jul 01 2005 Robert Scheck 0.92-1 - Upgrade to 0.92 - Initial spec file for Fedora Core