251 lines
7.5 KiB
RPMSpec
251 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: libpipeline-devel
|
|
BuildRequires: libzio-devel
|
|
BuildRequires: pkg-config
|
|
BuildRequires: po4a
|
|
BuildRequires: xz-devel
|
|
BuildRequires: zlib-devel
|
|
Version: 2.6.3
|
|
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.xz
|
|
Source1: sysconfig.cron-man
|
|
Source2: cron.daily.do_mandb
|
|
Source3: cron.daily.clean_catman
|
|
Source4: mancoding
|
|
Source5: wrapper.c
|
|
Patch0: man-db-%{version}.dif
|
|
Patch1: man-db-2.6.3-man0.dif
|
|
Patch2: man-db-2.3.19deb4.0-groff.dif
|
|
Patch4: man-db-2.6.3-section.dif
|
|
Patch5: man-db-2.6.3-security4.dif
|
|
Patch6: man-db-2.6.3-firefox.dif
|
|
Patch7: man-db-2.6.3-chinese.dif
|
|
Patch9: man-db-2.6.3-zio.dif
|
|
Patch10: man-db-2.6.3-listall.dif
|
|
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}
|
|
%patch2 -p0 -b .groff
|
|
%patch4 -p0 -b .sect
|
|
%patch5 -p0 -b .secu4
|
|
%patch6 -p0 -b .firefox
|
|
%patch7 -p0 -b .chinese
|
|
%patch9 -p0 -b .zio
|
|
%patch10 -p0 -b .listall
|
|
%patch0 -p0 -b .0
|
|
|
|
%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
|
|
%global optflags %{optflags} -funroll-loops -pipe -D_GNU_SOURCE -D_SVID_SOURCE -Wall
|
|
CFLAGS="%{optflags}"
|
|
LDFLAGS=
|
|
LIBS=
|
|
LINGUAS=
|
|
for d in $(cat man/LINGUAS*) ; do
|
|
test -d %{_datadir}/locale/$d || continue
|
|
LINGUAS="${LINGUAS:+$LINGUAS }$d"
|
|
done
|
|
export CFLAGS LDFLAGS LIBS LINGUAS
|
|
aclocal -I ${PWD} -I ${PWD}/m4 -I ${PWD}/gnulib/m4
|
|
autoconf -B ${PWD} -B ${PWD}/m4 -B ${PWD}/gnulib/m4
|
|
automake --add-missing
|
|
find -name 'Makefile.*' | xargs \
|
|
sed -ri -e '/^pkglibdir/{ s@^(pkglibdir[[:blank:]]+=[[:blank:]]+\$\(libdir\)).*@\1@p }'
|
|
%configure \
|
|
--enable-dups \
|
|
--enable-setuid=man \
|
|
--with-device=utf8 \
|
|
--with-zio \
|
|
--with-gnu-ld \
|
|
--disable-rpath \
|
|
--disable-automatic-create \
|
|
--enable-automatic-update \
|
|
--disable-cats \
|
|
--enable-threads=posix \
|
|
--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 '*.[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
|
|
patch -p0 < %{P:1}
|
|
gcc $CFLAGS -I gnulib/lib/ -I include/ --include config.h --include configmake.h \
|
|
-o wrapper %{S:5} -L gnulib/lib/.libs/ -lgnu
|
|
|
|
%install
|
|
%if %suse_version <= 1030
|
|
export MKDIR_P="mkdir -p"
|
|
%endif
|
|
rm -rf %{buildroot}%{_localstatedir}/cache/man
|
|
mkdir -p %{buildroot}%{_datadir}/doc/packages/man
|
|
mkdir -p %{buildroot}%{_prefix}/lib/man-db
|
|
mkdir -p %{buildroot}%{_bindir}
|
|
mkdir -p %{buildroot}/etc
|
|
make nls=all install DESTDIR=%{buildroot}
|
|
rm -vf %{buildroot}%{_libdir}/*.la
|
|
mv %{buildroot}%{_datadir}/doc/man-db/man-db-manual.* \
|
|
%{buildroot}%{_datadir}/doc/packages/man/
|
|
# wrapper which drops roots privileges if root executes man or mandb
|
|
if test -x %{buildroot}%{_bindir}/mandb ; then
|
|
mv %{buildroot}%{_bindir}/mandb %{buildroot}%{_prefix}/lib/man-db/
|
|
fi
|
|
if test -x %{buildroot}%{_bindir}/man ; then
|
|
mv %{buildroot}%{_bindir}/man %{buildroot}%{_prefix}/lib/man-db/
|
|
fi
|
|
install wrapper %{buildroot}%{_bindir}/mandb
|
|
ln -sf mandb %{buildroot}%{_bindir}/man
|
|
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)
|
|
%doc docs/COPYING
|
|
%doc ChangeLog
|
|
%doc %{_datadir}/doc/packages/man/man-db-manual.*
|
|
%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
|
|
%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
|
|
%{_sbindir}/accessdb
|
|
%{_libdir}/libman*.so
|
|
%{_datadir}/groff/site-tmac/tmac.andb
|
|
%{_datadir}/groff/site-tmac/tmac.andocdb
|
|
%doc %{_mandir}/man1/*.1.gz
|
|
%doc %{_mandir}/man5/*.5.gz
|
|
%doc %{_mandir}/man8/*.8.gz
|
|
%dir %{_mandir}/id
|
|
%defattr(-,man,man)
|
|
%{_localstatedir}/cache/man/*
|
|
%{_localstatedir}/adm/fillup-templates/sysconfig.cron-man
|
|
|
|
%changelog
|