From fb7459cae470884fde459b12f984a36c42c12a7a Mon Sep 17 00:00:00 2001 From: Peter Schiffer Date: Wed, 24 Oct 2012 18:10:49 +0200 Subject: [PATCH] - adds support for man-pages-overrides --- man-db-2.6.3-overrides.patch | 63 ++++++++++++++++++++++++++++++++++++ man-db.spec | 6 +++- 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 man-db-2.6.3-overrides.patch diff --git a/man-db-2.6.3-overrides.patch b/man-db-2.6.3-overrides.patch new file mode 100644 index 0000000..23707eb --- /dev/null +++ b/man-db-2.6.3-overrides.patch @@ -0,0 +1,63 @@ +diff -up man-db-2.6.3/src/manp.c.overrides man-db-2.6.3/src/manp.c +--- man-db-2.6.3/src/manp.c.overrides 2012-10-24 16:52:35.134486439 +0200 ++++ man-db-2.6.3/src/manp.c 2012-10-24 16:59:28.300037133 +0200 +@@ -51,6 +51,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -95,6 +96,9 @@ static struct list *namestore, *tailstor + #define MANPATH_MAP 0 + #define MANDATORY 1 + ++/* Subdirectory of MANPATH entries searched for man pages before the directory itself. */ ++#define OVERRIDES_DIR "/overrides" ++ + /* DIRLIST list[MAXDIRS]; */ + static char *tmplist[MAXDIRS]; + +@@ -933,6 +937,7 @@ char *get_manpath_from_path (const char + char **lp; + char *end; + char *manpathlist; ++ char overrides[MAXPATHLEN]; + struct list *list; + + tmppath = xstrdup (path); +@@ -960,6 +965,9 @@ char *get_manpath_from_path (const char + if (mandir_list) { + debug ("is in the config file\n"); + while (mandir_list) { ++ strcpy(overrides, mandir_list->cont); ++ strcat(overrides, OVERRIDES_DIR); ++ add_dir_to_list (tmplist, overrides); + add_dir_to_list (tmplist, mandir_list->cont); + mandir_list = iterate_over_list + (mandir_list, p, MANPATH_MAP); +@@ -978,6 +986,9 @@ char *get_manpath_from_path (const char + "../share/man, or share/man " + "subdirectory\n"); + ++ strcpy(overrides, t); ++ strcat(overrides, OVERRIDES_DIR); ++ add_dir_to_list (tmplist, overrides); + add_dir_to_list (tmplist, t); + free (t); + } else +@@ -993,8 +1004,12 @@ char *get_manpath_from_path (const char + debug ("\nadding mandatory man directories\n\n"); + + for (list = namestore; list; list = list->next) +- if (list->flag == MANDATORY) ++ if (list->flag == MANDATORY) { ++ strcpy(overrides, list->key); ++ strcat(overrides, OVERRIDES_DIR); ++ add_dir_to_list (tmplist, overrides); + add_dir_to_list (tmplist, list->key); ++ } + } + + len = 0; diff --git a/man-db.spec b/man-db.spec index 47d821f..3530182 100644 --- a/man-db.spec +++ b/man-db.spec @@ -25,6 +25,8 @@ Patch2: man-db-2.6.1-so-links.patch Patch3: man-db-2.6.1-locale-fallback.patch # resolves: #841431 Patch4: man-db-2.6.2-invalid-cache.patch +# adds support for man-pages-overrides +Patch5: man-db-2.6.3-overrides.patch Obsoletes: man < 2.0 Provides: man = %{version} @@ -50,6 +52,7 @@ manual pages. %patch2 -p1 -b .so-links %patch3 -p1 -b .locale-fallback %patch4 -p1 -b .invalid-cache +%patch5 -p1 -b .overrides %build %configure \ @@ -120,12 +123,13 @@ install -D -p -m 0644 %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/man-db %lang(it) %{_datadir}/man/it/man*/* %changelog -* Thu Oct 18 2012 Peter Schiffer - 2.6.3-1 +* Wed Oct 24 2012 Peter Schiffer - 2.6.3-1 - resolves: #858577 updated to 2.6.3 - cleaned .spec file - resolves: #855632 fixed SIGABRT crash +- adds support for man-pages-overrides * Tue Jul 31 2012 Peter Schiffer - 2.6.2-5 - resolves: #841431