This commit is contained in:
parent
4d2dfa5863
commit
5d097a38b0
@ -36,7 +36,7 @@ if test "$REINIT_MANDB" = yes -o ! -s /var/cache/man/index.db ; then
|
|||||||
if test -x /usr/bin/mandb ; then
|
if test -x /usr/bin/mandb ; then
|
||||||
test -x /usr/bin/safe-rm -a -e /var/cache/man/index.bt && \
|
test -x /usr/bin/safe-rm -a -e /var/cache/man/index.bt && \
|
||||||
/usr/bin/safe-rm /var/cache/man/index.bt
|
/usr/bin/safe-rm /var/cache/man/index.bt
|
||||||
/usr/bin/mandb -q -s 2> /dev/null || {
|
nice -n 5 ionice -c 3 /usr/bin/mandb -q -s 2> /dev/null || {
|
||||||
echo There seem to be trouble with mandb.
|
echo There seem to be trouble with mandb.
|
||||||
echo
|
echo
|
||||||
echo please run /usr/bin/mandb an check the output...
|
echo please run /usr/bin/mandb an check the output...
|
||||||
|
148
man-db-2.5.0.dif
148
man-db-2.5.0.dif
@ -52,7 +52,7 @@
|
|||||||
# This is not done automatically, since the .po files are stored
|
# This is not done automatically, since the .po files are stored
|
||||||
# in revision control.
|
# in revision control.
|
||||||
--- configure.ac
|
--- configure.ac
|
||||||
+++ configure.ac 2007-12-10 15:33:22.410172000 +0100
|
+++ configure.ac 2008-01-29 19:07:22.794596510 +0100
|
||||||
@@ -10,17 +10,30 @@ AC_CONFIG_HEADER(config.h)
|
@@ -10,17 +10,30 @@ AC_CONFIG_HEADER(config.h)
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
AC_ARG_PROGRAM
|
AC_ARG_PROGRAM
|
||||||
@ -200,7 +200,7 @@
|
|||||||
#endif /* HAVE_COMPRESS */
|
#endif /* HAVE_COMPRESS */
|
||||||
|
|
||||||
--- include/manconfig.h.in
|
--- include/manconfig.h.in
|
||||||
+++ include/manconfig.h.in 2007-12-11 15:32:18.037124000 +0100
|
+++ include/manconfig.h.in 2008-01-30 11:56:48.181631087 +0100
|
||||||
@@ -73,7 +73,7 @@
|
@@ -73,7 +73,7 @@
|
||||||
|
|
||||||
#undef MAN_DB_CREATES
|
#undef MAN_DB_CREATES
|
||||||
@ -261,10 +261,12 @@
|
|||||||
#define NOT_FOUND 16 /* No action was taken */
|
#define NOT_FOUND 16 /* No action was taken */
|
||||||
|
|
||||||
/* System or user catpaths? Allow bitwise disjunctions of these. */
|
/* System or user catpaths? Allow bitwise disjunctions of these. */
|
||||||
#define SYSTEM_CAT 1
|
-#define SYSTEM_CAT 1
|
||||||
#define USER_CAT 2
|
-#define USER_CAT 2
|
||||||
+#define FILE_CAT 4
|
+#define SYSTEM_CATP 1
|
||||||
+#define WHATIS_CAT 8
|
+#define USER_CATP 2
|
||||||
|
+#define FILE_CATP 4
|
||||||
|
+#define WHATIS_CATP 8
|
||||||
|
|
||||||
/* string macros */
|
/* string macros */
|
||||||
#define STREQ(a,b) (strcmp(a,b) == 0)
|
#define STREQ(a,b) (strcmp(a,b) == 0)
|
||||||
@ -468,6 +470,17 @@
|
|||||||
$(INSTALL_PROGRAM) manpath $(DESTDIR)$(bindir)/$(manpath)
|
$(INSTALL_PROGRAM) manpath $(DESTDIR)$(bindir)/$(manpath)
|
||||||
$(INSTALL_PROGRAM) catman $(DESTDIR)$(bindir)/$(catman)
|
$(INSTALL_PROGRAM) catman $(DESTDIR)$(bindir)/$(catman)
|
||||||
$(INSTALL_PROGRAM) whatis $(DESTDIR)$(bindir)/$(whatis)
|
$(INSTALL_PROGRAM) whatis $(DESTDIR)$(bindir)/$(whatis)
|
||||||
|
--- src/catman.c
|
||||||
|
+++ src/catman.c 2008-01-30 12:02:20.699895492 +0100
|
||||||
|
@@ -494,7 +494,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
|
||||||
+++ src/check_mandirs.c 2007-12-10 13:15:48.608604000 +0100
|
+++ src/check_mandirs.c 2007-12-10 13:15:48.608604000 +0100
|
||||||
@@ -391,10 +391,10 @@ static short testmandirs (const char *pa
|
@@ -391,10 +391,10 @@ static short testmandirs (const char *pa
|
||||||
@ -782,7 +795,7 @@
|
|||||||
if (p_lg->type)
|
if (p_lg->type)
|
||||||
BEGIN (CAT_FILE);
|
BEGIN (CAT_FILE);
|
||||||
--- src/man.c
|
--- src/man.c
|
||||||
+++ src/man.c 2007-12-11 17:18:15.773649394 +0100
|
+++ src/man.c 2008-01-30 11:59:52.020999180 +0100
|
||||||
@@ -98,6 +98,7 @@ static char *cwd;
|
@@ -98,6 +98,7 @@ static char *cwd;
|
||||||
#include <utime.h>
|
#include <utime.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@ -1094,7 +1107,7 @@
|
|||||||
char *fmt_prog;
|
char *fmt_prog;
|
||||||
pipeline *p = pipeline_new ();
|
pipeline *p = pipeline_new ();
|
||||||
command *cmd;
|
command *cmd;
|
||||||
@@ -1259,7 +1306,8 @@ static pipeline *make_roff_command (cons
|
@@ -1259,13 +1306,13 @@ static pipeline *make_roff_command (cons
|
||||||
dir = dir; /* not used unless looking for formatters in catdir */
|
dir = dir; /* not used unless looking for formatters in catdir */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1104,7 +1117,14 @@
|
|||||||
|
|
||||||
#ifdef ALT_EXT_FORMAT
|
#ifdef ALT_EXT_FORMAT
|
||||||
/* Check both external formatter locations */
|
/* Check both external formatter locations */
|
||||||
@@ -1318,7 +1366,10 @@ static pipeline *make_roff_command (cons
|
if (dir) {
|
||||||
|
- 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) {
|
||||||
|
@@ -1318,7 +1365,10 @@ static pipeline *make_roff_command (cons
|
||||||
|
|
||||||
#define STRC(s, otherwise) ((s) ? (s) : (otherwise))
|
#define STRC(s, otherwise) ((s) ? (s) : (otherwise))
|
||||||
|
|
||||||
@ -1116,7 +1136,7 @@
|
|||||||
source_encoding = get_source_encoding (lang);
|
source_encoding = get_source_encoding (lang);
|
||||||
debug ("page_encoding = %s\n", page_encoding);
|
debug ("page_encoding = %s\n", page_encoding);
|
||||||
debug ("source_encoding = %s\n", source_encoding);
|
debug ("source_encoding = %s\n", source_encoding);
|
||||||
@@ -1632,6 +1683,18 @@ static void setenv_less (const char *tit
|
@@ -1632,6 +1682,18 @@ static void setenv_less (const char *tit
|
||||||
free (less_opts);
|
free (less_opts);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1135,7 +1155,7 @@
|
|||||||
/* Return pipeline to display file. NULL means stdin.
|
/* Return pipeline to display file. NULL means stdin.
|
||||||
*
|
*
|
||||||
* TODO: htmlout case is pretty weird now. I'd like the intelligence to be
|
* TODO: htmlout case is pretty weird now. I'd like the intelligence to be
|
||||||
@@ -1644,6 +1707,9 @@ static pipeline *make_display_command (c
|
@@ -1644,6 +1706,9 @@ static pipeline *make_display_command (c
|
||||||
|
|
||||||
setenv_less (title);
|
setenv_less (title);
|
||||||
|
|
||||||
@ -1145,7 +1165,7 @@
|
|||||||
if (file) {
|
if (file) {
|
||||||
if (ascii) {
|
if (ascii) {
|
||||||
p = pipeline_new ();
|
p = pipeline_new ();
|
||||||
@@ -1686,7 +1752,7 @@ static pipeline *make_display_command (c
|
@@ -1686,7 +1751,7 @@ static pipeline *make_display_command (c
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1154,7 +1174,7 @@
|
|||||||
/* return a (malloced) temporary name in cat_file's directory */
|
/* return a (malloced) temporary name in cat_file's directory */
|
||||||
static char *tmp_cat_filename (const char *cat_file)
|
static char *tmp_cat_filename (const char *cat_file)
|
||||||
{
|
{
|
||||||
@@ -1789,8 +1855,6 @@ static int commit_tmp_cat (const char *c
|
@@ -1789,8 +1854,6 @@ static int commit_tmp_cat (const char *c
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1163,7 +1183,7 @@
|
|||||||
/* Return pipeline to write formatted manual page to for saving as cat file. */
|
/* Return pipeline to write formatted manual page to for saving as cat file. */
|
||||||
static pipeline *open_cat_stream (const char *cat_file)
|
static pipeline *open_cat_stream (const char *cat_file)
|
||||||
{
|
{
|
||||||
@@ -1864,6 +1928,7 @@ static int close_cat_stream (pipeline *c
|
@@ -1864,6 +1927,7 @@ static int close_cat_stream (pipeline *c
|
||||||
free (tmp_cat_file);
|
free (tmp_cat_file);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@ -1171,7 +1191,7 @@
|
|||||||
|
|
||||||
/* TODO: This should all be refactored after work on the decompression
|
/* TODO: This should all be refactored after work on the decompression
|
||||||
* library is complete.
|
* library is complete.
|
||||||
@@ -1876,6 +1941,7 @@ void discard_stderr (pipeline *p)
|
@@ -1876,6 +1940,7 @@ void discard_stderr (pipeline *p)
|
||||||
p->commands[i]->discard_err = 1;
|
p->commands[i]->discard_err = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1179,7 +1199,7 @@
|
|||||||
/*
|
/*
|
||||||
* format a manual page with format_cmd, display it with disp_cmd, and
|
* format a manual page with format_cmd, display it with disp_cmd, and
|
||||||
* save it to cat_file
|
* save it to cat_file
|
||||||
@@ -2037,6 +2103,7 @@ static void format_display (pipeline *de
|
@@ -2037,6 +2102,7 @@ static void format_display (pipeline *de
|
||||||
regain_effective_privs ();
|
regain_effective_privs ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1187,7 +1207,7 @@
|
|||||||
/* "Display" a page in catman mode, which amounts to saving it. */
|
/* "Display" a page in catman mode, which amounts to saving it. */
|
||||||
/* TODO: merge with format_display_and_save? */
|
/* TODO: merge with format_display_and_save? */
|
||||||
static void display_catman (const char *cat_file, pipeline *decomp,
|
static void display_catman (const char *cat_file, pipeline *decomp,
|
||||||
@@ -2074,6 +2141,7 @@ static void display_catman (const char *
|
@@ -2074,6 +2140,7 @@ static void display_catman (const char *
|
||||||
pop_cleanup();
|
pop_cleanup();
|
||||||
free (tmpcat);
|
free (tmpcat);
|
||||||
}
|
}
|
||||||
@ -1195,7 +1215,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* optionally chdir to dir, if necessary update cat_file from man_file
|
* optionally chdir to dir, if necessary update cat_file from man_file
|
||||||
@@ -2096,10 +2164,18 @@ static int display (const char *dir, con
|
@@ -2096,10 +2163,18 @@ static int display (const char *dir, con
|
||||||
if (dir) {
|
if (dir) {
|
||||||
debug ("chdir %s\n", dir);
|
debug ("chdir %s\n", dir);
|
||||||
|
|
||||||
@ -1214,7 +1234,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* define format_cmd */
|
/* define format_cmd */
|
||||||
@@ -2112,11 +2188,10 @@ static int display (const char *dir, con
|
@@ -2112,11 +2187,10 @@ static int display (const char *dir, con
|
||||||
|
|
||||||
if (decomp) {
|
if (decomp) {
|
||||||
pipeline_start (decomp);
|
pipeline_start (decomp);
|
||||||
@ -1228,7 +1248,7 @@
|
|||||||
/* Get modification time, for commit_tmp_cat(). */
|
/* Get modification time, for commit_tmp_cat(). */
|
||||||
if (man_file && *man_file) {
|
if (man_file && *man_file) {
|
||||||
struct stat stb;
|
struct stat stb;
|
||||||
@@ -2125,7 +2200,7 @@ static int display (const char *dir, con
|
@@ -2125,7 +2199,7 @@ static int display (const char *dir, con
|
||||||
else
|
else
|
||||||
man_modtime = stb.st_mtime;
|
man_modtime = stb.st_mtime;
|
||||||
}
|
}
|
||||||
@ -1237,7 +1257,7 @@
|
|||||||
display_to_stdout = troff;
|
display_to_stdout = troff;
|
||||||
#ifdef TROFF_IS_GROFF
|
#ifdef TROFF_IS_GROFF
|
||||||
if (htmlout)
|
if (htmlout)
|
||||||
@@ -2236,6 +2311,7 @@ static int display (const char *dir, con
|
@@ -2236,6 +2310,7 @@ static int display (const char *dir, con
|
||||||
printf ("%s", cat_file);
|
printf ("%s", cat_file);
|
||||||
}
|
}
|
||||||
putchar ('\n');
|
putchar ('\n');
|
||||||
@ -1245,7 +1265,7 @@
|
|||||||
} else if (catman) {
|
} else if (catman) {
|
||||||
if (format) {
|
if (format) {
|
||||||
if (!save_cat)
|
if (!save_cat)
|
||||||
@@ -2247,6 +2323,7 @@ static int display (const char *dir, con
|
@@ -2247,6 +2322,7 @@ static int display (const char *dir, con
|
||||||
display_catman (cat_file, decomp,
|
display_catman (cat_file, decomp,
|
||||||
format_cmd);
|
format_cmd);
|
||||||
}
|
}
|
||||||
@ -1253,7 +1273,7 @@
|
|||||||
} else if (format) {
|
} else if (format) {
|
||||||
/* no cat or out of date */
|
/* no cat or out of date */
|
||||||
pipeline *disp_cmd;
|
pipeline *disp_cmd;
|
||||||
@@ -2296,8 +2373,10 @@ static int display (const char *dir, con
|
@@ -2296,8 +2372,10 @@ static int display (const char *dir, con
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1266,27 +1286,38 @@
|
|||||||
|
|
||||||
if (!prompt)
|
if (!prompt)
|
||||||
prompt = found;
|
prompt = found;
|
||||||
@@ -2338,8 +2417,7 @@ static char *find_cat_file (const char *
|
@@ -2338,8 +2416,7 @@ static char *find_cat_file (const char *
|
||||||
*/
|
*/
|
||||||
if (!STREQ (man_file, original)) {
|
if (!STREQ (man_file, original)) {
|
||||||
global_manpath = is_global_mandir (man_file);
|
global_manpath = is_global_mandir (man_file);
|
||||||
- cat_path = get_catpath
|
- cat_path = get_catpath
|
||||||
- (man_file, global_manpath ? SYSTEM_CAT : USER_CAT);
|
- (man_file, global_manpath ? SYSTEM_CAT : USER_CAT);
|
||||||
+ cat_path = get_catpath (man_file, (global_manpath ? SYSTEM_CAT : USER_CAT)|FILE_CAT);
|
+ cat_path = get_catpath (man_file, (global_manpath ? SYSTEM_CATP : USER_CATP)|FILE_CATP);
|
||||||
|
|
||||||
if (cat_path) {
|
if (cat_path) {
|
||||||
cat_file = convert_name (cat_path, 0);
|
cat_file = convert_name (cat_path, 0);
|
||||||
@@ -2366,8 +2444,7 @@ static char *find_cat_file (const char *
|
@@ -2366,8 +2443,7 @@ static char *find_cat_file (const char *
|
||||||
}
|
}
|
||||||
|
|
||||||
global_manpath = is_global_mandir (original);
|
global_manpath = is_global_mandir (original);
|
||||||
- cat_path = get_catpath
|
- cat_path = get_catpath
|
||||||
- (original, global_manpath ? SYSTEM_CAT : USER_CAT);
|
- (original, global_manpath ? SYSTEM_CAT : USER_CAT);
|
||||||
+ cat_path = get_catpath (original, (global_manpath ? SYSTEM_CAT : USER_CAT)|FILE_CAT);
|
+ cat_path = get_catpath (original, (global_manpath ? SYSTEM_CATP : USER_CATP)|FILE_CATP);
|
||||||
|
|
||||||
if (cat_path) {
|
if (cat_path) {
|
||||||
cat_file = convert_name (cat_path, 0);
|
cat_file = convert_name (cat_path, 0);
|
||||||
@@ -2899,7 +2976,7 @@ static int display_database_check (struc
|
@@ -2860,9 +2936,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,
|
||||||
|
@@ -2899,7 +2973,7 @@ static int display_database_check (struc
|
||||||
#ifdef MAN_DB_UPDATES
|
#ifdef MAN_DB_UPDATES
|
||||||
if (!exists && !skip) {
|
if (!exists && !skip) {
|
||||||
debug ("dbdelete_wrapper (%s, %p)\n",
|
debug ("dbdelete_wrapper (%s, %p)\n",
|
||||||
@ -1295,12 +1326,12 @@
|
|||||||
dbdelete_wrapper (candp->req_name, candp->source);
|
dbdelete_wrapper (candp->req_name, candp->source);
|
||||||
}
|
}
|
||||||
#endif /* MAN_DB_UPDATES */
|
#endif /* MAN_DB_UPDATES */
|
||||||
@@ -2977,7 +3054,7 @@ static int try_db (const char *manpath,
|
@@ -2977,7 +3051,7 @@ static int try_db (const char *manpath,
|
||||||
|
|
||||||
/* find out where our db for this manpath should be */
|
/* 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_CAT : USER_CAT);
|
||||||
+ catpath = get_catpath (manpath, (global_manpath ? SYSTEM_CAT : USER_CAT)|FILE_CAT);
|
+ catpath = get_catpath (manpath, (global_manpath ? SYSTEM_CATP : USER_CATP)|FILE_CATP);
|
||||||
if (catpath) {
|
if (catpath) {
|
||||||
database = mkdbname (catpath);
|
database = mkdbname (catpath);
|
||||||
free (catpath);
|
free (catpath);
|
||||||
@ -1493,7 +1524,7 @@
|
|||||||
# Flags.
|
# Flags.
|
||||||
# NOCACHE keeps man from creating cat pages.
|
# NOCACHE keeps man from creating cat pages.
|
||||||
--- src/mandb.c
|
--- src/mandb.c
|
||||||
+++ src/mandb.c 2007-12-10 14:09:36.898788000 +0100
|
+++ src/mandb.c 2008-01-30 12:01:40.242753517 +0100
|
||||||
@@ -143,6 +143,8 @@ static const char *xtmpfile;
|
@@ -143,6 +143,8 @@ static const char *xtmpfile;
|
||||||
#ifdef SECURE_MAN_UID
|
#ifdef SECURE_MAN_UID
|
||||||
extern uid_t ruid;
|
extern uid_t ruid;
|
||||||
@ -1503,7 +1534,24 @@
|
|||||||
#endif /* SECURE_MAN_UID */
|
#endif /* SECURE_MAN_UID */
|
||||||
|
|
||||||
static char *manpathlist[MAXDIRS];
|
static char *manpathlist[MAXDIRS];
|
||||||
@@ -497,7 +499,7 @@ static short process_manpath (const char
|
@@ -463,10 +465,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);
|
||||||
|
}
|
||||||
|
@@ -497,7 +502,7 @@ static short process_manpath (const char
|
||||||
if (!opt_test && amount) {
|
if (!opt_test && amount) {
|
||||||
finish_up ();
|
finish_up ();
|
||||||
#ifdef SECURE_MAN_UID
|
#ifdef SECURE_MAN_UID
|
||||||
@ -1512,7 +1560,7 @@
|
|||||||
do_chown (man_owner->pw_uid);
|
do_chown (man_owner->pw_uid);
|
||||||
#endif /* SECURE_MAN_UID */
|
#endif /* SECURE_MAN_UID */
|
||||||
}
|
}
|
||||||
@@ -610,8 +612,14 @@ int main (int argc, char *argv[])
|
@@ -610,8 +615,14 @@ int main (int argc, char *argv[])
|
||||||
error (FAIL, 0,
|
error (FAIL, 0,
|
||||||
_("the setuid man user \"%s\" does not exist"),
|
_("the setuid man user \"%s\" does not exist"),
|
||||||
MAN_OWNER);
|
MAN_OWNER);
|
||||||
@ -1530,7 +1578,7 @@
|
|||||||
|
|
||||||
|
|
||||||
--- src/manp.c
|
--- src/manp.c
|
||||||
+++ src/manp.c 2007-12-11 15:26:40.430198000 +0100
|
+++ src/manp.c 2008-01-30 12:01:02.982017854 +0100
|
||||||
@@ -63,6 +63,7 @@
|
@@ -63,6 +63,7 @@
|
||||||
# include <strings.h>
|
# include <strings.h>
|
||||||
#else /* no string(s) header */
|
#else /* no string(s) header */
|
||||||
@ -1608,6 +1656,17 @@
|
|||||||
|
|
||||||
return manpath;
|
return manpath;
|
||||||
}
|
}
|
||||||
|
@@ -1155,8 +1167,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;
|
||||||
@@ -1164,16 +1176,30 @@ char *get_catpath (const char *name, int
|
@@ -1164,16 +1176,30 @@ char *get_catpath (const char *name, int
|
||||||
|
|
||||||
if (*suffix == '/') {
|
if (*suffix == '/') {
|
||||||
@ -1624,11 +1683,11 @@
|
|||||||
}
|
}
|
||||||
catpath = strappend (catpath, suffix, NULL);
|
catpath = strappend (catpath, suffix, NULL);
|
||||||
- return catpath;
|
- return catpath;
|
||||||
+ if (cattype & FILE_CAT)
|
+ if (cattype & FILE_CATP)
|
||||||
+ return catpath;
|
+ return catpath;
|
||||||
+ if (is_directory (catpath) == 1)
|
+ if (is_directory (catpath) == 1)
|
||||||
+ return catpath;
|
+ return catpath;
|
||||||
+ if ((cattype & WHATIS_CAT) == 0) {
|
+ if ((cattype & WHATIS_CATP) == 0) {
|
||||||
+ const char locale_delims[] = "_@,.";
|
+ const char locale_delims[] = "_@,.";
|
||||||
+ const char *delim;
|
+ const char *delim;
|
||||||
+ for (delim = locale_delims; *delim != '\0'; ++delim) {
|
+ for (delim = locale_delims; *delim != '\0'; ++delim) {
|
||||||
@ -1730,7 +1789,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
--- src/straycats.c
|
--- src/straycats.c
|
||||||
+++ src/straycats.c 2007-12-10 16:03:23.563387000 +0100
|
+++ src/straycats.c 2008-01-30 11:57:57.562451820 +0100
|
||||||
@@ -48,6 +48,7 @@ extern char *strrchr();
|
@@ -48,6 +48,7 @@ extern char *strrchr();
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@ -1786,6 +1845,15 @@
|
|||||||
}
|
}
|
||||||
closedir (cdir);
|
closedir (cdir);
|
||||||
return strays;
|
return strays;
|
||||||
|
@@ -382,7 +386,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
|
||||||
+++ src/ult_src.c 2007-12-10 14:34:00.376977000 +0100
|
+++ src/ult_src.c 2007-12-10 14:34:00.376977000 +0100
|
||||||
@@ -328,12 +328,17 @@ const char *ult_src (const char *name, c
|
@@ -328,12 +328,17 @@ const char *ult_src (const char *name, c
|
||||||
@ -1838,18 +1906,18 @@
|
|||||||
#include "libdb/mydbm.h" /* for full definition of MAN_DB */
|
#include "libdb/mydbm.h" /* for full definition of MAN_DB */
|
||||||
#include "lib/pipeline.h"
|
#include "lib/pipeline.h"
|
||||||
--- src/whatis.c
|
--- src/whatis.c
|
||||||
+++ src/whatis.c 2007-12-11 15:30:48.289713000 +0100
|
+++ src/whatis.c 2008-01-30 12:01:59.721229159 +0100
|
||||||
@@ -687,7 +687,7 @@ static int search (char *page)
|
@@ -687,7 +687,7 @@ static int search (char *page)
|
||||||
debug ("lower(%s) = \"%s\"\n", page, lowpage);
|
debug ("lower(%s) = \"%s\"\n", page, lowpage);
|
||||||
|
|
||||||
for (mp = manpathlist; *mp; mp++) {
|
for (mp = manpathlist; *mp; mp++) {
|
||||||
- catpath = get_catpath (*mp, SYSTEM_CAT | USER_CAT);
|
- catpath = get_catpath (*mp, SYSTEM_CAT | USER_CAT);
|
||||||
+ catpath = get_catpath (*mp, SYSTEM_CAT|USER_CAT|WHATIS_CAT);
|
+ catpath = get_catpath (*mp, SYSTEM_CATP|USER_CATP|WHATIS_CATP);
|
||||||
|
|
||||||
if (catpath) {
|
if (catpath) {
|
||||||
database = mkdbname (catpath);
|
database = mkdbname (catpath);
|
||||||
--- src/wrapper.c
|
--- src/wrapper.c
|
||||||
+++ src/wrapper.c 2008-01-07 13:06:01.941835371 +0100
|
+++ src/wrapper.c 2008-01-07 13:06:01.941835000 +0100
|
||||||
@@ -25,6 +25,7 @@
|
@@ -25,6 +25,7 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 30 12:09:07 CET 2008 - werner@suse.de
|
||||||
|
|
||||||
|
- Make mandb cron job ionice bnc#356792
|
||||||
|
- Avoid assert on wrong locale man path
|
||||||
|
- Do mix bits of get_catpath() with hash tags in man db files
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jan 18 15:29:48 CET 2008 - mkoenig@suse.de
|
Fri Jan 18 15:29:48 CET 2008 - mkoenig@suse.de
|
||||||
|
|
||||||
|
30
man.spec
30
man.spec
@ -23,7 +23,7 @@ BuildRequires: gettext-runtime gettext-tools
|
|||||||
BuildRequires: gettext gettext-devel
|
BuildRequires: gettext gettext-devel
|
||||||
%endif
|
%endif
|
||||||
Version: 2.5.0
|
Version: 2.5.0
|
||||||
Release: 11
|
Release: 14
|
||||||
Summary: A Program for Displaying man Pages
|
Summary: A Program for Displaying man Pages
|
||||||
License: GPL v2 or later
|
License: GPL v2 or later
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
@ -172,15 +172,27 @@ test -d var/catman/ && rm -rf var/catman/ || true
|
|||||||
%{_bindir}/apropos
|
%{_bindir}/apropos
|
||||||
%{_bindir}/catman
|
%{_bindir}/catman
|
||||||
%{_bindir}/lexgrog
|
%{_bindir}/lexgrog
|
||||||
|
%if %suse_version > 1030
|
||||||
%attr(0755,root,root) %{_bindir}/man
|
%attr(0755,root,root) %{_bindir}/man
|
||||||
%attr(0755,root,root) %{_bindir}/mandb
|
%attr(0755,root,root) %{_bindir}/mandb
|
||||||
|
%else
|
||||||
|
%attr(4755,root,root) %{_bindir}/man
|
||||||
|
%attr(4755,root,root) %{_bindir}/mandb
|
||||||
|
%endif
|
||||||
%{_bindir}/manpath
|
%{_bindir}/manpath
|
||||||
%{_bindir}/whatis
|
%{_bindir}/whatis
|
||||||
%{_bindir}/zsoelim
|
%{_bindir}/zsoelim
|
||||||
|
%if %suse_version > 1030
|
||||||
|
%dir %attr(0755,root,root) %{_prefix}/lib/man-db
|
||||||
|
%attr(0755,root,root) %{_prefix}/lib/man-db/man
|
||||||
|
%attr(0755,root,root) %{_prefix}/lib/man-db/mandb
|
||||||
|
%attr(0755,man,man) %{_prefix}/lib/man-db/manconv
|
||||||
|
%else
|
||||||
%dir %attr(0711,root,root) %{_prefix}/lib/man-db
|
%dir %attr(0711,root,root) %{_prefix}/lib/man-db
|
||||||
%attr(0711,root,root) %{_prefix}/lib/man-db/man
|
%attr(0711,root,root) %{_prefix}/lib/man-db/man
|
||||||
%attr(0711,root,root) %{_prefix}/lib/man-db/mandb
|
%attr(0711,root,root) %{_prefix}/lib/man-db/mandb
|
||||||
%attr(0755,man,man) %{_prefix}/lib/man-db/manconv
|
%attr(0711,man,man) %{_prefix}/lib/man-db/manconv
|
||||||
|
%endif
|
||||||
%{_sbindir}/accessdb
|
%{_sbindir}/accessdb
|
||||||
%{_datadir}/groff/site-tmac/tmac.andb
|
%{_datadir}/groff/site-tmac/tmac.andb
|
||||||
%{_datadir}/groff/site-tmac/tmac.andocdb
|
%{_datadir}/groff/site-tmac/tmac.andocdb
|
||||||
@ -227,6 +239,10 @@ test -d var/catman/ && rm -rf var/catman/ || true
|
|||||||
%{_localstatedir}/adm/fillup-templates/sysconfig.cron-man
|
%{_localstatedir}/adm/fillup-templates/sysconfig.cron-man
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jan 30 2008 werner@suse.de
|
||||||
|
- Make mandb cron job ionice bnc#356792
|
||||||
|
- Avoid assert on wrong locale man path
|
||||||
|
- Do mix bits of get_catpath() with hash tags in man db files
|
||||||
* Fri Jan 18 2008 mkoenig@suse.de
|
* Fri Jan 18 2008 mkoenig@suse.de
|
||||||
- Fix path in sysconfig.cron-man [#350542]
|
- Fix path in sysconfig.cron-man [#350542]
|
||||||
* Mon Jan 07 2008 werner@suse.de
|
* Mon Jan 07 2008 werner@suse.de
|
||||||
@ -478,7 +494,7 @@ test -d var/catman/ && rm -rf var/catman/ || true
|
|||||||
When using both setlocale(LC_MESSAGES,"") *and*
|
When using both setlocale(LC_MESSAGES,"") *and*
|
||||||
setlocale(LC_CTYPE,"") but not setlocale(LC_ALL,""),
|
setlocale(LC_CTYPE,"") but not setlocale(LC_ALL,""),
|
||||||
everything seems to work correctly.
|
everything seems to work correctly.
|
||||||
* Tue Dec 05 2000 bk@suse.de
|
* Wed Dec 06 2000 bk@suse.de
|
||||||
- added %%dir /usr/share/man/{de,es,it,ja}+man[158] to file list
|
- added %%dir /usr/share/man/{de,es,it,ja}+man[158] to file list
|
||||||
* Fri Sep 15 2000 pthomas@suse.de
|
* Fri Sep 15 2000 pthomas@suse.de
|
||||||
- Add 3C++, 3C++std and 8C++ to the list of man sections, the
|
- Add 3C++, 3C++std and 8C++ to the list of man sections, the
|
||||||
@ -507,12 +523,12 @@ test -d var/catman/ && rm -rf var/catman/ || true
|
|||||||
- patched configure.in to prefer gdbm
|
- patched configure.in to prefer gdbm
|
||||||
* Mon Sep 13 1999 bs@suse.de
|
* Mon Sep 13 1999 bs@suse.de
|
||||||
- ran old prepare_spec on spec file to switch to new prepare_spec.
|
- ran old prepare_spec on spec file to switch to new prepare_spec.
|
||||||
* Mon Sep 06 1999 ro@suse.de
|
* Tue Sep 07 1999 ro@suse.de
|
||||||
- removed (now) conflicting redeclarations from zsoelim.l
|
- removed (now) conflicting redeclarations from zsoelim.l
|
||||||
* Thu Sep 02 1999 werner@suse.de
|
* Thu Sep 02 1999 werner@suse.de
|
||||||
- Make man.c work again
|
- Make man.c work again
|
||||||
- Use RPM_OPT_FLAGS
|
- Use RPM_OPT_FLAGS
|
||||||
* Mon Aug 30 1999 werner@suse.de
|
* Tue Aug 31 1999 werner@suse.de
|
||||||
- Few simple changes
|
- Few simple changes
|
||||||
* drop privileges before chdir back into current directory
|
* drop privileges before chdir back into current directory
|
||||||
* do not search for local man page if not given `-l'
|
* do not search for local man page if not given `-l'
|
||||||
@ -526,14 +542,14 @@ test -d var/catman/ && rm -rf var/catman/ || true
|
|||||||
- Add allman sub tree to fsstnd tree
|
- Add allman sub tree to fsstnd tree
|
||||||
* Fri Jul 09 1999 ro@suse.de
|
* Fri Jul 09 1999 ro@suse.de
|
||||||
- fixed filelist
|
- fixed filelist
|
||||||
* Tue Jul 06 1999 werner@suse.de
|
* Wed Jul 07 1999 werner@suse.de
|
||||||
- Update to debian version 2.3.10-69i
|
- Update to debian version 2.3.10-69i
|
||||||
* Change from /var/catman/ to /var/cache/man/
|
* Change from /var/catman/ to /var/cache/man/
|
||||||
* Make /usr/share/man/ possible
|
* Make /usr/share/man/ possible
|
||||||
* Buildin NLS support
|
* Buildin NLS support
|
||||||
- Fix some debian bugs (sig handlers!)
|
- Fix some debian bugs (sig handlers!)
|
||||||
- Add SuSE bug fixes (sig handler) and zlib feature
|
- Add SuSE bug fixes (sig handler) and zlib feature
|
||||||
* Wed Jun 30 1999 werner@suse.de
|
* Thu Jul 01 1999 werner@suse.de
|
||||||
- First changes for SuSE 6.2
|
- First changes for SuSE 6.2
|
||||||
* Use fopencookie in zsoelim if glibc 2.1 or higher to avoid any
|
* Use fopencookie in zsoelim if glibc 2.1 or higher to avoid any
|
||||||
possible link attack in /tmp/
|
possible link attack in /tmp/
|
||||||
|
Loading…
Reference in New Issue
Block a user