summaryrefslogtreecommitdiff
path: root/meta/recipes-extended/man
diff options
context:
space:
mode:
authorXiaofeng Yan <xiaofeng.yan@windriver.com>2010-09-02 16:39:48 +0800
committerSaul Wold <Saul.Wold@intel.com>2010-09-08 16:36:53 -0700
commit3f71edc3ef4672ea2bbe3d2f604ada121b3870ab (patch)
treeee8ed865b71f8c85b87e3ef7aa404b25cfcb6aef /meta/recipes-extended/man
parente3f492603ef0bfef8e993157e9d9cb661ac9851a (diff)
downloadopenembedded-core-3f71edc3ef4672ea2bbe3d2f604ada121b3870ab.tar.gz
openembedded-core-3f71edc3ef4672ea2bbe3d2f604ada121b3870ab.tar.bz2
openembedded-core-3f71edc3ef4672ea2bbe3d2f604ada121b3870ab.zip
man: Add new man package
A set of documentation tools: man, apropos and whatis Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Diffstat (limited to 'meta/recipes-extended/man')
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5g-nonrootbuild.patch12
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5h1-gencat.patch10
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5h1-make.patch13
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5i2-initial.patch15
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5i2-newline.patch11
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5i2-overflow.patch12
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5j-i18n.patch12
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5j-nocache.patch12
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5j-utf8.patch57
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5k-confpath.patch11
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5k-nonascii.patch14
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5k-sofix.patch20
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5m2-bug11621.patch11
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5m2-buildroot.patch48
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5m2-multiple.patch18
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5m2-no-color-for-printing.patch11
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5m2-sigpipe.patch26
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.5m2-tv_fhs.patch27
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-i18n_whatis.patch141
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-lzma+xz-support.patch142
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-mandirs.patch27
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-new_sections.patch11
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-ro_usr.patch67
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-security.patch58
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-use_i18n_vars_in_a_std_way.patch156
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-whatis2.patch37
-rw-r--r--meta/recipes-extended/man/man-1.6e/man.1.gzbin0 -> 12323 bytes
-rw-r--r--meta/recipes-extended/man/man-1.6e/man.7.gzbin0 -> 6192 bytes
-rw-r--r--meta/recipes-extended/man/man-1.6e/manpath.5.gzbin0 -> 2133 bytes
-rw-r--r--meta/recipes-extended/man/man_1.6e.bb61
30 files changed, 1040 insertions, 0 deletions
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 <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
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)<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
index 0000000000..f1ef06bab0
--- /dev/null
+++ b/meta/recipes-extended/man/man-1.6e/man-1.5i2-overflow.patch
@@ -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
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 <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
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
--- /dev/null
+++ b/meta/recipes-extended/man/man-1.6e/man.1.gz
Binary files 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
--- /dev/null
+++ b/meta/recipes-extended/man/man-1.6e/man.7.gz
Binary files 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
--- /dev/null
+++ b/meta/recipes-extended/man/man-1.6e/manpath.5.gz
Binary files 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"