#
# Conditional build:
-%bcond_with largefiles # enable largefiles (disables tagged hash)
+%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
-%include /usr/lib/rpm/macros.perl
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.4
-Release: 2
+Version: 2.6.3
+Release: 6
License: distributable
Group: Networking/Daemons
Source0: ftp://ftp.isc.org/isc/inn/%{name}-%{version}.tar.gz
-# Source0-md5: ad9f77a1c84c668ccd268792721a2215
+# 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}-no-common.patch
Patch3: %{name}-setgid.patch
Patch4: %{name}-config.patch
Patch5: %{name}-asneeded.patch
Patch6: %{name}-nnrpd_no_trace.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
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.
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%{__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%{systemdtmpfilesdir}
PATHAUTHPASSWD=%{_libdir}/news/auth/passwd \
PATHAUTHRESOLV=%{_libdir}/news/auth/resolv
+# avoid conflict with glibc (synced with man-pages >= 5.09)
+%{__mv} $RPM_BUILD_ROOT%{_mandir}/man3/list.{3,3inn}
+
cp -p samples/readers.conf $RPM_BUILD_ROOT%{_sysconfdir}/readers.conf
touch $RPM_BUILD_ROOT%{_sysconfdir}/motd.{innd,nnrpd}
%attr(664,news,news) %ghost /var/lib/news/history
# LOGS
-%{systemdtmpfilesdir}/%{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(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}/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*