-%include /usr/lib/rpm/macros.perl
+#
+# Conditional build:
+%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): das InterNet News System (News-Server)
-Summary(es): INN, InterNet News System (servidor news)
-Summary(fr): INN, le système InterNet News (serveur de news)
-Summary(pl): INN, serwer nowinek
-Summary(pt_BR): INN, InterNet News System (servidor news)
-Summary(tr): INN, InterNet Haber Sistemi (haber sunucu)
+Summary(de.UTF-8): das InterNet News System (News-Server)
+Summary(es.UTF-8): INN, InterNet News System (servidor news)
+Summary(fr.UTF-8): INN, le système InterNet News (serveur de news)
+Summary(pl.UTF-8): INN, serwer nowinek
+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.4.1
-Release: 0.9
+Version: 2.6.3
+Release: 6
License: distributable
Group: Networking/Daemons
Source0: ftp://ftp.isc.org/isc/inn/%{name}-%{version}.tar.gz
-# Source0-md5: bec635b6e70188071fdb539cd374f2ba
+# Source0-md5: cbbebf4c984cd54871b25f6c649d6ad2
Source1: %{name}-default-active
Source2: %{name}-default-distributions
Source3: %{name}-default-newsgroups
Source7: %{name}.logrotate
Source8: getlist.1.pl
Source9: %{name}d.8.pl
+Source10: %{name}.tmpfiles
Patch0: %{name}-PLD.patch
Patch1: %{name}-install.patch
-Patch2: %{name}-db.patch
-Patch3: %{name}-ac25x.patch
-Patch4: %{name}-ac253.patch
-Patch5: %{name}-setgid.patch
-Patch6: %{name}-db4.patch
-Patch7: %{name}-timecaf_oversized_art.patch
-Patch8: %{name}-lib_install_modes.patch
-Patch9: %{name}-kill_warnings.patch
-Patch10: %{name}-64bit_pointers.patch
-Patch11: %{name}-config.patch
-URL: http://www.isc.org/sw/inn/
-BuildRequires: autoconf
+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.64
BuildRequires: automake
BuildRequires: bison
-BuildRequires: db-devel
-BuildRequires: flex
-BuildRequires: libtool >= 1:1.4.2-9
+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
-PreReq: %{name}-libs = %{version}-%{release}
-PreReq: rc-scripts
+%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,preun): /sbin/chkconfig
-Requires(post): sed >= 4.0
+Requires(post): /usr/sbin/usermod
Requires(post): fileutils
+Requires(post): sed >= 4.0
Requires(post): textutils
-Requires(post): /usr/sbin/usermod
+Requires(post,preun): /sbin/chkconfig
+Requires: %{name}-libs = %{version}-%{release}
+Requires: awk
Requires: cleanfeed >= 0.95.7b-4
-Requires: rc-scripts >= 0.2.0
-Requires: /etc/cron.d
-Requires: psmisc >= 20.1
-Requires: util-linux
+Requires: crondaemon
Requires: procps
+Requires: psmisc >= 20.1
+Requires: rc-scripts >= 0.4.1.23
Requires: textutils
-Requires: awk
+Requires: util-linux
+Suggests: perl-GD
Provides: nntpserver
Obsoletes: leafnode
Obsoletes: leafnode+
+Conflicts: logrotate < 3.7-4
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.
-%define _noautoprov 'perl(Net::NNTP)'
+%define _noautoprov_perl Net::NNTP
# it's necessary only for sample nnrpd_auth.pl hook
-%define _noautoreq 'perl(CDB_File)'
+%define _noautoreq_perl CDB_File
%description
INN is a news server, which can be set up to handle USENET news, as
well as private "newsfeeds". There is a *LOT* of information about
-setting up INN in /usr/share/doc -- read it.
+setting up INN in %{_docdir}/%{name}-%{version} -- read it.
If you want innreport to generate graphs you need perl-GD package.
-%description -l es
+%description -l es.UTF-8
INN es un servidor de news, que puede ser configurado para manipular
-USENET news bien como newsfeeds privadas. Existe un *Montón* de
-información sobre la configuración del INN en /usr/doc -- léela.
+USENET news bien como newsfeeds privadas. Existe un *Montón* de
+información sobre la configuración del INN en
+%{_docdir}/%{name}-%{version} -- léela.
-%description -l pl
-INN jest serwerem news, który mo¿na skonfigurowaæ do obs³ugi USENET-u,
-jak równie¿ do obs³ugi ,,prywatnych'' grup w sieciach intranetowych.
-Ca³e mnóstwo po¿ytecznych informacji o konfigurowaniu INN-a znajdziesz
-w katalogu /usr/share/doc/inn-*.
+%description -l pl.UTF-8
+INN jest serwerem news, który można skonfigurować do obsługi USENET-u,
+jak również do obsługi ,,prywatnych'' grup w sieciach intranetowych.
+Całe mnóstwo pożytecznych informacji o konfigurowaniu INN-a znajdziesz
+w katalogu %{_docdir}/%{name}-%{version}.
-Je¶li chcesz ¿eby innreport generowa³ wykresy musisz zainstalowaæ
-pakiet perl-GD.
+Aby innreport generował wykresy, trzeba zainstalować pakiet perl-GD.
-%description -l pt_BR
-INN é um servidor de news, que pode ser configurado para manipular
+%description -l pt_BR.UTF-8
+INN é um servidor de news, que pode ser configurado para manipular
USENET news bem como newsfeeds privadas. Existe um *MONTE* de
-informações sobre a configuração do INN em /usr/doc -- leia.
+informações sobre a configuração do INN em
+%{_docdir}/%{name}-%{version} -- leia.
%package libs
Summary: INN libraries
-Summary(de): INN-Library
-Summary(fr): Bibliothèque INN
-Summary(pl): Biblioteki do INN-a
-Group: Development/Libraries
+Summary(de.UTF-8): INN-Library
+Summary(fr.UTF-8): Bibliothèque INN
+Summary(pl.UTF-8): Biblioteki do INN-a
+Group: Libraries
%description libs
This library is needed by several programs that interface to INN, such
as newsgate or tin.
-%description libs -l de
-Diese Library wird von mehreren Programmen benötigt, die mit INN
+%description libs -l de.UTF-8
+Diese Library wird von mehreren Programmen benötigt, die mit INN
kommunizieren, etwa newsgate oder tin.
-%description libs -l fr
-Cette bibliothèque est nécessaire à plusieurs programmes qui
+%description libs -l fr.UTF-8
+Cette bibliothèque est nécessaire à plusieurs programmes qui
s'interfacent avec INN, comme newsgate ou tin.
-%description libs -l pl
-Biblioteka niezbêdna do dzia³ania kilku programów wspó³pracuj±cych z
+%description libs -l pl.UTF-8
+Biblioteka niezbędna do działania kilku programów współpracujących z
INN-em, takich jak newsgate czy tin.
-%description libs -l tr
-INN ile arayüz gerektiren programlar için (newsgate, tin gibi) gereken
-bir kitaplýktýr.
+%description libs -l tr.UTF-8
+INN ile arayüz gerektiren programlar için (newsgate, tin gibi) gereken
+bir kitaplıktır.
%package devel
Summary: INN header files and development documentations
-Summary(de): INN-Library
-Summary(es): Biblioteca INN
-Summary(fr): Bibliothèque INN
-Summary(pl): Pliki nag³ówkowe i dokumentacja programisty do inn-a
-Summary(pt_BR): Biblioteca INN
-Summary(tr): INN kitaplýðý
+Summary(de.UTF-8): INN-Library
+Summary(es.UTF-8): Biblioteca INN
+Summary(fr.UTF-8): Bibliothèque INN
+Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programisty do inn-a
+Summary(pt_BR.UTF-8): Biblioteca INN
+Summary(tr.UTF-8): INN kitaplığı
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
Requires: db-devel
%description devel
Header files and developer documentations for INN libraries.
-%description devel -l de
-Diese Library wird von mehreren Programmen benötigt, die mit INN
+%description devel -l de.UTF-8
+Diese Library wird von mehreren Programmen benötigt, die mit INN
kommunizieren, etwa newsgate oder tin.
-%description devel -l es
+%description devel -l es.UTF-8
Esta biblioteca es requerida por varios programas que tienen interface
con INN, como el newsgate o tin.
-%description devel -l fr
-Cette bibliothèque est nécessaire à plusieurs programmes qui
+%description devel -l fr.UTF-8
+Cette bibliothèque est nécessaire à plusieurs programmes qui
s'interfacent avec INN, comme newsgate ou tin.
-%description devel -l pl
-Pliki nag³ówkowe i dokumentacja programisty do bibliotek INN-a.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i dokumentacja programisty do bibliotek INN-a.
-%description devel -l pt_BR
-Esta biblioteca é requerida por vários programas que tem interface com
+%description devel -l pt_BR.UTF-8
+Esta biblioteca é requerida por vários programas que tem interface com
o INN, como o newsgate ou tin.
-%description devel -l tr
-INN ile arayüz gerektiren programlar için (newsgate, tin gibi) gereken
-bir kitaplýktýr.
+%description devel -l tr.UTF-8
+INN ile arayüz gerektiren programlar için (newsgate, tin gibi) gereken
+bir kitaplıktır.
%package static
Summary: Static INN libraries
-Summary(es): Static libraries for inn development
-Summary(pl): Biblioteki statyczne do INN
-Summary(pt_BR): Bibliotecas estáticas para desenvolvimento com inn
+Summary(es.UTF-8): Static libraries for inn development
+Summary(pl.UTF-8): Biblioteki statyczne do INN
+Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com inn
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
Static INN libraries.
-%description static -l es
+%description static -l es.UTF-8
Static libraries for inn development
-%description static -l pl
+%description static -l pl.UTF-8
Biblioteki statyczne do INN.
-%description static -l pt_BR
-INN é um servidor de news, que pode ser configurado para manipular
-USENET news bem como newsfeeds privadas. Existe um *MONTE* de
-informações sobre a configuração do INN em /usr/doc -- leia.
-
-Bibliotecas estáticas para desenvolvimento com inn
+%description static -l pt_BR.UTF-8
+Bibliotecas estáticas para desenvolvimento com inn
%package -n inews
Summary: Inews program (used for posting by inn and trn)
-Summary(de): Inews-Programm (für die Zustellung mit inn und trn)
-Summary(es): Programa Inews (usado para franqueo por inn y trn)
-Summary(fr): Programme inews (utilisé par inn et trn pour poster)
-Summary(pl): Inews - program do wysy³ania artyku³ów (u¿ywany przez inn i trn)
-Summary(pt_BR): Programa Inews (usado para postagem pelo inn e trn)
-Summary(tr): Haber biçimlendirme programý
+Summary(de.UTF-8): Inews-Programm (für die Zustellung mit inn und trn)
+Summary(es.UTF-8): Programa Inews (usado para franqueo por inn y trn)
+Summary(fr.UTF-8): Programme inews (utilisé par inn et trn pour poster)
+Summary(pl.UTF-8): Inews - program do wysyłania artykułów (używany przez inn i trn)
+Summary(pt_BR.UTF-8): Programa Inews (usado para postagem pelo inn e trn)
+Summary(tr.UTF-8): Haber biçimlendirme programı
Group: Networking/News
Requires: %{name}-libs = %{version}-%{release}
some consistency checking and header reformatting, and forwards the
article on to the news server specified in inn.conf.
-%description -n inews -l de
+%description -n inews -l de.UTF-8
Das Programm 'inews' wird von manchen Newsreadern zum Senden von
-Nachrichten verwendet. Es führt eine Konsistenzprüfung und Header-Neuf
+Nachrichten verwendet. Es führt eine Konsistenzprüfung und Header-Neuf
ormatierung aus und leitet die Nachricht an den in 'inn.conf'
angegebenen News-Server weiter.
-%description -n inews -l es
+%description -n inews -l es.UTF-8
El programa inews se usa por algunos lectores de news para postar
mensajes. Hace alguna consistencia chequeando y reformateando headers,
-y enviando el artículo para el servidor de news especificado en el
+y enviando el artículo para el servidor de news especificado en el
inn.conf.
-%description -n inews -l fr
-Le programme inews est utilisé par certains lecteurs de news pour
-poster les articles. Il effectue des vérifications et un reformatage
-des en-têtes et fait suivre l'article au serveur de news spécifié dans
+%description -n inews -l fr.UTF-8
+Le programme inews est utilisé par certains lecteurs de news pour
+poster les articles. Il effectue des vérifications et un reformatage
+des en-têtes et fait suivre l'article au serveur de news spécifié dans
inn.conf.
-%description -n inews -l pl
-Inews jest u¿ywany przez niektóre czytniki news do wysy³ania
-artyku³ów. Sprawdza budowê artyku³u, przepisuje nag³ówek i wysy³a do
-serwera news wyszczególnionego w inn.conf.
+%description -n inews -l pl.UTF-8
+Inews jest używany przez niektóre czytniki news do wysyłania
+artykułów. Sprawdza budowę artykułu, przepisuje nagłówek i wysyła do
+serwera news wyszczególnionego w inn.conf.
-%description -n inews -l pt_BR
-O programa inews é usado por alguns leitores de news para postar
-mensagens. Ele faz alguma consistência checando e reformatando
+%description -n inews -l pt_BR.UTF-8
+O programa inews é usado por alguns leitores de news para postar
+mensagens. Ele faz alguma consistência checando e reformatando
headers, e enviando o artigo para o servidor de news especificado no
inn.conf.
-%description -n inews -l tr
-inews programý bazý haber okuyucular tarafýndan haber yollamak
-amacýyla kullanýlýr. Program bazý güvenlik denetimleri ve baþlýk
-biçimlendirmesi yaparak ve inn.conf dosyasýnda belirtilen haber
+%description -n inews -l tr.UTF-8
+inews programı bazı haber okuyucular tarafından haber yollamak
+amacıyla kullanılır. Program bazı güvenlik denetimleri ve başlık
+biçimlendirmesi yaparak ve inn.conf dosyasında belirtilen haber
sunucuya makaleyi yollar.
%prep
%patch3 -p1
%patch4 -p1
%patch5 -p1
-%patch6
-%patch7 -p1
+%patch6 -p1
%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
touch innfeed/*.[ly]
%build
%{__libtoolize}
+# not updated automatically by libtool
+cp -f /usr/share/aclocal/{libtool,lt*}.m4 m4
+cp -f /usr/share/automake/config.* support
%{__aclocal}
%{__autoconf}
+%{__autoheader} -I include
%configure \
- CFLAGS="%{rpmcflags} -D_GNU_SOURCE" \
- --with-news-user=news \
+ 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-etc-dir=%{_sysconfdir} \
--with-filter-dir=%{_datadir}/news/filter \
+ --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-lib-dir=%{_datadir}/news \
--with-tmp-dir=/var/spool/news/incoming/tmp \
+ --with-bdb=%{_prefix} \
+ --with-openssl=%{_prefix} \
--with-perl \
+ %{?with_python:--with-python} \
--with-sendmail=/usr/lib/sendmail \
- --with-openssl=%{_prefix} \
- --with-berkeleydb=%{_prefix} \
- %{?_with_largefiles:--enable-largefiles} \
- %{!?_with_largefiles:--enable-tagged-hash} \
- --enable-merge-to-groups \
- --enable-pgp-verify \
- --enable-shared \
- --enable-static \
- --enable-libtool \
- --enable-ipv6 \
- --enable-dual-socket
+ %{?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,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,archiv/news}} \
- $RPM_BUILD_ROOT/var/spool/news/{articles,overview,incoming/{tmp,bad},outgoing,archive,uniover,innfeed,cycbuffs} \
- $RPM_BUILD_ROOT/home/services/news
+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}
%{__make} install \
- DESTDIR="$RPM_BUILD_ROOT" \
+ DESTDIR=$RPM_BUILD_ROOT \
+ BACKUP_OPTION= \
PATHFILTER=%{_datadir}/news/filter \
PATHCONTROL=%{_datadir}/news/control \
PATHRNEWS=%{_libdir}/news/rnews \
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}
+
+cp -p samples/readers.conf $RPM_BUILD_ROOT%{_sysconfdir}/readers.conf
+touch $RPM_BUILD_ROOT%{_sysconfdir}/motd.{innd,nnrpd}
-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
+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 -f $RPM_BUILD_ROOT/var/lib/news/history
+%{__rm} $RPM_BUILD_ROOT/var/lib/news/history
umask 002
-> $RPM_BUILD_ROOT%{_sysconfdir}/subscriptions
-touch $RPM_BUILD_ROOT/var/lib/news/history
+:> $RPM_BUILD_ROOT%{_sysconfdir}/subscriptions
touch $RPM_BUILD_ROOT/var/lib/news/.news.daily
touch $RPM_BUILD_ROOT/var/lib/news/active.times
-touch $RPM_BUILD_ROOT/var/log/news/news.notice
-touch $RPM_BUILD_ROOT/var/log/news/news.crit
-touch $RPM_BUILD_ROOT/var/log/news/news.err
-
-# obsolete?
-#touch $RPM_BUILD_ROOT%{_includedir}/inn/configdata.h
-
-mv -f $RPM_BUILD_ROOT%{_datadir}/news/*.{a,la,so*} $RPM_BUILD_ROOT%{_libdir}
+touch $RPM_BUILD_ROOT/var/lib/news/history
LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_bindir}/makehistory \
-a $RPM_BUILD_ROOT/var/lib/news/active \
- -i -r -f $RPM_BUILD_ROOT/var/lib/news/history || :
+ -r -f $RPM_BUILD_ROOT/var/lib/news/history || :
-#Fix perms in sample directory to avoid bogus dependencies
+# Fix perms in sample directory to avoid bogus dependencies
find samples -name "*.in" -exec chmod a-x {} \;
+# remove files in conflict with cleanfeed
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/news/filter/filter_innd.*
+
+# remove unpackaged files
+%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/rc.news
+
%clean
rm -rf $RPM_BUILD_ROOT
%post
-if [ "`getent passwd http | cut -d: -f6`" = "/var/spool/news" ]; then
+if [ "`getent passwd news | cut -d: -f6`" = "/var/spool/news" ]; then
/usr/sbin/usermod -d /home/services/news news
fi
+
umask 022
-if [ -f /var/lib/news/history ]; then
- cd /var/lib/news
- %{_bindir}/makedbz -s `wc -l <history` -f history
+
+%{_bindir}/innupgrade %{_sysconfdir}
+
+cd /var/lib/news
+if [ ! -f /var/lib/news/history ]; then
+ # makehistory fails on uninitialized spool(?) - create empty history in such case
+ %{_bindir}/makehistory || { echo "Creating empty history"; :> history; }
+ chown news:news history
+ chmod 664 history
+ %{_bindir}/makedbz -s `wc -l < history` -f history
for i in dir hash index pag; do
[ -f history.n.$i ] && mv history.n.$i history.$i
done
chown news:news history.*
chmod 644 history.*
-else
- cd /var/lib/news
- %{_bindir}/makehistory
- %{_bindir}/makedbz -s `wc -l <history` -f history
- for i in dir hash index pag; do
- [ -f history.n.$i ] && mv history.n.$i history.$i
- done
- chown news:news history history.*
- chmod 644 history history.*
fi
-[ -f /var/lib/news/active.times ] || {
- touch /var/lib/news/active.times
- chown news:news /var/lib/news/active.times
-}
-
-[ -f /var/log/news/news.notice ] || {
- touch /var/log/news/news.notice
- chown news:news /var/log/news/news.notice
- chmod 664 /var/log/news/news.notice
-}
-
-[ -f /var/log/news/news.crit ] || {
- touch /var/log/news/news.crit
- chown news:news /var/log/news/news.crit
- chmod 660 /var/log/news/news.crit
-}
-
-[ -f /var/log/news/news.err ] || {
- touch /var/log/news/news.err
- chown news:news /var/log/news/news.err
- chmod 660 /var/log/news/news.err
-}
-
-[ -f /var/lib/news/.news.daily ] || {
- touch /var/lib/news/.news.daily
+
+if [ ! -f /var/lib/news/.news.daily ]; then
+ :> /var/lib/news/.news.daily
chown news:news /var/lib/news/.news.daily
chmod 664 /var/lib/news/.news.daily
-}
-
-umask 027
-if [ -f /etc/syslog.conf ]; then
- if ! grep -q INN /etc/syslog.conf; then
- sed -i 's/mail.none;/mail.none;news.none;/' /etc/syslog.conf
- echo '' >> /etc/syslog.conf
- echo '#' >> /etc/syslog.conf
- echo '# INN' >> /etc/syslog.conf
- echo '#' >> /etc/syslog.conf
- echo 'news.=crit /var/log/news/news.crit' >> /etc/syslog.conf
- echo 'news.=err /var/log/news/news.err' >> /etc/syslog.conf
- echo 'news.notice /var/log/news/news.notice' >> /etc/syslog.conf
- fi
- if [ -f /var/run/syslog.pid ]; then
- kill -HUP `cat /var/run/syslog.pid` 2> /dev/null ||:
- fi
-else
- # syslog.conf does not exist
- echo "mail.none /var/log/messages" > /etc/syslog.conf.inn
- echo "" >> /etc/syslog.conf.inn
- echo "# INN" >> /etc/syslog.conf.inn
- echo "news.=crit /var/log/news/news.crit" >> /etc/syslog.conf.inn
- echo "news.=err /var/log/news/news.err" >> /etc/syslog.conf.inn
- echo "news.notice /var/log/news/news.notice" >> /etc/syslog.conf.inn
fi
/sbin/chkconfig --add inn
-if [ -f /var/lock/subsys/inn ]; then
- /etc/rc.d/init.d/inn restart >&2
-else
- echo "Run \"/etc/rc.d/init.d/inn start\" to start inn news server." >&2
-fi
+%service inn restart "inn news server"
%preun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/news ]; then
- /etc/rc.d/init.d/inn stop
- fi
+ %service inn stop
/sbin/chkconfig --del inn
fi
%files
%defattr(644,root,root,755)
%doc CONTRIBUTORS ChangeLog INSTALL LICENSE NEWS README TODO doc/[Icehs]*
+%attr(700,news,news) %dir /home/services/news
# DB
%attr(770,root,news) %dir /var/lib/news
%attr(770,root,news) %dir /var/lib/news/backoff
-%attr(664,root,news) %config(noreplace) %verify(not size mtime md5) /var/lib/news/active
-%attr(664,root,news) %config(noreplace) %verify(not size mtime md5) /var/lib/news/distributions
-%attr(664,root,news) %config(noreplace) %verify(not size mtime md5) /var/lib/news/newsgroups
-%attr(664,root,news) %config(noreplace) %verify(not size mtime md5) /var/lib/news/active.times
+%attr(664,root,news) %config(noreplace) %verify(not md5 mtime size) /var/lib/news/active
+%attr(664,root,news) %config(noreplace) %verify(not md5 mtime size) /var/lib/news/active.times
+%attr(664,root,news) %config(noreplace) %verify(not md5 mtime size) /var/lib/news/distributions
+%attr(664,root,news) %config(noreplace) %verify(not md5 mtime size) /var/lib/news/newsgroups
%attr(664,news,news) %ghost /var/lib/news/.news.daily
%attr(664,news,news) %ghost /var/lib/news/history
# LOGS
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/inn
-%attr(770,root,news) %dir /var/log/news
-%attr(770,root,news) %dir /var/log/archiv/news
+%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
-%attr(664,news,news) %ghost /var/log/news/news.notice
-%attr(660,news,news) %ghost /var/log/news/news.crit
-%attr(660,news,news) %ghost /var/log/news/news.err
+%{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(770,root,news) %dir /var/spool/news/uniover
# CRON PARTS
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/cron.d/inn
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/inn
# RC-SCRIPT
%attr(754,root,root) /etc/rc.d/init.d/inn
# CONFIGS (INN is a one big config ;-)
%attr(755,root,news) %dir %{_sysconfdir}
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/actsync.cfg
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/actsync.ign
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/buffindexed.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/control.ctl
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/cycbuff.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/distrib.pats
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/expire.ctl
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/incoming.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/inn.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/innfeed.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/innreport.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/innwatch.ctl
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/moderators
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/motd.news
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/news2mail.cf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/newsfeeds
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/nnrpd.track
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/nntpsend.ctl
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/ovdb.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/overview.fmt
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/passwd.nntp
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/radius.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/readers.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/sasl.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/storage.conf
-%attr(640,root,news) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/subscriptions
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/actsync.cfg
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/actsync.ign
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/buffindexed.conf
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/control.ctl
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/control.ctl.local
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cycbuff.conf
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/distrib.pats
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/distributions
+%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}/innshellvars.pl.local
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/innshellvars.tcl.local
+%attr(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/innwatch.ctl
+%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}/nntpsend.ctl
+%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}/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(640,root,news) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/subscriptions
+%attr(755,root,news) %dir %{_sysconfdir}/pgp
%attr(755,root,news) %dir %{_datadir}/news
-%attr(755,root,root) %dir %{_datadir}/news/control
-%attr(755,root,root) %dir %{_datadir}/news/filter
-
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/innreport_inn.pm
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/innshellvars
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/innshellvars.pl
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/innshellvars.tcl
-
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/filter/INN.py
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/filter/filter_nnrpd.pl
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/filter/filter.tcl
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/filter/filter_innd.pl
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/filter/filter_innd.py
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/filter/nnrpd_auth.pl
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/filter/nnrpd_auth.py
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/filter/startup_innd.pl
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/news/filter/startup.tcl
+%dir %{_datadir}/news/control
+%dir %{_datadir}/news/filter
+
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/innreport_inn.pm
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/innshellvars
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/innshellvars.pl
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/innshellvars.tcl
+
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/filter/INN.py
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/filter/filter_nnrpd.pl
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/filter/nnrpd.py
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/filter/nnrpd_access.pl
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/filter/nnrpd_access.py
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/filter/nnrpd_auth.pl
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/filter/nnrpd_auth.py
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/filter/nnrpd_dynamic.py
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/news/filter/startup_innd.pl
%attr(755,root,root) %{_datadir}/news/control/checkgroups.pl
%attr(755,root,root) %{_datadir}/news/control/ihave.pl
%attr(755,root,root) %{_datadir}/news/control/senduuname.pl
%attr(755,root,root) %{_datadir}/news/control/version.pl
+%dir %{perl_vendorlib}/INN
+%{perl_vendorlib}/INN/Config.pm
+%dir %{perl_vendorlib}/INN/Utils
+%{perl_vendorlib}/INN/Utils/Shlock.pm
+
%attr(755,root,news) %dir %{_libdir}/news
-%attr(755,root,root) %dir %{_libdir}/news/auth
-%attr(755,root,root) %dir %{_libdir}/news/auth/generic
-%attr(755,root,root) %dir %{_libdir}/news/auth/passwd
-%attr(755,root,root) %dir %{_libdir}/news/auth/resolv
-%attr(755,root,root) %dir %{_libdir}/news/rnews
+%dir %{_libdir}/news/auth
+%dir %{_libdir}/news/auth/generic
+%dir %{_libdir}/news/auth/passwd
+%dir %{_libdir}/news/auth/resolv
+%dir %{_libdir}/news/rnews
%attr(755,root,root) %{_libdir}/news/auth/passwd/*
%attr(755,root,root) %{_libdir}/news/auth/resolv/*
%attr(755,root,root) %{_libdir}/news/rnews/*
-# SUID
-%attr(4754,root,news) %{_bindir}/inndstart
-%attr(4754,root,news) %{_bindir}/startinnfeed
-%attr(4754,root,news) %{_bindir}/rnews
-
# BINARIES
%attr(755,root,root) %{_bindir}/actmerge
%attr(755,root,root) %{_bindir}/actsync
%attr(755,root,root) %{_bindir}/archive
%attr(755,root,root) %{_bindir}/batcher
%attr(755,root,root) %{_bindir}/buffchan
+%attr(755,root,root) %{_bindir}/buffindexed_d
%attr(755,root,root) %{_bindir}/cnfsheadconf
%attr(755,root,root) %{_bindir}/cnfsstat
%attr(755,root,root) %{_bindir}/cnfsstat.cron
%attr(755,root,root) %{_bindir}/fastrm
%attr(755,root,root) %{_bindir}/filechan
%attr(755,root,root) %{_bindir}/getlist
-%attr(755,root,root) %{_bindir}/gpgverify
%attr(755,root,root) %{_bindir}/grephistory
%attr(755,root,root) %{_bindir}/imapfeed
+# suid root to bind sockets
+%attr(4754,root,news) %{_bindir}/innbind
%attr(755,root,root) %{_bindir}/inncheck
%attr(755,root,root) %{_bindir}/innconfval
%attr(755,root,root) %{_bindir}/innd
%attr(755,root,root) %{_bindir}/procbatch
%attr(755,root,root) %{_bindir}/prunehistory
%attr(755,root,root) %{_bindir}/pullnews
+%attr(755,root,root) %{_bindir}/rnews
%attr(755,root,root) %{_bindir}/scanlogs
%attr(755,root,root) %{_bindir}/scanspool
%attr(755,root,root) %{_bindir}/send-ihave
%attr(755,root,root) %{_bindir}/sm
%attr(755,root,root) %{_bindir}/tally.control
%attr(755,root,root) %{_bindir}/tdx-util
+%attr(755,root,root) %{_bindir}/tinyleaf
%attr(755,root,root) %{_bindir}/writelog
# MAN
%{_mandir}/man1/getlist.1*
%{_mandir}/man1/grephistory.1*
%{_mandir}/man1/innconfval.1*
-%{_mandir}/man1/innfeed.1*
%{_mandir}/man1/innmail.1*
%{_mandir}/man1/nntpget.1*
%{_mandir}/man1/pgpverify.1*
+%{_mandir}/man1/pullnews.1*
%{_mandir}/man1/rnews.1*
%{_mandir}/man1/shlock.1*
%{_mandir}/man1/shrinkfile.1*
%{_mandir}/man1/simpleftp.1*
%{_mandir}/man1/sm.1*
-%{_mandir}/man1/startinnfeed.1*
-%{_mandir}/man[58]/*
+%{_mandir}/man3/INN::Config.3pm*
+%{_mandir}/man3/INN::Utils::Shlock.3pm*
+%{_mandir}/man5/active.5*
+%{_mandir}/man5/active.times.5*
+%{_mandir}/man5/buffindexed.conf.5*
+%{_mandir}/man5/control.ctl.5*
+%{_mandir}/man5/cycbuff.conf.5*
+%{_mandir}/man5/distrib.pats.5*
+%{_mandir}/man5/distributions.5*
+%{_mandir}/man5/expire.ctl.5*
+%{_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/moderators.5*
+%{_mandir}/man5/motd.innd.5*
+%{_mandir}/man5/motd.news.5*
+%{_mandir}/man5/motd.nnrpd.5*
+%{_mandir}/man5/newsfeeds.5*
+%{_mandir}/man5/newsgroups.5*
+%{_mandir}/man5/newslog.5*
+%{_mandir}/man5/nnrpd.track.5*
+%{_mandir}/man5/nntpsend.ctl.5*
+%{_mandir}/man5/nocem.ctl.5*
+%{_mandir}/man5/ovdb.5*
+%{_mandir}/man5/passwd.nntp.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*
+%{_mandir}/man8/cnfsheadconf.8*
+%{_mandir}/man8/cnfsstat.8*
+%{_mandir}/man8/controlchan.8*
+%{_mandir}/man8/ctlinnd.8*
+%{_mandir}/man8/cvtbatch.8*
+%{_mandir}/man8/docheckgroups.8*
+%{_mandir}/man8/domain.8*
+%{_mandir}/man8/expire.8*
+%{_mandir}/man8/expireover.8*
+%{_mandir}/man8/expirerm.8*
+%{_mandir}/man8/filechan.8*
+%{_mandir}/man8/ident.8*
+%{_mandir}/man8/imapfeed.8*
+%{_mandir}/man8/innbind.8*
+%{_mandir}/man8/inncheck.8*
+%{_mandir}/man8/innd.8*
+%{_mandir}/man8/inndf.8*
+%{_mandir}/man8/innfeed.8*
+%{_mandir}/man8/innreport.8*
+%{_mandir}/man8/innstat.8*
+%{_mandir}/man8/innupgrade.8*
+%{_mandir}/man8/innwatch.8*
+%{_mandir}/man8/innxbatch.8*
+%{_mandir}/man8/innxmit.8*
+%{_mandir}/man8/inpaths.8*
+%{_mandir}/man8/mailpost.8*
+%{_mandir}/man8/makedbz.8*
+%{_mandir}/man8/makehistory.8*
+%{_mandir}/man8/mod-active.8*
+%{_mandir}/man8/news.daily.8*
+%{_mandir}/man8/news2mail.8*
+%{_mandir}/man8/ninpaths.8*
+%{_mandir}/man8/nnrpd.8*
+%{_mandir}/man8/nntpsend.8*
+%{_mandir}/man8/ovdb_*.8*
+%{_mandir}/man8/overchan.8*
+%{_mandir}/man8/perl-nocem.8*
+%{_mandir}/man8/procbatch.8*
+%{_mandir}/man8/prunehistory.8*
+%{_mandir}/man8/radius.8*
+%{_mandir}/man8/rc.news.8*
+%{_mandir}/man8/scanlogs.8*
+%{_mandir}/man8/scanspool.8*
+%{_mandir}/man8/send-nntp.8*
+%{_mandir}/man8/send-uucp.8*
+%{_mandir}/man8/sendinpaths.8*
+%{_mandir}/man8/tally.control.8*
+%{_mandir}/man8/tdx-util.8*
+%{_mandir}/man8/tinyleaf.8*
+%{_mandir}/man8/writelog.8*
%lang(pl) %{_mandir}/pl/man1/getlist.1*
%lang(pl) %{_mandir}/pl/man8/innd.8*
%files libs
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libinn.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libinn.so.6
+%attr(755,root,root) %{_libdir}/libinnhist.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libinnhist.so.3
+%attr(755,root,root) %{_libdir}/libstorage.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libstorage.so.3
%files devel
%defattr(644,root,root,755)
-%{_includedir}
-%{_libdir}/lib*.la
-%{_libdir}/lib*.so
-%{_mandir}/man3/*
+%attr(755,root,root) %{_libdir}/libinn.so
+%attr(755,root,root) %{_libdir}/libinnhist.so
+%attr(755,root,root) %{_libdir}/libstorage.so
+%{_libdir}/libinn.la
+%{_libdir}/libinnhist.la
+%{_libdir}/libstorage.la
+%{_includedir}/inn
+%{_mandir}/man3/clientlib.3*
+%{_mandir}/man3/dbz.3*
+%{_mandir}/man3/inndcomm.3*
+%{_mandir}/man3/libauth.3*
+%{_mandir}/man3/libinn.3*
+%{_mandir}/man3/libinnhist.3*
+%{_mandir}/man3/libstorage.3*
+%{_mandir}/man3/list.3inn*
+%{_mandir}/man3/qio.3*
+# XXX: too generic name?
+%{_mandir}/man3/tst.3*
+%{_mandir}/man3/uwildmat.3*
%files static
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libinn.a
+%{_libdir}/libinnhist.a
+%{_libdir}/libstorage.a
%files -n inews
%defattr(644,root,root,755)