Version bump and fix makewhatis section hardcode #86863 by OKUMURA N. Shin-ya.
authorMike Frysinger <vapier@gentoo.org>
Thu, 10 Nov 2005 23:49:58 +0000 (23:49 +0000)
committerMike Frysinger <vapier@gentoo.org>
Thu, 10 Nov 2005 23:49:58 +0000 (23:49 +0000)
Package-Manager: portage-2.0.53_rc7

sys-apps/man/ChangeLog
sys-apps/man/Manifest
sys-apps/man/files/digest-man-1.6b [new file with mode: 0644]
sys-apps/man/files/makewhatis.cron
sys-apps/man/files/man-1.5m2-apropos.patch [new file with mode: 0644]
sys-apps/man/files/man-1.5p-man2html.patch [new file with mode: 0644]
sys-apps/man/files/man-1.5p-mandirlist.patch [new file with mode: 0644]
sys-apps/man/files/man-1.6a-makewhatis-config.patch [new file with mode: 0644]
sys-apps/man/files/man-1.6b-build.patch [new file with mode: 0644]
sys-apps/man/man-1.6b.ebuild [new file with mode: 0644]

index aef965bab3008049bcd90ed7cd5c35d9d91944aa..4429cf70cdc37083da6e5d4764a94cb3557816e8 100644 (file)
@@ -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
index 54a471d5e509f74b5caa2db391baab8af943e3ce..352319a1a8af5c9991f7867c1d1714d043db4bd2 100644 (file)
@@ -1,27 +1,34 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 5c0c422d050f5191b66a7c4ed928835a man-1.6-r1.ebuild 2983
-MD5 9206115cdc98fb8e0d7cbd518ad9476b man-1.6a.ebuild 2897
-MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
-MD5 b6674d1b4f41296a27e390a6980450f7 ChangeLog 11112
-MD5 816a0222228cedf51e8bc39acb32fa89 man-1.5p.ebuild 2648
-MD5 bc796c3f2d1f9becb3d0bedc1b6dc051 files/man-1.6-parallel-make.patch 1033
-MD5 331c925e304b56d63aa2c97dcc8e08fc files/man-1.6-cross-compile.patch 1744
-MD5 1c3d9a443043b133adbe277b50105123 files/digest-man-1.6a 60
+MD5 a2e486655528aae9a7fd390a171ba815 ChangeLog 11483
+MD5 6d6e219c5e8357b2d60e92e0ac88d76b files/digest-man-1.5p 60
 MD5 90c01e3cfecc4bc92266780a9be71429 files/digest-man-1.6-r1 59
+MD5 1c3d9a443043b133adbe277b50105123 files/digest-man-1.6a 60
+MD5 bf0f39bbc9dbe51b036a060f0bcc5094 files/digest-man-1.6b 60
+MD5 8b2016cc778ed4e2570b912c0f420266 files/makewhatis.cron 130
+MD5 80f2a25fb0b5692f39a1990527a93271 files/man-1.5m-groff-1.18.patch 923
+MD5 1d6fe29183fbb523a07b877255d686b4 files/man-1.5m2-apropos.patch 450
+MD5 14e1c7533927dfb89900ee788666b342 files/man-1.5p-defmanpath-symlinks.patch 663
+MD5 cb84d324b4b569658496ad13d725be1e files/man-1.5p-man2html.patch 850
+MD5 fe5b3c868ce270c9cc79f42384066a87 files/man-1.5p-mandirlist.patch 460
 MD5 148b7ee661e1e9384930fbd508dd5027 files/man-1.5p-parallel-make.patch 437
-MD5 ecb128fe6db790f05629a8b2eca4c4fa files/man-1.6-message-order.patch 833
 MD5 7b2b00aace5bcdb963286e235eaf22b2 files/man-1.5p-search-order.patch 519
-MD5 6d6e219c5e8357b2d60e92e0ac88d76b files/digest-man-1.5p 60
+MD5 331c925e304b56d63aa2c97dcc8e08fc files/man-1.6-cross-compile.patch 1744
+MD5 ecb128fe6db790f05629a8b2eca4c4fa files/man-1.6-message-order.patch 833
+MD5 bc796c3f2d1f9becb3d0bedc1b6dc051 files/man-1.6-parallel-make.patch 1033
+MD5 337552be4f634e060fc97b19baaa1318 files/man-1.6a-makewhatis-config.patch 1226
 MD5 7b94b85c02df3b66046e3d01827cd173 files/man-1.6a-parallel-make.patch 657
-MD5 a1fe892ffb27e5e044ed342b611d2db1 files/makewhatis.cron 126
-MD5 14e1c7533927dfb89900ee788666b342 files/man-1.5p-defmanpath-symlinks.patch 663
-MD5 80f2a25fb0b5692f39a1990527a93271 files/man-1.5m-groff-1.18.patch 923
+MD5 90f936cbc365fa88a17525afc2cc0d95 files/man-1.6b-build.patch 175
+MD5 816a0222228cedf51e8bc39acb32fa89 man-1.5p.ebuild 2648
+MD5 5c0c422d050f5191b66a7c4ed928835a man-1.6-r1.ebuild 2983
+MD5 9206115cdc98fb8e0d7cbd518ad9476b man-1.6a.ebuild 2897
+MD5 3e0bb5ba53d843b602dd89621d7ee4d7 man-1.6b.ebuild 2980
+MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.1 (GNU/Linux)
+Version: GnuPG v1.4.2 (GNU/Linux)
 
-iD8DBQFDK2QELLFUmVNQ7rkRAmsIAJ0XEjFmMUW+yN4mxNuwkGBm56Xf7wCg0q78
-IZs7lZ0bpBqu2oZ0EtibYqs=
-=Wd46
+iD8DBQFDc9zagIKl8Uu19MoRAjpRAJwOHgJ14ctmNHcGiS9IfHZjKb8btQCeJNyQ
+zsRmQXO52b3tUqlWlclDuCs=
+=I8X9
 -----END PGP SIGNATURE-----
diff --git a/sys-apps/man/files/digest-man-1.6b b/sys-apps/man/files/digest-man-1.6b
new file mode 100644 (file)
index 0000000..d165bbd
--- /dev/null
@@ -0,0 +1 @@
+MD5 81d96091482b6445cbfa248fadb422b8 man-1.6b.tar.gz 238993
index 32e3c4f8dc7c894dc94619ab7fabd692b00ab61c..6bcf1105e5f93d3564067825a326841a0670ea7c 100644 (file)
@@ -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 (file)
index 0000000..9735a53
--- /dev/null
@@ -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 (file)
index 0000000..b27d6bb
--- /dev/null
@@ -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 (file)
index 0000000..43a26c5
--- /dev/null
@@ -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 (file)
index 0000000..b8c3fad
--- /dev/null
@@ -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 (file)
index 0000000..d900b72
--- /dev/null
@@ -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 (file)
index 0000000..7835343
--- /dev/null
@@ -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
+}