File inn.spec of Package inn
#
# spec file for package inn (Version 2.4.2)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: inn
BuildRequires: bison gdbm-devel pam-devel postfix
Url: http://www.isc.org/sw/inn/
Summary: InterNetNews
License: GPL v2 or later
Group: Productivity/Networking/News/Servers
Provides: inn_pkg nntp_daemon
Conflicts: cnews nntpd mininews
PreReq: perl %fillup_prereq %insserv_prereq permissions
AutoReqProv: on
Version: 2.4.2
Release: 170
%define PatchVersion -%{version}
Source: inn%{PatchVersion}.tar.bz2
Source1: doc-inn.tar.bz2
Source2: pubring.pgp
Source3: inn-emptydb.tar.gz
Source4: inn.reg
Patch: inn-%{version}.dif
Patch1: inn-perl-call-argv.dif
#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
%description
Rich Salz's InterNetNews news transport system.
Authors:
--------
Rich Salz <rsalz@osf.org>
Andreas Klemm <andreas@knobel.gun.de>
Vince Skahan <vince@atc.boeing.com>
Arjan de Vet <devet@adv.win.tue.nl>
%package devel
Requires: %name = %version
Summary: InterNetNews development files
License: GPL v2 or later
Group: Productivity/Networking/News/Servers
%description devel
Rich Salz's InterNetNews news transport system.
This package contains the files needed to develop software depending on
inn.
Authors:
--------
Rich Salz <rsalz@osf.org>
Andreas Klemm <andreas@knobel.gun.de>
Vince Skahan <vince@atc.boeing.com>
Arjan de Vet <devet@adv.win.tue.nl>
%package -n mininews
License: No license agreement found in package
Summary: Inews - Post News from an NNTP Client
Group: Productivity/Networking/News/Utilities
Provides: nntp_daemon
AutoReqProv: on
%description -n mininews
Rich Salz's InterNetNews news transport system.
Authors:
--------
Rich Salz <rsalz@osf.org>
%prep
%setup -n inn%{PatchVersion}
%setup -n inn%{PatchVersion} -D -T -a 1
%setup -n inn%{PatchVersion} -D -T -a 3
%patch -P 0 -P 1
cp -a $RPM_SOURCE_DIR/pubring.pgp .
%build
%{?suse_update_config:%{suse_update_config -f support}}
rm configure
autoconf
LDFLAGS="-pie" CFLAGS="$RPM_OPT_FLAGS -pipe -fno-strict-aliasing -fPIE -fstack-protector" ./configure \
--enable-dual-socket \
--enable-uucp-rnews \
--enable-setgid-inews \
--prefix=/usr/lib/news \
--mandir=%{_mandir} \
--disable-shared \
--enable-tagged-hash \
--with-perl \
--with-sendmail=/usr/sbin/sendmail \
--with-news-user=news \
--with-news-group=news \
--with-news-master=news \
--with-etc-dir=/etc/news \
--with-db-dir=/var/lib/news \
--with-run-dir=/var/run/news \
--with-log-dir=/var/log/news \
--with-spool-dir=/var/spool/news \
--with-tmp-dir=/var/spool/news/tmp
make
%install
mkdir -p %{buildroot}/etc
mkdir -p %{buildroot}/usr/lib
mkdir -p %{buildroot}/usr/bin
mkdir -p %{buildroot}/var/lib
mkdir -p %{buildroot}/var/log
mkdir -p %{buildroot}/var/spool
mkdir -p %{buildroot}%{_mandir}
#
make DESTDIR=%{buildroot} OWNER= ROWNER= install
gzip -nf9 %{buildroot}%{_mandir}/*/*
chmod 444 %{buildroot}/usr/lib/news/lib/*.a
# those just die("BerkeleyDB support not compiled");
rm %{buildroot}/usr/lib/news/bin/ovdb_server
rm %{buildroot}/usr/lib/news/bin/ovdb_stat
ln %{buildroot}/usr/lib/news/bin/ovdb_init %{buildroot}/usr/lib/news/bin/ovdb_server
ln %{buildroot}/usr/lib/news/bin/ovdb_init %{buildroot}/usr/lib/news/bin/ovdb_stat
#
#
#
%define installnews install -o news -g news -m
%define installnews install -m
%define installroot install -o root -g root -m
%define installroot install -m
%{installnews} 0644 subscriptions %{buildroot}/etc/news
%{installnews} 0644 distributions %{buildroot}/etc/news
%{installnews} 0644 crontab.sample %{buildroot}/etc/news
%{installnews} 0644 profile %{buildroot}/etc/news/.profile
%{installnews} 0755 -d %{buildroot}/etc/news/.pgp
%{installnews} 0600 pubring.pgp %{buildroot}/etc/news/.pgp
%{installnews} 0644 samples/send-uucp.cf %{buildroot}/etc/news
%{installnews} 0755 -d %{buildroot}/var/log/news/http
%{installnews} 0755 -d %{buildroot}/var/log/news/http/pics
%{installnews} 0555 convertspool %{buildroot}/usr/lib/news/bin
%{installnews} 0755 -d %{buildroot}/usr/lib/news/include
%{installnews} 0755 -d %{buildroot}/usr/lib/news/include/inn
%{installnews} 0644 include/clibrary.h %{buildroot}/usr/lib/news/include
%{installnews} 0644 include/config.h %{buildroot}/usr/lib/news/include
%{installnews} 0644 include/dbz.h %{buildroot}/usr/lib/news/include
%{installnews} 0644 include/libinn.h %{buildroot}/usr/lib/news/include
%{installnews} 0644 include/storage.h %{buildroot}/usr/lib/news/include
%{installnews} 0644 include/inn/defines.h %{buildroot}/usr/lib/news/include/inn
%{installnews} 0644 include/inn/system.h %{buildroot}/usr/lib/news/include/inn
%{installnews} 0644 include/inn/history.h %{buildroot}/usr/lib/news/include/inn
#
#
#
%{installnews} 0644 inn-emptydb/* %{buildroot}/var/lib/news
%{installnews} 0755 -d %{buildroot}/var/lib/news/backoff
#
# compat links
#
ln -sf bin/inews %{buildroot}/usr/lib/news/inews
ln -sf ../lib/news/bin/inews %{buildroot}/usr/bin/inews
ln -sf ../lib/news/bin/rnews %{buildroot}/usr/bin/rnews
#
# other links
#
ln -sf ../innfeed.status %{buildroot}/var/log/news/http/innfeed.status.txt
ln -sf ../inn.status %{buildroot}/var/log/news/http/inn.status.txt
#
#
#
mkdir -p %{buildroot}/etc/init.d
%{installnews} 0550 rc %{buildroot}/etc/init.d/inn
mkdir -p %{buildroot}/usr/sbin
ln -sf ../../etc/init.d/inn %{buildroot}/usr/sbin/rcinn
#
touch %{buildroot}/var/log/news/news
touch %{buildroot}/var/log/news/news.notice
touch %{buildroot}/var/log/news/news.err
touch %{buildroot}/var/log/news/news.crit
touch %{buildroot}/var/log/news/inn.status
touch %{buildroot}/var/log/news/innfeed.status
#
# SLP regfile
#
%{installroot} 0755 -d $RPM_BUILD_ROOT/etc/slp.reg.d
%{installroot} 0644 %{SOURCE4} $RPM_BUILD_ROOT/etc/slp.reg.d/
#
# build filelist
#
%define filelist %{name}-filelist
find %{buildroot} -type d -printf "/%%P\n" | awk '
! /^\/(etc|usr\/lib|var\/lib|var\/log|var\/spool|var\/run)\/news/ { next }
$0 == "/etc/news" { next }
$0 == "/usr/lib/news" { next }
$0 == "/var/lib/news" { next }
{ pfx="" }
$0 == "/var/spool/news" { pfx = "%%attr(775,news,news) " }
/\/news/ {
if (!match(pfx, /%%attr/)) pfx = "%%attr(-,news,news) " pfx
}
{ print "%dir " pfx $0 }
' > %{filelist}
find %{buildroot} ! -type d -printf "/%%P\n" | awk '
{ pfx="" }
/^\/usr\/lib\/news\/include/ { next }
/^\/usr\/lib\/news\/lib\/.*\.a/ { next }
$0 == "/etc/init.d/inn" { pfx="%attr(750,root,news) %config " }
$0 == "/usr/lib/news/bin/inews" { pfx="%attr(2555,news,news) " }
$0 == "/usr/lib/news/bin/rnews" { pfx="%attr(4550,news,uucp) " }
$0 == "/usr/lib/news/bin/inndstart" { pfx="%attr(4554,root,news) " }
$0 == "/usr/lib/news/bin/startinnfeed" { pfx="%verify(not mode) %attr(4554,root,news) " }
/^\/(etc\/news|usr\/lib\/news\/bin\/filter|var\/lib\/news)\// {
pfx="%config(noreplace) "pfx
}
/\/man\/man/ {
pfx="%doc %attr(444,root,root) "pfx
}
/^\/var\/log\/news\/(news|inn\.status|innfeed\.status)/ {
pfx="%ghost %attr(644,news,news) "pfx
}
/\/news\// {
if (!match(pfx, /%%attr/)) pfx = "%%attr(-,news,news) " pfx
}
/^\/etc\/slp\.reg\.d\// { next }
{ print pfx $0 }
' >> %{filelist}
#
#
#
%pre
test -f var/log/news && mv var/log/news var/log/news.bak
exit 0
%post
mkdir -p var/log/news
touch var/log/news/news.notice
touch var/log/news/news.err
touch var/log/news/news.crit
touch var/log/news/news
touch var/log/news/inn.status
touch var/log/news/innfeed.status
chown news:news var/log/news/news.notice var/log/news/news.err var/log/news/news.crit var/log/news/news var/log/news/inn.status var/log/news/innfeed.status
if test -e usr/lib/news/bin/control/version ; then
rm -f etc/news/inn.conf.OLD
usr/lib/news/bin/innupgrade etc/news
fi
# killall -q -HUP syslogd >/dev/null 2>&1 || :
%{fillup_and_insserv inn}
%run_permissions
%verifyscript
%verify_permissions -e /usr/lib/news/bin/startinnfeed
%preun
%stop_on_removal inn
%postun
%restart_on_update inn
%{insserv_cleanup}
%files -f %{filelist}
%defattr(-,root,root)
%dir /etc/slp.reg.d
%config(noreplace) /etc/slp.reg.d/inn.reg
%doc ChangeLog NEWS INSTALL README*
%doc doc-inn/*
%files devel
%defattr(-,root,root)
/usr/lib/news/include
/usr/lib/news/lib/*.a
%files -n mininews
%defattr(-,root,root)
%config(noreplace) /etc/news/inn.conf
%dir /usr/lib/news/bin
%attr(4550,news,uucp) /usr/lib/news/bin/rnews
%attr(2555,news,news) /usr/lib/news/bin/inews
/usr/bin/[ri]news
/usr/lib/news/[ri]news
%doc %{_mandir}/*/inn.conf.*
%doc %{_mandir}/*/[ri]news.*
%changelog
* Thu Jul 10 2008 mls@suse.de
- fix segfault in perl_call_argv [bnc#405186]
* Thu Jun 19 2008 werner@suse.de
- Add missing Provides to the init script
* Wed May 30 2007 mls@suse.de
- split devel package
- remove some file duplicates
* Mon Apr 02 2007 rguenther@suse.de
- Add gdbm-devel BuildRequires.
* Thu Mar 29 2007 rguenther@suse.de
- Add bison BuildRequires.
* Wed Feb 14 2007 schwab@suse.de
- Fix building as non-root.
* Mon Nov 13 2006 mls@suse.de
- initialize mechusing variable to shut up intel compiler [#197713]
* Mon Jan 30 2006 mls@suse.de
- add -fstack-protector to CFLAGS
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Mon Jun 27 2005 ro@suse.de
- build with fPIE/pie
* Fri Mar 11 2005 mls@suse.de
- fix off-by-one error in parsedate_rfc2822
* Fri Mar 04 2005 mls@suse.de
- package startinnfeed with mode 4755
* Fri Feb 04 2005 mls@suse.de
- update to inn-2.4.2
* Thu Nov 11 2004 ro@suse.de
- permissions handling fix
* Sun Apr 04 2004 mls@suse.de
- made /usr/lib/news/bin owned by root:root as it contains
a suid-root program
* Fri Mar 26 2004 mmj@suse.de
- Add postfix to # neededforbuild
* Thu Mar 18 2004 mls@suse.de
- provide slp regfile
- pack manpages with owner root:root
* Fri Feb 27 2004 mls@suse.de
- update to inn-2.4.1
- updated inn faq
* Fri Jan 16 2004 kukuk@suse.de
- Cleanup neededforbuild
* Mon Jan 12 2004 adrian@suse.de
- package startinnfeed with 0555 permissions
(following permissions scripts)
* Fri Jan 09 2004 thomas@suse.de
- fixed remotely exploitable buffer overflow (#33882)
* Tue Sep 02 2003 mls@suse.de
- use stop_on_removal/restart_on_update macros
- convertspool: use split -a 5
* Wed Jul 30 2003 mls@suse.de
- update to inn-2.4.0
* Mon Jun 23 2003 mls@suse.de
- create link targets as ghost
- don't pack /etc/news, /usr/lib/news, /var/lib/news, they
are already in filesystem.rpm
* Fri Apr 11 2003 ro@suse.de
- fix deprecated head/tail calling syntax (-1)
* Mon Mar 03 2003 mls@suse.de
- touch /var/log/news/news in postinstall (#24555)
* Fri Jan 10 2003 mls@suse.de
- update to inn-2.3.4
* Wed Sep 11 2002 mls@suse.de
- corrected Required-Start in rc file (#19402)
* Tue Aug 20 2002 mls@suse.de
- added PreReqs
- dropped superfluous (and dangerous) "Provides: inn"
* Fri Aug 09 2002 mls@suse.de
- made it work with threaded perl-5.8.0
* Fri Jul 12 2002 mls@suse.de
- fixed postinstall script to be sh -e resistant
- check if compress binary really works in uucp scripts
* Tue Jul 02 2002 meissner@suse.de
- rerun auto* tools.
* Thu May 02 2002 mls@suse.de
- use gzip if compress is not available (bug #15793)
- make inn header files available, suck needs them
* Thu Apr 04 2002 mls@suse.de
- fix LIBOBJS in configure.in for new autoconf version
* Wed Mar 06 2002 mls@suse.de
- put innd in xrefslave mode in convertspool script
- fix innconfval segfault if pathhost is not set
* Mon Feb 25 2002 mls@suse.de
- fixed permissions of inn libraries
- added comment about overchan and controlchan
* Thu Feb 14 2002 mls@suse.de
- added detection of old history format to rc.news
- added convertspool script
- updated README.linux
- use "rc.news stop" to stop inn
* Mon Feb 11 2002 mls@suse.de
- update to inn-2.3.2.
- rcinn now LSB compliant.
* Tue Jan 15 2002 ro@suse.de
- removed START_INN
* Tue Jan 15 2002 egmont@suselinux.hu
- Removed colons from startup/shutdown messages.
* Wed Jun 13 2001 schwab@suse.de
- Fix for new autoconf.
* Tue Mar 13 2001 ma@suse.de
- Explicitly set permissions for inews(sgid news), rnews(suid news),
inndstart and startinnfeed (both suid root) in specfile.
* Mon Dec 04 2000 ma@suse.de
- adopt LSB runlevel and init script scheme
* Thu Nov 23 2000 ma@suse.de
- IPv6 patch removed
* Fri Oct 13 2000 ma@suse.de
- Update to inn-2.2.3
- IPv6 patch form http://bofh.st/ipv6/downloads/sith.mimuw.edu.pl
added.
* Wed Sep 06 2000 ma@suse.de
- fixed restart, status and reload section in rcinn (#3889)
* Thu Jul 27 2000 ma@suse.de
- fixed wrong ownership of ~news
* Thu Jul 06 2000 ma@suse.de
- fixed wrong pathnames in send-uucp.pl
* Mon Jun 19 2000 ma@suse.de
- fixes some possible on-stack buffer overflows
- using BuildRoot
- add directories for control, control.cancel and junk (#2644)
- article filters marked as config (#1760)
* Fri Mar 31 2000 schwab@suse.de
- Update config.{guess,sub} from automake.
* Thu Mar 02 2000 ro@suse.de
- use %%{_mandir}
* Wed Mar 01 2000 werner@suse.de
- Fix config.guess selection
* Wed Jan 12 2000 ma@suse.de
- update to 2.2.2 STABLE snapshot 2000-10-01.
Y2K bugs fixed
- added rnews to mininews subpackage
* Wed Nov 24 1999 ma@suse.de
- update to 2.2.1 STABLE snapshot 1999-11-23.
fixes some bugs that cause inn to crash.
* Mon Sep 20 1999 ro@suse.de
- added Provides nntp_daemon for mininews
* Mon Sep 20 1999 ro@suse.de
- added Provides nntp_daemon
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Mon Aug 30 1999 ma@suse.de
- update to 2.2.1 (Fixes for possible buffer overflow)
* Tue Jan 19 1999 uli@suse.de
- update to newer inn sources
- do not have an open inn server as default configuration
- mininews: fixed missing binary, added /etc/news/inn.conf
* Fri Jan 08 1999 florian@suse.de
- add the FAQ again
- add /usr/sbin/rcinn
* Thu Dec 17 1998 florian@suse.de
- update to current cvs-version
- fix innfeed.conf to use "inn.feed" directory
* Fri Dec 11 1998 ro@suse.de
- update to 2.2
* Sat Nov 14 1998 ro@suse.de
- fix type-conflict for mmap in include/clibrary.h
- build mininews from same specfile
* Sun Sep 20 1998 ro@suse.de
- dont redeclare sys_errlist for glibc
- change return value of exit in include/clibrary.h to explicit "void"
- add -lcrypt for glibc
* Fri Oct 24 1997 florian@suse.de
- rework autobuild support
- update to inn 1.7
* Tue Oct 21 1997 ro@suse.de
- ready for autobuild
* Mon Jun 02 1997 florian@suse.de
- mv fillup to /var/adm/fillup-templates/
- include correct postinstall script
* Tue May 27 1997 florian@suse.de
- always use gzip to decompress news-batches
* Thu Apr 10 1997 florian@suse.de
- all log files are in /var/lib/news/log
- inn doesn't try to look at syslog files
- pgp-verification is ready to be used
- all known security patches and some bug-reports installed
- new faq files and docu cleanup