Hello community, here is the log from the commit of package man checked in at Sat Aug 16 01:03:10 CEST 2008. -------- --- man/man.changes 2008-06-05 17:10:15.000000000 +0200 +++ man/man.changes 2008-08-12 17:44:02.809321000 +0200 @@ -1,0 +2,24 @@ +Tue Aug 12 17:41:26 CEST 2008 - werner@suse.de + +- Update to version 2.5.2 + * `man -H' (without a browser argument) was completely broken in + 2.5.1 and is now fixed. + * man no longer breaks in Japanese locales when using less. + * The --encoding option to man can now take a true character + encoding rather than a *roff device; the latter was an + unreliable, inflexible, and awkward way to select an output + encoding. The old semantics are still supported for backward + compatibility. + * Whatis parsing stops at .ie or .if conditionals. + * CJK locale specifications where the codeset component is + equivalent to but not stringwise-identical to UTF-8 (e.g. + zh_CN.utf8) are handled better. + * man(1)'s OPTIONS section is ordered more comprehensibly. + * apropos, lexgrog, man, mandb, and whatis ignore encoding + conversion errors for the last possible encoding of the source + page. This helps, for example, with pages including misencoded + non-ASCII names of authors; it usually seems better to allow + these pages to pass with small errors than to break them + entirely. + +------------------------------------------------------------------- Old: ---- man-db_2.5.1-3.diff.bz2 man-db-2.5.1-chinese.dif man-db-2.5.1.dif man-db-2.5.1.tar.bz2 New: ---- man-db_2.5.2-2.diff.bz2 man-db-2.5.2-catp.dif man-db-2.5.2-chinese.dif man-db-2.5.2.dif man-db-2.5.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ man.spec ++++++ --- /var/tmp/diff_new_pack.h10768/_old 2008-08-16 01:01:48.000000000 +0200 +++ /var/tmp/diff_new_pack.h10768/_new 2008-08-16 01:01:48.000000000 +0200 @@ -1,10 +1,17 @@ # -# spec file for package man (Version 2.5.1) +# spec file for package man (Version 2.5.2) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. -# This file and all modifications and additions to the pristine -# package are under the same license as the package itself. # +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + # Please submit bugfixes or comments via http://bugs.opensuse.org/ # @@ -23,8 +30,8 @@ %else BuildRequires: gettext gettext-devel %endif -Version: 2.5.1 -Release: 14 +Version: 2.5.2 +Release: 1 Summary: A Program for Displaying man Pages License: GPL v2 or later Url: https://savannah.nongnu.org/projects/man-db @@ -39,15 +46,16 @@ Source3: cron.daily.clean_catman Source4: mancoding Patch0: man-db-%{version}.dif -Patch1: man-db_%{version}-3.diff.bz2 +Patch1: man-db_%{version}-2.diff.bz2 Patch2: man-db-2.3.19deb4.0-groff.dif Patch4: man-db-2.4.3-section.dif -Patch5: man-db-%{version}-security4.dif +Patch5: man-db-2.5.1-security4.dif Patch6: man-db-2.4.3-firefox.dif Patch7: man-db-%{version}-chinese.dif -Patch8: man-db-%{version}-globbing.dif -Patch9: man-db-%{version}-zio.dif -Patch10: man-db-%{version}-listall.dif +Patch8: man-db-2.5.1-globbing.dif +Patch9: man-db-2.5.1-zio.dif +Patch10: man-db-2.5.1-listall.dif +Patch11: man-db-%{version}-catp.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc @@ -74,6 +82,7 @@ %patch8 -p0 -b .globbing %patch9 -p0 -b .zio %patch10 -p0 -b .listall +%patch11 -p0 -b .catp %patch -p0 %build @@ -274,6 +283,27 @@ %{_localstatedir}/adm/fillup-templates/sysconfig.cron-man %changelog +* Tue Aug 12 2008 werner@suse.de +- Update to version 2.5.2 + * `man -H' (without a browser argument) was completely broken in + 2.5.1 and is now fixed. + * man no longer breaks in Japanese locales when using less. + * The --encoding option to man can now take a true character + encoding rather than a *roff device; the latter was an + unreliable, inflexible, and awkward way to select an output + encoding. The old semantics are still supported for backward + compatibility. + * Whatis parsing stops at .ie or .if conditionals. + * CJK locale specifications where the codeset component is + equivalent to but not stringwise-identical to UTF-8 (e.g. + zh_CN.utf8) are handled better. + * man(1)'s OPTIONS section is ordered more comprehensibly. + * apropos, lexgrog, man, mandb, and whatis ignore encoding + conversion errors for the last possible encoding of the source + page. This helps, for example, with pages including misencoded + non-ASCII names of authors; it usually seems better to allow + these pages to pass with small errors than to break them + entirely. * Thu Jun 05 2008 werner@suse.de - Show the user if there are more than one manual page found for the stated item (fate#303433) ++++++ man-db_2.5.1-3.diff.bz2 -> man-db_2.5.2-2.diff.bz2 ++++++ Files man/man-db_2.5.1-3.diff.bz2 and man/man-db_2.5.2-2.diff.bz2 differ ++++++ man-db-2.5.2-catp.dif ++++++ --- include/manconfig.h.in +++ include/manconfig.h.in 2008-04-21 13:32:56.000000000 +0200 @@ -375,8 +375,10 @@ extern char *program_name; /* the basena #define NOT_FOUND 16 /* No action was taken */ /* System or user catpaths? Allow bitwise disjunctions of these. */ -#define SYSTEM_CAT 1 -#define USER_CAT 2 +#define SYSTEM_CATP 1 +#define USER_CATP 2 +#define FILE_CATP 4 +#define WHATIS_CATP 8 /* string macros */ #define STREQ(a,b) (strcmp(a,b) == 0) --- src/catman.c +++ src/catman.c 2008-01-30 12:02:21.000000000 +0100 @@ -450,7 +450,7 @@ int main (int argc, char *argv[]) char *catpath; size_t len; - catpath = get_catpath (*mp, SYSTEM_CAT | USER_CAT); + catpath = get_catpath (*mp, SYSTEM_CATP|USER_CATP); if (catpath) { if (is_directory (catpath) != 1) { --- src/man.c +++ src/man.c 2008-04-21 17:53:02.000000000 +0200 @@ -1249,8 +1304,7 @@ static pipeline *make_roff_command (cons #ifdef ALT_EXT_FORMAT /* Check both external formatter locations */ if (dir && !recode) { - char *catpath = get_catpath - (dir, global_manpath ? SYSTEM_CAT : USER_CAT); + char *catpath = get_catpath (dir, global_manpath ? SYSTEM_CATP : USER_CATP); /* If we have an alternate catpath */ if (catpath) { @@ -2366,8 +2450,7 @@ static char *find_cat_file (const char * */ if (!STREQ (man_file, original)) { global_manpath = is_global_mandir (man_file); - cat_path = get_catpath - (man_file, global_manpath ? SYSTEM_CAT : USER_CAT); + cat_path = get_catpath (man_file, (global_manpath ? SYSTEM_CATP : USER_CATP)|FILE_CATP); if (cat_path) { cat_file = convert_name (cat_path, 0); @@ -2394,8 +2477,7 @@ static char *find_cat_file (const char * } global_manpath = is_global_mandir (original); - cat_path = get_catpath - (original, global_manpath ? SYSTEM_CAT : USER_CAT); + cat_path = get_catpath (original, (global_manpath ? SYSTEM_CATP : USER_CATP)|FILE_CATP); if (cat_path) { cat_file = convert_name (cat_path, 0); @@ -2884,9 +2966,7 @@ static int display_database (struct cand if (access (file, R_OK) != 0) { char *catpath; - catpath = get_catpath (candp->path, - global_manpath ? SYSTEM_CAT - : USER_CAT); + catpath = get_catpath (candp->path, global_manpath ? SYSTEM_CATP : USER_CATP); if (catpath && strcmp (catpath, candp->path) != 0) { file = make_filename (catpath, name, @@ -3001,7 +3081,7 @@ static int try_db (const char *manpath, /* find out where our db for this manpath should be */ - catpath = get_catpath (manpath, global_manpath ? SYSTEM_CAT : USER_CAT); + catpath = get_catpath (manpath, (global_manpath ? SYSTEM_CATP : USER_CATP)|FILE_CATP); if (catpath) { database = mkdbname (catpath); free (catpath); --- src/mandb.c +++ src/mandb.c 2008-01-30 12:01:40.000000000 +0100 @@ -484,10 +486,13 @@ static short process_manpath (const char short amount = 0; if (global_manpath) { /* system db */ - catpath = get_catpath (manpath, SYSTEM_CAT); - assert (catpath); + catpath = get_catpath (manpath, SYSTEM_CATP); + if (!catpath) { + error (0, 0, _("warning: no system cat path for man path %s"), manpath); + return amount; + } } else { /* user db */ - catpath = get_catpath (manpath, USER_CAT); + catpath = get_catpath (manpath, USER_CATP); if (!catpath) catpath = xstrdup (manpath); } --- src/manp.c +++ src/manp.c 2008-01-30 12:01:03.000000000 +0100 @@ -1134,8 +1145,8 @@ char *get_catpath (const char *name, int struct list *list; for (list = namestore; list; list = list->next) - if (((cattype & SYSTEM_CAT) && list->flag == MANDB_MAP) || - ((cattype & USER_CAT) && list->flag == MANDB_MAP_USER)) { + if (((cattype & SYSTEM_CATP) && list->flag == MANDB_MAP) || + ((cattype & USER_CATP) && list->flag == MANDB_MAP_USER)) { size_t manlen = strlen (list->key); if (STRNEQ (name, list->key, manlen)) { const char *suffix = name + manlen; @@ -1143,16 +1154,30 @@ char *get_catpath (const char *name, int if (*suffix == '/') { ++suffix; - catpath = appendstr (catpath, "/", - NULL); + catpath = appendstr (catpath, "/", NULL); } if (STRNEQ (suffix, "man", 3)) { suffix += 3; - catpath = appendstr (catpath, "cat", - NULL); + catpath = appendstr (catpath, "cat", NULL); } catpath = appendstr (catpath, suffix, NULL); - return catpath; + if (cattype & FILE_CATP) + return catpath; + if (is_directory (catpath) == 1) + return catpath; + if ((cattype & WHATIS_CATP) == 0) { + const char locale_delims[] = "_@,."; + const char *delim; + for (delim = locale_delims; *delim != '\0'; ++delim) { + char * tmp = strrchr (catpath, *delim); + if (!tmp) + continue; + *tmp = '\0'; + if (is_directory (catpath) == 1) + return catpath; + } + } + free (catpath); } } --- src/whatis.c +++ src/whatis.c 2008-04-21 13:21:57.000000000 +0200 @@ -651,7 +651,7 @@ static int search (char *page) debug ("lower(%s) = \"%s\"\n", page, lowpage); for (mp = manpathlist; *mp; mp++) { - catpath = get_catpath (*mp, SYSTEM_CAT | USER_CAT); + catpath = get_catpath (*mp, SYSTEM_CATP|USER_CATP|WHATIS_CATP); if (catpath) { database = mkdbname (catpath); --- src/straycats.c +++ src/straycats.c 2008-04-21 15:47:04.000000000 +0200 @@ -338,7 +343,7 @@ int straycats (const char *manpath) return 0; } - catpath = get_catpath (manpath, SYSTEM_CAT | USER_CAT); + catpath = get_catpath (manpath, SYSTEM_CATP|USER_CATP); /* look in the usual catpath location */ mandir = xstrdup (manpath); ++++++ man-db-2.5.1-chinese.dif -> man-db-2.5.2-chinese.dif ++++++ --- man/man-db-2.5.1-chinese.dif 2008-04-21 13:09:56.000000000 +0200 +++ man/man-db-2.5.2-chinese.dif 2008-08-12 15:27:09.792168000 +0200 @@ -1,5 +1,5 @@ --- src/encodings.c -+++ src/encodings.c 2008-04-21 13:09:34.436233193 +0200 ++++ src/encodings.c 2008-08-12 15:26:22.959763175 +0200 @@ -106,6 +106,11 @@ static struct directory_entry directory_ { "cs", "ISO-8859-2", "ISO-8859-2" }, /* Czech */ { "hr", "ISO-8859-2", "ISO-8859-2" }, /* Croatian */ @@ -12,23 +12,23 @@ { "ja", "EUC-JP", "EUC-JP" }, /* Japanese */ { "ko", "EUC-KR", "EUC-KR" }, /* Korean */ { "pl", "ISO-8859-2", "ISO-8859-2" }, /* Polish */ -@@ -205,6 +210,7 @@ static struct charset_entry charset_tabl - { "BIG5HKSCS", "nippon" }, +@@ -208,6 +213,7 @@ static struct charset_entry charset_tabl { "EUC-CN", "nippon" }, { "EUC-JP", "nippon" }, + { "EUC-TW", "nippon" }, + { "GB18030", "nippon" }, { "GBK", "nippon" }, #endif /* MULTIBYTE_GROFF */ -@@ -263,6 +269,7 @@ static struct less_charset_entry less_ch - { "UTF-8", "utf-8" }, +@@ -281,6 +287,7 @@ static struct less_charset_entry less_ch + { "UTF-8", "utf-8", NULL }, #ifdef MULTIBYTE_GROFF -+ { "GB18030", "zh" }, - { "EUC-JP", "ja" }, - { "KOI8-R", "koi8-r" }, ++ { "GB18030", "zh", NULL }, + { "EUC-JP", "iso8859", "japanese-ujis" }, + { "KOI8-R", "koi8-r", NULL }, #endif /* MULTIBYTE_GROFF */ -@@ -387,6 +394,13 @@ char *get_page_encoding (const char *lan +@@ -405,6 +412,13 @@ char *get_page_encoding (const char *lan * roff encoding = UTF-8 * output encoding = UTF-8 * EUC-JP -> iconv -> UTF-8 -> groff -Tutf8 -> UTF-8 @@ -42,21 +42,21 @@ */ const char *get_source_encoding (const char *lang) { -@@ -527,7 +541,7 @@ static int compatible_encodings (const c +@@ -545,7 +559,7 @@ static int compatible_encodings (const c */ if ((STREQ (input, "BIG5") || STREQ (input, "BIG5HKSCS") || STREQ (input, "EUC-JP") || - STREQ (input, "EUC-CN") || STREQ (input, "GBK") || -+ STREQ (input, "EUC-CN") || STREQ (input, "GB18030") || STREQ (input, "GBK") - STREQ (input, "EUC-KR")) && ++ STREQ (input, "EUC-CN") || STREQ (input, "GB18030") || STREQ (input, "GBK") || + STREQ (input, "EUC-KR") || + STREQ (input, "EUC-TW")) && STREQ (output, "UTF-8")) - return 1; -@@ -606,7 +620,7 @@ const char *get_roff_encoding (const cha - STREQ (ctype, "zh_HK.UTF-8") || - STREQ (ctype, "zh_SG.UTF-8") || - STREQ (ctype, "zh_TW.UTF-8")) +@@ -639,7 +653,7 @@ const char *get_roff_encoding (const cha + STRNEQ (ctype, "zh_HK", 5) || + STRNEQ (ctype, "zh_SG", 5) || + STRNEQ (ctype, "zh_TW", 5)) - roff_encoding = "UTF-8"; -+ roff_encoding = source_encoding; /* "UTF-8"; */ ++ roff_encoding = source_encoding; /* "UTF-8"; */ } #endif /* MULTIBYTE_GROFF */ ++++++ man-db-2.5.1-chinese.dif -> man-db-2.5.2.dif ++++++ ++++ 1795 lines (skipped) ++++ between man/man-db-2.5.1-chinese.dif ++++ and man/man-db-2.5.2.dif ++++++ man-db-2.5.1.tar.bz2 -> man-db-2.5.2.tar.bz2 ++++++ ++++ 48922 lines of diff (skipped) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de