summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-11-10 23:49:58 +0000
committerMike Frysinger <vapier@gentoo.org>2005-11-10 23:49:58 +0000
commit9ecfd206d5198c611ddd8dd16195dce447ba2467 (patch)
tree3dd3b9602248e04e1475a5c0c9c4d05f6a5f715e /sys-apps
parentInitial commit. (diff)
downloadgentoo-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/ChangeLog10
-rw-r--r--sys-apps/man/files/digest-man-1.6b1
-rw-r--r--sys-apps/man/files/makewhatis.cron5
-rw-r--r--sys-apps/man/files/man-1.5m2-apropos.patch16
-rw-r--r--sys-apps/man/files/man-1.5p-man2html.patch32
-rw-r--r--sys-apps/man/files/man-1.5p-mandirlist.patch13
-rw-r--r--sys-apps/man/files/man-1.6a-makewhatis-config.patch49
-rw-r--r--sys-apps/man/files/man-1.6b-build.patch11
-rw-r--r--sys-apps/man/man-1.6b.ebuild113
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
+}