File man.spec of Package man

# spec file for package man (Version 2.5.2)
# Copyright (c) 2010 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

# norootforbuild

Name:           man
BuildRequires:  flex groff
%if %suse_version > 1020
BuildRequires:  gdbm-devel less libbz2-devel libzio-devel zlib-devel
BuildRequires:  libzio util-linux
%if %suse_version > 1030
BuildRequires:  gettext-runtime gettext-tools
BuildRequires:  gettext gettext-devel
Version:        2.5.2
Release:        25
Summary:        A Program for Displaying man Pages
License:        GPLv2+
Group:          System/Base
PreReq:         coreutils fillup
Provides:       man_db
Requires:       groff >= 1.18 less
AutoReqProv:    on
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
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%global         _sysconfdir /etc

A program for displaying man pages on the screen or sending them to a
printer (using groff).

    G. Wilford <>
    Fabrizio Polacco <>
    Colin Watson <>

%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

%{?suse_update_config:%{suse_update_config -f tools }}
%if %suse_version > 1030
    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++
	 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
	 Cg g s m)
    rm -f configure
    CFLAGS="${RPM_OPT_FLAGS} -funroll-loops -pipe -D_GNU_SOURCE -D_SVID_SOURCE -Wall"
%if %suse_version > 1030
    aclocal  -I ${PWD}/m4 -I ${PWD}/gnulib/m4
    autoconf -B ${PWD}/m4 -B ${PWD}/gnulib/m4
    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/'
    sed -ri 's/intl//'
    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"
    ./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 \
    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:\ *\ -\*-)
	    sed -ri "1{ s/('\\\\\".*)/\\1 -\*- coding: UTF-8 -\*-/ }" $man
	    sed -ri "1 i\
		'\\\\\" -\*- coding: UTF-8 -\*-\
		"  $man

%if %suse_version <= 1030
    export MKDIR_P="mkdir -p"
    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
    mkdir -p %{buildroot}%{_mandir}
    pushd %{buildroot}%{_mandir}/
    rm -rf *.ascii/
    for d in *.UTF-8 ; do
	find -name '*.[1-9nlop]' | xargs gzip -9f
    for d in `find -name manpath.5.gz -printf '%%h '` ; do
	ln -sf manpath.5.gz $d/manpath.config.5.gz
    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

test -d var/catman/ && rm -rf var/catman/ || true

%{fillup_only -an cron}

%files -f man-db.lang
%config /etc/manpath.config
%attr(0744,root,root) /etc/cron.daily/suse-clean_catman
%attr(0744,root,root) /etc/cron.daily/suse-do_mandb
%if %suse_version > 1030
%attr(0755,root,root) %{_bindir}/man
%attr(0755,root,root) %{_bindir}/mandb
%attr(4755,root,root) %{_bindir}/man
%attr(4755,root,root) %{_bindir}/mandb
%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
%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
%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

openSUSE Build Service is sponsored by