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 http://bugs.opensuse.org/
#

# norootforbuild


Name:           man
BuildRequires:  flex groff
%if %suse_version > 1020
BuildRequires:  gdbm-devel less libbz2-devel libzio-devel zlib-devel
%else
BuildRequires:  libzio util-linux
%endif
%if %suse_version > 1030
BuildRequires:  gettext-runtime gettext-tools
%else
BuildRequires:  gettext gettext-devel
%endif
Version:        2.5.2
Release:        25
Summary:        A Program for Displaying man Pages
License:        GPLv2+
Url:            https://savannah.nongnu.org/projects/man-db
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

%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

%build
%{?suse_update_config:%{suse_update_config -f tools }}
%if %suse_version > 1030
    gettextize --force --copy --no-changelog
%endif
    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
%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
openSUSE Build Service is sponsored by