#
# Conditional build:
-%bcond_with largefiles # enable largefiles (disables tagged hash)
-#
-%include /usr/lib/rpm/macros.perl
+%bcond_with lfs # enable largefiles (disables tagged hash)
+%bcond_without python # embedded Python module support
+%bcond_with python3 # Python 3.x instead of 2.x
+
Summary: INN, the InterNet News System (news server)
Summary(de.UTF-8): das InterNet News System (News-Server)
Summary(es.UTF-8): INN, InterNet News System (servidor news)
Summary(pt_BR.UTF-8): INN, InterNet News System (servidor news)
Summary(tr.UTF-8): INN, InterNet Haber Sistemi (haber sunucu)
Name: inn
-Version: 2.5.3
-Release: 0.1
+Version: 2.6.3
+Release: 6
License: distributable
Group: Networking/Daemons
Source0: ftp://ftp.isc.org/isc/inn/%{name}-%{version}.tar.gz
-# Source0-md5: 353fe95232828ddbc80debff86c240bc
+# Source0-md5: cbbebf4c984cd54871b25f6c649d6ad2
Source1: %{name}-default-active
Source2: %{name}-default-distributions
Source3: %{name}-default-newsgroups
Source10: %{name}.tmpfiles
Patch0: %{name}-PLD.patch
Patch1: %{name}-install.patch
-Patch2: %{name}-db.patch
+Patch2: %{name}-no-common.patch
Patch3: %{name}-setgid.patch
Patch4: %{name}-config.patch
Patch5: %{name}-asneeded.patch
Patch6: %{name}-nnrpd_no_trace.patch
-Patch7: %{name}-flex.patch
Patch8: %{name}-libdir.patch
URL: https://www.isc.org/software/inn/
-BuildRequires: autoconf >= 2.61
+BuildRequires: autoconf >= 2.64
BuildRequires: automake
BuildRequires: bison
+BuildRequires: cyrus-sasl-devel >= 2
BuildRequires: db-devel >= 4.4
BuildRequires: flex >= 2.5.37
BuildRequires: heimdal-devel
BuildRequires: libtool >= 2:2
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: perl-devel >= 1:5.8.0
+%if %{with python}
+%{!?with_python3:BuildRequires: python-devel >= 1:2.3}
+%{?with_python3:BuildRequires: python3-devel >= 1:3.3}
+%endif
BuildRequires: rpm-perlprov
BuildRequires: rpmbuild(macros) >= 1.663
+BuildRequires: zlib-devel
Requires(post): /bin/kill
Requires(post): /usr/bin/getent
Requires(post): /usr/sbin/usermod
Requires(post): textutils
Requires(post,preun): /sbin/chkconfig
Requires: %{name}-libs = %{version}-%{release}
-Requires: /etc/cron.d
Requires: awk
Requires: cleanfeed >= 0.95.7b-4
+Requires: crondaemon
Requires: procps
Requires: psmisc >= 20.1
Requires: rc-scripts >= 0.4.1.23
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/news
-%define _includedir %{_prefix}/include/inn
%define skip_post_check_so libstorage.so.*
# /usr/bin/pullnews doesn't provide perl(Net::NNTP) - perl-libnet does.
%patch4 -p1
%patch5 -p1
%patch6 -p1
-%patch7 -p1
%patch8 -p1
touch innfeed/*.[ly]
%{__autoconf}
%{__autoheader} -I include
%configure \
- CPPFLAGS="-D_GNU_SOURCE" \
+ CPPFLAGS="%{rpmcppflags} -D_GNU_SOURCE" \
+ %{?with_python3:PYTHON=%{__python3}} \
--with-news-group=news \
--with-news-master=news \
--with-news-user=news \
--with-control-dir=%{_datadir}/news/control \
--with-db-dir=/var/lib/news \
--with-filter-dir=%{_datadir}/news/filter \
- --with-http-dir=%{_datadir}/news/http \
+ --with-http-dir=/var/lib/news/http \
--with-innlib-dir=%{_datadir}/news \
--with-libperl-dir=%{perl_vendorlib} \
--with-log-dir=/var/log/news \
--with-run-dir=/var/run/news \
--with-spool-dir=/var/spool/news \
--with-tmp-dir=/var/spool/news/incoming/tmp \
- --with-berkeleydb=%{_prefix} \
+ --with-bdb=%{_prefix} \
--with-openssl=%{_prefix} \
--with-perl \
+ %{?with_python:--with-python} \
--with-sendmail=/usr/lib/sendmail \
- --enable-ipv6 \
- %{?with_largefiles:--enable-largefiles} \
- --enable-libtool \
- --enable-shared \
- --enable-static \
- %{!?with_largefiles:--enable-tagged-hash}
+ %{?with_lfs:--enable-largefiles} \
+ --enable-reduced-depends \
+ %{!?with_lfs:--enable-tagged-hash}
%{__make} all \
PATHFILTER=%{_datadir}/news/filter \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{news/pgp,rc.d/init.d,cron.d,logrotate.d} \
- $RPM_BUILD_ROOT{%{_libdir}/news/{rnews,auth/generic},%{_includedir}} \
- $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/news/{control,filter,auth}} \
- $RPM_BUILD_ROOT%{_mandir}/{man{1,3,5,8},pl/man{1,8}} \
- $RPM_BUILD_ROOT/var/{run/news,lib/news/backoff,log/{news,archive/news}} \
- $RPM_BUILD_ROOT/var/spool/news/{articles,overview,incoming/{tmp,bad},outgoing,archive,uniover,innfeed,cycbuffs} \
+install -d $RPM_BUILD_ROOT/etc/{cron.d,logrotate.d,news/pgp,rc.d/init.d} \
+ $RPM_BUILD_ROOT%{_libdir}/news/auth/generic \
+ $RPM_BUILD_ROOT%{_datadir}/news/auth \
+ $RPM_BUILD_ROOT%{_mandir}/pl/man{1,8} \
+ $RPM_BUILD_ROOT/var/lib/news/backoff \
+ $RPM_BUILD_ROOT/var/log/archive/news \
+ $RPM_BUILD_ROOT/var/spool/news/{cycbuffs,uniover} \
$RPM_BUILD_ROOT/home/services/news \
- $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
+ $RPM_BUILD_ROOT%{systemdtmpfilesdir}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
PATHAUTHPASSWD=%{_libdir}/news/auth/passwd \
PATHAUTHRESOLV=%{_libdir}/news/auth/resolv
-install samples/readers.conf $RPM_BUILD_ROOT%{_sysconfdir}/readers.conf
+# avoid conflict with glibc (synced with man-pages >= 5.09)
+%{__mv} $RPM_BUILD_ROOT%{_mandir}/man3/list.{3,3inn}
-install %{SOURCE1} $RPM_BUILD_ROOT/var/lib/news/active
-install %{SOURCE2} $RPM_BUILD_ROOT/var/lib/news/distributions
-install %{SOURCE3} $RPM_BUILD_ROOT/var/lib/news/newsgroups
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/inn
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/inn
-install %{SOURCE6} $RPM_BUILD_ROOT%{_bindir}/cnfsstat.cron
-install %{SOURCE7} $RPM_BUILD_ROOT/etc/logrotate.d/inn
-install %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/pl/man1/getlist.1
-install %{SOURCE9} $RPM_BUILD_ROOT%{_mandir}/pl/man8/innd.8
-install %{SOURCE10} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
+cp -p samples/readers.conf $RPM_BUILD_ROOT%{_sysconfdir}/readers.conf
+touch $RPM_BUILD_ROOT%{_sysconfdir}/motd.{innd,nnrpd}
+
+cp -p %{SOURCE1} $RPM_BUILD_ROOT/var/lib/news/active
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/var/lib/news/distributions
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/var/lib/news/newsgroups
+cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/inn
+install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/inn
+install -p %{SOURCE6} $RPM_BUILD_ROOT%{_bindir}/cnfsstat.cron
+cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/logrotate.d/inn
+cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/pl/man1/getlist.1
+cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_mandir}/pl/man8/innd.8
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
%{__rm} $RPM_BUILD_ROOT/var/lib/news/history
%attr(664,news,news) %ghost /var/lib/news/history
# LOGS
-/usr/lib/tmpfiles.d/%{name}.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/inn
# note: innd (and maybe others) creates files in this directory
%attr(771,root,news) %dir /var/log/news
%attr(770,news,news) %dir /var/run/news
+%{systemdtmpfilesdir}/%{name}.conf
+# http status pages
+%attr(775,root,news) %dir /var/lib/news/http
+/var/lib/news/http/innreport.css
# SPOOL
%attr(771,root,news) %dir /var/spool/news
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/expire.ctl
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/incoming.conf
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/inn.conf
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/inn-radius.conf
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/innfeed.conf
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/innreport.conf
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/innshellvars.local
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/localgroups
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/moderators
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/motd.innd
+%{_sysconfdir}/motd.innd.sample
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/motd.nnrpd
+%{_sysconfdir}/motd.nnrpd.sample
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/news2mail.cf
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/newsfeeds
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nnrpd.track
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nocem.ctl
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ovdb.conf
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/passwd.nntp
-%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/radius.conf
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/readers.conf
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/send-uucp.cf
%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/storage.conf
%attr(755,root,news) %dir %{_datadir}/news
%dir %{_datadir}/news/control
%dir %{_datadir}/news/filter
-%dir %{_datadir}/news/http
-%{_datadir}/news/http/innreport.css
%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/innreport_inn.pm
%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/innshellvars
%{_mandir}/man5/history.5*
%{_mandir}/man5/incoming.conf.5*
%{_mandir}/man5/inn.conf.5*
+%{_mandir}/man5/inn-radius.conf.5*
%{_mandir}/man5/innfeed.conf.5*
%{_mandir}/man5/innwatch.ctl.5*
%{_mandir}/man5/localgroups.5*
%{_mandir}/man5/nocem.ctl.5*
%{_mandir}/man5/ovdb.5*
%{_mandir}/man5/passwd.nntp.5*
-%{_mandir}/man5/radius.conf.5*
%{_mandir}/man5/readers.conf.5*
%{_mandir}/man5/storage.conf.5*
%{_mandir}/man5/subscriptions.5*
%{_mandir}/man8/actsync.8*
%{_mandir}/man8/actsyncd.8*
%{_mandir}/man8/archive.8*
+%{_mandir}/man8/auth_krb5.8*
%{_mandir}/man8/batcher.8*
%{_mandir}/man8/buffchan.8*
%{_mandir}/man8/ckpasswd.8*
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libinn.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libinn.so.2
+%attr(755,root,root) %ghost %{_libdir}/libinn.so.6
%attr(755,root,root) %{_libdir}/libinnhist.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libinnhist.so.2
+%attr(755,root,root) %ghost %{_libdir}/libinnhist.so.3
%attr(755,root,root) %{_libdir}/libstorage.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libstorage.so.2
+%attr(755,root,root) %ghost %{_libdir}/libstorage.so.3
%files devel
%defattr(644,root,root,755)
%{_libdir}/libinn.la
%{_libdir}/libinnhist.la
%{_libdir}/libstorage.la
-%{_includedir}
+%{_includedir}/inn
%{_mandir}/man3/clientlib.3*
%{_mandir}/man3/dbz.3*
%{_mandir}/man3/inndcomm.3*
%{_mandir}/man3/libinn.3*
%{_mandir}/man3/libinnhist.3*
%{_mandir}/man3/libstorage.3*
-# XXX: too generic name?
-%{_mandir}/man3/list.3*
+%{_mandir}/man3/list.3inn*
%{_mandir}/man3/qio.3*
# XXX: too generic name?
%{_mandir}/man3/tst.3*