]> code.ossystems Code Review - openembedded-core.git/commitdiff
man: Add new man package
authorXiaofeng Yan <xiaofeng.yan@windriver.com>
Thu, 2 Sep 2010 08:39:48 +0000 (16:39 +0800)
committerSaul Wold <Saul.Wold@intel.com>
Wed, 8 Sep 2010 23:36:53 +0000 (16:36 -0700)
A set of documentation tools: man, apropos and whatis

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
30 files changed:
meta/recipes-extended/man/man-1.6e/man-1.5g-nonrootbuild.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5h1-gencat.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5h1-make.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5i2-initial.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5i2-newline.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5i2-overflow.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5j-i18n.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5j-nocache.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5j-utf8.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5k-confpath.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5k-nonascii.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5k-sofix.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5m2-bug11621.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5m2-buildroot.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5m2-multiple.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5m2-no-color-for-printing.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5m2-sigpipe.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.5m2-tv_fhs.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.6e-i18n_whatis.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.6e-lzma+xz-support.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.6e-mandirs.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.6e-new_sections.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.6e-ro_usr.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.6e-security.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.6e-use_i18n_vars_in_a_std_way.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man-1.6e-whatis2.patch [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man.1.gz [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/man.7.gz [new file with mode: 0644]
meta/recipes-extended/man/man-1.6e/manpath.5.gz [new file with mode: 0644]
meta/recipes-extended/man/man_1.6e.bb [new file with mode: 0644]

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 (file)
index 0000000..ae2bc4d
--- /dev/null
@@ -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 (file)
index 0000000..6409dfc
--- /dev/null
@@ -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 <stdio.h>
+ #include <stdlib.h>
+ #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 (file)
index 0000000..f9f91e4
--- /dev/null
@@ -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 (file)
index 0000000..1b14423
--- /dev/null
@@ -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 (file)
index 0000000..da95d5a
--- /dev/null
@@ -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)<BUFSIZE)
+         end++;                /* note that buf is NUL-terminated */
+      *end = '\0';
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5i2-overflow.patch b/meta/recipes-extended/man/man-1.6e/man-1.5i2-overflow.patch
new file mode 100644 (file)
index 0000000..f1ef06b
--- /dev/null
@@ -0,0 +1,12 @@
+--- man-1.5i2/src/man.c.overflow       Mon Jun 25 00:01:45 2001
++++ man-1.5i2/src/man.c        Mon Jun 25 00:01:45 2001
+@@ -381,6 +381,9 @@
+         strcat(name, "/");
+         strcat(name, beg);
+      }
++     /* If this is too long, bad things have already happened. *
++      * we should quit IMMEDIATELY.                            */
++     if(strlen(name)>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 (file)
index 0000000..7645542
--- /dev/null
@@ -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 (file)
index 0000000..267b34b
--- /dev/null
@@ -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 (file)
index 0000000..c817763
--- /dev/null
@@ -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 (file)
index 0000000..71ac9fc
--- /dev/null
@@ -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 (file)
index 0000000..465d839
--- /dev/null
@@ -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 (file)
index 0000000..d4522ea
--- /dev/null
@@ -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 (file)
index 0000000..9c06c4c
--- /dev/null
@@ -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 (file)
index 0000000..d842083
--- /dev/null
@@ -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 (file)
index 0000000..cc5bffd
--- /dev/null
@@ -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 (file)
index 0000000..d1f810a
--- /dev/null
@@ -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 (file)
index 0000000..81fb2d7
--- /dev/null
@@ -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 (file)
index 0000000..20389d9
--- /dev/null
@@ -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 (file)
index 0000000..ad62a60
--- /dev/null
@@ -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 ~ /^JMÉNO/ || $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 (file)
index 0000000..9aa5260
--- /dev/null
@@ -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 (file)
index 0000000..06e9869
--- /dev/null
@@ -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 (file)
index 0000000..5172758
--- /dev/null
@@ -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 (file)
index 0000000..054054b
--- /dev/null
@@ -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 (file)
index 0000000..85fdf4e
--- /dev/null
@@ -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 (file)
index 0000000..a448da5
--- /dev/null
@@ -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 <string.h> */
+ 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 (file)
index 0000000..180d4a3
--- /dev/null
@@ -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 (file)
index 0000000..c368045
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 (file)
index 0000000..e85af82
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 (file)
index 0000000..c012ff8
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 (file)
index 0000000..1ac1097
--- /dev/null
@@ -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"