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
openSUSE Build Service is sponsored by