From 0fedc162ca6d05cb6306527f7d30639f66208dbe Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 17 May 2022 06:45:11 -0400 Subject: [PATCH] import man-db-2.9.3-6.el9 --- .gitignore | 1 + .man-db.metadata | 1 + ...n-db-2.8.3-change-owner-of-man-cache.patch | 19 + ...n-db-2.8.7-fix-override-dir-handling.patch | 206 ++++++ SOURCES/man-db-2.9.1-snap.patch | 13 + SOURCES/man-db-2.9.3-coverity.patch | 58 ++ SOURCES/man-db-cache-update.service | 11 + SOURCES/man-db-restart-cache-update.service | 11 + SOURCES/man-db.crondaily | 27 + SOURCES/man-db.sysconfig | 10 + SPECS/man-db.spec | 677 ++++++++++++++++++ 11 files changed, 1034 insertions(+) create mode 100644 .gitignore create mode 100644 .man-db.metadata create mode 100644 SOURCES/man-db-2.8.3-change-owner-of-man-cache.patch create mode 100644 SOURCES/man-db-2.8.7-fix-override-dir-handling.patch create mode 100644 SOURCES/man-db-2.9.1-snap.patch create mode 100644 SOURCES/man-db-2.9.3-coverity.patch create mode 100644 SOURCES/man-db-cache-update.service create mode 100644 SOURCES/man-db-restart-cache-update.service create mode 100644 SOURCES/man-db.crondaily create mode 100644 SOURCES/man-db.sysconfig create mode 100644 SPECS/man-db.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..652bff5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/man-db-2.9.3.tar.xz diff --git a/.man-db.metadata b/.man-db.metadata new file mode 100644 index 0000000..b1c55fe --- /dev/null +++ b/.man-db.metadata @@ -0,0 +1 @@ +76ec7a9f5222fbd6fc5364929270a4790094a617 SOURCES/man-db-2.9.3.tar.xz diff --git a/SOURCES/man-db-2.8.3-change-owner-of-man-cache.patch b/SOURCES/man-db-2.8.3-change-owner-of-man-cache.patch new file mode 100644 index 0000000..2e196a7 --- /dev/null +++ b/SOURCES/man-db-2.8.3-change-owner-of-man-cache.patch @@ -0,0 +1,19 @@ +From 99dd120b952a2a27fa31ae005149e6aaaed28755 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nikola=20Forr=C3=B3?= +Date: Fri, 6 Apr 2018 11:52:33 +0200 +Subject: [PATCH] Set owner of man cache to root + +--- + init/systemd/man-db.conf.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/init/systemd/man-db.conf.in b/init/systemd/man-db.conf.in +index 7a461e8..cac2b52 100644 +--- a/init/systemd/man-db.conf.in ++++ b/init/systemd/man-db.conf.in +@@ -1 +1 @@ +-d /var/cache/man 0755 @cache_top_owner@ @cache_top_owner@ 1w ++d /var/cache/man 0755 root root 1w +-- +2.13.6 + diff --git a/SOURCES/man-db-2.8.7-fix-override-dir-handling.patch b/SOURCES/man-db-2.8.7-fix-override-dir-handling.patch new file mode 100644 index 0000000..4857c30 --- /dev/null +++ b/SOURCES/man-db-2.8.7-fix-override-dir-handling.patch @@ -0,0 +1,206 @@ +From c73e7dd16b7915ac9c67a376e014ea1220095348 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 | 55 +++++++++++++++++++++--------------------------------- + 2 files changed, 54 insertions(+), 34 deletions(-) + +diff --git a/src/man.c b/src/man.c +index 6d1cba7..b3d13d1 100644 +--- a/src/man.c ++++ b/src/man.c +@@ -2712,6 +2712,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) + { +@@ -2801,6 +2827,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 5441339..e437183 100644 +--- a/src/manp.c ++++ b/src/manp.c +@@ -903,23 +903,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 +@@ -968,7 +951,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); + } GL_LIST_FOREACH_END (config); + +@@ -989,11 +971,8 @@ char *get_manpath_from_path (const char *path, int mandatory) + debug ("adding mandatory man directories\n"); + + GL_LIST_FOREACH_START (config, config_item) { +- if (config_item->flag == MANDATORY) { +- insert_override_dir (tmplist, +- config_item->key); ++ if (config_item->flag == MANDATORY) + add_dir_to_list (tmplist, config_item->key); +- } + } GL_LIST_FOREACH_END (config); + } + +@@ -1078,7 +1057,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); +@@ -1086,7 +1064,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); +@@ -1095,7 +1072,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); +@@ -1103,7 +1079,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); +@@ -1199,7 +1174,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. + */ +@@ -1208,15 +1185,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.26.2 + diff --git a/SOURCES/man-db-2.9.1-snap.patch b/SOURCES/man-db-2.9.1-snap.patch new file mode 100644 index 0000000..bb6f759 --- /dev/null +++ b/SOURCES/man-db-2.9.1-snap.patch @@ -0,0 +1,13 @@ +diff --git a/src/man_db.conf.in b/src/man_db.conf.in +index 2942000..6365ca0 100644 +--- a/src/man_db.conf.in ++++ b/src/man_db.conf.in +@@ -69,7 +69,7 @@ MANDB_MAP /usr/local/man /var/cache/man/oldlocal + MANDB_MAP /usr/local/share/man /var/cache/man/local + MANDB_MAP /usr/X11R6/man /var/cache/man/X11R6 + MANDB_MAP /opt/man /var/cache/man/opt +-MANDB_MAP /snap/man /var/cache/man/snap ++MANDB_MAP /var/lib/snapd/snap/man /var/cache/man/snap + # + #--------------------------------------------------------- + # Program definitions. These are commented out by default as the value diff --git a/SOURCES/man-db-2.9.3-coverity.patch b/SOURCES/man-db-2.9.3-coverity.patch new file mode 100644 index 0000000..1adfbd7 --- /dev/null +++ b/SOURCES/man-db-2.9.3-coverity.patch @@ -0,0 +1,58 @@ +diff --git a/src/man.c b/src/man.c +index b3d13d1..030a5d1 100644 +--- a/src/man.c ++++ b/src/man.c +@@ -991,11 +991,17 @@ static char *get_preprocessors_from_file (pipeline *decomp, int prefixes) + + if (!strncmp (line, PP_COOKIE, 4)) { + const char *newline = strchr (line, '\n'); +- if (newline) +- return xstrndup (line + 4, newline - (line + 4)); +- else +- return xstrdup (line + 4); ++ if (newline) { ++ char *ret = xstrndup (line + 4, newline - (line + 4)); ++ free (line); ++ return ret; ++ } else { ++ char *ret = xstrdup (line + 4); ++ free (line); ++ return ret; ++ } + } ++ free (line); + return NULL; + } + +@@ -2401,6 +2407,7 @@ static int display (const char *dir, const char *man_file, + if (!found) { + pipeline_free (format_cmd); + pipeline_free (decomp); ++ free (formatted_encoding); + return found; + } + +diff --git a/src/zsoelim.c b/src/zsoelim.c +index bf5c8ff..6a484c4 100644 +--- a/src/zsoelim.c ++++ b/src/zsoelim.c +@@ -2528,6 +2528,7 @@ int zsoelim_open_file (const char *filename, gl_list_t manpathlist, + if (decomp) { + NAME = xstrdup (found_name); + gl_list_free (names); ++ free (name); + goto out; + } + } GL_LIST_FOREACH_END (names); +diff --git a/src/zsoelim.l b/src/zsoelim.l +index a8a7e3b..3cb552b 100644 +--- a/src/zsoelim.l ++++ b/src/zsoelim.l +@@ -473,6 +473,7 @@ int zsoelim_open_file (const char *filename, gl_list_t manpathlist, + if (decomp) { + NAME = xstrdup (found_name); + gl_list_free (names); ++ free (name); + goto out; + } + } GL_LIST_FOREACH_END (names); diff --git a/SOURCES/man-db-cache-update.service b/SOURCES/man-db-cache-update.service new file mode 100644 index 0000000..fdf08d7 --- /dev/null +++ b/SOURCES/man-db-cache-update.service @@ -0,0 +1,11 @@ +[Unit] +After=local-fs.target + +[Service] +Type=oneshot +Environment=MAN_NO_LOCALE_WARNING=1 +EnvironmentFile=/etc/sysconfig/man-db +ExecStart=/bin/sh -c '[ "$SERVICE" != "no" ] && /usr/bin/mandb $OPTS || true' +ExecStopPost=/bin/sh -c '[ "$SERVICE_RESULT" == "signal" ] && /usr/bin/systemctl enable man-db-restart-cache-update.service || true' +Nice=19 +IOWeight=20 diff --git a/SOURCES/man-db-restart-cache-update.service b/SOURCES/man-db-restart-cache-update.service new file mode 100644 index 0000000..1d0d6ef --- /dev/null +++ b/SOURCES/man-db-restart-cache-update.service @@ -0,0 +1,11 @@ +[Unit] +Before=multi-user.target + +[Service] +Type=oneshot +ExecStartPre=/usr/bin/rm -rf /var/cache/man/* +ExecStart=/usr/bin/systemd-run /usr/bin/systemctl start man-db-cache-update.service +ExecStartPost=/usr/bin/systemctl disable man-db-restart-cache-update.service + +[Install] +WantedBy=multi-user.target diff --git a/SOURCES/man-db.crondaily b/SOURCES/man-db.crondaily new file mode 100644 index 0000000..6e95c16 --- /dev/null +++ b/SOURCES/man-db.crondaily @@ -0,0 +1,27 @@ +#!/bin/bash + +if [ -e /etc/sysconfig/man-db ]; then + . /etc/sysconfig/man-db +fi + +if [ "$CRON" = "no" ]; then + exit 0 +fi + +renice +19 -p $$ >/dev/null 2>&1 +ionice -c3 -p $$ >/dev/null 2>&1 + +LOCKFILE=/var/lock/man-db.lock + +# the lockfile is not meant to be perfect, it's just in case the +# two man-db cron scripts get run close to each other to keep +# them from stepping on each other's toes. The worst that will +# happen is that they will temporarily corrupt the database +[[ -f $LOCKFILE ]] && exit 0 + +trap "{ rm -f $LOCKFILE ; exit 0; }" EXIT +touch $LOCKFILE +# create/update the mandb database +mandb $OPTS + +exit 0 diff --git a/SOURCES/man-db.sysconfig b/SOURCES/man-db.sysconfig new file mode 100644 index 0000000..e7449df --- /dev/null +++ b/SOURCES/man-db.sysconfig @@ -0,0 +1,10 @@ +# Set this to "no" to disable man-db update triggered by installation +# of any package containing manual pages +SERVICE="yes" + +# Set this to "no" to disable daily man-db update run by +# /etc/cron.daily/man-db.cron +CRON="yes" + +# Options used by mandb, we use "-q" as default, too much noise without it +OPTS="-q" diff --git a/SPECS/man-db.spec b/SPECS/man-db.spec new file mode 100644 index 0000000..eb6dc8b --- /dev/null +++ b/SPECS/man-db.spec @@ -0,0 +1,677 @@ +%global cache /var/cache/man +%global gnulib_ver 20140202 + +Summary: Tools for searching and reading man pages +Name: man-db +Version: 2.9.3 +Release: 6%{?dist} +# GPLv2+ .. man-db +# GPLv3+ .. gnulib +License: GPLv2+ and GPLv3+ +URL: http://www.nongnu.org/man-db/ + +Source0: http://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.tar.xz +Source1: man-db.crondaily +Source2: man-db.sysconfig +Source3: man-db-cache-update.service +Source4: man-db-restart-cache-update.service +Patch0: man-db-2.8.3-change-owner-of-man-cache.patch + +# http://lists.nongnu.org/archive/html/man-db-devel/2017-01/msg00013.html +Patch1: man-db-2.8.7-fix-override-dir-handling.patch + +# change snap system directory from /snap to /var/lib/snapd/snap +# https://lists.gnu.org/archive/html/man-db-devel/2020-02/msg00000.html +Patch2: man-db-2.9.1-snap.patch + +# fix important Covscan defects +Patch3: man-db-2.9.3-coverity.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} + +Requires: coreutils, grep, groff-base, gzip, less +BuildRequires: make +BuildRequires: gcc +BuildRequires: systemd +BuildRequires: gdbm-devel, gettext, groff, less, libpipeline-devel, zlib-devel +BuildRequires: po4a, perl-interpreter, perl-version + +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives +Requires(preun): %{_sbindir}/update-alternatives + +%description +The man-db package includes five tools for browsing man-pages: +man, whatis, apropos, manpath and lexgrog. man formats and displays +manual pages. whatis searches the manual page names. apropos searches the +manual page names and descriptions. manpath determines search path +for manual pages. lexgrog directly reads header information in +manual pages. + +%package cron +Summary: Periodic update of man-db cache + +Requires: %{name} = %{version}-%{release} +Requires: crontabs + +BuildArch: noarch + +%description cron +This package provides periodic update of man-db cache. + +%prep +%autosetup -p1 + +%build +%configure \ + --with-sections="1 1p 8 2 3 3p 3pm 4 5 6 7 9 0p n l p o 1x 2x 3x 4x 5x 6x 7x 8x" \ + --disable-setuid --disable-cache-owner \ + --with-systemdsystemunitdir=no \ + --with-browser=elinks --with-lzip=lzip \ + --with-override-dir=overrides +%make_build CC="%{__cc} %{optflags}" + +%check +make check + +%install +%make_install prefix=%{_prefix} + +# rename files for alternative usage +for f in man apropos whatis; do + mv %{buildroot}%{_bindir}/$f %{buildroot}%{_bindir}/$f.%{name} + touch %{buildroot}%{_bindir}/$f + mv %{buildroot}%{_mandir}/man1/$f.1 %{buildroot}%{_mandir}/man1/$f.%{name}.1 + touch %{buildroot}%{_mandir}/man1/$f.1 +done + +# move the documentation to the relevant place +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 + +# install cache directory +install -d -m 0755 $RPM_BUILD_ROOT%{cache} + +# install cron script for man-db creation/update +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily +install -D -p -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/man-db.cron + +# config for cron script +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig +install -D -p -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/man-db + +# config for tmpfiles.d +install -D -p -m 0644 init/systemd/man-db.conf $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/. + +# man-db-cache-update.service and man-db-restart-cache-update.service +install -D -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/man-db-cache-update.service +install -D -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_unitdir}/man-db-restart-cache-update.service + +%find_lang %{name} +%find_lang %{name}-gnulib + +%pre +# remove alternativized files if they are not symlinks +for f in man apropos whatis; do + [ -L %{_bindir}/$f ] || %{__rm} -f %{_bindir}/$f >/dev/null 2>&1 || : + [ -L %{_mandir}/man1/$f.1.gz ] || %{__rm} -f %{_mandir}/man1/$f.1.gz >/dev/null 2>&1 || : +done + +# stop and disable timer from previous builds +if [ -e /usr/lib/systemd/system/mandb.timer ]; then + if test -d /run/systemd; then + systemctl stop man-db.timer >/dev/null 2>&1 || : + systemctl -q disable man-db.timer >/dev/null 2>&1 || : + fi +fi + +%post +# set up the alternatives files +%{_sbindir}/update-alternatives --install %{_bindir}/man man %{_bindir}/man.%{name} 300 \ + --slave %{_bindir}/apropos apropos %{_bindir}/apropos.%{name} \ + --slave %{_bindir}/whatis whatis %{_bindir}/whatis.%{name} \ + --slave %{_mandir}/man1/man.1.gz man.1.gz %{_mandir}/man1/man.%{name}.1.gz \ + --slave %{_mandir}/man1/apropos.1.gz apropos.1.gz %{_mandir}/man1/apropos.%{name}.1.gz \ + --slave %{_mandir}/man1/whatis.1.gz whatis.1.gz %{_mandir}/man1/whatis.%{name}.1.gz \ + >/dev/null 2>&1 || : + +# clear the old cache +%{__rm} -rf %{cache}/* >/dev/null 2>&1 || : + +%preun +if [ $1 -eq 0 ]; then + %{_sbindir}/update-alternatives --remove man %{_bindir}/man.%{name} >/dev/null 2>&1 || : +fi + +%postun +if [ $1 -ge 1 ]; then + if [ "$(readlink %{_sysconfdir}/alternatives/man)" == "%{_bindir}/man.%{name}" ]; then + %{_sbindir}/update-alternatives --set man %{_bindir}/man.%{name} >/dev/null 2>&1 || : + fi +fi + +%transfiletriggerin -- %{_mandir} +# update cache +if [ -x /usr/bin/systemd-run -a -x /usr/bin/systemctl ]; then + /usr/bin/systemd-run /usr/bin/systemctl start man-db-cache-update >/dev/null 2>&1 || : +fi + +%transfiletriggerpostun -- %{_mandir} +# update cache +if [ -x /usr/bin/systemd-run -a -x /usr/bin/systemctl ]; then + /usr/bin/systemd-run /usr/bin/systemctl start man-db-cache-update >/dev/null 2>&1 || : +fi + +%files -f %{name}.lang -f %{name}-gnulib.lang +%{!?_licensedir:%global license %%doc} +%license docs/COPYING +%doc README man-db-manual.txt man-db-manual.ps ChangeLog NEWS +%config(noreplace) %{_sysconfdir}/man_db.conf +%config(noreplace) %{_sysconfdir}/sysconfig/man-db +%config(noreplace) %{_tmpfilesdir}/man-db.conf +%{_unitdir}/man-db-cache-update.service +%{_unitdir}/man-db-restart-cache-update.service +%{_sbindir}/accessdb +%ghost %{_bindir}/man +%ghost %{_bindir}/apropos +%ghost %{_bindir}/whatis +%{_bindir}/man.%{name} +%{_bindir}/apropos.%{name} +%{_bindir}/whatis.%{name} +%{_bindir}/man-recode +%{_bindir}/manpath +%{_bindir}/lexgrog +%{_bindir}/catman +%{_bindir}/mandb +%dir %{_libdir}/man-db +%{_libdir}/man-db/*.so +%dir %{_libexecdir}/man-db +%{_libexecdir}/man-db/globbing +%{_libexecdir}/man-db/manconv +%{_libexecdir}/man-db/zsoelim +%verify(not mtime) %dir %{cache} +# documentation and translation +%ghost %{_mandir}/man1/man.1* +%ghost %{_mandir}/man1/apropos.1* +%ghost %{_mandir}/man1/whatis.1* +%{_mandir}/man1/man.%{name}.1* +%{_mandir}/man1/apropos.%{name}.1* +%{_mandir}/man1/whatis.%{name}.1* +%{_mandir}/man1/man-recode.1* +%{_mandir}/man1/lexgrog.1* +%{_mandir}/man1/manconv.1* +%{_mandir}/man1/manpath.1* +%{_mandir}/man5/manpath.5* +%{_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(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*/* + +%files cron +%config(noreplace) %{_sysconfdir}/cron.daily/man-db.cron + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 2.9.3-6 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Jul 30 2021 Nikola Forró - 2.9.3-5 +- fix important Covscan defects + resolves #1938814 + +* Fri Apr 16 2021 Mohan Boddu - 2.9.3-4 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 2.9.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Oct 09 2020 Jeff Law - 2.9.3-2 +- Re-enable LTO + +* Tue Oct 06 2020 Nikola Forró - 2.9.3-1 +- update to 2.9.3 + resolves #1849809 + +* Thu Sep 03 2020 Nikola Forró - 2.9.2-6 +- disable LTO to workaround a possible linker bug + related to #1871971 + +* Tue Aug 04 2020 Nikola Forró - 2.9.2-5 +- reenable LTO + +* Tue Jul 28 2020 Nikola Forró - 2.9.2-4 +- disable LTO to avoid linker bug + +* Tue Jul 28 2020 Fedora Release Engineering - 2.9.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 13 2020 Tom Stellard - 2.9.2-2 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Tue Jun 02 2020 Nikola Forró - 2.9.2-1 +- update to 2.9.2 + resolves #1842624 + +* Sun Mar 01 2020 Nikola Forró - 2.9.1-6 +- fix %pre scriptlet + +* Fri Feb 28 2020 Nikola Forró - 2.9.1-5 +- fix upgrades from non-alternativized versions properly + +* Fri Feb 28 2020 Nikola Forró - 2.9.1-4 +- fix upgrades from non-alternativized versions + +* Wed Feb 26 2020 Nikola Forró - 2.9.1-3 +- fix %postun scriptlet + +* Wed Feb 26 2020 Nikola Forró - 2.9.1-2 +- use alternatives for man, apropos and whatis + +* Wed Feb 26 2020 Nikola Forró - 2.9.1-1 +- update to 2.9.1 + resolves #1807144 + +* Wed Jan 29 2020 Fedora Release Engineering - 2.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jan 09 2020 Nikola Forró - 2.9.0-1 +- update to 2.9.0 + resolves #1764582 + +* Fri Sep 27 2019 Nikola Forró - 2.8.7-2 +- schedule interrupted cache update for the next boot, instead of blocking + system reboot/shutdown + resolves #1678464 + +* Fri Aug 30 2019 Nikola Forró - 2.8.7-1 +- update to 2.8.7 + resolves #1747042 + +* Tue Aug 27 2019 Nikola Forró - 2.8.6.1-1 +- update to 2.8.6.1 + resolves #1742475 + +* Thu Jul 25 2019 Fedora Release Engineering - 2.8.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 2.8.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 07 2019 Nikola Forró - 2.8.4-3 +- prioritize POSIX man pages over perl manuals + resolves #1663919 + +* Wed Nov 07 2018 Nikola Forró - 2.8.4-2 +- get rid of hardcoded path + +* Mon Jul 30 2018 Nikola Forró - 2.8.4-1 +- update to 2.8.4 + resolves #1609438 + +* Fri Jul 13 2018 Fedora Release Engineering - 2.8.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jul 12 2018 Igor Gnatenko - 2.8.3-3 +- Rebuild for new gdbm + +* Fri Apr 06 2018 Nikola Forró - 2.8.3-2 +- fix version in the name of change-owner-of-man-cache patch + +* Fri Apr 06 2018 Nikola Forró - 2.8.3-1 +- update to 2.8.3 + resolves #1564220 + +* Tue Feb 20 2018 Nikola Forró - 2.7.6.1-15 +- add missing gcc build dependency + +* Thu Feb 08 2018 Fedora Release Engineering - 2.7.6.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Todd Zullinger - 2.7.6.1-13 +- Avoid noisy output from man-db-cache-update triggers + +* Tue Jan 16 2018 Jiri Kucera - 2.7.6.1-12 +- fix segmentation fault caused by 'man -D?' + resolves: #1495507 + +* Tue Jan 16 2018 Nikola Forró - 2.7.6.1-11 +- rebuild with gdbm-1.14 + +* Tue Dec 19 2017 Nikola Forró - 2.7.6.1-10 +- fix failure of man-db-cache-update service when configured not to run + resolves: #1526715 + +* Tue Nov 21 2017 Nikola Forró - 2.7.6.1-9 +- allow configuration of man-db-cache-update service through sysconfig + resolves: #1514909 + +* Tue Nov 21 2017 Nikola Forró - 2.7.6.1-8 +- set group of /var/cache/man to root and drop setgid bit + resolves: #1515823 + +* Thu Nov 16 2017 Nikola Forró - 2.7.6.1-7 +- make file trigger scriptlets not to fail in case systemd is unavailable +- drop systemd dependency + +* Wed Nov 08 2017 Nikola Forró - 2.7.6.1-6 +- run cache update in a transient service using systemd-run + resolves #1318058 + +* Thu Aug 03 2017 Fedora Release Engineering - 2.7.6.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 2.7.6.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 2.7.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jan 19 2017 Nikola Forró - 2.7.6.1-2 +- set owner of man cache to root instead of man + +* Thu Jan 19 2017 Nikola Forró - 2.7.6.1-1 +- update to 2.7.6.1 + resolves #1403618 + +* Mon Mar 14 2016 Nikola Forró - 2.7.5-3 +- suppress potential locale warning when installing with glibc-minimal-langpack + resolves #1314633 + +* Thu Feb 04 2016 Fedora Release Engineering - 2.7.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Nov 10 2015 Nikola Forró - 2.7.5-1 +- update to 2.7.5 + resolves #1279867 + +* Tue Oct 13 2015 Nikola Forró - 2.7.4-2 +- add cron subpackage + +* Tue Oct 13 2015 Nikola Forró - 2.7.4-1 +- update to 2.7.4 + resolves #1270078 + +* Mon Sep 21 2015 Nikola Forró - 2.7.3-3 +- fix replace.sed prerequisite syntax + resolves #1263930 + +* Thu Sep 10 2015 Nikola Forró - 2.7.3-2 +- use file triggers instead of crontabs for updating cache + +* Thu Sep 10 2015 Nikola Forró - 2.7.3-1 +- update to 2.7.3 + resolves #1261678 + +* Mon Aug 24 2015 Nikola Forró - 2.7.2-3 +- try to get terminal width from /dev/tty + resolves #1255930 + +* Mon Aug 24 2015 Nikola Forró - 2.7.2-2 +- rebuilt with latest libpipeline + +* Mon Aug 24 2015 Nikola Forró - 2.7.2-1 +- update to 2.7.2 + resolves #1256177 + +* Tue Aug 04 2015 Nikola Forró - 2.7.1-8 +- fix inaccurate description of "man -f" + resolves #1249377 + +* Wed Jun 17 2015 Fedora Release Engineering - 2.7.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed May 20 2015 jchaloup - 2.7.1-6 +- Test for /run/systemd only if mandb.timer is actually installed + resolves: #1223244 + +* Tue May 12 2015 Colin Walters - 2.7.1-5 +- Test for /run/systemd to detect systemd state rather than invoking + rpm in % pre - it is not really supported by rpm. + +* Sat Feb 21 2015 Till Maas - 2.7.1-4 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Fri Jan 02 2015 jchaloup - 2.7.1-3 +- switching back to crontabs + resolves: #1177993 + resolves: #1171450 +- rpm verify reports for /var/cache/man + resolves: #1173496 + +* Thu Nov 13 2014 jchaloup - 2.7.1-2 +- src/man.c (do_extern): Pass the -l option through + resolves: #1161747 + +* Wed Nov 12 2014 jchaloup - 2.7.1-1 +- update to 2.7.1 + resolves: #1163167 + +* Wed Oct 15 2014 jchaloup - 2.7.0.2-5 +- switch man and root in init/systemd/man-db.conf + related: #1151558 + +* Mon Oct 13 2014 jchaloup - 2.7.0.2-4 +- preun missing condition on number of man-db packages installed + related: #1151558 + +* Sun Oct 12 2014 jchaloup - 2.7.0.2-3 +- remove executable flag for *.service and *.timer file + resolves: #1151558 + +* Wed Oct 08 2014 jchaloup - 2.7.0.2-2 +- replacing cron with systemd.timer + resolves: #1148559 +- adding zsoelim to {_libexecdir}/man-db/zsoelim + related: #1145493 + +* Wed Oct 08 2014 jchaloup - 2.7.0.2-1 +- Update to 2.7.0.2 + resolves: #1145493 + +* Thu Sep 18 2014 jchaloup - 2.6.7.1-7 +- resolves: #1043401 + Don't store canonicalised versions of manpath elements + +* Sun Aug 17 2014 Fedora Release Engineering - 2.6.7.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jul 18 2014 Tom Callaway - 2.6.7.1-5 +- fix license handling + +* Tue Jul 01 2014 jchaloup - 2.6.7.1-4 +- related: #1110274 + swapping root for man in man-db.conf + +* Wed Jun 25 2014 jchaloup - 2.6.7.1-3 +- resolves: #1110274 + Add systemd tmpfiles snippet to clean up old cat files after (upstream patch) + +* Sat Jun 07 2014 Fedora Release Engineering - 2.6.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Apr 17 2014 Peter Schiffer - 2.6.7.1-1 +- resolves: #1087279 + updated to 2.6.7.1 + +* Wed Feb 19 2014 Peter Schiffer - 2.6.6-1 +- resolves: #1057495 + updated to 2.6.6 + +* Wed Aug 07 2013 Pierre-Yves Chibon - 2.6.5-3 +- Add a missing requirement on crontabs to spec file +- Mark the cron job as config(noreplace) +- Fix RHBZ#989077 + +* Sat Aug 03 2013 Fedora Release Engineering - 2.6.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Jun 27 2013 Peter Schiffer - 2.6.5-1 +- updated to 2.6.5 + +* Tue Jun 25 2013 Peter Schiffer - 2.6.4-1 +- resolves: #977255 + updated to 2.6.4 + +* Mon Apr 8 2013 Peter Schiffer - 2.6.3-6 +- resolves: #948695 + fixed double free +- fixed certain man pages to match options with --help and --usage + +* Thu Mar 21 2013 Peter Schiffer - 2.6.3-5 +- temporarily disabled one unstable unit test + +* Thu Mar 21 2013 Peter Schiffer - 2.6.3-4 +- fixed some compiler warnings and memory leaks + +* Thu Feb 14 2013 Fedora Release Engineering - 2.6.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Oct 30 2012 Peter Schiffer - 2.6.3-2 +- resolves: #870680 + use less as the default pager + +* 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 + ignore cached man pages if they don't exist anymore + +* Fri Jul 20 2012 Dan Horák - 2.6.2-4 +- fully patch the autotools files, fixes FTBFS due updated automake + +* Thu Jul 19 2012 Fedora Release Engineering - 2.6.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jul 12 2012 Peter Schiffer - 2.6.2-2 +- resolves: #829553 + clear the old man cache on install or update + +* Tue Jul 10 2012 Peter Schiffer - 2.6.2-1 +- resolves: #833312 + update to 2.6.2 +- resolves: #657409 + fixed warning when invoking col by the mandb program in cron +- resolves: #829935 + enabled support for man pages compressed with lzip +- resolves: #821778 + added virtual provides for bundled gnulib library +- resolves: #824825 + apropos returns correct exit code for invalid man page + +* Tue Apr 24 2012 Peter Schiffer - 2.6.1-4 +- related: #693458 + updated patch for .so links because previous one wasn't working very well + +* Tue Apr 24 2012 Peter Schiffer - 2.6.1-3 +- added autoconf, automake, libtool and gettext-devel to the build requires + +* Tue Apr 24 2012 Peter Schiffer - 2.6.1-2 +- resolves: #677669 + added support for wildcards in path +- resolves: #693458 + fixed error with .so links + +* Thu Apr 05 2012 Peter Schiffer - 2.6.1-1 +- resolves: #790771 + update to 2.6.1 +- resolves: #806086 + removed hard-dependency on cron, update man db after install or update + +* Fri Jan 13 2012 Fedora Release Engineering - 2.6.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Oct 05 2011 Peter Schiffer - 2.6.0.2-3 +- resolves: #702904 + fixed double free or corruption issue +- resolves: #739207 + require groff-base instead of groff +- rebuilt for gdbm-1.9.1-1 + +* Sun May 29 2011 Ville Skyttä - 2.6.0.2-2 +- Own the %%{_libdir}/man-db dir. + +* Thu Apr 21 2011 Ivana Hutarova Varekova - 2.6.0.2-1 +- update to 2.6.0.2 +- remove obsolete patches +- add libpipe dependency + +* Wed Mar 23 2011 Ivana Hutarova Varekova - 2.5.9-6 +- Build with zlib support. +- Use elinks as default HTML browser. + thanks Ville Skyttä + +* Wed Mar 23 2011 Ivana Hutarova Varekova - 2.5.9-5 +* Resolves: #684977 + backport upstream patch + +* Tue Feb 08 2011 Fedora Release Engineering - 2.5.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Jan 27 2011 Ivana Hutarova Varekova - 2.5.9-3 +- Resolves: #659292 + use ionice in man cron job + +* Wed Nov 24 2010 Ivana Hutarova Varekova - 2.5.9-2 +- Resolves: #655385 - use old format of nroff output + +* Mon Nov 22 2010 Ivana Hutarova Varekova - 2.5.9-1 +- update to 2.5.9 + +* Fri Oct 1 2010 Ivana Hutarova Varekova - 2.5.7-8 +- add less buildrequire + +* Wed Sep 29 2010 jkeating - 2.5.7-7 +- Rebuilt for gcc bug 634757 + +* Fri Sep 24 2010 Ivana Hutarova Varekova - 2.5.7-6 +- Resolves: #630506 (change the description) +- minor spec file changes + +* Mon Aug 30 2010 Dennis Gilmore - 2.5.7-5 +- Provide Versioned man + +* Mon Aug 16 2010 Ivana Hutarova Varekova - 2.5.7-4 +- remove obsolete conflict flag + +* Mon Aug 16 2010 Ivana Hutarova Varekova - 2.5.7-3 +- provides man tag +- resolves: #621688 + remove problematic man-pages (now in man-pages-de package) + +* Fri Apr 16 2010 Ivana Hutarova Varekova - 2.5.7-2 +- add conflicts tag + +* Wed Feb 17 2010 Ivana Hutarova Varekova - 2.5.7-1 +- initial build