Accepting request 1178471 from Base:System

- Update to 2.12.1 (5 April 2024)
  * Fix excessive cleanup of `/var/cache/man` by `systemd-tmpfiles`.
  * `man` matches the display width more accurately to the configured width.
  * Upgrade to Gnulib `stable-202401`.
  * Mention `groff`'s `pdf` device in `man(1)`.
  * Speed up `seccomp` filter slightly.
  * Document how to format pages using italic rather than underlined text.
  * Remove the obsolete `chconfig` tool for converting man-db configuration
    files to the FHS.  This transition took place almost 25 years ago (at
    least in Debian), so it's not worth keeping it around now.
- Remove patch man-db-2.9.4-alternitive.dif now upstream
- Port the patches
  * man-db-2.6.3-listall.dif
  * man-db-2.7.1-zio.dif
  * man-db-2.9.4.patch
  * man-propose-online.patch

OBS-URL: https://build.opensuse.org/request/show/1178471
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/man?expand=0&rev=102
This commit is contained in:
Ana Guerrero 2024-06-06 10:31:23 +00:00 committed by Git OBS Bridge
commit ef2bcb92bb
11 changed files with 96 additions and 91 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:415a6284a22764ad22ff0f66710d853be7790dd451cd71436e3d25c74d996a95
size 1987444

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEErApP8SYRtvzPAcEROTWH2X2GUAsFAmUPU7oACgkQOTWH2X2G
UAvabRAAg0khOyBa7rrJmTyasc3yfOhInwjGjn9ootqTXXIuexEU+fHaVONBG9ji
NGzBrZKeEoW7VXxdbNP1uowFGpqUeqbblBCypMImLwa/RZ7lcvmmJh2mAwkqlYzy
6WlB02WItllofWLoGB/uTLPed4NmHn1H1ilN8cLEu3GpawV6+CiXu41G40WscVQp
sVtOkRgOky1qlpv1f1qlhBCoftBZfXghg6Jo9E32STddOFg59JzBKxRSoKq07qMm
i2bi+wwZHGhSvorhwKFqACw4JhwPapU62G77gWwgJ2bdls7j1fvJauosmBdOQ4ti
OpV4nUAUgO62FqzH46j4GDNuf8sPQq4LVfqE/KREBiBGA/ymip8aqlup7gVpoyKZ
ks3xibRVtKMMjOrCRE/qQmyyZBmsYYx8gPFSd4TGFLaQLBp8BLorLoUC7obZz/0H
aI/C1Kc1rkt9DJzAyPTWzvS8SV2QxRzojzJsgnjosUGucktGLWYZ39do1OxUQxi+
eO+HDxPoOFS9c0OcFQIu2rle2vt/C4z+3UZEx0lM/QRIPTH6Onw6vZlJn2/Kazis
VTcK9JZPB5/HYu2r59cgZ6MdNkh8ls1h4K34dnpafoHL4/hevUskSSDy2rs0i99s
TvoMTfDOYz872QaKWHkHbzUgOCX+v29FV12f7xR/GZtcy6CsFXw=
=vkB0
-----END PGP SIGNATURE-----

3
man-db-2.12.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ddee249daeb78cf92bab794ccd069cc8b575992265ea20e239e887156e880265
size 2041380

16
man-db-2.12.1.tar.xz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEErApP8SYRtvzPAcEROTWH2X2GUAsFAmYPse4ACgkQOTWH2X2G
UAvBxw/7BDtS8DeH3qM05clHDjeiG+/qzopxcRJAgw8OV6t3wcHGy34bjPug3qWo
BWHyT6jYw6tMJK63pSso5b99acB16uOIx480icEk9U8aOMjyaamat3Rdq2aXnM7t
5XybWoGCtIFF9AKJNes7B+SzesjYM6xc1R8YHWu53Ihz9yktVHUtNsQE/aop5tuJ
8G+qapUjNPrnytEUHog+Id7uwXx8/fwU/K+nGsYSVNUrXp833TKsUKmgywWoV9ER
3mS0Qu558MuWFX91o6hxu3dg0aE86oS8Xn/EaX5V9S0TaVtgvj5XgO+ookZFKMbZ
e98j2ZNvWz7vPH9xgAxD7i3/lJJ0UUGLquSAzdFcxKEPjGvhXWdb8AMEMCJJR2VI
lwNlu/0jzGuH+IU6UiIBg2bHA3CJ/AlYuqutwtTZluuXQJlUOkMj1KKTMREKlHCP
Jqhf5ezC9/Hnv6q+fnRZFKDwYZ2UR844QcS5LA5DIEcTiRV41Ixn1nBPV3MnTfNK
UjlaetT5T/xuEXv4yNnE6eLmPyOmFwUD7fd8CBUwX8pA4O41OINKCwp5jOrZvbeZ
okIiCdtbT964YymstD4v+DSbMfvEzw41rzPeV3Zt3Nstb6zq3LyCXhXDM5UIl9VA
f3J7HWzMtZ4/3L8W0sqUTOSW1A0DwCFYigHjSUyGY6ce/kwD6hE=
=5v8w
-----END PGP SIGNATURE-----

