This commit is contained in:
parent
aaa53c3859
commit
dd053d7652
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:60794461043462dc1d56fe3e2b1918d837cdc348f7242594df953e3589f994ec
|
||||
size 1234479
|
168
man-db-2.5.2-catp.dif
Normal file
168
man-db-2.5.2-catp.dif
Normal file
@ -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);
|
@ -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 */
|
||||
|
@ -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 <gdbm.h>
|
||||
|
||||
@ -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 @@
|
||||
<MAN_NAME>{bol}\.ig{blank}* | /* block comment */
|
||||
<MAN_NAME>{bol}\.de[1i]?{blank}* | /* macro definition */
|
||||
+<MAN_NAME>{bol}\.V[be]{blank}* | /* special in perl pages */
|
||||
<MAN_NAME>{bol}\.i[ef]{blank}* | /* conditional */
|
||||
<MAN_NAME>{empty}{bol}.+ |
|
||||
<MAN_NAME><<EOF>> { /* 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 */
|
||||
<MAN_NAME>{
|
||||
@@ -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 */
|
||||
<MAN_NAME>{
|
||||
{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
|
||||
<MAN_NAME>[[:alnum:]]* add_str_to_whatis (yytext, yyleng);
|
||||
|
||||
/* normalise the period (,) separators */
|
||||
@ -632,7 +599,7 @@
|
||||
<MAN_NAME>{blank}*,{blank}* add_str_to_whatis (", ", 2);
|
||||
|
||||
<CAT_NAME,MAN_NAME>{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 <utime.h>
|
||||
#include <sys/types.h>
|
||||
@ -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 <pwd.h>
|
||||
|
||||
@ -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 <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
@ -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 @@
|
3
man-db-2.5.2.tar.bz2
Normal file
3
man-db-2.5.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3da6a5983a3dd1233b45d66cfcc44e787f8cd6cfc77d5b97cb154414ea70a4ca
|
||||
size 1315763
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:eec1315474df7515ee2bb21fcc5533a6977de685e6128a55548d2692cf34c319
|
||||
size 371
|
3
man-db_2.5.2-2.diff.bz2
Normal file
3
man-db_2.5.2-2.diff.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:67a9fbffb34c693617f7d43cee527acad9610bd30be437069519c326a442724d
|
||||
size 313
|
24
man.changes
24
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
|
||||
|
||||
|
50
man.spec
50
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)
|
||||
|
Loading…
Reference in New Issue
Block a user