From dd053d76527aad0d0d4476e61f77d77e0636d837494a690f47b22f6fd2e1651b Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 15 Aug 2008 23:03:11 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/man?expand=0&rev=23 --- man-db-2.5.1.tar.bz2 | 3 - man-db-2.5.2-catp.dif | 168 ++++++++++ ....1-chinese.dif => man-db-2.5.2-chinese.dif | 36 +-- man-db-2.5.1.dif => man-db-2.5.2.dif | 301 ++++-------------- man-db-2.5.2.tar.bz2 | 3 + man-db_2.5.1-3.diff.bz2 | 3 - man-db_2.5.2-2.diff.bz2 | 3 + man.changes | 24 ++ man.spec | 50 ++- 9 files changed, 315 insertions(+), 276 deletions(-) delete mode 100644 man-db-2.5.1.tar.bz2 create mode 100644 man-db-2.5.2-catp.dif rename man-db-2.5.1-chinese.dif => man-db-2.5.2-chinese.dif (67%) rename man-db-2.5.1.dif => man-db-2.5.2.dif (84%) create mode 100644 man-db-2.5.2.tar.bz2 delete mode 100644 man-db_2.5.1-3.diff.bz2 create mode 100644 man-db_2.5.2-2.diff.bz2 diff --git a/man-db-2.5.1.tar.bz2 b/man-db-2.5.1.tar.bz2 deleted file mode 100644 index fada10d..0000000 --- a/man-db-2.5.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60794461043462dc1d56fe3e2b1918d837cdc348f7242594df953e3589f994ec -size 1234479 diff --git a/man-db-2.5.2-catp.dif b/man-db-2.5.2-catp.dif new file mode 100644 index 0000000..b3e07e6 --- /dev/null +++ b/man-db-2.5.2-catp.dif @@ -0,0 +1,168 @@ +--- 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); diff --git a/man-db-2.5.1-chinese.dif b/man-db-2.5.2-chinese.dif similarity index 67% rename from man-db-2.5.1-chinese.dif rename to man-db-2.5.2-chinese.dif index 5be6e00..364f7ea 100644 --- a/man-db-2.5.1-chinese.dif +++ b/man-db-2.5.2-chinese.dif @@ -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 */ diff --git a/man-db-2.5.1.dif b/man-db-2.5.2.dif similarity index 84% rename from man-db-2.5.1.dif rename to man-db-2.5.2.dif index 3947a6e..8e0b817 100644 --- a/man-db-2.5.1.dif +++ b/man-db-2.5.2.dif @@ -1,16 +1,18 @@ --- .pkgextract -+++ .pkgextract 2008-04-21 13:24:22.498193000 +0200 -@@ -0,0 +1,8 @@ -+bzcat ../man-db_2.5.1-3.diff.bz2 | patch -p1 -s --suffix=.debian ++++ .pkgextract 2008-04-21 13:24:22.000000000 +0200 +@@ -0,0 +1,10 @@ ++bzcat ../man-db_2.5.2-2.diff.bz2 | patch -p1 -s --suffix=.debian +patch -p0 -s --suffix=.groff < ../man-db-2.3.19deb4.0-groff.dif +patch -p0 -s --suffix=.sect < ../man-db-2.4.3-section.dif +patch -p0 -s --suffix=.secu4 < ../man-db-2.5.1-security4.dif +patch -p0 -s --suffix=.firefox< ../man-db-2.4.3-firefox.dif -+patch -p0 -s --suffix=.chinese< ../man-db-2.5.1-chinese.dif ++patch -p0 -s --suffix=.chinese< ../man-db-2.5.2-chinese.dif +patch -p0 -s --suffix=.glob < ../man-db-2.5.1-globbing.dif +patch -p0 -s --suffix=.zio < ../man-db-2.5.1-zio.dif ++patch -p0 -s --suffix=.listall< ../man-db-2.5.1-listall.dif ++patch -p0 -s --suffix=.catp < ../man-db-2.5.2-catp.dif --- configure.ac -+++ configure.ac 2008-04-21 15:16:11.651973000 +0200 ++++ configure.ac 2008-08-12 15:32:24.000000000 +0200 @@ -14,13 +14,26 @@ fi AC_CONFIG_HEADER(config.h) @@ -30,7 +32,7 @@ +AC_ISC_POSIX +dnl # Define below date and version information to be put into man pages etc. - datemark=20080128 + datemark=20080505 date=`LANG=C date -d $datemark +'%Y-%m-%d'` AC_SUBST(date)dnl roff_version=`echo AC_PACKAGE_VERSION | sed 's/-/\\-/g'` @@ -135,7 +137,7 @@ AC_SUBST(LINGUAS) AM_ICONV AM_CONDITIONAL([NLS], [test "$USE_NLS" = yes]) -@@ -487,6 +510,5 @@ AC_CONFIG_FILES(Makefile +@@ -491,6 +514,5 @@ AC_CONFIG_FILES(Makefile tools/Makefile include/comp_src.h include/manconfig.h @@ -181,7 +183,7 @@ #endif /* HAVE_COMPRESS */ --- include/manconfig.h.in -+++ include/manconfig.h.in 2008-04-21 13:32:55.820086000 +0200 ++++ include/manconfig.h.in 2008-08-12 16:59:18.600458442 +0200 @@ -73,7 +73,7 @@ #undef MAN_DB_CREATES @@ -200,19 +202,6 @@ # endif #endif -@@ -376,8 +376,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) --- intl/Makefile.in +++ intl/Makefile.in 2007-12-10 12:51:51.000000000 +0100 @@ -181,7 +181,7 @@ libgnuintl.h.msvc-shared Makefile.msvc @@ -225,7 +214,7 @@ all-no-no: --- libdb/db_storage.h -+++ libdb/db_storage.h 2008-04-21 15:18:55.504996000 +0200 ++++ libdb/db_storage.h 2008-04-21 15:18:56.000000000 +0200 @@ -70,10 +70,10 @@ struct mandata { }; @@ -254,7 +243,7 @@ extern char **split_data (char *content, char *start[]); extern datum make_content (struct mandata *in); --- libdb/mydbm.h -+++ libdb/mydbm.h 2008-04-21 15:20:08.366342000 +0200 ++++ libdb/mydbm.h 2008-04-21 15:20:08.000000000 +0200 @@ -42,7 +42,7 @@ # include @@ -296,8 +285,8 @@ # define MYDBM_RDOPEN(file) btree_flopen(file, O_RDONLY, DBMODE) # define MYDBM_INSERT(db, key, cont) btree_insert(db, key, cont) --- man/de/man1/man.man1 -+++ man/de/man1/man.man1 2008-04-21 13:41:48.584537000 +0200 -@@ -98,6 +98,7 @@ der Manualseiten gefolgt vom Typ der dor ++++ man/de/man1/man.man1 2008-04-21 13:41:49.000000000 +0200 +@@ -97,6 +97,7 @@ der Manualseiten gefolgt vom Typ der dor .TS tab (@); l l. @@ -306,7 +295,7 @@ 2@Systemaufrufe (Kernelfunktionen) 3@Bibliotheksaufrufe (Funktionen in System-Bibliotheken) --- man/es/man1/man.man1 -+++ man/es/man1/man.man1 2008-04-21 13:41:57.397670000 +0200 ++++ man/es/man1/man.man1 2008-04-21 13:41:57.000000000 +0200 @@ -101,6 +101,7 @@ del manual y los tipos de páginas que c .TS tab (@); @@ -316,7 +305,7 @@ @órdenes 2@Llamadas del sistema (funciones servidas por el núcleo) --- man/it/man1/man.man1 -+++ man/it/man1/man.man1 2008-04-21 13:42:01.538202000 +0200 ++++ man/it/man1/man.man1 2008-04-21 13:42:02.000000000 +0200 @@ -124,6 +124,7 @@ del manuale seguiti dai tipi di pagine c .TS tab (@); @@ -326,7 +315,7 @@ 2@Chiamate al sistema (funzioni fornite dal kernel) 3@Chiamate alle librerie (funzioni all'interno delle --- man/ja/man1/man.man1 -+++ man/ja/man1/man.man1 2008-04-21 13:42:05.278682000 +0200 ++++ man/ja/man1/man.man1 2008-04-21 13:42:05.000000000 +0200 @@ -104,6 +104,7 @@ .TS tab (@); @@ -337,7 +326,7 @@ 3@ライブラリコール (システムライブラリに含まれる関数) --- man/man1/man.man1 +++ man/man1/man.man1 2007-12-10 12:53:31.000000000 +0100 -@@ -118,6 +118,7 @@ numbers of the manual followed by the ty +@@ -119,6 +119,7 @@ numbers of the manual followed by the ty .TS tab (@); l l. @@ -346,7 +335,7 @@ 2@System calls (functions provided by the kernel) 3@Library calls (functions within program libraries) --- src/Makefile.am -+++ src/Makefile.am 2008-04-21 16:44:47.190572968 +0200 ++++ src/Makefile.am 2008-04-21 16:44:47.000000000 +0200 @@ -170,15 +170,11 @@ apropos$(EXEEXT): whatis$(EXEEXT) all-am: apropos$(EXEEXT) @@ -368,17 +357,6 @@ install-data-hook: @if test -f $(DESTDIR)$(config_file); then \ ---- 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/check_mandirs.c +++ src/check_mandirs.c 2007-12-10 13:15:49.000000000 +0100 @@ -379,10 +379,10 @@ static short testmandirs (const char *pa @@ -437,17 +415,6 @@ content = MYDBM_FETCH (dbf, key); if (!MYDBM_DPTR (content)) { nextkey = MYDBM_NEXTKEY (dbf, key); ---- src/encodings.c -+++ src/encodings.c 2008-04-21 15:49:02.153615000 +0200 -@@ -541,7 +541,7 @@ static int compatible_encodings (const c - */ - if ((STREQ (input, "BIG5") || STREQ (input, "BIG5HKSCS") || - STREQ (input, "EUC-JP") || -- STREQ (input, "EUC-CN") || STREQ (input, "GB18030") || STREQ (input, "GBK") -+ STREQ (input, "EUC-CN") || STREQ (input, "GB18030") || STREQ (input, "GBK") || - STREQ (input, "EUC-KR")) && - STREQ (output, "UTF-8")) - return 1; --- src/fake_security.c +++ src/fake_security.c 2007-12-10 12:53:31.000000000 +0100 @@ -43,6 +43,7 @@ @@ -459,7 +426,7 @@ #ifdef SECURE_MAN_UID static struct passwd *man_owner; --- src/lexgrog.l -+++ src/lexgrog.l 2007-12-10 16:36:14.000000000 +0100 ++++ src/lexgrog.l 2008-08-12 15:33:28.000000000 +0200 @@ -51,7 +51,7 @@ #include "security.h" #include "encodings.h" @@ -561,10 +528,10 @@ {bol}\.ig{blank}* | /* block comment */ {bol}\.de[1i]?{blank}* | /* macro definition */ +{bol}\.V[be]{blank}* | /* special in perl pages */ + {bol}\.i[ef]{blank}* | /* conditional */ {empty}{bol}.+ | <> { /* terminate the string */ - *p_name = '\0'; -@@ -241,28 +268,31 @@ vgrind_request \.vS +@@ -242,28 +269,31 @@ vgrind_request \.vS {bol}{typeface}{blank}+ | /* type face commands */ {bol}\.ft{blank}.* | /* font change */ {bol}\.V[be]{blank}.* | /* pod2man, verbatim mode */ @@ -602,7 +569,7 @@ /* escape sequences and special characters */ { -@@ -278,6 +308,7 @@ vgrind_request \.vS +@@ -279,6 +309,7 @@ vgrind_request \.vS {next}\\[|^&!%acdpruz{}\r\n] /* various useless control chars */ {next}\\[bhlLvx]{blank}*'[^']+' /* various inline functions */ @@ -610,7 +577,7 @@ {next}\\\$[1-9] /* interpolate arg */ {next}\\\*(\({alpha})?{alpha} /* interpolate string */ -@@ -306,11 +337,8 @@ vgrind_request \.vS +@@ -307,11 +338,8 @@ vgrind_request \.vS for later processing */ { {bol}\.br{blank}* | @@ -623,7 +590,7 @@ {bol}\.RS{blank}.* | {bol}\.RE{blank}.* add_char_to_whatis ((char) 0x11); } -@@ -323,7 +351,7 @@ vgrind_request \.vS +@@ -324,7 +352,7 @@ vgrind_request \.vS [[:alnum:]]* add_str_to_whatis (yytext, yyleng); /* normalise the period (,) separators */ @@ -632,7 +599,7 @@ {blank}*,{blank}* add_str_to_whatis (", ", 2); {bol}. { -@@ -339,7 +367,7 @@ vgrind_request \.vS +@@ -340,7 +368,7 @@ vgrind_request \.vS %% /* print warning and force scanner to terminate */ @@ -641,7 +608,7 @@ { error (0, 0, _("warning: whatis for %s exceeds %d bytes, truncating."), -@@ -349,7 +377,7 @@ static void too_big (void) +@@ -350,7 +378,7 @@ static void too_big (void) } /* append a string to newname if enough room */ @@ -650,7 +617,7 @@ { if (p_name - newname + length >= MAX_NAME) too_big (); -@@ -360,8 +388,10 @@ static void add_str_to_whatis (const cha +@@ -361,8 +389,10 @@ static void add_str_to_whatis (const cha } /* append a char to newname if enough room */ @@ -662,7 +629,7 @@ if (p_name - newname + 1 >= MAX_NAME) too_big (); else if (waiting_for_quote && c == '"') -@@ -373,14 +403,30 @@ static void add_char_to_whatis (unsigned +@@ -374,14 +404,30 @@ static void add_char_to_whatis (unsigned /* append the " - " separator to newname, trimming the first space if one's * already there */ @@ -695,7 +662,7 @@ { /* If we are mid p_name and the last added char was not a space, * best add one. -@@ -456,6 +502,7 @@ int find_name_decompressed (pipeline *p, +@@ -457,6 +503,7 @@ int find_name_decompressed (pipeline *p, fill_mode = 1; waiting_for_quote = 0; @@ -704,7 +671,7 @@ if (p_lg->type) BEGIN (CAT_FILE); --- src/man.c -+++ src/man.c 2008-04-21 17:53:02.498707988 +0200 ++++ src/man.c 2008-08-12 16:59:18.640462210 +0200 @@ -66,6 +66,7 @@ static char *cwd; #include #include @@ -1004,17 +971,7 @@ roff_opt = getenv ("MANROFFOPT"); if (!roff_opt) -@@ -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) { -@@ -1295,8 +1349,10 @@ static pipeline *make_roff_command (cons +@@ -1295,8 +1350,10 @@ static pipeline *make_roff_command (cons if (!recode) pipeline_command_argstr (p, get_def ("soelim", SOELIM)); @@ -1027,7 +984,7 @@ source_encoding = get_source_encoding (lang); debug ("page_encoding = %s\n", page_encoding); debug ("source_encoding = %s\n", source_encoding); -@@ -1637,6 +1693,18 @@ static void setenv_less (const char *tit +@@ -1652,6 +1709,18 @@ static void setenv_less (const char *tit free (less_opts); } @@ -1046,7 +1003,7 @@ /* Return pipeline to display file. NULL means stdin. * * TODO: htmlout case is pretty weird now. I'd like the intelligence to be -@@ -1649,6 +1717,9 @@ static pipeline *make_display_command (c +@@ -1664,6 +1733,9 @@ static pipeline *make_display_command (c setenv_less (title); @@ -1056,7 +1013,7 @@ if (file) { if (ascii) { p = pipeline_new (); -@@ -1691,7 +1762,7 @@ static pipeline *make_display_command (c +@@ -1706,7 +1778,7 @@ static pipeline *make_display_command (c return p; } @@ -1065,7 +1022,7 @@ /* return a (malloced) temporary name in cat_file's directory */ static char *tmp_cat_filename (const char *cat_file) { -@@ -1794,8 +1865,6 @@ static int commit_tmp_cat (const char *c +@@ -1809,8 +1881,6 @@ static int commit_tmp_cat (const char *c return status; } @@ -1074,7 +1031,7 @@ /* Return pipeline to write formatted manual page to for saving as cat file. */ static pipeline *open_cat_stream (const char *cat_file) { -@@ -1869,6 +1938,7 @@ static int close_cat_stream (pipeline *c +@@ -1884,6 +1954,7 @@ static int close_cat_stream (pipeline *c free (tmp_cat_file); return status; } @@ -1082,7 +1039,7 @@ /* TODO: This should all be refactored after work on the decompression * library is complete. -@@ -1881,6 +1951,7 @@ void discard_stderr (pipeline *p) +@@ -1896,6 +1967,7 @@ void discard_stderr (pipeline *p) p->commands[i]->discard_err = 1; } @@ -1090,7 +1047,7 @@ /* * format a manual page with format_cmd, display it with disp_cmd, and * save it to cat_file -@@ -2042,6 +2113,7 @@ static void format_display (pipeline *de +@@ -2057,6 +2129,7 @@ static void format_display (pipeline *de regain_effective_privs (); } @@ -1098,7 +1055,7 @@ /* "Display" a page in catman mode, which amounts to saving it. */ /* TODO: merge with format_display_and_save? */ static void display_catman (const char *cat_file, pipeline *decomp, -@@ -2080,6 +2152,7 @@ static void display_catman (const char * +@@ -2095,6 +2168,7 @@ static void display_catman (const char * pop_cleanup(); free (tmpcat); } @@ -1106,7 +1063,7 @@ /* * optionally chdir to dir, if necessary update cat_file from man_file -@@ -2102,10 +2175,18 @@ static int display (const char *dir, con +@@ -2117,10 +2191,18 @@ static int display (const char *dir, con if (dir) { debug ("chdir %s\n", dir); @@ -1125,7 +1082,7 @@ } /* define format_cmd */ -@@ -2118,11 +2199,10 @@ static int display (const char *dir, con +@@ -2133,11 +2215,10 @@ static int display (const char *dir, con if (decomp) { pipeline_start (decomp); @@ -1139,7 +1096,7 @@ /* Get modification time, for commit_tmp_cat(). */ if (man_file && *man_file) { struct stat stb; -@@ -2131,7 +2211,7 @@ static int display (const char *dir, con +@@ -2146,7 +2227,7 @@ static int display (const char *dir, con else man_modtime = stb.st_mtime; } @@ -1148,7 +1105,7 @@ display_to_stdout = troff; #ifdef TROFF_IS_GROFF if (htmlout) -@@ -2248,6 +2328,7 @@ static int display (const char *dir, con +@@ -2263,6 +2344,7 @@ static int display (const char *dir, con } if (printed) putchar ('\n'); @@ -1156,7 +1113,7 @@ } else if (catman) { if (format) { if (!save_cat) -@@ -2259,6 +2340,7 @@ static int display (const char *dir, con +@@ -2274,6 +2356,7 @@ static int display (const char *dir, con display_catman (cat_file, decomp, format_cmd); } @@ -1164,7 +1121,7 @@ } else if (format) { /* no cat or out of date */ pipeline *disp_cmd; -@@ -2309,8 +2391,10 @@ static int display (const char *dir, con +@@ -2324,8 +2407,10 @@ static int display (const char *dir, con } } @@ -1177,38 +1134,7 @@ if (!prompt) prompt = found; -@@ -2351,8 +2435,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); -@@ -2379,8 +2462,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); -@@ -2869,9 +2951,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, -@@ -2908,7 +2988,7 @@ static int display_database_check (struc +@@ -2923,7 +3008,7 @@ static int display_database_check (struc #ifdef MAN_DB_UPDATES if (!exists && !skip) { debug ("dbdelete_wrapper (%s, %p)\n", @@ -1217,37 +1143,12 @@ dbdelete_wrapper (candp->req_name, candp->source); } #endif /* MAN_DB_UPDATES */ -@@ -2986,7 +3066,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/man.h -+++ src/man.h 2008-04-21 15:19:42.495024000 +0200 -@@ -22,10 +22,10 @@ - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - --static inline const char *is_section (const char *name); -+static const char *is_section (const char *name); - static const char **get_section_list (void); - static int man (const char *name, int *found); - static int display (const char *dir, const char *man_file, - const char *cat_file, const char *title, - const char *dbfilters); --static inline int do_prompt (const char *name); -+static int do_prompt (const char *name); --- src/man_db.conf.in -+++ src/man_db.conf.in 2007-12-11 13:27:28.000000000 +0100 -@@ -20,6 +20,15 @@ ++++ src/man_db.conf.in 2008-08-12 15:35:48.000000000 +0200 +@@ -20,6 +20,14 @@ MANDATORY_MANPATH /usr/man MANDATORY_MANPATH /usr/share/man - MANDATORY_MANPATH /usr/local/man -+MANDATORY_MANPATH /usr/local/share/man + MANDATORY_MANPATH /usr/local/share/man +MANDATORY_MANPATH /opt/man +MANDATORY_MANPATH /opt/dx/man +MANDATORY_MANPATH /opt/lsb/man @@ -1259,7 +1160,7 @@ #--------------------------------------------------------- # set up PATH to MANPATH mapping # ie. what man tree holds man pages for what binary directory. -@@ -34,8 +43,10 @@ MANPATH_MAP /usr/local/bin /usr/local/m +@@ -34,8 +42,10 @@ MANPATH_MAP /usr/local/bin /usr/local/m MANPATH_MAP /usr/local/bin /usr/local/share/man MANPATH_MAP /usr/local/sbin /usr/local/man MANPATH_MAP /usr/local/sbin /usr/local/share/man @@ -1272,7 +1173,7 @@ MANPATH_MAP /usr/games /usr/share/man MANPATH_MAP /opt/bin /opt/man MANPATH_MAP /opt/sbin /opt/man -@@ -63,12 +74,133 @@ MANPATH_MAP /opt/sbin /opt/man +@@ -63,12 +73,133 @@ MANPATH_MAP /opt/sbin /opt/man # # *MANPATH* -> *CATPATH* # @@ -1411,7 +1312,7 @@ # #--------------------------------------------------------- # Program definitions. These are commented out by default as the value -@@ -80,7 +212,7 @@ MANDB_MAP /opt/man /var/cache/man/opt +@@ -80,7 +211,7 @@ MANDB_MAP /opt/man /var/cache/man/opt #DEFINE tr @tr@ '\255\267\264\327' '\055\157\047\170' #DEFINE grep @grep@ #DEFINE troff @troff@ @@ -1421,7 +1322,7 @@ #DEFINE neqn @neqn@ #DEFINE tbl @tbl@ --- src/mandb.c -+++ src/mandb.c 2008-01-30 12:01:40.000000000 +0100 ++++ src/mandb.c 2008-08-12 16:59:18.688466727 +0200 @@ -185,6 +185,8 @@ static const char *xtmpfile; #ifdef SECURE_MAN_UID extern uid_t ruid; @@ -1431,24 +1332,7 @@ #endif /* SECURE_MAN_UID */ static char *manpathlist[MAXDIRS]; -@@ -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); - } -@@ -518,7 +523,7 @@ static short process_manpath (const char +@@ -518,7 +520,7 @@ static short process_manpath (const char if (!opt_test && amount) { finish_up (); #ifdef SECURE_MAN_UID @@ -1457,7 +1341,7 @@ do_chown (man_owner->pw_uid); #endif /* SECURE_MAN_UID */ } -@@ -586,8 +591,14 @@ int main (int argc, char *argv[]) +@@ -586,8 +588,14 @@ int main (int argc, char *argv[]) error (FAIL, 0, _("the setuid man user \"%s\" does not exist"), MAN_OWNER); @@ -1475,7 +1359,7 @@ --- src/manp.c -+++ src/manp.c 2008-01-30 12:01:03.000000000 +0100 ++++ src/manp.c 2008-08-12 16:59:18.712468986 +0200 @@ -70,6 +70,7 @@ #include "security.h" #include "encodings.h" @@ -1545,53 +1429,6 @@ return manpath; } -@@ -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/security.c +++ src/security.c 2007-12-10 14:24:24.000000000 +0100 @@ -76,10 +76,13 @@ @@ -1678,7 +1515,7 @@ } --- src/security.h -+++ src/security.h 2008-04-21 15:19:18.783982000 +0200 ++++ src/security.h 2008-04-21 15:19:19.000000000 +0200 @@ -25,8 +25,8 @@ #include @@ -1691,7 +1528,7 @@ extern int remove_with_dropped_privs (const char *filename); extern void init_security (void); --- src/straycats.c -+++ src/straycats.c 2008-04-21 15:47:04.158440000 +0200 ++++ src/straycats.c 2008-08-12 16:59:18.780475384 +0200 @@ -35,6 +35,7 @@ #include #include @@ -1722,15 +1559,6 @@ } closedir (cdir); return strays; -@@ -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); --- src/ult_src.c +++ src/ult_src.c 2007-12-10 14:34:00.000000000 +0100 @@ -289,12 +289,17 @@ const char *ult_src (const char *name, c @@ -1782,17 +1610,6 @@ #include "manconfig.h" #include "pipeline.h" ---- src/whatis.c -+++ src/whatis.c 2008-04-21 13:21:57.483571000 +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/wrapper.c +++ src/wrapper.c 2008-01-07 13:06:02.000000000 +0100 @@ -29,6 +29,7 @@ diff --git a/man-db-2.5.2.tar.bz2 b/man-db-2.5.2.tar.bz2 new file mode 100644 index 0000000..6617d32 --- /dev/null +++ b/man-db-2.5.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3da6a5983a3dd1233b45d66cfcc44e787f8cd6cfc77d5b97cb154414ea70a4ca +size 1315763 diff --git a/man-db_2.5.1-3.diff.bz2 b/man-db_2.5.1-3.diff.bz2 deleted file mode 100644 index 9f8ff51..0000000 --- a/man-db_2.5.1-3.diff.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eec1315474df7515ee2bb21fcc5533a6977de685e6128a55548d2692cf34c319 -size 371 diff --git a/man-db_2.5.2-2.diff.bz2 b/man-db_2.5.2-2.diff.bz2 new file mode 100644 index 0000000..95e1ce5 --- /dev/null +++ b/man-db_2.5.2-2.diff.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67a9fbffb34c693617f7d43cee527acad9610bd30be437069519c326a442724d +size 313 diff --git a/man.changes b/man.changes index 070d9a1..75fe4f0 100644 --- a/man.changes +++ b/man.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +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. + ------------------------------------------------------------------- Thu Jun 5 17:04:01 CEST 2008 - werner@suse.de diff --git a/man.spec b/man.spec index dbdd015..aa25998 100644 --- a/man.spec +++ b/man.spec @@ -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 @@ BuildRequires: gettext-runtime gettext-tools %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 @@ Source2: cron.daily.do_mandb 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 @@ Authors: %patch8 -p0 -b .globbing %patch9 -p0 -b .zio %patch10 -p0 -b .listall +%patch11 -p0 -b .catp %patch -p0 %build @@ -274,6 +283,27 @@ test -d var/catman/ && rm -rf var/catman/ || true %{_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)