From 3f71edc3ef4672ea2bbe3d2f604ada121b3870ab Mon Sep 17 00:00:00 2001 From: Xiaofeng Yan Date: Thu, 2 Sep 2010 16:39:48 +0800 Subject: man: Add new man package A set of documentation tools: man, apropos and whatis Signed-off-by: Xiaofeng Yan --- .../man/man-1.6e/man-1.5g-nonrootbuild.patch | 12 ++ .../man/man-1.6e/man-1.5h1-gencat.patch | 10 ++ .../man/man-1.6e/man-1.5h1-make.patch | 13 ++ .../man/man-1.6e/man-1.5i2-initial.patch | 15 ++ .../man/man-1.6e/man-1.5i2-newline.patch | 11 ++ .../man/man-1.6e/man-1.5i2-overflow.patch | 12 ++ .../man/man-1.6e/man-1.5j-i18n.patch | 12 ++ .../man/man-1.6e/man-1.5j-nocache.patch | 12 ++ .../man/man-1.6e/man-1.5j-utf8.patch | 57 ++++++++ .../man/man-1.6e/man-1.5k-confpath.patch | 11 ++ .../man/man-1.6e/man-1.5k-nonascii.patch | 14 ++ .../man/man-1.6e/man-1.5k-sofix.patch | 20 +++ .../man/man-1.6e/man-1.5m2-bug11621.patch | 11 ++ .../man/man-1.6e/man-1.5m2-buildroot.patch | 48 +++++++ .../man/man-1.6e/man-1.5m2-multiple.patch | 18 +++ .../man-1.6e/man-1.5m2-no-color-for-printing.patch | 11 ++ .../man/man-1.6e/man-1.5m2-sigpipe.patch | 26 ++++ .../man/man-1.6e/man-1.5m2-tv_fhs.patch | 27 ++++ .../man/man-1.6e/man-1.6e-i18n_whatis.patch | 141 +++++++++++++++++++ .../man/man-1.6e/man-1.6e-lzma+xz-support.patch | 142 +++++++++++++++++++ .../man/man-1.6e/man-1.6e-mandirs.patch | 27 ++++ .../man/man-1.6e/man-1.6e-new_sections.patch | 11 ++ .../man/man-1.6e/man-1.6e-ro_usr.patch | 67 +++++++++ .../man/man-1.6e/man-1.6e-security.patch | 58 ++++++++ .../man-1.6e-use_i18n_vars_in_a_std_way.patch | 156 +++++++++++++++++++++ .../man/man-1.6e/man-1.6e-whatis2.patch | 37 +++++ meta/recipes-extended/man/man-1.6e/man.1.gz | Bin 0 -> 12323 bytes meta/recipes-extended/man/man-1.6e/man.7.gz | Bin 0 -> 6192 bytes meta/recipes-extended/man/man-1.6e/manpath.5.gz | Bin 0 -> 2133 bytes meta/recipes-extended/man/man_1.6e.bb | 61 ++++++++ 30 files changed, 1040 insertions(+) create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5g-nonrootbuild.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5h1-gencat.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5h1-make.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5i2-initial.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5i2-newline.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5i2-overflow.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5j-i18n.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5j-nocache.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5j-utf8.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5k-confpath.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5k-nonascii.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5k-sofix.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5m2-bug11621.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5m2-buildroot.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5m2-multiple.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5m2-no-color-for-printing.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5m2-sigpipe.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.5m2-tv_fhs.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.6e-i18n_whatis.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.6e-lzma+xz-support.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.6e-mandirs.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.6e-new_sections.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.6e-ro_usr.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.6e-security.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.6e-use_i18n_vars_in_a_std_way.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man-1.6e-whatis2.patch create mode 100644 meta/recipes-extended/man/man-1.6e/man.1.gz create mode 100644 meta/recipes-extended/man/man-1.6e/man.7.gz create mode 100644 meta/recipes-extended/man/man-1.6e/manpath.5.gz create mode 100644 meta/recipes-extended/man/man_1.6e.bb (limited to 'meta/recipes-extended') diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5g-nonrootbuild.patch b/meta/recipes-extended/man/man-1.6e/man-1.5g-nonrootbuild.patch new file mode 100644 index 0000000000..ae2bc4d17f --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5g-nonrootbuild.patch @@ -0,0 +1,12 @@ +diff -u -r man-1.5g.old/configure man-1.5g/configure +--- man-1.5g.old/configure Wed Apr 7 04:16:05 1999 ++++ man-1.5g/configure Mon May 15 15:22:44 2000 +@@ -791,7 +791,7 @@ + read mode + if test "$mode" != ""; then man_mode=$mode; fi + fi +- man_install_flags="-m $man_mode -o $man_user -g $man_group" ++ man_install_flags="" + fi + + # What sections do we anticipate? diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5h1-gencat.patch b/meta/recipes-extended/man/man-1.6e/man-1.5h1-gencat.patch new file mode 100644 index 0000000000..6409dfce55 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5h1-gencat.patch @@ -0,0 +1,10 @@ +--- gencat/genlib.c 2006-08-02 20:11:44.000000000 +0200 ++++ gencat/genlib.c.oden 2008-12-21 19:18:50.000000000 +0100 +@@ -47,6 +47,7 @@ up-to-date. Many thanks. + 01/14/91 4 nazgul Off by one on number specified entries + */ + ++#undef _GNU_SOURCE + #include + #include + #ifdef SYSV diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5h1-make.patch b/meta/recipes-extended/man/man-1.6e/man-1.5h1-make.patch new file mode 100644 index 0000000000..f9f91e4d0e --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5h1-make.patch @@ -0,0 +1,13 @@ +--- man-1.5g/man/Makefile.in.mike Fri Apr 9 13:35:54 1999 ++++ man-1.5g/man/Makefile.in Fri Apr 9 13:36:45 1999 +@@ -1,8 +1,8 @@ + # only executed from a subdir + MAN1 = man whatis apropos +-MAN5 = man.conf ++MAN5 = man.config + MAN8 = makewhatis +-ALL = man.1 whatis.1 apropos.1 man.conf.5 ++ALL = man.1 whatis.1 apropos.1 man.config.5 + MAYBE8 = makewhatis + + .SUFFIXES: .man .1 .5 .8 diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5i2-initial.patch b/meta/recipes-extended/man/man-1.6e/man-1.5i2-initial.patch new file mode 100644 index 0000000000..1b1442385e --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5i2-initial.patch @@ -0,0 +1,15 @@ +--- man-1.5i2/src/makewhatis.sh.initial Tue Jul 3 15:38:39 2001 ++++ man-1.5i2/src/makewhatis.sh Tue Jul 3 15:39:39 2001 +@@ -81,8 +81,10 @@ + continue;; + -s) setsections=1 + continue;; +- -u) findarg="-newer /var/cache/man/whatis" +- update=1 ++ -u) if [ -e /var/cache/man/whatis ]; then ++ findarg="-newer /var/cache/man/whatis" ++ update=1 ++ fi + continue;; + -v) verbose=1 + continue;; diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5i2-newline.patch b/meta/recipes-extended/man/man-1.6e/man-1.5i2-newline.patch new file mode 100644 index 0000000000..da95d5ad18 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5i2-newline.patch @@ -0,0 +1,11 @@ +--- src/man.c 2008-12-21 19:17:31.000000000 +0100 ++++ src/man.c.oden 2008-12-21 19:17:38.000000000 +0100 +@@ -391,7 +391,7 @@ again: + beg++; + + end = beg; +- while (*end != ' ' && *end != '\t' && *end != '\n' && *end != '\0') ++ while (*end != ' ' && *end != '\t' && *end != '\n' && *end != '\0' && (end-buf)sizeof(ultname)) _exit(1); + + goto again; + } diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5j-i18n.patch b/meta/recipes-extended/man/man-1.6e/man-1.5j-i18n.patch new file mode 100644 index 0000000000..7645542e16 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5j-i18n.patch @@ -0,0 +1,12 @@ +--- man-1.5j/msgs/inst.sh.i18n Wed Apr 25 10:40:50 2001 ++++ man-1.5j/msgs/inst.sh Wed Apr 25 10:41:17 2001 +@@ -27,8 +27,7 @@ + for j in $M; do + if [ -f $j ]; then + i=`echo $j | sed -e 's/mess.//; s/.cat//'` +- dest=`echo $locdir | sed -e "s/%N/man/; s/%L/$i/"` +- dest=${PREFIX}$dest ++ dest=${PREFIX}/`echo $locdir | sed -e "s/%N/man/; s/%L/$i/"` + echo "mkdir -p `dirname $dest`" + mkdir -p `dirname $dest`; + echo "install -c -m 644 $j $dest" diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5j-nocache.patch b/meta/recipes-extended/man/man-1.6e/man-1.5j-nocache.patch new file mode 100644 index 0000000000..267b34b93a --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5j-nocache.patch @@ -0,0 +1,12 @@ +--- man-1.5j/src/man.conf.in.nocache Thu Nov 22 15:07:12 2001 ++++ man-1.5j/src/man.conf.in Thu Nov 22 15:07:12 2001 +@@ -81,6 +81,9 @@ + # + #NOCACHE + # ++# NOCACHE keeps man from creating cache pages ++NOCACHE ++# + # Useful paths - note that COL should not be defined when + # NROFF is defined as "groff -Tascii" or "groff -Tlatin1"; + # not only is it superfluous, but it actually damages the output. diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5j-utf8.patch b/meta/recipes-extended/man/man-1.6e/man-1.5j-utf8.patch new file mode 100644 index 0000000000..c817763676 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5j-utf8.patch @@ -0,0 +1,57 @@ +--- man-1.5j/configure.utf8 Thu Nov 22 15:02:35 2001 ++++ man-1.5j/configure Thu Nov 22 15:03:15 2001 +@@ -408,9 +408,9 @@ + Fgawk=/bin/gawk + Fawk=/bin/gawk + Fmawk=missing +- troff="" +- nroff="" +- jnroff="" ++ troff=/usr/bin/troff ++ nroff=/usr/bin/nroff ++ jnroff=/usr/bin/nroff + eqn="" + neqn="" + jneqn="" +@@ -453,6 +453,8 @@ + done + done + Fgroff=/usr/bin/groff ++ Fnroff=/usr/bin/nroff ++ Fjnroff=/usr/bin/nroff + Fgeqn=/usr/bin/geqn + Fgtbl=/usr/bin/gtbl + Fcol=/usr/bin/col +@@ -485,25 +487,25 @@ + then + if test $Fnroff = "missing" + then +- nroff="nroff -Tlatin1 -mandoc" ++ nroff="nroff -Tutf8 -mandoc" + else +- nroff="$Fnroff -Tlatin1 -mandoc" ++ nroff="$Fnroff -Tutf8 -mandoc" + fi + troff="troff -mandoc" + echo "Warning: could not find groff" + else + if test $Fnroff = "missing" + then +- nroff="$Fgroff -Tlatin1 -mandoc" ++ nroff="$Fgroff -Tutf8 -mandoc" + else +- nroff="$Fnroff -Tlatin1 -mandoc" ++ nroff="$Fnroff -Tutf8 -mandoc" + fi + troff="$Fgroff -Tps -mandoc" +- jnroff="$Fgroff -Tnippon -mandocj" ++ jnroff="$Fjnroff -Tutf8 -mandocj" + fi + eqn="$Fgeqn -Tps" +- neqn="$Fgeqn -Tlatin1" +- jneqn="$Fgeqn -Tnippon" ++ neqn="$Fgeqn -Tutf8" ++ jneqn="$Fgeqn -Tutf8" + tbl="$Fgtbl" + col="$Fcol" + vgrind="$Fvgrind" diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5k-confpath.patch b/meta/recipes-extended/man/man-1.6e/man-1.5k-confpath.patch new file mode 100644 index 0000000000..71ac9fcfc9 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5k-confpath.patch @@ -0,0 +1,11 @@ +--- configure 2006-05-01 19:56:14.000000000 +0200 ++++ configure.oden 2008-12-21 19:16:50.000000000 +0100 +@@ -198,7 +198,7 @@ + confdir="${confprefix}/share/misc" + fi + fi +-conffilename="man.conf" ++conffilename="man.config" + + if test "$RANDOM" = "$RANDOM"; then + # Plain old Bourne shell. diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5k-nonascii.patch b/meta/recipes-extended/man/man-1.6e/man-1.5k-nonascii.patch new file mode 100644 index 0000000000..465d839ea0 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5k-nonascii.patch @@ -0,0 +1,14 @@ +--- ./src/apropos.sh.nonascii 2001-11-23 00:30:42.000000000 +0100 ++++ ./src/apropos.sh 2002-08-13 15:44:53.000000000 +0200 +@@ -18,9 +18,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='ia' + aproposgrepopt2='' +-whatisgrepopt1='iw' ++whatisgrepopt1='iwa' + whatisgrepopt2='^' + grepopt1=$%apropos_or_whatis%grepopt1 + grepopt2=$%apropos_or_whatis%grepopt2 diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5k-sofix.patch b/meta/recipes-extended/man/man-1.6e/man-1.5k-sofix.patch new file mode 100644 index 0000000000..d4522ea974 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5k-sofix.patch @@ -0,0 +1,20 @@ +--- man-1.5j/src/man.c.sofix Thu Nov 22 14:51:44 2001 ++++ man-1.5j/src/man.c Thu Nov 22 14:52:44 2001 +@@ -300,7 +300,7 @@ + + if (strlen(name0) >= sizeof(ultname)) + return name0; +- strcpy(ultname, name0); ++ strncpy(ultname, name0, BUFSIZE-32); + name = ultname; + + again: +@@ -332,7 +332,7 @@ + * .so files - we could glob for all possible extensions, + * for now: only try .gz + */ +- else if (fp == NULL && get_expander(".gz") && ++ if (fp == NULL && get_expander(".gz") && + strlen(name)+strlen(".gz") < BUFSIZE) { + strcat(name, ".gz"); + fp = fopen (name, "r"); diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-bug11621.patch b/meta/recipes-extended/man/man-1.6e/man-1.5m2-bug11621.patch new file mode 100644 index 0000000000..9c06c4c104 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5m2-bug11621.patch @@ -0,0 +1,11 @@ +--- ./configure.ad 2003-12-11 19:17:10.000000000 +0100 ++++ ./configure 2003-12-11 19:17:27.000000000 +0100 +@@ -26,7 +26,7 @@ + # (Indeed, -r may cause the terminal to get into funny states. + # Very inconvenient. For viewing pages in strange locales, set LC_*.) + # +-DEFAULTLESSOPT="-is" ++DEFAULTLESSOPT="-isr" + # + # Note that not creating any cat directories (/var/cache/man or so) + # and not making man suid or sgid is recommended. diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-buildroot.patch b/meta/recipes-extended/man/man-1.6e/man-1.5m2-buildroot.patch new file mode 100644 index 0000000000..d84208390a --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5m2-buildroot.patch @@ -0,0 +1,48 @@ +--- ./configure.less 2003-12-11 19:18:15.000000000 +0100 ++++ ./configure 2003-12-11 19:20:03.000000000 +0100 +@@ -401,18 +401,13 @@ + + if test "$ans" = "false" + then +- for i in more less cmp cat awk gawk mawk +- do +- eval F$i="missing" +- for j in $DEFPATH +- do +- if test -f $j/$i +- then +- eval F$i=$j/$i +- break +- fi +- done +- done ++ Fmore=/bin/more ++ Fless=/usr/bin/less ++ Fcmp=/usr/bin/cmp ++ Fcat=/bin/cat ++ Fgawk=/bin/gawk ++ Fawk=/bin/gawk ++ Fmawk=missing + troff="" + nroff="" + jnroff="" +@@ -457,6 +452,19 @@ + fi + done + done ++ Fgroff=/usr/bin/groff ++ Fgeqn=/usr/bin/geqn ++ Fgtbl=/usr/bin/gtbl ++ Fcol=/usr/bin/col ++ Fgrefer=/usr/bin/grefer ++ Fgpic=/usr/bin/gpic ++ Fmore=/bin/more ++ Fless=/usr/bin/less ++ Fcmp=/usr/bin/cmp ++ Fcat=/bin/cat ++ Fgawk=/bin/gawk ++ ++ + for i in eqn tbl refer pic + do + if test `eval echo \\$Fg$i` = "missing" diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-multiple.patch b/meta/recipes-extended/man/man-1.6e/man-1.5m2-multiple.patch new file mode 100644 index 0000000000..cc5bffde63 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5m2-multiple.patch @@ -0,0 +1,18 @@ +--- man-1.5m2/src/manfile.c_multiple 2006-12-08 23:42:17.000000000 +0100 ++++ man-1.5m2/src/manfile.c 2006-12-09 00:00:01.000000000 +0100 +@@ -25,9 +25,12 @@ + + if (a) { + if (*head) { +- p = *head; +- while(p->next) +- p = p->next; ++ for (p = *head; p->next; p = p->next) { ++ if(!strcmp (p->filename, a->filename)) ++ return; ++ } ++ if(!strcmp (p->filename, a->filename)) ++ return; + p->next = a; + } else + *head = a; diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-no-color-for-printing.patch b/meta/recipes-extended/man/man-1.6e/man-1.5m2-no-color-for-printing.patch new file mode 100644 index 0000000000..d1f810a442 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5m2-no-color-for-printing.patch @@ -0,0 +1,11 @@ +--- man-1.5m2/configure.color 2006-09-16 18:27:37.000000000 +0200 ++++ man-1.5m2/configure 2006-09-16 18:28:44.000000000 +0200 +@@ -539,6 +539,8 @@ + troff="$troff -c" + nroff="$nroff -c" + jnroff="$jnroff -c" ++else ++ troff="$troff -c" + fi + + if [ x$default = x ]; then diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-sigpipe.patch b/meta/recipes-extended/man/man-1.6e/man-1.5m2-sigpipe.patch new file mode 100644 index 0000000000..81fb2d702a --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5m2-sigpipe.patch @@ -0,0 +1,26 @@ +--- man-1.5m2/src/util.c_sigpipe 2006-12-09 13:43:21.000000000 +0100 ++++ man-1.5m2/src/util.c 2006-12-09 13:53:13.000000000 +0100 +@@ -116,11 +116,14 @@ + static int + system1 (const char *command) { + void (*prev_handler)(int) = signal (SIGINT,catch_int); ++ signal (SIGPIPE,SIG_IGN); + int ret = system(command); + + /* child terminated with signal? */ + if (WIFSIGNALED(ret) && +- (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT)) ++ (WTERMSIG(ret) == SIGINT || ++ WTERMSIG(ret) == SIGPIPE || ++ WTERMSIG(ret) == SIGQUIT)) + exit(1); + + /* or we caught an interrupt? */ +@@ -128,6 +131,7 @@ + exit(1); + + signal(SIGINT,prev_handler); ++ signal(SIGPIPE,SIG_DFL); + return ret; + } + diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-tv_fhs.patch b/meta/recipes-extended/man/man-1.6e/man-1.5m2-tv_fhs.patch new file mode 100644 index 0000000000..20389d9c08 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.5m2-tv_fhs.patch @@ -0,0 +1,27 @@ +--- man/Makefile.in 2008-12-21 19:19:33.000000000 +0100 ++++ man/Makefile.in.oden 2008-12-21 19:19:39.000000000 +0100 +@@ -34,6 +34,15 @@ + for i in $(MAN8); \ + do if test -f $$i.8; then $(INSTALL) $$i.8 $(mandir)/man8/$$i.@man8ext@; fi; done + ++install-l10n: $(ALL) ++ mkdir -p $(mandir)/$(SLANG)/man1 $(mandir)/$(SLANG)/man5 $(mandir)/$(SLANG)/man8 ++ for i in $(MAN1); \ ++ do $(INSTALL) $$i.1 $(mandir)/$(SLANG)/man1/$$i.@man1ext@; done ++ for i in $(MAN5); \ ++ do $(INSTALL) $$i.5 $(mandir)/$(SLANG)/man5/$$i.@man5ext@; done ++ for i in $(MAN8); \ ++ do if test -f $$i.8; then $(INSTALL) $$i.8 $(mandir)/$(SLANG)/man8/$$i.@man8ext@; fi; done ++ + clean: + rm -f core *.in *.@man1ext@ *.@man5ext@ *.@man8ext@ *~ + +@@ -49,7 +58,7 @@ + @for i in @languages@; do if test -d $$i; then echo; \ + echo "==== Installing the `cat $$i.txt` man pages. ===="; \ + cd $$i; SLANG=/$$i; if test $$SLANG = /en; then SLANG= ; fi; \ +- export SLANG; make -f ../Makefile install; cd ..; \ ++ export SLANG; make -f ../Makefile install-l10n; cd ..; \ + else echo "==== No $$i man pages found. ===="; fi; done + + cleansubdirs: diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-i18n_whatis.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-i18n_whatis.patch new file mode 100644 index 0000000000..ad62a6016f --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.6e-i18n_whatis.patch @@ -0,0 +1,141 @@ +diff -Naur man-1.6e.orig/src/apropos.sh man-1.6e/src/apropos.sh +--- man-1.6e.orig/src/apropos.sh 2007-05-18 13:49:31.000000000 -0300 ++++ man-1.6e/src/apropos.sh 2007-05-18 14:24:33.000000000 -0300 +@@ -60,16 +60,56 @@ + esac + done + ++# list of languages to look for ++LANG_LIST=`echo $LANGUAGE:$LC_ALL:$LC_MESSAGES:$LANG | tr ':' ' '` ++DIR_LIST="" ++for d in /var/cache/man $manpath /usr/lib ++do ++ for l in $LANG_LIST ++ do ++ if [ -d $d/$l ] ++ then ++ # check that the path is not already in the list ++ if ! echo "$DIR_LIST" | grep " $d/$l\b" > /dev/null ++ then ++ DIR_LIST="$DIR_LIST $d/$l" ++ fi ++ fi ++ done ++ DIR_LIST="$DIR_LIST $d" ++ # check that the path is not already in the list ++ if ! echo "$DIR_LIST" | grep " $d\b" > /dev/null ++ then ++ DIR_LIST="$DIR_LIST $d/$l" ++ fi ++done ++ + while [ "$1" != "" ] + do + found=0 +- for d in /var/cache/man $manpath /usr/lib ++ # in order not to display lines in more than one language for ++ # a same man page; we check that a given man page name ++ # hasn't already been displayed ++ BAZ="" ++ for d in $DIR_LIST + do + if [ -f $d/whatis ] + then +- if grep -"$grepopt1" "$grepopt2""$1" $d/whatis ++ if FOO=`grep -"$grepopt1" "$grepopt2""$1" $d/whatis` + then +- found=1 ++ # the LC_ALL=C is needed in case the text is ++ # in a different encoding than the locale ++ BAR=`echo -e "$FOO" | LC_ALL=C sed 's/ - .*$//' | tr ' []' '_' | sort -u` ++ for i in $BAR ++ do ++ if ! echo "$BAZ" | grep "$i" > /dev/null ++ then ++ BAZ="$BAZ $i" ++ i="^`echo $i | sed 's:_\+:\\\(\[_ \]\\\|\\\[\\\|\\\]\\\)\\\+:g'`" ++ echo -e "$FOO" | grep "$i" ++ found=1 ++ fi ++ done + # Some people are satisfied with a single occurrence + # But it is better to give all + # break +diff -Naur man-1.6e.orig/src/makewhatis.sh man-1.6e/src/makewhatis.sh +--- man-1.6e.orig/src/makewhatis.sh 2007-05-18 13:49:31.000000000 -0300 ++++ man-1.6e/src/makewhatis.sh 2007-05-18 13:50:07.000000000 -0300 +@@ -41,12 +41,32 @@ + + program=`basename $0` + ++# this allows to define language specific values fro NAME, DESCRIPTION ++# if not defined, using those default values ++if [ -z "$MAN_NAME" ] ++then ++ MAN_NAME="ИМЕ|NOM|JMÉNO|NAVN|ΟΝΟΜΑ|NOMBRE|NIME|IZENA|NIMI|IME|\ ++NÉV|NOME|名前|이름|NAAM|NAZWA|NUME|ИМЯ|MENO|НАЗВА|名称|名稱" ++fi ++if [ -z "$MAN_DESCRIPTION" ] ++then ++ MAN_DESCRIPTION="ОПИСАНИЕ|DESCRIPCIÓ|POPIS|BESKRIVELSE|BESCHREIBUNG|\ ++ΠΕΡΙΓΡΑΦΗ|DESCRIPCIÓN|KIRJELDUS|AZALPENA|KUVAUS|OPIS|LEÍRÁS|DESCRIZIONE|\ ++説明|설명|BESCHRIJVING|DESCRIÇÃO|DESCRIERE|ОПИС|描述" ++fi ++# make them into awk regexp ++MAN_NAME="^(${MAN_NAME})"; ++MAN_DESCRIPTION="^(${MAN_DESCRIPTION})"; ++ + # In case both /usr/man and /usr/share/man exist, the former is local + # and should be first. + # It is a bug to add /var/cache/man to DEFCATPATH. + dm= + for d in /usr/share/man /usr/man /usr/X11R6/man /usr/local/man + do ++ if [ -n "$LANG" -a -d "$d/$LANG" ]; then ++ if [ x$dm = x ]; then dm="$d/$LANG"; else dm=$dm:"$d/$LANG"; fi ++ fi + if [ -d $d ]; then + if [ x$dm = x ]; then dm=$d; else dm=$dm:$d; fi + fi +@@ -55,6 +75,9 @@ + dc= + for d in /var/cache/man /usr/share/man/preformat /usr/man/preformat /usr/share/man /usr/man + do ++ if [ -n "$LANG" -a -d "$d/$LANG" ]; then ++ if [ x$dc = x ]; then dm="$d/$LANG"; else dm=$dc:"$d/$LANG"; fi ++ fi + if [ -d $d ]; then + if [ x$dc = x ]; then dc=$d; else dc=$dc:$d; fi + fi +@@ -194,7 +217,7 @@ + section=$i + curdir=$mandir/${pages}$i + export section verbose curdir +- find $mandir/${pages}$i/. -name '*' $findarg0 $findarg -print | $AWK ' ++ find $mandir/${pages}$i/. -name '*' $findarg0 $findarg -print | LC_ALL=C $AWK -v MAN_NAME="$MAN_NAME" -v MAN_DESCRIPTION="$MAN_DESCRIPTION" ' + + function readline() { + if (use_zcat || use_bzcat) { +@@ -261,13 +284,7 @@ + gsub(/.\b/, ""); + if (($1 ~ /^\.[Ss][Hh]/ && + ($2 ~ /[Nn][Aa][Mm][Ee]/ || +- $2 ~ /^JMNO/ || $2 ~ /^NAVN/ || $2 ~ /^NUME/ || +- $2 ~ /^BEZEICHNUNG/ || $2 ~ /^NOMBRE/ || +- $2 ~ /^NIMI/ || $2 ~ /^NOM/ || $2 ~ /^IME/ || +- $2 ~ /^N[E]V/ || $2 ~ /^NAMA/ || $2 ~ /^̾/ || +- $2 ~ /^̾/ || $2 ~ /^̸/ || $2 ~ /^NAZWA/ || +- $2 ~ /^/ || $2 ~ /^/ || $2 ~ /^W/ || +- $2 ~ /^NOME/ || $2 ~ /^NAAM/ || $2 ~ /^/)) || ++ $2 ~ MAN_NAME )) || + (pages == "cat" && $1 ~ /^NAME/)) { + if (!insh) { + insh = 1; +@@ -278,6 +295,7 @@ + if ($1 ~ /^\.[Ss][HhYS]/ || + (pages == "cat" && + ($1 ~ /^S[yYeE]/ || $1 ~ /^DESCRIPTION/ || ++ $1 ~ MAN_DESCRIPTION || + $1 ~ /^COMMAND/ || $1 ~ /^OVERVIEW/ || + $1 ~ /^STRUCTURES/ || $1 ~ /^INTRODUCTION/ || + $0 ~ /^[^ ]/))) { diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-lzma+xz-support.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-lzma+xz-support.patch new file mode 100644 index 0000000000..9aa5260b71 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.6e-lzma+xz-support.patch @@ -0,0 +1,142 @@ +diff -Naurp man-1.6e/configure man-1.6e.oden/configure +--- man-1.6e/configure 2008-12-21 19:20:51.000000000 +0100 ++++ man-1.6e.oden/configure 2008-12-21 19:20:32.000000000 +0100 +@@ -1027,7 +1027,7 @@ then + then + DO_COMPRESSION=true + compress= +- for i in bzip2 gzip bzip tzip pack compress freeze yabba ++ for i in xz lzma bzip2 gzip bzip tzip pack compress freeze yabba + do + eval F$i=missing + for j in $DEFPATH +@@ -1080,6 +1080,8 @@ then + fi + + case $compress in ++ *xz*) ext=".xz" ;; ++ *lzma*) ext=".lzma" ;; + *bzip2*) ext=".bz2" ;; + *gzip*) ext=".gz" ;; + *bzip*) ext=".bz" ;; +@@ -1122,7 +1124,7 @@ then + fi + + # unconditionally handle uncompression +-UNCOMPRESSORS="gunzip bzip2 pcat zcat fcat unyabba" ++UNCOMPRESSORS="unxz unlzma gunzip bzip2 pcat zcat fcat unyabba" + for i in $UNCOMPRESSORS + do + eval F$i=missing +@@ -1143,6 +1146,14 @@ bzip2=missing + if [ $Fbzip2 != missing ]; then + bzip2="$Fbzip2 -c -d" + fi ++unxz=missing ++if [ $Funxz != missing ]; then ++ unxz="$Funxz -c -d" ++fi ++unlzma=missing ++if [ $Funlzma != missing ]; then ++ unlzma="$Funlzma -c -d" ++fi + pcat="$Fpcat" + zcat="$Fzcat" + fcat="$Ffcat" +@@ -1171,6 +1181,12 @@ if [ x$default = x ]; then + bzip2) + echo "Command to use for .bz2 files (standard bzip2)" + echo $n "[`eval echo \\$$filter`] $c" ;; ++ xz) ++ echo "Command to use for .xz files (standard xz)" ++ echo $n "[`eval echo \\$$filter`] $c" ;; ++ lzma) ++ echo "Command to use for .lzma files (standard lzma)" ++ echo $n "[`eval echo \\$$filter`] $c" ;; + pcat) + echo "Command to use for .z files (pack/unpack)" + echo $n "[`eval echo \\$$filter`] $c" ;; +@@ -1232,6 +1248,8 @@ fi + case $compress_ext in + .gz) decompress=$gunzip ;; + .bz2) decompress=$bzip2 ;; ++ .xz) decompress=$unlzma ;; ++ .lzma) decompress=$unlzma ;; + .z) decompress=$pcat ;; + .Z) decompress=$zcat ;; + .F) decompress=$fcat ;; +@@ -1319,6 +1337,8 @@ s,@pcat@,$pcat, + s,@zcat@,$zcat, + s,@gunzip@,$gunzip, + s,@bzip2@,$bzip2, ++s,@unlzma@,$unlzma, ++s,@unxz@,$unxz, + s,@unyabba@,$unyabba, + s,@compress@,$compress, + s,@compress_ext@,$compress_ext, +diff -Naurp man-1.6e/src/makewhatis.sh man-1.6e.oden/src/makewhatis.sh +--- man-1.6e/src/makewhatis.sh 2008-12-21 19:20:51.000000000 +0100 ++++ man-1.6e.oden/src/makewhatis.sh 2008-12-21 19:20:32.000000000 +0100 +@@ -220,7 +220,7 @@ do + find $mandir/${pages}$i/. -name '*' $findarg0 $findarg -print | LC_ALL=C $AWK -v MAN_NAME="$MAN_NAME" -v MAN_DESCRIPTION="$MAN_DESCRIPTION" ' + + function readline() { +- if (use_zcat || use_bzcat) { ++ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) { + result = (pipe_cmd | getline); + if (result < 0) { + print "Pipe error: " pipe_cmd " " ERRNO > "/dev/stderr"; +@@ -235,7 +235,7 @@ do + } + + function closeline() { +- if (use_zcat || use_bzcat) { ++ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) { + return close(pipe_cmd); + } else { + return close(filename); +@@ -254,7 +254,11 @@ do + match(filename,"\\.z$") || match(filename,"\\.gz$"); + if (!use_zcat) + use_bzcat = match(filename,"\\.bz2"); +- if (use_zcat || use_bzcat) { ++ if(!use_bzcat) ++ use_lzcat = match(filename,"\\.lzma"); ++ if(!use_lzcat) ++ use_xzcat = match(filename,"\\.xz"); ++ if (use_zcat || use_bzcat || use_lzcat || use_xz_cat) { + filename_no_gz = substr(filename, 0, RSTART - 1); + } else { + filename_no_gz = filename; +@@ -267,12 +271,16 @@ do + actual_section = section; + } + sub(/\..*/, "", progname); +- if (use_zcat || use_bzcat) { ++ if (use_zcat || use_bzcat || use_lzcat || use_xz_cat) { + if (use_zcat) { + pipe_cmd = "zcat \"" filename "\""; +- } else { ++ } else if (use_bzcat) { + pipe_cmd = "bzcat \"" filename "\""; +- } ++ } else if (use_lzcat) { ++ pipe_cmd = "lzcat \"" filename "\""; ++ } else { ++ pipe_cmd = "xzcat \"" filename "\""; ++ } + # try to avoid suspicious stuff + if (filename ~ /[;&|`$(]/) { + print "ignored strange file name " filename " in " curdir > "/dev/stderr"; +diff -Naurp man-1.6e/src/man.conf.in man-1.6e.oden/src/man.conf.in +--- man-1.6e/src/man.conf.in 2008-12-21 19:20:51.000000000 +0100 ++++ man-1.6e.oden/src/man.conf.in 2008-12-21 19:20:32.000000000 +0100 +@@ -139,6 +139,8 @@ MANSECT @sections@ + # + .gz @gunzip@ + .bz2 @bzip2@ ++.lzma @unlzma@ ++.xz @unxz@ + .z @pcat@ + .Z @zcat@ + .F @fcat@ diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-mandirs.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-mandirs.patch new file mode 100644 index 0000000000..06e9869754 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.6e-mandirs.patch @@ -0,0 +1,27 @@ +--- man-1.6e.orig/src/man.conf.in 2005-08-20 20:26:06.000000000 -0300 ++++ man-1.6e/src/man.conf.in 2007-05-18 10:30:29.000000000 -0300 +@@ -36,11 +36,12 @@ + # + # Every automatically generated MANPATH includes these fields + # +-MANPATH /usr/man + MANPATH /usr/share/man ++MANPATH /usr/X11R6/man + MANPATH /usr/local/man + MANPATH /usr/local/share/man +-MANPATH /usr/X11R6/man ++MANPATH /usr/kerberos/man ++MANPATH /usr/man + # + # Uncomment if you want to include one of these by default + # +@@ -67,6 +68,9 @@ + MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man + MANPATH_MAP /usr/bin/X11 /usr/X11R6/man + MANPATH_MAP /usr/bin/mh /usr/share/man ++MANPATH_MAP /usr/kerberos/bin /usr/kerberos/man ++MANPATH_MAP /usr/kerberos/sbin /usr/kerberos/man ++ + # + # NOAUTOPATH keeps man from automatically adding directories that look like + # manual page directories to the path. diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-new_sections.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-new_sections.patch new file mode 100644 index 0000000000..51727588f4 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.6e-new_sections.patch @@ -0,0 +1,11 @@ +--- man-1.6e.orig/configure 2006-05-01 14:56:14.000000000 -0300 ++++ man-1.6e/configure 2007-05-18 14:35:43.000000000 -0300 +@@ -960,7 +960,7 @@ + + # What sections do we anticipate? + +-tmpsections="1 1p 8 2 3 3p 4 5 6 7 9 0p tcl n l p o" ++tmpsections="1 1p 8 2 3 3p 3pm 4 5 6 7 9 0p tcl n l p o" + + if [ x$default = x ]; then + echo "" diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-ro_usr.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-ro_usr.patch new file mode 100644 index 0000000000..054054b521 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.6e-ro_usr.patch @@ -0,0 +1,67 @@ +--- man-1.6e.orig/src/makewhatis.sh 2006-07-19 01:58:08.000000000 -0300 ++++ man-1.6e/src/makewhatis.sh 2007-05-18 10:54:57.000000000 -0300 +@@ -124,7 +124,7 @@ + continue;; + -s) setsections=1 + continue;; +- -u) findarg="-ctime 0" ++ -u) findarg="-newer /var/cache/man/whatis" + update=1 + continue;; + -v) verbose=1 +@@ -165,14 +165,7 @@ + # first truncate all the whatis files that will be created new, + # then only update - we might visit the same directory twice + if [ x$update = x ]; then +- for pages in man cat +- do +- eval path="\$$pages"path +- for mandir in $path +- do +- cp /dev/null $mandir/whatis +- done +- done ++ cp /dev/null /var/cache/man/whatis + fi + + for pages in man cat +@@ -184,11 +177,6 @@ + if [ x$verbose != x ]; then + echo "about to enter $mandir" > /dev/stderr + fi +- if [ -s ${mandir}/whatis -a $pages = man -a x$update = x ]; then +- if [ x$verbose != x ]; then +- echo skipping $mandir - we did it already > /dev/stderr +- fi +- else + here=`pwd` + cd $mandir + for i in $sections +@@ -407,23 +395,14 @@ + + cd $here + +- # kludge for Slackware's /usr/man/preformat +- if [ $mandir = /usr/man/preformat ] +- then +- mandir1=/usr/man +- else +- mandir1=$mandir +- fi +- +- if [ -f ${mandir1}/whatis ] ++ if [ -f /var/cache/man/whatis ] + then +- cat ${mandir1}/whatis >> $TMPFILE ++ cat /var/cache/man/whatis >> $TMPFILE + fi +- tr -s '\n' < $TMPFILE | sort -u > ${mandir1}/whatis ++ tr -s '\n' < $TMPFILE | sort -u > /var/cache/man/whatis + +- chmod 644 ${mandir1}/whatis ++ chmod 644 /var/cache/man/whatis + rm $TMPFILE +- fi + done + done + diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-security.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-security.patch new file mode 100644 index 0000000000..85fdf4e5fc --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.6e-security.patch @@ -0,0 +1,58 @@ +diff -Naur man-1.6e.orig/src/makewhatis.sh man-1.6e/src/makewhatis.sh +--- man-1.6e.orig/src/makewhatis.sh 2006-07-19 01:58:08.000000000 -0300 ++++ man-1.6e/src/makewhatis.sh 2007-05-18 10:18:31.000000000 -0300 +@@ -45,7 +45,7 @@ + # and should be first. + # It is a bug to add /var/cache/man to DEFCATPATH. + dm= +-for d in /usr/man /usr/share/man /usr/X11R6/man /usr/local/man ++for d in /usr/share/man /usr/man /usr/X11R6/man /usr/local/man + do + if [ -d $d ]; then + if [ x$dm = x ]; then dm=$d; else dm=$dm:$d; fi +@@ -53,7 +53,7 @@ + done + DEFMANPATH=$dm + dc= +-for d in /usr/man/preformat /usr/man /usr/share/man/preformat /usr/share/man ++for d in /var/cache/man /usr/share/man/preformat /usr/man/preformat /usr/share/man /usr/man + do + if [ -d $d ]; then + if [ x$dc = x ]; then dc=$d; else dc=$dc:$d; fi +@@ -76,12 +76,12 @@ + # We try here to be careful (and avoid preconstructed symlinks) + # in case makewhatis is run as root, by creating a subdirectory of /tmp. + +-TMPFILEDIR=/tmp/whatis.tmp.dir.$$ +-rm -rf $TMPFILEDIR +-if ! mkdir -m 0700 $TMPFILEDIR; then +- echo Could not create $TMPFILEDIR +- exit 1; ++TMPFILEDIR=`mktemp -d /tmp/makewhatisXXXXXX` ++if [ $? -ne 0 ]; then ++ echo "$0: Can't create temp file, exiting..." ++ exit 1 + fi ++chmod 0700 $TMPFILEDIR + TMPFILE=$TMPFILEDIR/w + + # make sure TMPFILEDIR is deleted if program is killed or terminates +diff -Naur man-1.6e.orig/src/man.c man-1.6e/src/man.c +--- man-1.6e.orig/src/man.c 2006-05-01 17:34:22.000000000 -0300 ++++ man-1.6e/src/man.c 2007-05-18 10:11:33.000000000 -0300 +@@ -1234,7 +1234,6 @@ + #endif + + +-#if 0 + { + /* There are no known cases of buffer overflow caused by + excessively long environment variables. In case you find one, +@@ -1257,7 +1256,6 @@ + MAN_ICONV_PATH, MAN_ICONV_OPT, MAN_ICONV_INPUT_CHARSET, + MAN_ICONV_OUTPUT_CHARSET, NLSPATH, PATH */ + } +-#endif + + + #ifndef __FreeBSD__ diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-use_i18n_vars_in_a_std_way.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-use_i18n_vars_in_a_std_way.patch new file mode 100644 index 0000000000..a448da54d7 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.6e-use_i18n_vars_in_a_std_way.patch @@ -0,0 +1,156 @@ +diff -Naur man-1.6e.orig/catopen/catopen.c man-1.6e/catopen/catopen.c +--- man-1.6e.orig/catopen/catopen.c 2005-08-20 20:26:06.000000000 -0300 ++++ man-1.6e/catopen/catopen.c 2007-05-18 11:31:05.000000000 -0300 +@@ -9,22 +9,63 @@ + extern char *index (const char *, int); /* not always in */ + extern char *my_malloc(int); /* in util.c */ + ++/* if the program has sgid/suid privileges then getenv doesn't return ++ * NLSPATH; so we set here a good default value. ++ */ + #ifndef DEFAULT_NLSPATH + # if __GLIBC__ >= 2 +-# define DEFAULT_NLSPATH "/usr/share/locale/%L/%N" ++# define DEFAULT_NLSPATH "/usr/share/locale/%L/%N:/usr/share/locale/%l_%t/%N:/usr/share/locale/%l/%N" + # else + # define DEFAULT_NLSPATH "/usr/lib/locale/%N/%L" + # endif + #endif + +-static nl_catd my_catopenpath(char *name, char *path); ++static nl_catd my_catopenpath(char *name, char *path, char *lang); + + static /* this source included in gripes.c */ + nl_catd + my_catopen(char *name, int oflag) { +- nl_catd fd; ++ nl_catd fd = (nl_catd) -1; ++ ++ /* using first the my_catopenpath, which looks with LANGUAGE ++ * and only if it fails ressort to catopen, it gives better i18n ++ */ ++ { ++ char *nlspath, *lang, *s; + +- fd = catopen(name, oflag); ++ /* ++ * "If NLSPATH does not exist in the environment, or if a ++ * message catalog cannot be opened in any of the paths specified ++ * by NLSPATH, then an implementation defined default path is used" ++ */ ++ nlspath = getenv("NLSPATH"); ++ if (!nlspath) ++ nlspath = DEFAULT_NLSPATH; ++ ++ lang = getenv("LANGUAGE"); ++ if (!lang) ++ lang = getenv("LC_ALL"); ++ if (!lang) ++ lang = getenv("LC_MESSAGES"); ++ if (!lang) ++ lang = getenv("LANG"); ++ if (!lang) ++ lang = ""; ++ ++ while(*lang && (fd == (nl_catd) -1)) { ++ s = index(lang, ':'); ++ if (s) *s = 0; ++ fd = my_catopenpath(name, nlspath, lang); ++ if (s) lang=s+1; ++ else lang = ""; ++ } ++ if (fd == (nl_catd) -1) ++ fd = my_catopenpath(name, nlspath, "en"); ++ } ++ ++ /* still not found, use the system catopen */ ++ if (fd == (nl_catd) -1) ++ fd = catopen(name, oflag); + + if (fd == (nl_catd) -1 && oflag) { + oflag = 0; +@@ -32,8 +73,6 @@ + } + + if (fd == (nl_catd) -1) { +- char *nlspath; +- + /* The libc catopen fails - let us see if we can do better */ + /* The quotes below are from X/Open, XPG 1987, Vol. 3. */ + +@@ -58,17 +97,6 @@ + #endif + } + +- /* +- * "If NLSPATH does not exist in the environment, or if a +- * message catalog cannot be opened in any of the paths specified +- * by NLSPATH, then an implementation defined default path is used" +- */ +- +- nlspath = getenv("NLSPATH"); +- if (nlspath) +- fd = my_catopenpath(name, nlspath); +- if (fd == (nl_catd) -1) +- fd = my_catopenpath(name, DEFAULT_NLSPATH); + } + return fd; + } +@@ -90,15 +118,13 @@ + * + */ + static nl_catd +-my_catopenpath(char *name, char *nlspath) { +- int fd; ++my_catopenpath(char *name, char *nlspath, char *lang) { + nl_catd cfd = (nl_catd) -1; +- char *path0, *path, *s, *file, *lang, *lang_l, *lang_t, *lang_c; ++ char *path0, *path, *s, *file, *lang_l, *lang_t, *lang_c; + int langsz, namesz, sz, lang_l_sz, lang_t_sz, lang_c_sz; + + namesz = strlen(name); + +- lang = getenv("LANG"); + if (!lang) + lang = ""; + langsz = strlen(lang); +@@ -194,14 +220,9 @@ + path = s+1; + } else + path = 0; +- fd = open(file, O_RDONLY); +- if (fd != -1) { +- /* we found the right catalog - but we don't know the +- type of nl_catd, so close it again and ask libc */ +- close(fd); +- cfd = catopen(file, 0); +- break; +- } ++ cfd = catopen(file, 0); ++ if (cfd != (nl_catd) -1) ++ break; + } + + free(path0); +diff -Naur man-1.6e.orig/src/manpath.c man-1.6e/src/manpath.c +--- man-1.6e.orig/src/manpath.c 2006-08-03 18:18:33.000000000 -0300 ++++ man-1.6e/src/manpath.c 2007-05-18 11:02:48.000000000 -0300 +@@ -282,13 +282,14 @@ + /* We cannot use "lang = setlocale(LC_MESSAGES, NULL)" or so: + the return value of setlocale is an opaque string. */ + /* POSIX prescribes the order: LC_ALL, LC_MESSAGES, LANG */ +- if((lang = getenv("LC_ALL")) != NULL) ++ /* LANGUAGE is GNU/Linux and overrules all */ ++ if((lang = getenv("LANGUAGE")) != NULL) + split2(dir, lang, add_to_mandirlist_x, perrs); +- if((lang = getenv("LC_MESSAGES")) != NULL) ++ else if((lang = getenv("LC_ALL")) != NULL) + split2(dir, lang, add_to_mandirlist_x, perrs); +- if((lang = getenv("LANG")) != NULL) ++ else if((lang = getenv("LC_MESSAGES")) != NULL) + split2(dir, lang, add_to_mandirlist_x, perrs); +- if((lang = getenv("LANGUAGE")) != NULL) ++ else if((lang = getenv("LANG")) != NULL) + split2(dir, lang, add_to_mandirlist_x, perrs); + add_to_mandirlist_x(dir, 0, perrs); + } diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-whatis2.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-whatis2.patch new file mode 100644 index 0000000000..180d4a3178 --- /dev/null +++ b/meta/recipes-extended/man/man-1.6e/man-1.6e-whatis2.patch @@ -0,0 +1,37 @@ +--- man-1.6e-ro_usr/src/makewhatis.sh 2007-05-18 11:41:50.000000000 -0300 ++++ man-1.6e/src/makewhatis.sh 2007-05-18 13:27:16.000000000 -0300 +@@ -162,10 +162,15 @@ + fi + catpath=`echo ${catpath} | tr : ' '` + ++#WHATIS_DIR=$DESTDIR/var/cache/man/`echo $here|sed -e 's!.*/man/!!g'` ++WHATIS_DIR=$DESTDIR/var/cache/man/$LANG ++[[ -d $WHATIS_DIR ]] || mkdir -p $WHATIS_DIR/ ++ + # first truncate all the whatis files that will be created new, + # then only update - we might visit the same directory twice + if [ x$update = x ]; then +- cp /dev/null /var/cache/man/whatis ++ mkdir -p $WHATIS_DIR/ ++ /bin/echo -n > $WHATIS_DIR/whatis + fi + + for pages in man cat +@@ -395,13 +400,13 @@ + + cd $here + +- if [ -f /var/cache/man/whatis ] ++ if [ -f $WHATIS_DIR/whatis ] + then +- cat /var/cache/man/whatis >> $TMPFILE ++ cat $WHATIS_DIR/whatis >> $TMPFILE + fi +- tr -s '\n' < $TMPFILE | sort -u > /var/cache/man/whatis ++ tr -s '\n' < $TMPFILE | sort -u > $WHATIS_DIR/whatis + +- chmod 644 /var/cache/man/whatis ++ chmod 644 $WHATIS_DIR/whatis + rm $TMPFILE + done + done diff --git a/meta/recipes-extended/man/man-1.6e/man.1.gz b/meta/recipes-extended/man/man-1.6e/man.1.gz new file mode 100644 index 0000000000..c368045153 Binary files /dev/null and b/meta/recipes-extended/man/man-1.6e/man.1.gz differ diff --git a/meta/recipes-extended/man/man-1.6e/man.7.gz b/meta/recipes-extended/man/man-1.6e/man.7.gz new file mode 100644 index 0000000000..e85af82426 Binary files /dev/null and b/meta/recipes-extended/man/man-1.6e/man.7.gz differ diff --git a/meta/recipes-extended/man/man-1.6e/manpath.5.gz b/meta/recipes-extended/man/man-1.6e/manpath.5.gz new file mode 100644 index 0000000000..c012ff8976 Binary files /dev/null and b/meta/recipes-extended/man/man-1.6e/manpath.5.gz differ diff --git a/meta/recipes-extended/man/man_1.6e.bb b/meta/recipes-extended/man/man_1.6e.bb new file mode 100644 index 0000000000..1ac10979d9 --- /dev/null +++ b/meta/recipes-extended/man/man_1.6e.bb @@ -0,0 +1,61 @@ +DESCRIPTION = "A set of documentation tools: man, apropos and whatis" +SECTION = "console/utils" +HOMEPAGE = "http://primates.ximian.com/~flucifredi/man" +PRIORITY = "required" +LICENSE = "GPLv2" +PR = "r0" + +DEPENDS = "groff less" + +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +SRC_URI = "http://primates.ximian.com/~flucifredi/man/man-1.6e.tar.gz \ + file://man-1.5k-confpath.patch;striplevel=0 \ + file://man-1.5h1-make.patch;striplevel=1 \ + file://man-1.5k-nonascii.patch;striplevel=1 \ + file://man-1.6e-security.patch;striplevel=1 \ + file://man-1.6e-mandirs.patch;striplevel=1 \ + file://man-1.5m2-bug11621.patch;striplevel=1 \ + file://man-1.5k-sofix.patch;striplevel=1 \ + file://man-1.5m2-buildroot.patch;striplevel=1 \ + file://man-1.6e-ro_usr.patch;striplevel=1 \ + file://man-1.5i2-newline.patch;striplevel=0 \ + file://man-1.5j-utf8.patch;striplevel=1 \ + file://man-1.5i2-overflow.patch;striplevel=1 \ + file://man-1.5j-nocache.patch;striplevel=1 \ + file://man-1.5i2-initial.patch;striplevel=1 \ + file://man-1.5h1-gencat.patch;striplevel=0 \ + file://man-1.5g-nonrootbuild.patch;striplevel=1 \ + file://man-1.5m2-tv_fhs.patch;striplevel=0 \ + file://man-1.5j-i18n.patch;striplevel=1 \ + file://man-1.6e-whatis2.patch;striplevel=1 \ + file://man-1.6e-use_i18n_vars_in_a_std_way.patch;striplevel=1 \ + file://man-1.5m2-no-color-for-printing.patch;striplevel=1 \ + file://man-1.5m2-sigpipe.patch;striplevel=1 \ + file://man-1.6e-i18n_whatis.patch;striplevel=1 \ + file://man-1.6e-new_sections.patch;striplevel=1 \ + file://man-1.6e-lzma+xz-support.patch;striplevel=1 \ + file://man*" + + +do_configure () { + ${S}/configure -default -confdir ${D}/etc +sgid +fhs +lang all +} + + +fakeroot do_install() { + oe_runmake install DESTDIR=${D} +} + +do_install_append(){ + mkdir -p ${D}/etc/ + mkdir -p ${D}${datadir}/man/man5 + mkdir -p ${D}${datadir}/man/man7 + cp ${S}/src/man.conf ${D}/etc/ + cp ${WORKDIR}/man.1.gz ${D}${datadir}/man/man1/ + cp ${WORKDIR}/man.7.gz ${D}${datadir}/man/man7/ + cp ${WORKDIR}/manpath.5.gz ${D}${datadir}/man/man5/ +} + + +FILES_${PN} += "${datadir}/locale" -- cgit 1.2.3-korg