man/man.spec

260 lines
7.5 KiB
RPMSpec

#
# spec file for package man
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: man
BuildRequires: automake
BuildRequires: flex
BuildRequires: gdbm-devel
BuildRequires: gettext-runtime
BuildRequires: gettext-tools
BuildRequires: groff
BuildRequires: less
BuildRequires: libbz2-devel
BuildRequires: libzio-devel
BuildRequires: zlib-devel
Version: 2.5.2
Release: 0
Summary: A Program for Displaying man Pages
License: GPL-2.0+
Group: System/Base
Url: https://savannah.nongnu.org/projects/man-db
PreReq: coreutils fillup
Provides: man_db
Requires: glibc-locale
Requires: groff >= 1.18
Requires: less
Source: man-db-%{version}.tar.bz2
Source1: sysconfig.cron-man
Source2: cron.daily.do_mandb
Source3: cron.daily.clean_catman
Source4: mancoding
Patch0: man-db-%{version}.dif
Patch1: man-db_%{version}-2.diff.bz2
Patch2: man-db-2.3.19deb4.0-groff.dif
Patch4: man-db-2.4.3-section.dif
Patch5: man-db-2.5.1-security4.dif
Patch6: man-db-2.4.3-firefox.dif
Patch7: man-db-%{version}-chinese.dif
Patch8: man-db-2.5.1-globbing.dif
Patch9: man-db-2.5.1-zio.dif
Patch10: man-db-2.5.1-listall.dif
Patch11: man-db-%{version}-catp.dif
Patch12: man-db-2.5.2-fastpipe.dif
Patch13: man-db-2.5.2-fhs.dif
Patch14: automake-1.12.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global _sysconfdir /etc
%description
A program for displaying man pages on the screen or sending them to a
printer (using groff).
Authors:
--------
G. Wilford <G.Wilford@ee.surrey.ac.uk>
Fabrizio Polacco <fpolacco@debian.org>
Colin Watson <cjwatson@debian.org>
%prep
%setup -n man-db-%{version}
%patch1 -p1 -b .debian
%patch2 -p0 -b .groff
%patch4 -p0 -b .sect
%patch5 -p0 -b .secu4
%patch6 -p0 -b .firefox
%patch7 -p0 -b .chinese
%patch8 -p0 -b .globbing
%patch9 -p0 -b .zio
%patch10 -p0 -b .listall
%patch11 -p0 -b .catp
%patch12 -p0 -b .fp
%patch13 -p0 -b .fhs
%patch0 -p0
%if 0%{?suse_version} > 1210
%patch14 -p1
%endif
%build
gettextize --force --copy --no-changelog
SEC=(0 1 n l 8 3 2 5 4 9 6 7
1x 3x 4x 5x 6x 8x
1bind 3bind 5bind 7bind 8bind
1cn 8cn
1m 1mh 5mh 8mh
1netpbm 3netpbm 5netpbm
0p 1p 3p 3posix
1pgsql 3pgsql 5pgsql
3C++ 8C++
3blt
3curses 3ncurses 3form 3menu
3db 3gdbm 3f 3gk 3paper
3mm 5mm
3perl 3pm 3pq
3qt 3pub 3readline
1ssl 3ssl 5ssl 7ssl
3t 3tk 3tcl 3tclx 3tix
7l 7nr
8c
Cg g s m)
SEC="${SEC[@]}"
rm -f configure
CFLAGS="${RPM_OPT_FLAGS} -funroll-loops -pipe -D_GNU_SOURCE -D_SVID_SOURCE -Wall"
LDFLAGS=
LIBS=
export CFLAGS LDFLAGS LIBS
%if %suse_version > 1030
aclocal -I ${PWD}/m4 -I ${PWD}/gnulib/m4
autoconf -B ${PWD}/m4 -B ${PWD}/gnulib/m4
automake --add-missing
%else
sed -ri 's/(m4_PACKAGE_VERSION,[[:blank:]]*\[)2.61(\])/\12.60\2/' aclocal.m4
sed -ri 's/(AM_INIT_AUTOMAKE\(\[)1.10/\11.9.6/' configure.ac
sed -ri 's/intl//' Makefile.am
aclocal -I ${PWD}/m4 -I ${PWD}/gnulib/m4
autoconf -B ${PWD}/m4 -B ${PWD}/gnulib/m4
mkdir -p tools
touch tools/compile
export MKDIR_P="mkdir -p"
%endif
./configure \
--enable-dups \
--enable-setuid=man \
--with-device=utf8 \
--prefix=%{_prefix} \
--mandir=%{_mandir} \
--localstatedir=%{_localstatedir} \
--libexecdir=%{_prefix}/lib \
--with-zio \
--with-gnu-ld \
--disable-rpath \
--enable-mb-groff \
--with-db=gdbm \
--enable-nls \
--with-config-file=%{_sysconfdir}/manpath.config \
--without-included-gettext \
--with-sections="${SEC}"
make %{?_smp_mflags} nls=all
for man in $(find man/ -type f -a -name '*.man[0-9]'); do
pp="$(head -n 1 $man)"
case "$pp" in
\'\\\"*\ -\*-\ coding:\ *\ -\*-)
continue
;;
\'\\\"*)
sed -ri "1{ s/('\\\\\".*)/\\1 -\*- coding: UTF-8 -\*-/ }" $man
;;
*)
sed -ri "1 i\
'\\\\\" -\*- coding: UTF-8 -\*-\
" $man
esac
done
%install
%if %suse_version <= 1030
export MKDIR_P="mkdir -p"
%endif
rm -rf %{buildroot}%{_localstatedir}/cache/man
mkdir -p %{buildroot}%{_prefix}/lib/man-db
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}/etc
make nls=all install DESTDIR=%{buildroot}
if test -x %{buildroot}%{_bindir}/wrapper ; then
rm -f %{buildroot}%{_bindir}/mandb
rm -f %{buildroot}%{_bindir}/man
mv %{buildroot}%{_bindir}/wrapper %{buildroot}%{_bindir}/mandb
ln -sf mandb %{buildroot}%{_bindir}/man
fi
mkdir -p %{buildroot}%{_mandir}
pushd %{buildroot}%{_mandir}/
rm -rf *.ascii/
for d in *.UTF-8 ; do
find -name '*.[1-9nlop]' | xargs gzip -9f
done
for d in `find -name manpath.5.gz -printf '%%h '` ; do
ln -sf manpath.5.gz $d/manpath.config.5.gz
done
popd
install -m 644 src/man_db.conf %{buildroot}%{_sysconfdir}/manpath.config
sh ./mk_catdirs %{buildroot}
mkdir -p %{buildroot}%{_datadir}/groff/site-tmac
install -m 0644 groff/tmac.andb %{buildroot}%{_datadir}/groff/site-tmac/
install -m 0644 groff/tmac.andocdb %{buildroot}%{_datadir}/groff/site-tmac/
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
mkdir -p %{buildroot}/etc/cron.daily
install -m 0644 %{SOURCE1} %{buildroot}%{_localstatedir}/adm/fillup-templates
install -m 0744 %{SOURCE2} %{buildroot}/etc/cron.daily/suse-do_mandb
install -m 0744 %{SOURCE3} %{buildroot}/etc/cron.daily/suse-clean_catman
%find_lang man-db --all-name --with-man
%pre
test -d var/catman/ && rm -rf var/catman/ || true
%post
%{fillup_only -an cron}
%files -f man-db.lang
%defattr(-,root,root)
%config /etc/manpath.config
%attr(0744,root,root) /etc/cron.daily/suse-clean_catman
%attr(0744,root,root) /etc/cron.daily/suse-do_mandb
%{_bindir}/apropos
%{_bindir}/catman
%{_bindir}/lexgrog
%if %suse_version > 1030
%attr(0755,root,root) %{_bindir}/man
%attr(0755,root,root) %{_bindir}/mandb
%else
%attr(4755,root,root) %{_bindir}/man
%attr(4755,root,root) %{_bindir}/mandb
%endif
%{_bindir}/manpath
%{_bindir}/whatis
%{_bindir}/zsoelim
%if %suse_version > 1030
%dir %attr(0755,root,root) %{_prefix}/lib/man-db
%attr(0755,root,root) %{_prefix}/lib/man-db/man
%attr(0755,root,root) %{_prefix}/lib/man-db/mandb
%attr(0755,man,man) %{_prefix}/lib/man-db/manconv
%attr(0755,man,man) %{_prefix}/lib/man-db/globbing
%else
%dir %attr(0711,root,root) %{_prefix}/lib/man-db
%attr(0711,root,root) %{_prefix}/lib/man-db/man
%attr(0711,root,root) %{_prefix}/lib/man-db/mandb
%attr(0711,man,man) %{_prefix}/lib/man-db/manconv
%attr(0711,man,man) %{_prefix}/lib/man-db/globbing
%endif
%{_sbindir}/accessdb
%{_datadir}/groff/site-tmac/tmac.andb
%{_datadir}/groff/site-tmac/tmac.andocdb
%dir %{_mandir}/de
%dir %{_mandir}/es
%dir %{_mandir}/fr
%dir %{_mandir}/it
%dir %{_mandir}/ja
%doc %{_mandir}/man1/*.1.gz
%doc %{_mandir}/man5/*.5.gz
%doc %{_mandir}/man8/*.8.gz
%defattr(-,man,man)
%{_localstatedir}/cache/man/*
%{_localstatedir}/adm/fillup-templates/sysconfig.cron-man
%changelog