diff --git a/man-db-2.10.2.tar.xz b/man-db-2.10.2.tar.xz deleted file mode 100644 index 1b55813..0000000 --- a/man-db-2.10.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ee97954d492a13731903c9d0727b9b01e5089edbd695f0cdb58d405a5af5514d -size 1902840 diff --git a/man-db-2.10.2.tar.xz.asc b/man-db-2.10.2.tar.xz.asc deleted file mode 100644 index 79f5d61..0000000 --- a/man-db-2.10.2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEErApP8SYRtvzPAcEROTWH2X2GUAsFAmIzgxkACgkQOTWH2X2G -UAtY+xAAlW5Mfz1D5CFnZm6/+mN2zoXVx4+BqdujPWzmlxS+sPY2HuxtkZ8kMBai -n5VuxmbEzc+CyJsHqs2ZpDA2ccGjsbTZSFqztnfvxrAQAwkD8NALms9xZoXJD6sf -8K0zXvB6utEbOpDnAW1o2psho0kh5iF2P91G//Ay/XbPsgzYn4B6dGNgrScYWF24 -3DfsGP/8sDYgSrMzFjyOHnpGhSLzWdNgjP0xN2/ZOuIQDWVZZO/7h7AJwdGbuj+t -KgfZwVc5p1IaPd7ORd8JDQmA8lSuwfh04blkt078MdBTIikKgpc8tkrjGnVpmgP2 -EsPC5XbC0c5c8THRgP4YFt0vfVfdvBwyuyCnd83pP8QzJTzRykBQ/s/ce7fzZ2dE -aeKR7ehqj7UC7F+YNp37xLRe4hqGedufu8YwzdEZ/d3aVP4U0iLTES/VwmjqBJGG -Dsyis/YLYD3W5hGgKzKPcNVzDjt22zvlYhcrWf+OKQF361RnZPm6BT7PwJ81XV2A -Sh8YBvRMv+K87iXKHyvLAL3d8tk1Mw7b8NRg0SQLO9jg/BV2L8Vx2u5yfY3WptCJ -jgL4EMVE8Pa2DMO4sU/7yaiU7GBR0QXiPpo5uWETlAXWNIHxCfwui7L9uH2JqwKc -zUVEbOAxg/0x2ghMYZpxftyZ7yorrbZvprrXcha+gELvJ1LRBqA= -=yX77 ------END PGP SIGNATURE----- diff --git a/man-db-2.11.2.tar.xz b/man-db-2.11.2.tar.xz new file mode 100644 index 0000000..eb3f670 --- /dev/null +++ b/man-db-2.11.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cffa1ee4e974be78646c46508e6dd2f37e7c589aaab2938cc1064f058fef9f8d +size 1953276 diff --git a/man-db-2.11.2.tar.xz.asc b/man-db-2.11.2.tar.xz.asc new file mode 100644 index 0000000..61d7502 --- /dev/null +++ b/man-db-2.11.2.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEErApP8SYRtvzPAcEROTWH2X2GUAsFAmO7P18ACgkQOTWH2X2G +UAsAVxAAjbkxD9Ji+FhO8VoJ40FnSlK7vwaX+1REswSBmaSCmrt7ey9s60r6sAcM +OjphmTMHNJqxmBS/fsvKnuRiaUv/a+PPKOxEZg85F9uUmArnDphaTH9PzXPpxHgV +jwda7v3BSxPV0YjFyj1FzfpTQjhZX9+0NwVUXUga0ViCExi8yAk3lS+Vhkz3JdkK +PWY9QjD7GwH5G+8ojHOZralBNCEQdcej9/3B1FGPq9EoZ270emybJBmHAF9K+2Y9 +2jH4HWcSjhwCAxEXYkzmBtmkYvfE4HdDTCzo5TR51PflizD2RylIYmNO4vdyETIP +KPYK2fzpkSODTUgeSfLfupv1sq9MqIDLEtpWLgZT5BTJCHjG14KAgDfnUmqZB2Iv +w4wHyfAJ+7MrVqCHbLtjcdVVfAxDajhrRLwZZkQrd/lT6ykZ0q0wQjXP+xL2yTxR +70lRgMFnEzezHtiEiW2xjWQDehNiQ+7NK1vNUgnugXBdsb7MO6dwtL/30JMtapOA +60vlGlDejGvfae9OYeNCQc/b7GYJwFQ7vQ3iM2c1PVF1KfaqY71WrrC3hP03gs9j +EzmrA9xLdfkKGmALD8579KukEiWitcIikm8NlkQ/0mLF7CKIjXVSJmGjz4xrsDAg +zN2qdp8cJG6R4PmKQdCFS+YNlBp07xkqO/CCqKjBpLNBN+r9lAQ= +=uREj +-----END PGP SIGNATURE----- diff --git a/man-db-2.6.3-chinese.dif b/man-db-2.6.3-chinese.dif index 566be77..0c9165d 100644 --- a/man-db-2.6.3-chinese.dif +++ b/man-db-2.6.3-chinese.dif @@ -34,7 +34,7 @@ */ const char *get_source_encoding (const char *lang) { -@@ -619,7 +628,7 @@ static int compatible_encodings (const c +@@ -620,7 +629,7 @@ static int compatible_encodings (const c */ if ((STREQ (input, "BIG5") || STREQ (input, "BIG5HKSCS") || STREQ (input, "EUC-JP") || @@ -43,7 +43,7 @@ STREQ (input, "EUC-KR") || STREQ (input, "EUC-TW")) && STREQ (output, "UTF-8")) -@@ -723,7 +732,7 @@ const char *get_roff_encoding (const cha +@@ -724,7 +733,7 @@ const char *get_roff_encoding (const cha STRNEQ (ctype, "zh_HK", 5) || STRNEQ (ctype, "zh_SG", 5) || STRNEQ (ctype, "zh_TW", 5)) diff --git a/man-db-2.6.3-listall.dif b/man-db-2.6.3-listall.dif index 7042874..c4fb898 100644 --- a/man-db-2.6.3-listall.dif +++ b/man-db-2.6.3-listall.dif @@ -22,7 +22,7 @@ .B %man% --- src/man.c +++ src/man.c 2022-08-17 13:10:07.436205495 +0000 -@@ -3615,12 +3615,141 @@ static int locate_page (const char *manp +@@ -3641,12 +3641,141 @@ static int locate_page (const char *manp return found; } @@ -164,7 +164,7 @@ global_manpath = is_global_mandir (candp->path); if (!global_manpath) drop_effective_privs (); -@@ -3642,9 +3771,56 @@ static int display_pages (struct candida +@@ -3668,9 +3797,56 @@ static int display_pages (struct candida regain_effective_privs (); if (found && !findall) diff --git a/man-db-2.7.1-zio.dif b/man-db-2.7.1-zio.dif index ea17183..9a972ba 100644 --- a/man-db-2.7.1-zio.dif +++ b/man-db-2.7.1-zio.dif @@ -1,14 +1,12 @@ --- - config.h.in | 3 ++ - configure.ac | 52 ++++++++++++++++++++++++++++++++++++++++ - src/decompress.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- + config.h.in | 3 + + configure.ac | 52 ++++++++++++++++++++++++++++++ + src/decompress.c | 70 ++++++++++++++++++++++++++++++++++++++++- 3 files changed, 124 insertions(+), 1 deletion(-) -Index: config.h.in -=================================================================== ---- config.h.in.orig -+++ config.h.in -@@ -1009,6 +1009,9 @@ +--- config.h.in ++++ config.h.in 2023-08-15 08:21:20.473974597 +0000 +@@ -1015,6 +1015,9 @@ /* Define to 1 if you have the `z' library (-lz). */ #undef HAVE_LIBZ @@ -18,10 +16,8 @@ Index: config.h.in /* Define to 1 if the bcrypt library is guaranteed to be present. */ #undef HAVE_LIB_BCRYPT -Index: configure.ac -=================================================================== ---- configure.ac.orig -+++ configure.ac +--- configure.ac ++++ configure.ac 2023-08-15 08:21:20.473974597 +0000 @@ -35,6 +35,18 @@ MAN_ARG_DEVICE MAN_ARG_DB MAN_ARG_CONFIG_FILE @@ -41,7 +37,7 @@ Index: configure.ac MAN_ARG_AUTOMATIC_CREATE MAN_ARG_AUTOMATIC_UPDATE MAN_ARG_CATS -@@ -400,6 +412,46 @@ AC_DEFINE_UNQUOTED([PROG_UNXZ], ["$unxz" +@@ -401,6 +413,46 @@ AC_DEFINE_UNQUOTED([PROG_UNXZ], ["$unxz" AC_DEFINE_UNQUOTED([PROG_UNLZIP], ["$unlzip"], [Program to use as unlzip.]) AC_DEFINE_UNQUOTED([PROG_UNZSTD], ["$unzstd"], [Program to use as unzstd.]) MAN_COMPRESS_LIB([z], [gzopen]) @@ -88,13 +84,11 @@ Index: configure.ac dnl To add more decompressors just follow the scheme above. # Check for various header files and associated libraries. -Index: src/decompress.c -=================================================================== ---- src/decompress.c.orig -+++ src/decompress.c -@@ -38,12 +38,17 @@ - # include "zlib.h" - #endif /* HAVE_LIBZ */ +--- src/decompress.c ++++ src/decompress.c 2023-08-15 08:23:12.947968440 +0000 +@@ -40,12 +40,17 @@ + + #include "pipeline.h" +#include "appendstr.h" #include "attribute.h" @@ -108,9 +102,9 @@ Index: src/decompress.c +#endif /* HAVE_ZIO */ + #include "manconfig.h" - #include "comp_src.h" - #include "pipeline.h" -@@ -186,6 +191,33 @@ static decompress *decompress_try_zlib ( + + #include "compression.h" +@@ -189,6 +194,33 @@ static decompress *decompress_try_zlib ( #define OPEN_FLAGS_UNUSED MAYBE_UNUSED #endif /* HAVE_LIBZ */ @@ -144,7 +138,7 @@ Index: src/decompress.c extern man_sandbox *sandbox; decompress *decompress_open (const char *filename, int flags OPEN_FLAGS_UNUSED) -@@ -202,6 +234,38 @@ decompress *decompress_open (const char +@@ -205,6 +237,38 @@ decompress *decompress_open (const char if (stat (filename, &st) < 0 || S_ISDIR (st.st_mode)) return NULL; @@ -183,7 +177,7 @@ Index: src/decompress.c #ifdef HAVE_LIBZ filename_len = strlen (filename); if (filename_len > 3 && STREQ (filename + filename_len - 3, ".gz")) { -@@ -219,7 +283,11 @@ decompress *decompress_open (const char +@@ -222,7 +286,11 @@ decompress *decompress_open (const char } #endif /* HAVE_LIBZ */ @@ -195,7 +189,7 @@ Index: src/decompress.c if (ext) { ++ext; -@@ -312,7 +380,7 @@ void decompress_inprocess_replace (decom +@@ -315,7 +383,7 @@ void decompress_inprocess_replace (decom void decompress_start (decompress *d) { diff --git a/man-db-2.9.4-alternitive.dif b/man-db-2.9.4-alternitive.dif index ba3498a..5abd3e7 100644 --- a/man-db-2.9.4-alternitive.dif +++ b/man-db-2.9.4-alternitive.dif @@ -12,7 +12,7 @@ #include "argp.h" #include "attribute.h" -@@ -4123,9 +4124,25 @@ static void locate_page_in_manpath (cons +@@ -4171,9 +4172,25 @@ static void locate_page_in_manpath (cons { char *mp; diff --git a/man-db-2.9.4-no-chown.patch b/man-db-2.9.4-no-chown.patch index 2cfe815..18e0263 100644 --- a/man-db-2.9.4-no-chown.patch +++ b/man-db-2.9.4-no-chown.patch @@ -1,19 +1,23 @@ Index: man-db-2.10.2/src/Makefile.am =================================================================== ---- man-db-2.10.2.orig/src/Makefile.am -+++ man-db-2.10.2/src/Makefile.am -@@ -210,16 +210,7 @@ apropos$(EXEEXT): whatis$(EXEEXT) +--- + man-db-2.11.2/src/Makefile.am | 11 +---------- + 1 file changed, 1 insertion(+), 10 deletions(-) + +--- man-db-2.11.2/src/Makefile.am ++++ man-db-2.11.2/src/Makefile.am 2023-08-15 09:13:30.418162015 +0000 +@@ -196,16 +196,7 @@ apropos$(EXEEXT): whatis$(EXEEXT) all-am: apropos$(EXEEXT) install-exec-hook: - if [ "$(man_owner)" ] && [ "$(man_mode)" = 6755 ]; then \ - chown $(man_owner):$(man_owner) \ -- $(DESTDIR)$(bindir)/$(TRANS_MAN) \ -- $(DESTDIR)$(bindir)/$(TRANS_MANDB); \ +- $(DESTDIR)$(bindir)/$(TRANS_MAN)$(EXEEXT) \ +- $(DESTDIR)$(bindir)/$(TRANS_MANDB)$(EXEEXT); \ - fi - chmod $(man_mode) \ -- $(DESTDIR)$(bindir)/$(TRANS_MAN) \ -- $(DESTDIR)$(bindir)/$(TRANS_MANDB) +- $(DESTDIR)$(bindir)/$(TRANS_MAN)$(EXEEXT) \ +- $(DESTDIR)$(bindir)/$(TRANS_MANDB)$(EXEEXT) - cd $(DESTDIR)$(bindir) && rm -f $(TRANS_APROPOS)$(EXEEXT) && \ - $(LN_S) $(TRANS_WHATIS)$(EXEEXT) $(TRANS_APROPOS)$(EXEEXT) + $(LN_S) $(TRANS_WHATIS) $(DESTDIR)$(bindir)/$(TRANS_APROPOS) diff --git a/man-db-2.9.4.patch b/man-db-2.9.4.patch index b764aea..be5c7a2 100644 --- a/man-db-2.9.4.patch +++ b/man-db-2.9.4.patch @@ -1,23 +1,20 @@ --- - configure.ac | 18 ++++++++- - include/comp_src.h | 2 - - lib/security.c | 30 ++++++++++++++++ - mk_catdirs | 30 ++++++++++++++++ - src/check_mandirs.c | 33 +++++++++++------ - src/lexgrog.l | 64 +++++++++++++++++++++++++--------- - src/man.c | 97 +++++++++++++++++++++++++++++++--------------------- - src/man_db.conf.in | 17 +++++++-- - src/mandb.c | 18 ++++++++- + configure.ac | 18 +++++++++- + lib/security.c | 30 +++++++++++++++++ + mk_catdirs | 30 +++++++++++++++++ + src/check_mandirs.c | 33 ++++++++++++------- + src/lexgrog.l | 64 +++++++++++++++++++++++++++----------- + src/man.c | 60 +++++++++++++++++++++++++++++++++++++++++++----- + src/man_db.conf.in | 17 ++++++++-- + src/mandb.c | 18 ++++++++-- src/manp.c | 2 - src/straycats.c | 1 - src/ult_src.c | 9 +++- - 12 files changed, 242 insertions(+), 79 deletions(-) + src/ult_src.c | 9 ++++- + 11 files changed, 235 insertions(+), 47 deletions(-) -Index: man-db-2.10.2/configure.ac -=================================================================== ---- man-db-2.10.2.orig/configure.ac -+++ man-db-2.10.2/configure.ac -@@ -301,6 +301,14 @@ fi +--- a/configure.ac ++++ b/configure.ac 2023-08-15 08:31:31.135097942 +0000 +@@ -302,6 +302,14 @@ fi MAN_CHECK_PROGS([eqn], [EQN], [use EQN to preprocess equations], [eqn geqn]) AC_DEFINE_UNQUOTED([PROG_EQN], ["$eqn"], [Program to use as eqn.]) @@ -32,7 +29,7 @@ Index: man-db-2.10.2/configure.ac MAN_CHECK_PROGS([neqn], [NEQN], [use NEQN to preprocess equations for character devices], [neqn gneqn]) # If we fail to find an neqn, use eqn and try to force it to output for an # ascii device. As this is only relevant for equations (?), not using latin1 -@@ -351,9 +359,15 @@ then +@@ -352,9 +360,15 @@ then compress_ext="gz" fi MAN_CHECK_PROGS([compress], [COMPRESS], [use COMPRESS as UNIX compression utility], [compress]) @@ -50,23 +47,8 @@ Index: man-db-2.10.2/configure.ac if test -z "$gzip" then compressor="$compress -c" -Index: man-db-2.10.2/include/comp_src.h -=================================================================== ---- man-db-2.10.2.orig/include/comp_src.h -+++ man-db-2.10.2/include/comp_src.h -@@ -51,7 +51,7 @@ struct compression comp_list[] = { - #endif /* HAVE_GZIP */ - - /* If we have compress, incorporate the following */ --#ifdef HAVE_COMPRESS -+#if defined(HAVE_COMPRESS) || defined(HAVE_GZIP) - {PROG_UNCOMPRESS, "Z", NULL}, - /* Else if we have gzip, incorporate the following */ - #elif defined (HAVE_GZIP) -Index: man-db-2.10.2/lib/security.c -=================================================================== ---- man-db-2.10.2.orig/lib/security.c -+++ man-db-2.10.2/lib/security.c +--- a/lib/security.c ++++ b/lib/security.c 2023-08-15 08:31:31.135097942 +0000 @@ -80,6 +80,11 @@ static void gripe_set_euid (void) fatal (errno, _("can't set effective uid")); } @@ -79,7 +61,7 @@ Index: man-db-2.10.2/lib/security.c #endif /* MAN_OWNER */ void init_security (void) -@@ -166,6 +171,31 @@ void regain_effective_privs (void) +@@ -164,6 +169,31 @@ void regain_effective_privs (void) uid = euid; gid = egid; } @@ -111,10 +93,8 @@ Index: man-db-2.10.2/lib/security.c #endif /* MAN_OWNER */ } -Index: man-db-2.10.2/mk_catdirs -=================================================================== ---- /dev/null -+++ man-db-2.10.2/mk_catdirs +--- a/mk_catdirs ++++ b/mk_catdirs 2023-08-15 08:31:31.135097942 +0000 @@ -0,0 +1,30 @@ +#!/bin/sh + @@ -146,11 +126,9 @@ Index: man-db-2.10.2/mk_catdirs +cd ${OLDPWD} + +test "$(id -u)" -ne 0 || chown man:man -R ${CACHE} -Index: man-db-2.10.2/src/check_mandirs.c -=================================================================== ---- man-db-2.10.2.orig/src/check_mandirs.c -+++ man-db-2.10.2/src/check_mandirs.c -@@ -417,7 +417,7 @@ void chown_if_possible (const char *path +--- a/src/check_mandirs.c ++++ b/src/check_mandirs.c 2023-08-15 08:31:31.139097869 +0000 +@@ -381,7 +381,7 @@ void chown_if_possible (const char *path #endif /* MAN_OWNER */ /* create the catman hierarchy if it doesn't exist */ @@ -159,7 +137,7 @@ Index: man-db-2.10.2/src/check_mandirs.c { char *manname, *catname; -@@ -445,9 +445,14 @@ static void mkcatdirs (const char *mandi +@@ -409,9 +409,14 @@ static void mkcatdirs (const char *mandi int j; regain_effective_privs (); debug ("creating catdir hierarchy %s ", catdir); @@ -177,7 +155,7 @@ Index: man-db-2.10.2/src/check_mandirs.c if ((is_directory (manname) == 1) && (is_directory (catname) != 1)) { if (mkdir (catname, 0755) < 0) { -@@ -455,7 +460,7 @@ static void mkcatdirs (const char *mandi +@@ -419,7 +424,7 @@ static void mkcatdirs (const char *mandi error (0, 0, _("warning: cannot create catdir %s"), catname); debug ("warning: cannot create catdir %s\n", catname); } else @@ -186,7 +164,7 @@ Index: man-db-2.10.2/src/check_mandirs.c chown_if_possible (catname); } } -@@ -597,15 +602,10 @@ static int testmandirs (MYDBM_FILE dbf, +@@ -562,15 +567,10 @@ static int testmandirs (MYDBM_FILE dbf, } if (!quiet) { @@ -203,7 +181,7 @@ Index: man-db-2.10.2/src/check_mandirs.c } add_dir_entries (dbf, path, mandir->d_name); amount++; -@@ -674,7 +674,7 @@ int update_db (MYDBM_FILE dbf, const cha +@@ -639,7 +639,7 @@ int update_db (MYDBM_FILE dbf, const cha int new; if (!ensure_db_open (dbf) || !sanity_check_db (dbf)) { @@ -212,7 +190,7 @@ Index: man-db-2.10.2/src/check_mandirs.c return -1; } mtime = MYDBM_GET_TIME (dbf); -@@ -886,6 +886,7 @@ static int purge_whatis (MYDBM_FILE dbf, +@@ -847,6 +847,7 @@ static int purge_whatis (MYDBM_FILE dbf, "would delete\n", name, info->ext); return 1; } @@ -220,7 +198,7 @@ Index: man-db-2.10.2/src/check_mandirs.c } /* Check that multi keys are correctly constructed. */ -@@ -983,6 +984,14 @@ int purge_missing (MYDBM_FILE dbf, const +@@ -944,6 +945,14 @@ int purge_missing (MYDBM_FILE dbf, const } #pragma GCC diagnostic pop @@ -235,11 +213,9 @@ Index: man-db-2.10.2/src/check_mandirs.c content = MYDBM_FETCH (dbf, key); if (!MYDBM_DPTR (content)) { nextkey = MYDBM_NEXTKEY (dbf, key); -Index: man-db-2.10.2/src/lexgrog.l -=================================================================== ---- man-db-2.10.2.orig/src/lexgrog.l -+++ man-db-2.10.2/src/lexgrog.l -@@ -69,7 +69,7 @@ +--- a/src/lexgrog.l ++++ b/src/lexgrog.l 2023-08-15 08:33:23.053105426 +0000 +@@ -70,7 +70,7 @@ #include "manconv.h" #include "manconv_client.h" @@ -248,7 +224,7 @@ Index: man-db-2.10.2/src/lexgrog.l #define MAX_NAME 8192 /* defines the ordered list of filters detected by lexgrog */ -@@ -228,15 +228,15 @@ static const struct macro perldocs[] = { +@@ -229,15 +229,15 @@ static const struct macro perldocs[] = { { "R\"", "\"" } }; @@ -273,15 +249,15 @@ Index: man-db-2.10.2/src/lexgrog.l static char newname[MAX_NAME]; static char *p_name; -@@ -245,6 +245,7 @@ static char filters[MAX_FILTERS]; +@@ -246,6 +246,7 @@ static char filters[MAX_FILTERS]; - static int fill_mode; - static int waiting_for_quote; + static bool fill_mode; + static bool waiting_for_quote; +static int have_separator; static decompress *decomp; -@@ -262,7 +263,7 @@ static decompress *decomp; +@@ -263,7 +264,7 @@ static decompress *decomp; %} %option ecs meta-ecs @@ -290,7 +266,7 @@ Index: man-db-2.10.2/src/lexgrog.l %option nostdinit %option warn %option noyywrap nounput -@@ -301,8 +302,9 @@ font_change \\f([[:upper:]1-4]|\({upper} +@@ -302,8 +303,9 @@ font_change \\f([[:upper:]1-4]|\({upper} size_change \\s[+-]?{digit} style_change ({font_change}{size_change}?|{size_change}{font_change}?) typeface \.(B[IR]?|I[BR]?|R[BI]|S[BM]) @@ -301,7 +277,7 @@ Index: man-db-2.10.2/src/lexgrog.l /* Please add to this list if you know how. */ /* Note that, since flex only supports UTF-8 by accident, character classes -@@ -344,7 +346,26 @@ vi_name TÊN +@@ -345,7 +347,26 @@ vi_name T(Ê|ê)[Nn] zh_CN_name 名{blank}?(称|字){blank}?.* zh_TW_name (名{blank}?(稱|字)|命令名){blank}?.* name ({ar_name}|{bg_name}|{cs_name}|{da_name}|{de_name}|{en_name}|{eo_name}|{es_name}|{fa_name}|{fi_name}|{fr_name}|{hu_name}|{id_name}|{it_name}|{ja_name}|{ko_name}|{latin_name}|{lt_name}|{nl_name}|{pl_name}|{ro_name}|{ru_name}|{sk_name}|{sr_name}|{srlatin_name}|{sv_name}|{ta_name}|{tr_name}|{uk_name}|{vi_name}|{zh_CN_name}|{zh_TW_name}) @@ -329,7 +305,7 @@ Index: man-db-2.10.2/src/lexgrog.l /* eptgrv : eqn, pic, tbl, grap, refer, vgrind */ tbl_request \.TS -@@ -358,8 +379,13 @@ vgrind_request \.vS +@@ -359,8 +380,13 @@ vgrind_request \.vS %% /* begin NAME section processing */ @@ -345,7 +321,7 @@ Index: man-db-2.10.2/src/lexgrog.l /* general text matching */ { -@@ -434,6 +460,7 @@ vgrind_request \.vS +@@ -435,6 +461,7 @@ vgrind_request \.vS {bol}\.sp{blank}* | /* vertical spacing */ {bol}\.ig{blank}* | /* block comment */ {bol}\.de[1i]?{blank}* | /* macro definition */ @@ -353,18 +329,18 @@ Index: man-db-2.10.2/src/lexgrog.l {bol}\.i[ef]{blank}* | /* conditional */ {empty}{bol}.+ | <> { /* terminate the string */ -@@ -481,8 +508,8 @@ vgrind_request \.vS +@@ -482,8 +509,8 @@ vgrind_request \.vS /* Toggle fill mode */ { -- {bol}\.nf.* fill_mode = 0; -- {bol}\.fi.* fill_mode = 1; -+ {bol}\.(nf|de).* fill_mode = 0; -+ {bol}\.(fi|\.).* fill_mode = 1; +- {bol}\.nf.* fill_mode = false; +- {bol}\.fi.* fill_mode = true; ++ {bol}\.(nf|de).* fill_mode = false; ++ {bol}\.(fi|\.).* fill_mode = true; } -{eol}{blank_eol}* /* strip continuations */ -@@ -491,6 +518,9 @@ vgrind_request \.vS +@@ -492,6 +519,9 @@ vgrind_request \.vS { {next}{blank}*\\\((mi|hy|em|en){blank}* | {next}{blank}*\\\[(mi|hy|em|en)\]{blank}* | @@ -374,10 +350,8 @@ Index: man-db-2.10.2/src/lexgrog.l {next}{blank_eol}+[-\\]-{blank}* | {next}{blank_eol}*[-\\]-{blank}+ | {bol}\.Nd{blank}* { -Index: man-db-2.10.2/src/man.c -=================================================================== ---- man-db-2.10.2.orig/src/man.c -+++ man-db-2.10.2/src/man.c +--- a/src/man.c ++++ b/src/man.c 2023-08-15 08:45:27.956189368 +0000 @@ -56,6 +56,7 @@ #include #include @@ -395,22 +369,10 @@ Index: man-db-2.10.2/src/man.c #endif /* MAN_OWNER */ /* the default preprocessor sequence */ -@@ -146,6 +149,11 @@ char *lang; - - static bool global_manpath; /* global or user manual page hierarchy? */ - static int skip; /* page exists but has been skipped */ -+static struct termios tms; /* To save terminal settings in */ -+static int tms_set = 0; /* Do we have saved terminal settings? */ -+static pid_t tms_pid = 0; -+ -+static void set_term(void) { if (tms_set && getpid () == tms_pid) tcsetattr(fileno(stdin), TCSANOW, &tms); } - - #if defined _AIX || defined __sgi - char **global_argv; -@@ -241,10 +249,10 @@ static int found_a_stray; /* found a st +@@ -239,10 +242,10 @@ static int first_arg; #ifdef MAN_CATS static char *tmp_cat_file; /* for open_cat_stream(), close_cat_stream() */ - static int created_tmp_cat; /* dto. */ + static bool created_tmp_cat; /* dto. */ -#endif static int tmp_cat_fd; static struct timespec man_modtime; /* modtime of man page, for @@ -419,44 +381,7 @@ Index: man-db-2.10.2/src/man.c # ifdef TROFF_IS_GROFF static bool ditroff; -@@ -617,36 +625,6 @@ static void gripe_no_name (const char *s - exit (FAIL); - } - --static struct termios tms; --static int tms_set = 0; --static pid_t tms_pid = 0; -- --static void set_term (void) --{ -- if (tms_set && getpid () == tms_pid) -- tcsetattr (STDIN_FILENO, TCSANOW, &tms); --} -- --static void get_term (void) --{ -- if (isatty (STDOUT_FILENO)) { -- debug ("is a tty\n"); -- tcgetattr (STDIN_FILENO, &tms); -- if (!tms_set++) { -- /* Work around pipecmd_exec calling exit(3) rather -- * than _exit(2), which means our atexit-registered -- * functions are called at the end of each child -- * process created using pipecmd_new_function and -- * friends. It would probably be good to fix this -- * in libpipeline at some point, but it would -- * require care to avoid breaking compatibility. -- */ -- tms_pid = getpid (); -- atexit (set_term); -- } -- } --} -- - #if defined(TROFF_IS_GROFF) || defined(HEIRLOOM_NROFF) - static int get_roff_line_length (void) - { -@@ -1536,6 +1514,18 @@ static void setenv_less (pipecmd *cmd, c +@@ -1561,6 +1564,18 @@ static void setenv_less (pipecmd *cmd, c free (less_opts); } @@ -475,7 +400,7 @@ Index: man-db-2.10.2/src/man.c static void add_output_iconv (pipeline *p, const char *source, const char *target) { -@@ -1666,6 +1656,8 @@ static pipeline *make_display_command (c +@@ -1691,6 +1706,8 @@ static pipeline *make_display_command (c if (pager_cmd) { setenv_less (pager_cmd, title); @@ -484,7 +409,7 @@ Index: man-db-2.10.2/src/man.c pipeline_command (p, pager_cmd); } pipeline_ignore_signals (p, 1); -@@ -1676,7 +1668,7 @@ static pipeline *make_display_command (c +@@ -1701,7 +1718,7 @@ static pipeline *make_display_command (c return p; } @@ -493,7 +418,7 @@ Index: man-db-2.10.2/src/man.c /* return a (malloced) temporary name in cat_file's directory */ static char *tmp_cat_filename (const char *cat_file) { -@@ -1704,7 +1696,6 @@ static char *tmp_cat_filename (const cha +@@ -1729,7 +1746,6 @@ static char *tmp_cat_filename (const cha return name; } @@ -501,7 +426,7 @@ Index: man-db-2.10.2/src/man.c /* If delete unlink tmp_cat, else commit tmp_cat to cat_file. Return non-zero on error. */ -@@ -1777,6 +1768,7 @@ static int commit_tmp_cat (const char *c +@@ -1802,6 +1818,7 @@ static int commit_tmp_cat (const char *c return status; } @@ -509,7 +434,7 @@ Index: man-db-2.10.2/src/man.c /* TODO: This should all be refactored after work on the decompression * library is complete. -@@ -1813,7 +1805,6 @@ static void cleanup_unlink (void *arg) +@@ -1838,7 +1855,6 @@ static void cleanup_unlink (void *arg) } #ifdef MAN_CATS @@ -517,7 +442,7 @@ Index: man-db-2.10.2/src/man.c /* 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) { -@@ -2039,6 +2030,7 @@ static void format_display (decompress * +@@ -2070,6 +2086,7 @@ static void format_display (decompress * regain_effective_privs (); } @@ -525,7 +450,7 @@ Index: man-db-2.10.2/src/man.c /* "Display" a page in catman mode, which amounts to saving it. */ /* TODO: merge with format_display_and_save? */ static void display_catman (const char *cat_file, decompress *d, -@@ -2084,6 +2076,7 @@ static void display_catman (const char * +@@ -2115,6 +2132,7 @@ static void display_catman (const char * pop_cleanup (cleanup_unlink, tmpcat); free (tmpcat); } @@ -533,7 +458,7 @@ Index: man-db-2.10.2/src/man.c static void disable_hyphenation (void *data MAYBE_UNUSED) { -@@ -2286,7 +2279,7 @@ static int display (const char *dir, con +@@ -2317,7 +2335,7 @@ static int display (const char *dir, con format_cmd = NULL; decomp_errno = errno; } @@ -542,7 +467,7 @@ Index: man-db-2.10.2/src/man.c /* Get modification time, for commit_tmp_cat(). */ if (man_file && *man_file) { struct stat stb; -@@ -2296,7 +2289,7 @@ static int display (const char *dir, con +@@ -2327,7 +2345,7 @@ static int display (const char *dir, con } else man_modtime = get_stat_mtime (&stb); } @@ -551,7 +476,7 @@ Index: man-db-2.10.2/src/man.c display_to_stdout = troff; #ifdef TROFF_IS_GROFF if (htmlout || gxditview) -@@ -2437,6 +2430,7 @@ static int display (const char *dir, con +@@ -2468,6 +2486,7 @@ static int display (const char *dir, con } if (printed) putchar ('\n'); @@ -559,7 +484,7 @@ Index: man-db-2.10.2/src/man.c } else if (catman) { if (format) { if (!save_cat) -@@ -2449,6 +2443,7 @@ static int display (const char *dir, con +@@ -2480,6 +2499,7 @@ static int display (const char *dir, con format_cmd, formatted_encoding); } @@ -567,16 +492,7 @@ Index: man-db-2.10.2/src/man.c } else if (format) { /* no cat or out of date */ pipeline *disp_cmd; -@@ -3390,7 +3385,7 @@ static int display_database_check (struc - #ifdef MAN_DB_UPDATES - if (!exists && !skip) { - debug ("dbdelete_wrapper (%s, %p, %s)\n", -- candp->req_name, candp->source, candp->path); -+ candp->req_name, candp->source->addr, candp->path); - dbdelete_wrapper (candp->req_name, candp->source, candp->path); - } - #endif /* MAN_DB_UPDATES */ -@@ -3989,17 +3984,20 @@ static int local_man_loop (const char *a +@@ -4011,17 +4031,20 @@ static int local_man_loop (const char *a /* Check that the file exists and isn't e.g. a directory */ if (stat (argv, &st)) { error (0, errno, "%s", argv); @@ -597,7 +513,7 @@ Index: man-db-2.10.2/src/man.c return NOT_FOUND; } -@@ -4062,6 +4060,11 @@ executable_out: +@@ -4085,6 +4108,11 @@ executable_out: argv_abs = xstrdup (argv); } lang = lang_dir (argv_abs); @@ -609,7 +525,7 @@ Index: man-db-2.10.2/src/man.c free (argv_abs); if (!display (NULL, argv, NULL, argv_base, NULL)) { if (local_mf) -@@ -4317,7 +4320,16 @@ int main (int argc, char *argv[]) +@@ -4340,7 +4368,16 @@ int main (int argc, char *argv[]) umask (022); init_locale (); @@ -627,7 +543,7 @@ Index: man-db-2.10.2/src/man.c /* Use LANGUAGE only when LC_MESSAGES locale category is * neither "C" nor "POSIX". */ if (internal_locale && strcmp (internal_locale, "C") && -@@ -4362,7 +4374,16 @@ int main (int argc, char *argv[]) +@@ -4385,7 +4422,16 @@ int main (int argc, char *argv[]) if (external) do_extern (argc, argv); @@ -644,10 +560,8 @@ Index: man-db-2.10.2/src/man.c /* close this locale and reinitialise if a new locale was issued as an argument or in $MANOPT */ -Index: man-db-2.10.2/src/man_db.conf.in -=================================================================== ---- man-db-2.10.2.orig/src/man_db.conf.in -+++ man-db-2.10.2/src/man_db.conf.in +--- a/src/man_db.conf.in ++++ b/src/man_db.conf.in 2023-08-15 08:31:31.139097869 +0000 @@ -20,6 +20,14 @@ MANDATORY_MANPATH /usr/man MANDATORY_MANPATH /usr/share/man @@ -686,11 +600,9 @@ Index: man-db-2.10.2/src/man_db.conf.in MANDB_MAP @snapdir@/man /var/cache/man/snap # #--------------------------------------------------------- -Index: man-db-2.10.2/src/mandb.c -=================================================================== ---- man-db-2.10.2.orig/src/mandb.c -+++ man-db-2.10.2/src/mandb.c -@@ -207,6 +207,8 @@ struct dbpaths { +--- a/src/mandb.c ++++ b/src/mandb.c 2023-08-15 08:35:07.783240325 +0000 +@@ -213,6 +213,8 @@ struct dbpaths { #ifdef MAN_OWNER extern uid_t ruid; extern uid_t euid; @@ -699,7 +611,7 @@ Index: man-db-2.10.2/src/mandb.c #endif /* MAN_OWNER */ static gl_list_t manpathlist; -@@ -576,6 +578,8 @@ static int mandb (struct dbpaths *dbpath +@@ -638,6 +640,8 @@ static int mandb (struct dbpaths *dbpath return amount; } @@ -708,25 +620,25 @@ Index: man-db-2.10.2/src/mandb.c static int process_manpath (const char *manpath, bool global_manpath, gl_map_t tried_catdirs) { -@@ -617,6 +621,8 @@ static int process_manpath (const char * +@@ -679,6 +683,8 @@ static int process_manpath (const char * } else run_mandb = true; + mkcatdirs (manpath, catpath); + dbpaths = XZALLOC (struct dbpaths); - push_cleanup (cleanup, dbpaths, 0); - push_cleanup (cleanup_sigsafe, dbpaths, 1); -@@ -636,7 +642,7 @@ static int process_manpath (const char * - if (!opt_test && (amount || new_purged || new_strays)) - finish_up (dbpaths); + push_cleanup ((cleanup_fun) dbpaths_free_elements, dbpaths, 0); + push_cleanup ((cleanup_fun) dbpaths_unlink_tmp, dbpaths, 1); +@@ -697,7 +703,7 @@ static int process_manpath (const char * + if (!opt_test && (amount || new_purged || new_strays)) { + dbpaths_rename_from_tmp (dbpaths); #ifdef MAN_OWNER -- if (global_manpath) -+ if (global_manpath && (euid == 0 || ruid == 0)) - do_chown (dbpaths); +- if (global_manpath) ++ if (global_manpath && (euid == 0 || ruid == 0)) + dbpaths_chown_if_possible (dbpaths); #endif /* MAN_OWNER */ - -@@ -835,8 +841,14 @@ int main (int argc, char *argv[]) + reorganize (catpath, global_manpath); +@@ -896,8 +902,14 @@ int main (int argc, char *argv[]) #ifdef MAN_OWNER man_owner = get_man_owner (); @@ -743,11 +655,9 @@ Index: man-db-2.10.2/src/mandb.c #endif /* MAN_OWNER */ read_config_file (user); -Index: man-db-2.10.2/src/manp.c -=================================================================== ---- man-db-2.10.2.orig/src/manp.c -+++ man-db-2.10.2/src/manp.c -@@ -906,7 +906,7 @@ static char *def_path (enum config_flag +--- a/src/manp.c ++++ b/src/manp.c 2023-08-15 08:31:31.139097869 +0000 +@@ -907,7 +907,7 @@ static char *def_path (enum config_flag /* If we have complete config file failure... */ if (!manpath) @@ -756,10 +666,8 @@ Index: man-db-2.10.2/src/manp.c return manpath; } -Index: man-db-2.10.2/src/straycats.c -=================================================================== ---- man-db-2.10.2.orig/src/straycats.c -+++ man-db-2.10.2/src/straycats.c +--- a/src/straycats.c ++++ b/src/straycats.c 2023-08-15 08:31:31.139097869 +0000 @@ -38,6 +38,7 @@ #include #include @@ -768,25 +676,23 @@ Index: man-db-2.10.2/src/straycats.c #include #include "canonicalize.h" -Index: man-db-2.10.2/src/ult_src.c -=================================================================== ---- man-db-2.10.2.orig/src/ult_src.c -+++ man-db-2.10.2/src/ult_src.c -@@ -342,10 +342,15 @@ const char *ult_src (const char *name, c - } - decompress_start (decomp); +--- a/src/ult_src.c ++++ b/src/ult_src.c 2023-08-15 08:37:50.940333586 +0000 +@@ -160,10 +160,15 @@ static char *find_include_directive (cha + } + decompress_start (decomp); -- /* make sure that we skip over any comments */ -+ /* -+ * make sure that we skip over any comments -+ * ... even if we handle TCL/TK manual pages -+ */ - do { - buffer = decompress_readline (decomp); -- } while (buffer && STRNEQ (buffer, ".\\\"", 3)); -+ } while (buffer && *buffer && -+ (STRNEQ (buffer, ".\\\"", 3) || -+ STRNEQ (buffer, "'\\\"", 3))); +- /* make sure that we skip over any comments */ ++ /* ++ * make sure that we skip over any comments ++ * ... even if we handle TCL/TK manual pages ++ */ + do { + buffer = decompress_readline (decomp); +- } while (buffer && STRNEQ (buffer, ".\\\"", 3)); ++ } while (buffer && *buffer && ++ (STRNEQ (buffer, ".\\\"", 3) || ++ STRNEQ (buffer, "'\\\"", 3))); + + directive = xstrdup (buffer ? buffer : ""); - include = test_for_include (buffer); - if (include) { diff --git a/man-propose-online.patch b/man-propose-online.patch index 252a5c9..4c73b7c 100644 --- a/man-propose-online.patch +++ b/man-propose-online.patch @@ -1,7 +1,7 @@ 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.patch/src/man.c 2023-04-03 17:13:05.944119389 +0200 -@@ -738,11 +738,16 @@ +@@ -775,11 +775,16 @@ } #endif diff --git a/man.changes b/man.changes index 87ab291..d8158e3 100644 --- a/man.changes +++ b/man.changes @@ -1,3 +1,59 @@ +------------------------------------------------------------------- +Tue Aug 15 09:31:32 UTC 2023 - Dr. Werner Fink + +- Update to 2.11.2: + * Fix compile and test failures when `troff` is not `groff`. + * Fix segfault in typical uses of `man` when `nroff` is not installed. + * Fix crash in `mandb` when processing stray cats. + * SECURITY: Replace `$` characters in page names with `?` when constructing + `less` prompts. + * Silence error message when processing an empty manual page hierarchy with + a nonexistent cache directory. + * `man(1)` now sorts whatis references below real pages, even if the whatis + references are from a section with higher priority. + * `mandb` now correctly records filters in the database if it uses cached + whatis information. + * Upgrade Gnulib, fixing syntax error on glibc systems with GCC 11. + * The `CATWIDTH` configuration file directive now overrides `MINCATWIDTH` + and `MAXCATWIDTH`. + * Database entries for links were often incorrectly stored as if they were + entries for the ultimate source of the page. They are now stored with + the correct type. + * Store links in the database using the section and extension of the link + rather than of the ultimate source file. + * Consider pages for adding to the database even if they seem to already + exist; this performance optimization is no longer needed due to caching, + and it produced inconsistent results in some unusual cases. + * `man` now runs any required preprocessors in the same order that `groff` + does, rather than trusting the order of filters in a page's preprocessor + string. + * Fix building on MinGW. (I haven't been able to test this; help from + MinGW experts would be welcome.) + Improvements: + * Check for stray cats even if no manual pages in a given manpath were + changed. + * Add section `3type` to the default section list just after `2`. This is + used by the Linux man-pages package. + * Recognize more Hungarian translations of the `NAME` section. + * Add more recognized case variants for localized versions of the `NAME` + section. + * Maintain multi keys in sorted order, improving database reproducibility. + * Pick a more consistent name for the target of a whatis entry in the + database. + * Extend rules for when to replace one database entry with another, + producing more stable behaviour. + * Fully reorganize databases after writing them, allowing the reproduction + of bitwise-identical databases regardless of scan order (at least with + GDBM). +- Port patches + * man-db-2.6.3-chinese.dif + * man-db-2.6.3-listall.dif + * man-db-2.7.1-zio.dif + * man-db-2.9.4-alternitive.dif + * man-db-2.9.4-no-chown.patch + * man-db-2.9.4.patch + * man-propose-online.patch + ------------------------------------------------------------------- Thu May 25 06:37:13 UTC 2023 - Dr. Werner Fink diff --git a/man.spec b/man.spec index d4cb70f..e45e4ff 100644 --- a/man.spec +++ b/man.spec @@ -26,7 +26,7 @@ %global optflags %{optflags} %{**} %bcond_without sdtimer Name: man -Version: 2.10.2 +Version: 2.11.2 Release: 0 Summary: A Program for Displaying man Pages License: GPL-2.0-or-later