groff/groff.spec
2009-10-20 22:30:42 +00:00

196 lines
6.8 KiB
RPMSpec

#
# spec file for package groff (Version 1.18.1.1)
#
# Copyright (c) 2009 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: groff
BuildRequires: bison fdupes gcc-c++
%define build_groff_docu 1
#
License: BSD 3-clause (or similar) ; GPL v2 or later
Group: Productivity/Publishing/Troff
Provides: normal-groff, jgroff
Obsoletes: jgroff
PreReq: %fillup_prereq %install_info_prereq
AutoReqProv: on
Version: 1.18.1.1
Release: 170
Summary: GNU troff Document Formatting System
Url: http://www.gnu.org/software/groff/groff.html
# cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/groff co groff
Source0: ftp://ftp.gnu.org/gnu/groff/groff-1.18.1.1.tar.bz2
Source1: SuSEconfig.groff
Source2: sysconfig.suseconfig-groff
Source3: zzz-groff.sh
Source4: zzz-groff.csh
Patch0: groff_1.18.1.1-1-debian.diff.bz2
Patch1: suse.patch
Patch2: pic-html.patch
Patch3: gcc4.patch
Patch4: groff-1.17.2-gcc3.patch
Patch5: utf8.patch
Patch6: debian-fix.patch
Patch7: double-free.patch
Patch8: groffer-security.patch
Patch9: groff-1.18.1.1-gcc41.patch
Patch10: bugzilla-217106-too-few-arguments-in-function-call.patch
Patch11: bugzilla-292412-special-encoding-handling-also-for-chinese.patch
Patch12: gcc43.patch
Patch13: fgets-overflow.patch
Patch14: groff-1.18.1.1-destbufferoverflow.patch
Patch446710: bnc446710.patch
Patch540600: nroff-empty-LANGUAGE-fix.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The groff package provides compatible versions of troff, nroff, eqn,
tbl, and other Unix text formatting utilities.
Groff is used to "compile" man pages stored in groff or nroff format
for different output devices, for example, displaying to a screen or in
PostScript(tm) format for printing on a PostScript(tm) printer. Most
programs store their man pages in either /usr/share/man/ or
/usr/X11R6/man/.
Authors:
--------
James Clark <jjc@clark.com>
%prep
%setup -q -n groff-%{version}
%patch0 -p1 -b .debian
%patch1 -p1 -b .suse
%patch2 -p1 -b .pic-html
%patch3 -p1 -b .gcc4
%patch4 -p1 -b .gcc3
%patch5 -p1 -b .utf-8
%patch6 -p1 -b .debian-fix
%patch7
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p0
%patch13 -p0
%patch14
%patch446710 -p1
%patch540600 -p1
%build
# remove empty backups
rm -f ChangeLog.jp.debian README.jp.debian
#
PATH=$PWD/src/roff/troff:$PWD/src/preproc/pic:$PWD/src/preproc/eqn:$PWD/src/preproc/tbl:$PWDsrc/preproc/refer:$PWD/src/preproc/soelim:$PATH
PATH=$PWD/src/roff/grog:$PWD/src/roff/groff:$PWD/src/devices/grops:$PWD/src/devices/grotty:$PWD/src/devices/grodvi:$PWD/src/devices/grohtml:$PATH
GROFF_COMMAND_PREFIX=
GROFF_FONT_PATH=$PWD
GROFF_TMAC_PATH=$PWD/tmac:$PWD/src/roff/troff
export PATH GROFF_COMMAND_PREFIX GROFF_FONT_PATH GROFF_TMAC_PATH
#
#libtoolize --force
#autoreconf --force --install
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" INSTALL_PROGRAM='${INSTALL}'
./configure --prefix=/usr --mandir=%{_mandir} --infodir=%{_infodir} --enable-multibyte
make
%if %{build_groff_docu}
pushd doc
#echo "papersize a4" > /etc/papersize
make
makeinfo groff.texinfo
popd
%endif
%install
if [ ! "x" = "x$RPM_BUILD_ROOT" ] ; then
install -d -m755 $RPM_BUILD_ROOT
fi
mkdir -p $RPM_BUILD_ROOT/usr/share
mkdir -p $RPM_BUILD_ROOT/etc
mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/groff
make install manroot=$RPM_BUILD_ROOT%{_mandir} prefix=$RPM_BUILD_ROOT/usr docdir=$RPM_BUILD_ROOT%{_defaultdocdir}/groff infodir=$RPM_BUILD_ROOT/usr/share/info
%if %{build_groff_docu}
install -c -m0444 doc/*.ps $RPM_BUILD_ROOT%{_defaultdocdir}/groff
#install -c -m0444 doc/*.html $RPM_BUILD_ROOT%{_defaultdocdir}/groff
install -c -m0444 doc/*.png $RPM_BUILD_ROOT%{_defaultdocdir}/groff
install -c -m0444 BUG* COPYING ChangeLog* INSTALL* MORE* NEWS PROBLEMS PROJECTS README* REVISION TODO VERSION $RPM_BUILD_ROOT%{_defaultdocdir}/groff
%endif
mkdir -p $RPM_BUILD_ROOT%{_infodir}
install -c -m 444 doc/groff doc/groff-[0-9]* $RPM_BUILD_ROOT%{_infodir}
ln -sf eqn $RPM_BUILD_ROOT/usr/bin/geqn
ln -sf tbl $RPM_BUILD_ROOT/usr/bin/gtbl
mkdir -p $RPM_BUILD_ROOT/sbin/conf.d
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
install -c -m0755 $RPM_SOURCE_DIR/SuSEconfig.groff $RPM_BUILD_ROOT/sbin/conf.d/
install -c -m0644 $RPM_SOURCE_DIR/sysconfig.suseconfig-groff $RPM_BUILD_ROOT/var/adm/fillup-templates/
echo "papersize a4" > $RPM_BUILD_ROOT/etc/papersize
chmod 0644 $RPM_BUILD_ROOT/etc/papersize
# install profiles to disable the use of ANSI colour sequences by default:
mkdir -p $RPM_BUILD_ROOT/etc/profile.d
install -m 644 $RPM_SOURCE_DIR/zzz-groff.sh $RPM_BUILD_ROOT/etc/profile.d
install -m 644 $RPM_SOURCE_DIR/zzz-groff.csh $RPM_BUILD_ROOT/etc/profile.d
pushd $RPM_BUILD_ROOT/usr/share/groff
test -d 1.18.1 || exit 1
ln -s 1.18.1 current
popd
%fdupes $RPM_BUILD_ROOT
%clean
#[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
%post
%{fillup_only -an suseconfig}
%install_info --info-dir=%{_infodir} %{_infodir}/groff.gz
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/groff.gz
%files
%defattr(-, root, root)
%dir %{_defaultdocdir}/groff
%doc %{_defaultdocdir}/groff/*
%doc %{_infodir}/groff*
/usr/bin/*
%doc %{_mandir}/man?/*
%config(noreplace) %verify(not md5 size mtime) /etc/papersize
%config /etc/profile.d/zzz-groff.*sh
%dir /usr/share/groff/
%dir /usr/share/groff/site-tmac/
/usr/share/groff/site-tmac/*
/usr/share/groff/current
%dir /usr/share/groff/1.18.1/
/usr/share/groff/1.18.1/eign
%dir /usr/share/groff/1.18.1/font/
/usr/share/groff/1.18.1/font/*
%dir /usr/share/groff/1.18.1/tmac/
/usr/share/groff/1.18.1/tmac/*.tmac
/usr/share/groff/1.18.1/tmac/*rc*
/usr/share/groff/1.18.1/tmac/hyphen.us
%dir /usr/share/groff/1.18.1/tmac/mdoc/
/usr/share/groff/1.18.1/tmac/mdoc/*
%dir /usr/share/groff/1.18.1/tmac/mm/
/usr/share/groff/1.18.1/tmac/mm/*cov
/usr/share/groff/1.18.1/tmac/mm/*MT
%verify(not md5) /usr/share/groff/1.18.1/tmac/mm/locale
%verify(not md5) /usr/share/groff/1.18.1/tmac/mm/se_locale
/sbin/conf.d/SuSEconfig.groff
/var/adm/fillup-templates/sysconfig.suseconfig-groff
%changelog