diff --git a/man-db-2.10.0-fix-override-dir-handling.patch b/man-db-2.10.0-fix-override-dir-handling.patch deleted file mode 100644 index aee2f9c567f62e692bd6de9b3c666b04c363bfbe..0000000000000000000000000000000000000000 --- a/man-db-2.10.0-fix-override-dir-handling.patch +++ /dev/null @@ -1,202 +0,0 @@ -From b8483c4db97f6f879fe5e532a2ec66e9363033c9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Nikola=20Forr=C3=B3?= -Date: Tue, 27 Aug 2019 17:53:03 +0200 -Subject: [PATCH] man(1): Fix override dir handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Previously, override dir was affecting only some cases -of manpath determination. - -Apply it only when all paths has been gathered instead. -(Depending on the definition of when the override dir applies, -this might not be correct). - -Also look for override dir when sorting candidates. - -Fixes src/tests/man-9 failing when --with-override-dir=od -is passed to ./configure. - -Reported-by: Nikola Forró -Tested-by: Nikola Forró ---- - src/man.c | 33 +++++++++++++++++++++++++++++++++ - src/manp.c | 52 ++++++++++++++++++++-------------------------------- - 2 files changed, 53 insertions(+), 32 deletions(-) - -diff --git a/src/man.c b/src/man.c -index f16fae8..29c8671 100644 ---- a/src/man.c -+++ b/src/man.c -@@ -2728,6 +2728,32 @@ static bool duplicate_candidates (struct candidate *left, - return ret; - } - -+static int cand1_differs_by_override_dir (const struct candidate *left, -+ const struct candidate *right) -+{ -+ size_t ov_len, pre_ov_len; -+ -+ ov_len = strlen (OVERRIDE_DIR); -+ if (!ov_len) -+ return 0; -+ -+ if (!STREQ (left->source->name, right->source->name)) -+ return 0; -+ -+ pre_ov_len = strlen(right->path); -+ if (!STRNEQ (left->path, right->path, pre_ov_len)) -+ return 0; -+ -+ if (left->path[pre_ov_len] != '/') -+ return 0; -+ pre_ov_len++; -+ -+ if (STREQ (left->path + pre_ov_len, OVERRIDE_DIR)) -+ return 1; -+ -+ return 0; -+} -+ - static int compare_candidates (const struct candidate *left, - const struct candidate *right) - { -@@ -2817,6 +2843,13 @@ static int compare_candidates (const struct candidate *left, - if (cmp) - return cmp; - -+ /* Sort override dir first -+ */ -+ if (cand1_differs_by_override_dir(left, right)) -+ return -1; -+ if (cand1_differs_by_override_dir(right, left)) -+ return 1; -+ - /* Try comparing based on language. We used to prefer to display a - * page in the user's preferred language than a page from a better - * section, but that attracted objections, so now we prefer to get -diff --git a/src/manp.c b/src/manp.c -index 80b309a..4e3bff0 100644 ---- a/src/manp.c -+++ b/src/manp.c -@@ -911,23 +911,6 @@ static char *def_path (enum config_flag flag) - return manpath; - } - --/* -- * If specified with configure, append OVERRIDE_DIR to dir param and add it -- * to list. -- */ --static void insert_override_dir (gl_list_t list, const char *dir) --{ -- char *override_dir = NULL; -- -- if (!strlen (OVERRIDE_DIR)) -- return; -- -- if ((override_dir = xasprintf ("%s/%s", dir, OVERRIDE_DIR))) { -- add_dir_to_list (list, override_dir); -- free (override_dir); -- } --} -- - /* - * For each directory in the user's path, see if it is one of the - * directories listed in the man_db.config file. If so, and it is -@@ -976,7 +959,6 @@ char *get_manpath_from_path (const char *path, int mandatory) - if (!manpath_map_found) - debug ("is in the config file\n"); - manpath_map_found = true; -- insert_override_dir (tmplist, config_item->cont); - add_dir_to_list (tmplist, config_item->cont); - } - -@@ -998,8 +980,6 @@ char *get_manpath_from_path (const char *path, int mandatory) - - GL_LIST_FOREACH (config, config_item) { - if (config_item->flag == MANDATORY) { -- insert_override_dir (tmplist, -- config_item->key); - add_dir_to_list (tmplist, config_item->key); - } - } -@@ -1084,7 +1064,6 @@ static void add_man_subdirs (gl_list_t list, const char *path) - if (subdir) { - newpath = xasprintf ("%.*s/man", (int) (subdir - path), path); - if (is_directory (newpath) == 1) { -- insert_override_dir (list, newpath); - add_dir_to_list (list, newpath); - } - free (newpath); -@@ -1092,7 +1071,6 @@ static void add_man_subdirs (gl_list_t list, const char *path) - - newpath = xasprintf ("%s/man", path); - if (is_directory (newpath) == 1) { -- insert_override_dir (list, newpath); - add_dir_to_list (list, newpath); - } - free (newpath); -@@ -1101,7 +1079,6 @@ static void add_man_subdirs (gl_list_t list, const char *path) - newpath = xasprintf ("%.*s/share/man", - (int) (subdir - path), path); - if (is_directory (newpath) == 1) { -- insert_override_dir (list, newpath); - add_dir_to_list (list, newpath); - } - free (newpath); -@@ -1109,7 +1086,6 @@ static void add_man_subdirs (gl_list_t list, const char *path) - - newpath = xasprintf ("%s/share/man", path); - if (is_directory (newpath) == 1) { -- insert_override_dir (list, newpath); - add_dir_to_list (list, newpath); - } - free (newpath); -@@ -1205,7 +1181,9 @@ gl_list_t create_pathlist (const char *manp) - const struct canonicalized_path *cp; - - /* Expand the manpath into a list of (path, canonicalized path) -- * pairs for easier handling. add_dir_to_path_list only adds items -+ * pairs for easier handling. For each entry, add corresponding -+ * OVERRIDE_DIR. -+ * add_dir_to_path_list only adds items - * if they do not have the same canonicalized path as an existing - * item, thereby eliminating duplicates due to symlinks. - */ -@@ -1214,15 +1192,25 @@ gl_list_t create_pathlist (const char *manp) - (GL_LINKEDHASH_LIST, canonicalized_path_equals, - canonicalized_path_hash, canonicalized_path_free, false); - for (p = manp;; p = end + 1) { -+ char *element, *element_override; -+ ssize_t p_len; -+ - end = strchr (p, ':'); -- if (end) { -- char *element = xstrndup (p, end - p); -- add_dir_to_path_list (canonicalized_list, element); -- free (element); -- } else { -- add_dir_to_path_list (canonicalized_list, p); -- break; -+ p_len = end ? end - p : (ssize_t)strlen(p); -+ -+ element = xstrndup (p, p_len); -+ -+ if (strlen(OVERRIDE_DIR)) { -+ element_override = xasprintf("%s/%s", element, OVERRIDE_DIR); -+ add_dir_to_path_list (canonicalized_list, element_override); -+ free (element_override); - } -+ -+ add_dir_to_path_list (canonicalized_list, element); -+ free (element); -+ -+ if (!end) -+ break; - } - - list = new_string_list (GL_ARRAY_LIST, false); --- -2.34.1 - diff --git a/man-db-2.10.1.tar.xz b/man-db-2.10.1.tar.xz deleted file mode 100644 index fc732b936a5906bd1636b6acc40ced7ce766cb85..0000000000000000000000000000000000000000 Binary files a/man-db-2.10.1.tar.xz and /dev/null differ diff --git a/man-db-2.11.1.tar.xz b/man-db-2.11.1.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..d20a1f56f38b11638d82e50a1731e4c9a1210562 Binary files /dev/null and b/man-db-2.11.1.tar.xz differ diff --git a/man-db.spec b/man-db.spec index ed8cdf6898bfe6059c8e1edc13f798e00d3f4866..d6b9632ef2a93537b2200c9dbd33f940390ce867 100644 --- a/man-db.spec +++ b/man-db.spec @@ -1,10 +1,9 @@ -%define anolis_release 2 +%define anolis_release 1 %global cache /var/cache/man -%global gnulib_ver 20140202 Summary: Tools for searching and reading man pages Name: man-db -Version: 2.10.1 +Version: 2.11.1 Release: %{anolis_release}%{?dist} # GPLv2+ .. man-db # GPLv3+ .. gnulib @@ -17,21 +16,18 @@ Source2: man-db.sysconfig Source3: man-db-cache-update.service Source4: man-db-restart-cache-update.service -# fix testsuite fail for man-db 2.10.1 -# http://lists.nongnu.org/archive/html/man-db-devel/2017-01/msg00013.html -Patch0: man-db-2.10.0-fix-override-dir-handling.patch - Obsoletes: man < 2.0 Provides: man = %{version} Provides: man-pages-reader = %{version} # FPC exception for gnulib - copylib - https://fedorahosted.org/fpc/ticket/174 -Provides: bundled(gnulib) = %{gnulib_ver} +Provides: bundled(gnulib) Requires: coreutils, grep, groff-base, gzip, less BuildRequires: make BuildRequires: gcc BuildRequires: systemd -BuildRequires: gdbm-devel, gettext, groff, less, libpipeline-devel, zlib-devel +BuildRequires: gdbm-devel, gettext, groff, less, zlib-devel +BuildRequires: pkgconfig(libpipeline) >= 1.5.0 BuildRequires: po4a, perl-interpreter, perl-version Requires(post): %{_sbindir}/update-alternatives @@ -74,11 +70,12 @@ This package provides periodic update of man-db cache. --disable-setuid --disable-cache-owner \ --with-systemdsystemunitdir=no \ --with-browser=elinks --with-lzip=lzip \ + --with-snapdir=/var/lib/snapd/snap \ --with-override-dir=overrides %make_build CC="%{__cc} %{optflags}" %check -make check +%make_build check %install %make_install prefix=%{_prefix} @@ -95,10 +92,7 @@ done mv $RPM_BUILD_ROOT%{_datadir}/doc/man-db/* ./ # remove zsoelim man page - part of groff package -rm $RPM_BUILD_ROOT%{_datadir}/man/man1/zsoelim.1 - -# remove libtool archives -rm $RPM_BUILD_ROOT%{_libdir}/man-db/*.la +rm $RPM_BUILD_ROOT%{_mandir}/man1/zsoelim.1 # install cache directory install -d -m 0755 $RPM_BUILD_ROOT%{cache} @@ -218,24 +212,24 @@ fi %{_mandir}/man8/accessdb.8* %{_mandir}/man8/catman.8* %{_mandir}/man8/mandb.8* -%lang(da) %{_datadir}/man/da/man*/* -%lang(de) %{_datadir}/man/de/man*/* -%lang(es) %{_datadir}/man/es/man*/* -%lang(fr) %{_datadir}/man/fr/man*/* -%lang(id) %{_datadir}/man/id/man*/* -%lang(it) %{_datadir}/man/it/man*/* -%lang(ja) %{_datadir}/man/ja/man*/* -%lang(nl) %{_datadir}/man/nl/man*/* -%lang(pl) %{_datadir}/man/pl/man*/* -%lang(pt) %{_datadir}/man/pt/man*/* -%lang(pt_BR) %{_datadir}/man/pt_BR/man*/* -%lang(ro) %{_datadir}/man/ro/man*/* -%lang(ru) %{_datadir}/man/ru/man*/* -%lang(sr) %{_datadir}/man/sr/man*/* -%lang(sv) %{_datadir}/man/sv/man*/* -%lang(tr) %{_datadir}/man/tr/man*/* -%lang(zh_CN) %{_datadir}/man/zh_CN/man*/* -%{abidir}/*-option.list +%lang(da) %{_mandir}/da/man*/* +%lang(de) %{_mandir}/de/man*/* +%lang(es) %{_mandir}/es/man*/* +%lang(fr) %{_mandir}/fr/man*/* +%lang(id) %{_mandir}/id/man*/* +%lang(it) %{_mandir}/it/man*/* +%lang(ja) %{_mandir}/ja/man*/* +%lang(ko) %{_mandir}/ko/man*/* +%lang(nl) %{_mandir}/nl/man*/* +%lang(pl) %{_mandir}/pl/man*/* +%lang(pt) %{_mandir}/pt/man*/* +%lang(pt_BR) %{_mandir}/pt_BR/man*/* +%lang(ro) %{_mandir}/ro/man*/* +%lang(ru) %{_mandir}/ru/man*/* +%lang(sr) %{_mandir}/sr/man*/* +%lang(sv) %{_mandir}/sv/man*/* +%lang(tr) %{_mandir}/tr/man*/* +%lang(zh_CN) %{_mandir}/zh_CN/man*/* %{abidir}/libman*.dump %files doc @@ -245,6 +239,9 @@ fi %config(noreplace) %{_sysconfdir}/cron.daily/man-db.cron %changelog +* Wed Nov 16 2022 Funda Wang - 2.11.1-1 +- New version 2.11.1 + * Tue Oct 18 2022 mgb01105731 - 2.10.1-2 - optimis spec file & add doc package