diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-07-09 22:49:03 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-07-09 22:49:03 +0000 |
commit | aec9cc7e88884aeba594e64938d7d5bbbb19b022 (patch) | |
tree | e4ddb09ff1a00b1be0fd32f159f15558aeb4215f /sys-apps/man | |
parent | QA: Removed obsolete DEPEND="${DEPEND}" (diff) | |
download | gentoo-2-aec9cc7e88884aeba594e64938d7d5bbbb19b022.tar.gz gentoo-2-aec9cc7e88884aeba594e64938d7d5bbbb19b022.tar.bz2 gentoo-2-aec9cc7e88884aeba594e64938d7d5bbbb19b022.zip |
Add a patch by Martin von Gagern to fix segfaults for non-english users #97541.
(Portage version: 2.0.51.22-r1)
Diffstat (limited to 'sys-apps/man')
-rw-r--r-- | sys-apps/man/ChangeLog | 8 | ||||
-rw-r--r-- | sys-apps/man/files/digest-man-1.6-r1 | 1 | ||||
-rw-r--r-- | sys-apps/man/files/man-1.6-message-order.patch | 31 | ||||
-rw-r--r-- | sys-apps/man/man-1.6-r1.ebuild | 105 |
4 files changed, 144 insertions, 1 deletions
diff --git a/sys-apps/man/ChangeLog b/sys-apps/man/ChangeLog index 4ea0cd4df4a7..3918b87ee4d2 100644 --- a/sys-apps/man/ChangeLog +++ b/sys-apps/man/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-apps/man # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/man/ChangeLog,v 1.71 2005/07/02 14:51:48 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/man/ChangeLog,v 1.72 2005/07/09 22:49:03 vapier Exp $ + +*man-1.6-r1 (09 Jul 2005) + + 09 Jul 2005; Mike Frysinger <vapier@gentoo.org> + +files/man-1.6-message-order.patch, +man-1.6-r1.ebuild: + Add a patch by Martin von Gagern to fix segfaults for non-english users #97541. 02 Jul 2005; Mike Frysinger <vapier@gentoo.org> man-1.6.ebuild: Only build/install languages as defined by $LINGUAS #97612 by Martin von diff --git a/sys-apps/man/files/digest-man-1.6-r1 b/sys-apps/man/files/digest-man-1.6-r1 new file mode 100644 index 000000000000..67b14c1f05b5 --- /dev/null +++ b/sys-apps/man/files/digest-man-1.6-r1 @@ -0,0 +1 @@ +MD5 c71fed22dd8d28c4bb93905faf95c13e man-1.6.tar.gz 234440 diff --git a/sys-apps/man/files/man-1.6-message-order.patch b/sys-apps/man/files/man-1.6-message-order.patch new file mode 100644 index 000000000000..60f4c5bdc5cf --- /dev/null +++ b/sys-apps/man/files/man-1.6-message-order.patch @@ -0,0 +1,31 @@ +Translations are identified by position and these two new messages +were inserted out of order so non-english users get a segv. + +Patch by Martin von Gagern. + +http://bugs.gentoo.org/97541 + +--- man/msgs/mess.en ++++ man/msgs/mess.en +@@ -21,10 +21,6 @@ + "No manual entry for %s\n" + PAGER_IS + "\nusing %s as pager\n" +-BROWSER_IS +- "\nusing %s as browser\n" +-HTMLPAGER_IS +- "\nusing %s to dump HTML pages as text" + SYSTEM_FAILED + "Error executing formatting or display command.\n\ + System command %s exited with status %d.\n" +@@ -172,6 +168,10 @@ + "error: no TROFF command specified in %s\n" + NO_CAT_FOR_NONSTD_LL + "no cat page stored because of nonstandard line length\n" ++BROWSER_IS ++ "\nusing %s as browser\n" ++HTMLPAGER_IS ++ "\nusing %s to dump HTML pages as text" + FOUND_FILE + "manfile_from_sec_and_dir() found %s\n" + CALLTRACE1 diff --git a/sys-apps/man/man-1.6-r1.ebuild b/sys-apps/man/man-1.6-r1.ebuild new file mode 100644 index 000000000000..330aaadf5ad5 --- /dev/null +++ b/sys-apps/man/man-1.6-r1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/man/man-1.6-r1.ebuild,v 1.1 2005/07/09 22:49:03 vapier Exp $ + +inherit eutils flag-o-matic toolchain-funcs + +DESCRIPTION="Standard commands to read man pages" +HOMEPAGE="http://primates.ximian.com/~flucifredi/man/" +SRC_URI="http://primates.ximian.com/~flucifredi/man/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86" +IUSE="nls" + +DEPEND="" +RDEPEND="sys-process/cronbase + >=sys-apps/groff-1.18 + nls? ( sys-devel/gettext )" + +src_unpack() { + unpack ${A} + cd "${S}" + + # Make sure we can build with -j :) + epatch "${FILESDIR}"/man-1.6-parallel-make.patch + + # Fix message order in en lang file which triggers segv's for + # non-english users #97541 + epatch "${FILESDIR}"/man-1.6-message-order.patch + + # Fix search order in man.conf so that system installed manpages + # will be found first ... + epatch "${FILESDIR}"/man-1.5p-search-order.patch + + # For groff-1.18 or later we need to call nroff with '-c' + epatch "${FILESDIR}"/man-1.5m-groff-1.18.patch + + # makewhatis traverses manpages twice, as default manpath + # contains two directories that are symlinked together + epatch "${FILESDIR}"/man-1.5p-defmanpath-symlinks.patch + + # use non-lazy binds for man. And let portage handling stripping. + append-ldflags -Wl,-z,now + sed -i \ + -e "/^LDFLAGS = -s/s:=.*:=${LDFLAGS}:" \ + src/Makefile.in \ + || die "failed to edit default LDLFAGS" +} + +src_compile() { + tc-export CC BUILD_CC + + local myconf= + if use nls ; then + strip-linguas $(cd man; echo ??) + if [[ -z ${LINGUAS} ]] ; then + myconf="+lang all" + else + myconf="+lang ${LINGUAS// /,}" + fi + else + myconf="+lang none" + fi + ./configure \ + -confdir=/etc \ + +sgid +fhs \ + ${myconf} || die "configure failed" + + emake || die "emake failed" +} + +src_install() { + make PREFIX="${D}" install || die "make install failed" + dosym man /usr/bin/manpath + + dodoc LSM README* TODO + + exeinto /etc/cron.weekly + newexe "${FILESDIR}"/makewhatis.cron makewhatis + + keepdir /var/cache/man + diropts -m0775 -g man + local mansects=$(grep ^MANSECT "${D}"/etc/man.conf | cut -f2-) + for x in ${mansects//:/ } ; do + keepdir /var/cache/man/cat${x} + done +} + +pkg_postinst() { + einfo "Forcing sane permissions onto ${ROOT}/var/cache/man (Bug #40322)" + chown -R root:man "${ROOT}"/var/cache/man + chmod -R g+w "${ROOT}"/var/cache/man + [[ -e ${ROOT}/var/cache/man/whatis ]] \ + && chown root:root "${ROOT}"/var/cache/man/whatis + + echo + + local files=$(ls "${ROOT}"/etc/cron.{daily,weekly}/makewhatis{,.cron} 2>/dev/null) + if [[ ${files/$'\n'} != ${files} ]] ; then + ewarn "You have multiple makewhatis cron files installed." + ewarn "You might want to delete all but one of these:" + echo ${files} + fi +} |