View File

@ -5,7 +5,7 @@
--- man/man1/man.man1 --- man/man1/man.man1
+++ man/man1/man.man1 2022-08-17 13:11:29.974677243 +0000 +++ man/man1/man.man1 2022-08-17 13:11:29.974677243 +0000
@@ -1226,6 +1226,14 @@ However, some users want to see them any @@ -1246,6 +1246,14 @@ However, some users want to see them any
.RB $ MAN_KEEP_STDERR .RB $ MAN_KEEP_STDERR
is set to any non-empty value, error output will be displayed as usual. is set to any non-empty value, error output will be displayed as usual.
.TP .TP
@ -22,7 +22,7 @@
.B %man% .B %man%
--- src/man.c --- src/man.c
+++ src/man.c 2022-08-17 13:10:07.436205495 +0000 +++ src/man.c 2022-08-17 13:10:07.436205495 +0000
@@ -3641,12 +3641,141 @@ static int locate_page (const char *manp @@ -3671,12 +3671,141 @@ static int locate_page (const char *manp
return found; return found;
} }
@ -164,7 +164,7 @@
global_manpath = is_global_mandir (candp->path); global_manpath = is_global_mandir (candp->path);
if (!global_manpath) if (!global_manpath)
drop_effective_privs (); drop_effective_privs ();
@@ -3668,9 +3797,56 @@ static int display_pages (struct candida @@ -3698,9 +3827,56 @@ static int display_pages (struct candida
regain_effective_privs (); regain_effective_privs ();
if (found && !findall) if (found && !findall)

View File

@ -6,7 +6,7 @@
--- config.h.in --- config.h.in
+++ config.h.in 2023-08-15 08:21:20.473974597 +0000 +++ config.h.in 2023-08-15 08:21:20.473974597 +0000
@@ -1015,6 +1015,9 @@ @@ -1138,6 +1138,9 @@
/* Define to 1 if you have the `z' library (-lz). */ /* Define to 1 if you have the `z' library (-lz). */
#undef HAVE_LIBZ #undef HAVE_LIBZ

View File

@ -1,43 +0,0 @@
---
src/man.c | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
--- src/man.c
+++ src/man.c 2022-08-17 13:59:26.937398386 +0000
@@ -57,6 +57,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/time.h>
+#include <libalternatives.h>
#include "argp.h"
#include "attribute.h"
@@ -4171,9 +4172,25 @@ static void locate_page_in_manpath (cons
{
char *mp;
- GL_LIST_FOREACH (manpathlist, mp)
- *found += locate_page (mp, page_section, page_name,
- candidates);
+ GL_LIST_FOREACH (manpathlist, mp) {
+ int count = locate_page (mp, page_section, page_name, candidates);
+ if (count == 0) {
+ /* Checking if there has been defined another manpage defined in the
+ * priorities of libalternatives.
+ */
+ char **alternitives = libalts_get_default_manpages(page_name);
+ for (char **alter = alternitives; *alter; alter++) {
+ char *p_name, *p_section;
+ split_page_name (*alter, &p_name, &p_section);
+ if (p_name && strlen(p_name) > 0 &&
+ p_section && strlen(p_section) > 0)
+ count = locate_page (mp, p_section, p_name, candidates);
+ free(*alter);
+ }
+ free(alternitives);
+ }
+ *found += count;
+ }
}
/*

View File

@ -143,8 +143,8 @@ Index: b/src/check_mandirs.c
-static void mkcatdirs (const char *mandir, const char *catdir) -static void mkcatdirs (const char *mandir, const char *catdir)
+void mkcatdirs (const char *mandir, const char *catdir) +void mkcatdirs (const char *mandir, const char *catdir)
{ {
char *manname, *catname; if (catdir) {
char *manname, *catname;
@@ -409,9 +409,14 @@ static void mkcatdirs (const char *mandi @@ -409,9 +409,14 @@ static void mkcatdirs (const char *mandi
int j; int j;
regain_effective_privs (); regain_effective_privs ();
@ -364,15 +364,16 @@ Index: b/src/man.c
=================================================================== ===================================================================
--- a/src/man.c --- a/src/man.c
+++ b/src/man.c +++ b/src/man.c
@@ -56,6 +56,7 @@ @@ -56,6 +56,8 @@
#include <time.h> #include <time.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
+#include <sys/time.h> +#include <sys/time.h>
+#include <libalternatives.h>
#include "argp.h" #include "argp.h"
#include "attribute.h" #include "attribute.h"
@@ -118,6 +119,8 @@ @@ -118,6 +120,8 @@
#ifdef MAN_OWNER #ifdef MAN_OWNER
extern uid_t ruid; extern uid_t ruid;
extern uid_t euid; extern uid_t euid;
@ -381,7 +382,7 @@ Index: b/src/man.c
#endif /* MAN_OWNER */ #endif /* MAN_OWNER */
/* the default preprocessor sequence */ /* the default preprocessor sequence */
@@ -241,10 +244,10 @@ static int first_arg; @@ -241,10 +245,10 @@ static int first_arg;
#ifdef MAN_CATS #ifdef MAN_CATS
static char *tmp_cat_file; /* for open_cat_stream(), close_cat_stream() */ static char *tmp_cat_file; /* for open_cat_stream(), close_cat_stream() */
static bool created_tmp_cat; /* dto. */ static bool created_tmp_cat; /* dto. */
@ -393,7 +394,7 @@ Index: b/src/man.c
# ifdef TROFF_IS_GROFF # ifdef TROFF_IS_GROFF
static bool ditroff; static bool ditroff;
@@ -1576,6 +1579,18 @@ static void setenv_less (pipecmd *cmd, c @@ -1574,6 +1583,18 @@ static void setenv_less (pipecmd *cmd, c
free (less_opts); free (less_opts);
} }
@ -412,7 +413,7 @@ Index: b/src/man.c
static void add_output_iconv (pipeline *p, static void add_output_iconv (pipeline *p,
const char *source, const char *target) const char *source, const char *target)
{ {
@@ -1706,6 +1721,8 @@ static pipeline *make_display_command (c @@ -1704,6 +1725,8 @@ static pipeline *make_display_command (c
if (pager_cmd) { if (pager_cmd) {
setenv_less (pager_cmd, title); setenv_less (pager_cmd, title);
@ -421,7 +422,7 @@ Index: b/src/man.c
pipeline_command (p, pager_cmd); pipeline_command (p, pager_cmd);
} }
pipeline_ignore_signals (p, 1); pipeline_ignore_signals (p, 1);
@@ -1716,7 +1733,7 @@ static pipeline *make_display_command (c @@ -1714,7 +1737,7 @@ static pipeline *make_display_command (c
return p; return p;
} }
@ -430,7 +431,7 @@ Index: b/src/man.c
/* 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)
{ {
@@ -1744,7 +1761,6 @@ static char *tmp_cat_filename (const cha @@ -1742,7 +1765,6 @@ static char *tmp_cat_filename (const cha
return name; return name;
} }
@ -438,7 +439,7 @@ Index: b/src/man.c
/* If delete unlink tmp_cat, else commit tmp_cat to cat_file. /* If delete unlink tmp_cat, else commit tmp_cat to cat_file.
Return non-zero on error. Return non-zero on error.
*/ */
@@ -1817,6 +1833,7 @@ static int commit_tmp_cat (const char *c @@ -1815,6 +1837,7 @@ static int commit_tmp_cat (const char *c
return status; return status;
} }
@ -446,7 +447,7 @@ Index: b/src/man.c
/* 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.
@@ -1853,7 +1870,6 @@ static void cleanup_unlink (void *arg) @@ -1851,7 +1874,6 @@ static void cleanup_unlink (void *arg)
} }
#ifdef MAN_CATS #ifdef MAN_CATS
@ -454,7 +455,7 @@ Index: b/src/man.c
/* 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, const char *encoding) static pipeline *open_cat_stream (const char *cat_file, const char *encoding)
{ {
@@ -2085,6 +2101,7 @@ static void format_display (decompress * @@ -2083,6 +2105,7 @@ static void format_display (decompress *
regain_effective_privs (); regain_effective_privs ();
} }
@ -462,7 +463,7 @@ Index: b/src/man.c
/* "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, decompress *d, static void display_catman (const char *cat_file, decompress *d,
@@ -2130,6 +2147,7 @@ static void display_catman (const char * @@ -2128,6 +2151,7 @@ static void display_catman (const char *
pop_cleanup (cleanup_unlink, tmpcat); pop_cleanup (cleanup_unlink, tmpcat);
free (tmpcat); free (tmpcat);
} }
@ -470,7 +471,7 @@ Index: b/src/man.c
#ifndef TROFF_IS_GROFF #ifndef TROFF_IS_GROFF
static void disable_hyphenation (void *data MAYBE_UNUSED) static void disable_hyphenation (void *data MAYBE_UNUSED)
@@ -2349,7 +2367,7 @@ static int display (const char *dir, con @@ -2347,7 +2371,7 @@ static int display (const char *dir, con
format_cmd = NULL; format_cmd = NULL;
decomp_errno = errno; decomp_errno = errno;
} }
@ -479,7 +480,7 @@ Index: b/src/man.c
/* 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;
@@ -2359,7 +2377,7 @@ static int display (const char *dir, con @@ -2357,7 +2381,7 @@ static int display (const char *dir, con
} else } else
man_modtime = get_stat_mtime (&stb); man_modtime = get_stat_mtime (&stb);
} }
@ -488,7 +489,7 @@ Index: b/src/man.c
display_to_stdout = troff; display_to_stdout = troff;
#ifdef TROFF_IS_GROFF #ifdef TROFF_IS_GROFF
if (htmlout || gxditview) if (htmlout || gxditview)
@@ -2500,6 +2518,7 @@ static int display (const char *dir, con @@ -2498,6 +2522,7 @@ static int display (const char *dir, con
} }
if (printed) if (printed)
putchar ('\n'); putchar ('\n');
@ -496,7 +497,7 @@ Index: b/src/man.c
} else if (catman) { } else if (catman) {
if (format) { if (format) {
if (!save_cat) if (!save_cat)
@@ -2512,6 +2531,7 @@ static int display (const char *dir, con @@ -2510,6 +2535,7 @@ static int display (const char *dir, con
format_cmd, format_cmd,
formatted_encoding); formatted_encoding);
} }
@ -504,7 +505,7 @@ Index: b/src/man.c
} else if (format) { } else if (format) {
/* no cat or out of date */ /* no cat or out of date */
pipeline *disp_cmd; pipeline *disp_cmd;
@@ -4050,17 +4070,20 @@ static int local_man_loop (const char *a @@ -4048,17 +4074,20 @@ static int local_man_loop (const char *a
/* Check that the file exists and isn't e.g. a directory */ /* Check that the file exists and isn't e.g. a directory */
if (stat (argv, &st)) { if (stat (argv, &st)) {
error (0, errno, "%s", argv); error (0, errno, "%s", argv);
@ -525,7 +526,7 @@ Index: b/src/man.c
return NOT_FOUND; return NOT_FOUND;
} }
@@ -4124,6 +4147,11 @@ executable_out: @@ -4122,6 +4151,11 @@ executable_out:
argv_abs = xstrdup (argv); argv_abs = xstrdup (argv);
} }
lang = lang_dir (argv_abs); lang = lang_dir (argv_abs);
@ -537,7 +538,36 @@ Index: b/src/man.c
free (argv_abs); free (argv_abs);
if (!display (NULL, argv, NULL, argv_base, NULL)) { if (!display (NULL, argv, NULL, argv_base, NULL)) {
if (local_mf) if (local_mf)
@@ -4379,7 +4407,16 @@ int main (int argc, char *argv[]) @@ -4180,9 +4214,25 @@ static void locate_page_in_manpath (cons
{
char *mp;
- GL_LIST_FOREACH (manpathlist, mp)
- *found += locate_page (mp, page_section, page_name,
- candidates);
+ GL_LIST_FOREACH (manpathlist, mp) {
+ int count = locate_page (mp, page_section, page_name, candidates);
+ if (count == 0) {
+ /* Checking if there has been defined another manpage defined in the
+ * priorities of libalternatives.
+ */
+ char **alternitives = libalts_get_default_manpages(page_name);
+ for (char **alter = alternitives; *alter; alter++) {
+ char *p_name, *p_section;
+ split_page_name (*alter, &p_name, &p_section);
+ if (p_name && strlen(p_name) > 0 &&
+ p_section && strlen(p_section) > 0)
+ count = locate_page (mp, p_section, p_name, candidates);
+ free(*alter);
+ }
+ free(alternitives);
+ }
+ *found += count;
+ }
}
/*
@@ -4377,7 +4427,16 @@ int main (int argc, char *argv[])
umask (022); umask (022);
init_locale (); init_locale ();
@ -555,7 +585,7 @@ Index: b/src/man.c
/* Use LANGUAGE only when LC_MESSAGES locale category is /* Use LANGUAGE only when LC_MESSAGES locale category is
* neither "C" nor "POSIX". */ * neither "C" nor "POSIX". */
if (internal_locale && strcmp (internal_locale, "C") && if (internal_locale && strcmp (internal_locale, "C") &&
@@ -4424,7 +4461,16 @@ int main (int argc, char *argv[]) @@ -4422,7 +4481,16 @@ int main (int argc, char *argv[])
if (external) if (external)
do_extern (argc, argv); do_extern (argc, argv);

View File

@ -1,7 +1,7 @@
diff -ur man-db-2.10.2/src/man.c man-db-2.10.2.patch/src/man.c diff -ur man-db-2.10.2/src/man.c man-db-2.10.2.patch/src/man.c
--- man-db-2.10.2/src/man.c 2022-03-17 19:41:27.000000000 +0100 --- man-db-2.10.2/src/man.c 2022-03-17 19:41:27.000000000 +0100
+++ man-db-2.10.2.patch/src/man.c 2023-04-03 17:13:05.944119389 +0200 +++ man-db-2.10.2.patch/src/man.c 2023-04-03 17:13:05.944119389 +0200
@@ -775,11 +775,16 @@ @@ -774,11 +774,16 @@
} }
#endif #endif

View File

@ -1,3 +1,23 @@
-------------------------------------------------------------------
Tue Jun 4 08:10:47 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Update to 2.12.1 (5 April 2024)
* Fix excessive cleanup of `/var/cache/man` by `systemd-tmpfiles`.
* `man` matches the display width more accurately to the configured width.
* Upgrade to Gnulib `stable-202401`.
* Mention `groff`'s `pdf` device in `man(1)`.
* Speed up `seccomp` filter slightly.
* Document how to format pages using italic rather than underlined text.
* Remove the obsolete `chconfig` tool for converting man-db configuration
files to the FHS. This transition took place almost 25 years ago (at
least in Debian), so it's not worth keeping it around now.
- Remove patch man-db-2.9.4-alternitive.dif now upstream
- Port the patches
* man-db-2.6.3-listall.dif
* man-db-2.7.1-zio.dif
* man-db-2.9.4.patch
* man-propose-online.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Feb 19 07:21:59 UTC 2024 - Dr. Werner Fink <werner@suse.de> Mon Feb 19 07:21:59 UTC 2024 - Dr. Werner Fink <werner@suse.de>

View File

@ -26,7 +26,7 @@
%global optflags %{optflags} %{**} %global optflags %{optflags} %{**}
%bcond_without sdtimer %bcond_without sdtimer
Name: man Name: man
Version: 2.12.0 Version: 2.12.1
Release: 0 Release: 0
Summary: A Program for Displaying man Pages Summary: A Program for Displaying man Pages
License: GPL-2.0-or-later License: GPL-2.0-or-later
@ -56,7 +56,6 @@ Patch7: man-db-2.9.4-no-chown.patch
Patch8: man-db-2.9.4.patch Patch8: man-db-2.9.4.patch
# PATCH-FEATURE-OPENSUSE -- Add documentation about man0 section (header files) # PATCH-FEATURE-OPENSUSE -- Add documentation about man0 section (header files)
Patch9: man-db-2.6.3-man0.dif Patch9: man-db-2.6.3-man0.dif
Patch10: man-db-2.9.4-alternitive.dif
# PATCH-FEATURE-OPENSUSE -- Propose to read man pages online # PATCH-FEATURE-OPENSUSE -- Propose to read man pages online
Patch12: man-propose-online.patch Patch12: man-propose-online.patch
BuildRequires: automake BuildRequires: automake
@ -104,7 +103,6 @@ printer (using groff).
%patch -P7 -p1 -b .p7 %patch -P7 -p1 -b .p7
%patch -P8 -p1 -b .p8 %patch -P8 -p1 -b .p8
%patch -P9 -b .p9 %patch -P9 -b .p9
%patch -P10 -b .libalernative
rm -f configure rm -f configure
%patch -P12 -p1 -b .p12 %patch -P12 -p1 -b .p12