diff options
author | 2005-11-10 23:49:58 +0000 | |
---|---|---|
committer | 2005-11-10 23:49:58 +0000 | |
commit | 9ecfd206d5198c611ddd8dd16195dce447ba2467 (patch) | |
tree | 3dd3b9602248e04e1475a5c0c9c4d05f6a5f715e /sys-apps | |
parent | Initial commit. (diff) | |
download | gentoo-2-9ecfd206d5198c611ddd8dd16195dce447ba2467.tar.gz gentoo-2-9ecfd206d5198c611ddd8dd16195dce447ba2467.tar.bz2 gentoo-2-9ecfd206d5198c611ddd8dd16195dce447ba2467.zip |
Version bump and fix makewhatis section hardcode #86863 by OKUMURA N. Shin-ya.
(Portage version: 2.0.53_rc7)
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/man/ChangeLog | 10 | ||||
-rw-r--r-- | sys-apps/man/files/digest-man-1.6b | 1 | ||||
-rw-r--r-- | sys-apps/man/files/makewhatis.cron | 5 | ||||
-rw-r--r-- | sys-apps/man/files/man-1.5m2-apropos.patch | 16 | ||||
-rw-r--r-- | sys-apps/man/files/man-1.5p-man2html.patch | 32 | ||||
-rw-r--r-- | sys-apps/man/files/man-1.5p-mandirlist.patch | 13 | ||||
-rw-r--r-- | sys-apps/man/files/man-1.6a-makewhatis-config.patch | 49 | ||||
-rw-r--r-- | sys-apps/man/files/man-1.6b-build.patch | 11 | ||||
-rw-r--r-- | sys-apps/man/man-1.6b.ebuild | 113 |
9 files changed, 246 insertions, 4 deletions
diff --git a/sys-apps/man/ChangeLog b/sys-apps/man/ChangeLog index aef965bab300..4429cf70cdc3 100644 --- a/sys-apps/man/ChangeLog +++ b/sys-apps/man/ChangeLog @@ -1,6 +1,14 @@ # 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.76 2005/09/17 00:31:13 ciaranm Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/man/ChangeLog,v 1.77 2005/11/10 23:49:58 vapier Exp $ + +*man-1.6b (10 Nov 2005) + + 10 Nov 2005; Mike Frysinger <vapier@gentoo.org> + +files/man-1.5m2-apropos.patch, +files/man-1.5p-man2html.patch, + +files/man-1.5p-mandirlist.patch, +files/man-1.6a-makewhatis-config.patch, + +files/man-1.6b-build.patch, files/makewhatis.cron, +man-1.6b.ebuild: + Version bump and fix makewhatis section hardcode #86863 by OKUMURA N. Shin-ya. 17 Sep 2005; Ciaran McCreesh <ciaranm@gentoo.org> ChangeLog: Converted to UTF-8, fixed encoding screwups diff --git a/sys-apps/man/files/digest-man-1.6b b/sys-apps/man/files/digest-man-1.6b new file mode 100644 index 000000000000..d165bbd8d8a6 --- /dev/null +++ b/sys-apps/man/files/digest-man-1.6b @@ -0,0 +1 @@ +MD5 81d96091482b6445cbfa248fadb422b8 man-1.6b.tar.gz 238993 diff --git a/sys-apps/man/files/makewhatis.cron b/sys-apps/man/files/makewhatis.cron index 32e3c4f8dc7c..6bcf1105e5f9 100644 --- a/sys-apps/man/files/makewhatis.cron +++ b/sys-apps/man/files/makewhatis.cron @@ -1,6 +1,5 @@ #!/bin/sh # this is part of the man package -# it updates the searchly database -# for manpages +# it updates the search database for manpages -/bin/nice /usr/sbin/makewhatis +exec /bin/nice /usr/sbin/makewhatis -u diff --git a/sys-apps/man/files/man-1.5m2-apropos.patch b/sys-apps/man/files/man-1.5m2-apropos.patch new file mode 100644 index 000000000000..9735a5330e88 --- /dev/null +++ b/sys-apps/man/files/man-1.5m2-apropos.patch @@ -0,0 +1,16 @@ +Ripped from Fedora + +--- man-1.5m2/src/apropos.sh ++++ man-1.5m2/src/apropos.sh +@@ -19,9 +19,9 @@ + + # When man pages in your favorite locale look to grep like binary files + # (and you use GNU grep) you may want to add the 'a' option to *grepopt1. +-aproposgrepopt1='i' ++aproposgrepopt1='ai' + aproposgrepopt2='' +-whatisgrepopt1='iw' ++whatisgrepopt1='aiw' + whatisgrepopt2='^' + grepopt1=$%apropos_or_whatis%grepopt1 + grepopt2=$%apropos_or_whatis%grepopt2 diff --git a/sys-apps/man/files/man-1.5p-man2html.patch b/sys-apps/man/files/man-1.5p-man2html.patch new file mode 100644 index 000000000000..b27d6bb7a6cd --- /dev/null +++ b/sys-apps/man/files/man-1.5p-man2html.patch @@ -0,0 +1,32 @@ +Ripped from Fedora + +https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=142673 + +--- man-1.5p/man2html/man2html.c ++++ man-1.5p/man2html/man2html.c +@@ -184,7 +184,7 @@ + char t,te,tg,*e; + e=h+1; + while (h>c && (isalnum(h[-1]) || h[-1]=='_' || +- h[-1]=='-' || h[-1]=='.')) ++ h[-1]=='-' || h[-1]=='.' || h[-1]==':')) + h--; + t=*h; *h=0; + printf("%s", c); +@@ -765,7 +765,15 @@ + break; + case 'v': case 'V': + case 'w': case 'W': +- c=scan_expression(c+2,&curfield->width); ++// c=scan_expression(c+2,&curfield->width); ++ c++; ++ if (*c == '(') { ++ c=scan_expression(c+1,&curfield->width); ++ } else { ++ i=0; ++ while (isdigit(*c)) i=i*10+(*c++)-'0'; ++ curfield->width=i; ++ } + break; + case '|': + if (curfield->align) curfield->vleft++; diff --git a/sys-apps/man/files/man-1.5p-mandirlist.patch b/sys-apps/man/files/man-1.5p-mandirlist.patch new file mode 100644 index 000000000000..43a26c56e763 --- /dev/null +++ b/sys-apps/man/files/man-1.5p-mandirlist.patch @@ -0,0 +1,13 @@ +Ripped from Fedora + +--- man-1.5p/src/manpath.c.lang 2005-03-15 14:13:56.000000000 +0100 ++++ man-1.5p/src/manpath.c 2005-03-15 14:16:09.544829976 +0100 +@@ -255,7 +255,7 @@ + static void + add_to_mandirlist_x (char *dir, char *lang, int perrs) { + add_to_list(dir, lang, perrs); +- if (lang && strlen(lang) > 5 && lang[6] == '.') { ++ if (lang && strlen(lang) > 5 && lang[5] == '.') { + char lang2[6]; /* e.g. zh_CN from zh_CN.GB2312 */ + + strncpy(lang2,lang,5); diff --git a/sys-apps/man/files/man-1.6a-makewhatis-config.patch b/sys-apps/man/files/man-1.6a-makewhatis-config.patch new file mode 100644 index 000000000000..b8c3fad87262 --- /dev/null +++ b/sys-apps/man/files/man-1.6a-makewhatis-config.patch @@ -0,0 +1,49 @@ +Use sections from config files rather than hardcoding. + +http://bugs.gentoo.org/86863 + +--- src/makewhatis.sh ++++ src/makewhatis.sh +@@ -92,7 +92,15 @@ + defmanpath=$DEFMANPATH + defcatpath= + +-sections="1 2 3 4 5 6 7 8 9 n l" ++if [ -n "$MANSECT" ]; then ++ sections=$MANSECT ++else ++ sections=`$AWK '($1 == "MANSECT") { print $2 }' @man_config_file@` ++ if [ x"$sections" = x ]; then ++ sections="1 2 3 4 5 6 7 8 9 n l" ++ fi ++fi ++sections=`echo $sections | sed -e 's/:/ /g'` + + for name in "$@" + do +--- src/Makefile.in ++++ src/Makefile.in +@@ -93,8 +93,8 @@ + + makewhatis: makewhatis.sh Makefile + rm -f makewhatis +- sed -e 's,%version%,@version@,' \ +- -e 's,%awk%,@awk@,' makewhatis.sh > makewhatis ++ cp makewhatis.sh makewhatis.in ++ ../conf_script makewhatis + chmod +x makewhatis + + MANCONFIG=$(DESTDIR)$(PREFIX)@man_config_file@ +--- man/en/makewhatis.man ++++ man/en/makewhatis.man +@@ -62,8 +62,8 @@ + .I sections + of + .IR manpath " or " catpath . +-If the option is absent, its value is assumed to be +-.I \'1 2 3 4 5 6 7 8 9 n l\' ++If the option is absent, the MANSECT env var will be used. If it too ++is absent, the MANSECT setting in man.conf will be used. + .TP + .BI -c " catpath" + The preformatted manual pages located in diff --git a/sys-apps/man/files/man-1.6b-build.patch b/sys-apps/man/files/man-1.6b-build.patch new file mode 100644 index 000000000000..d900b722d48a --- /dev/null +++ b/sys-apps/man/files/man-1.6b-build.patch @@ -0,0 +1,11 @@ +--- src/Makefile.in ++++ src/Makefile.in +@@ -25,7 +25,7 @@ + $(CC) -c $(CWARN) $(CFLAGS) -I. $(DEFS) $< + + # LDFLAGS = -g +-LDFLAGS = -s ++LDFLAGS ?= -s + + LIBOBJS = @LIBOBJS@ + diff --git a/sys-apps/man/man-1.6b.ebuild b/sys-apps/man/man-1.6b.ebuild new file mode 100644 index 000000000000..783534367dc4 --- /dev/null +++ b/sys-apps/man/man-1.6b.ebuild @@ -0,0 +1,113 @@ +# 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.6b.ebuild,v 1.1 2005/11/10 23:49:58 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 )" + +pkg_setup() { + enewgroup man 15 + enewuser man 13 -1 /usr/share/man man +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # We love to cross-compile + epatch "${FILESDIR}"/man-1.6-cross-compile.patch + epatch "${FILESDIR}"/man-1.6b-build.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 + + # makewhatis should get section info from config, not hardcode it #86863 + epatch "${FILESDIR}"/man-1.6a-makewhatis-config.patch + + # Fedora patches + epatch "${FILESDIR}"/man-1.5m2-apropos.patch + epatch "${FILESDIR}"/man-1.5p-man2html.patch + epatch "${FILESDIR}"/man-1.5p-mandirlist.patch + + # use non-lazy binds for man + append-ldflags -Wl,-z,now + + strip-linguas $(eval $(grep ^LANGUAGES= configure) ; echo ${LANGUAGES//,/ }) +} + +src_compile() { + tc-export CC BUILD_CC + + local mylang= + if use nls ; then + if [[ -z ${LINGUAS} ]] ; then + mylang="all" + else + mylang="${LINGUAS// /,}" + fi + else + mylang="none" + fi + ./configure \ + -confdir=/etc \ + +sgid +fhs \ + +lang ${mylang} \ + || 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 +} |