Index: patches/man-1.6g-i18n-1.patch
===================================================================
--- patches/man-1.6g-i18n-1.patch	(revision bc61a24b8b9e66caaa76f9bf2ca01e8a5ddd5c57)
+++ 	(revision )
@@ -1,334 +1,0 @@
-Submitted By: Joe Ciccone <jciccone@gmail.com>
-Date: 2011-01-08
-Initial Package Version: 1.6f
-Upstream Status: Unkown
-Origin: Mandriva
-Description: i18n Updates
-
-diff -Naur man-1.6g.orig/catopen/catopen.c man-1.6g/catopen/catopen.c
---- man-1.6g.orig/catopen/catopen.c	2005-08-20 19:26:06.000000000 -0400
-+++ man-1.6g/catopen/catopen.c	2011-01-08 20:29:31.874658039 -0500
-@@ -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.6g.orig/configure man-1.6g/configure
---- man-1.6g.orig/configure	2010-12-31 15:28:46.000000000 -0500
-+++ man-1.6g/configure	2011-01-08 20:29:31.874658039 -0500
-@@ -416,9 +416,9 @@
-       fi
-     done
-   done
--  troff=""
--  nroff=""
--  jnroff=""
-+  troff=/usr/bin/troff
-+  nroff=/usr/bin/nroff
-+  jnroff=/usr/bin/nroff
-   eqn=""
-   neqn=""
-   jneqn=""
-@@ -476,29 +476,32 @@
-   done
- # -Tlatin1 is bad when utf8 is used, but needed for groff, not for nroff
- # Hmm - also needed for nroff, to prevent double conversion on uxterm
-+  Fgroff=/usr/bin/groff
-+  Fnroff=/usr/bin/nroff
-+  Fjnroff=/usr/bin/nroff
-   if test $Fgroff = "missing"
-   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"
-@@ -964,7 +967,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 -Naur man-1.6g.orig/msgs/inst.sh man-1.6g/msgs/inst.sh
---- man-1.6g.orig/msgs/inst.sh	2005-08-20 19:26:06.000000000 -0400
-+++ man-1.6g/msgs/inst.sh	2011-01-08 20:29:31.874658039 -0500
-@@ -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 -Naur man-1.6g.orig/src/apropos.sh man-1.6g/src/apropos.sh
---- man-1.6g.orig/src/apropos.sh	2005-08-20 19:26:06.000000000 -0400
-+++ man-1.6g/src/apropos.sh	2011-01-08 20:29:31.874658039 -0500
-@@ -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.6g.orig/src/makewhatis.sh man-1.6g/src/makewhatis.sh
---- man-1.6g.orig/src/makewhatis.sh	2007-09-17 14:35:14.000000000 -0400
-+++ man-1.6g/src/makewhatis.sh	2011-01-08 20:29:31.878656601 -0500
-@@ -55,6 +55,9 @@
- dc=
- for d in /usr/man/preformat /usr/man /usr/share/man/preformat /usr/share/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
-@@ -227,7 +230,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 || use_lzcat) {
-@@ -315,6 +318,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 -Naur man-1.6g.orig/src/manpath.c man-1.6g/src/manpath.c
---- man-1.6g.orig/src/manpath.c	2006-08-03 17:18:33.000000000 -0400
-+++ man-1.6g/src/manpath.c	2011-01-08 20:29:31.878656601 -0500
-@@ -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);
- 	}
