Update to man-db-2.11.2
OBS-URL: https://build.opensuse.org/package/show/Base:System/man?expand=0&rev=146
This commit is contained in:
parent
eb752c9a6e
commit
c0347cfb04
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:ee97954d492a13731903c9d0727b9b01e5089edbd695f0cdb58d405a5af5514d
|
|
||||||
size 1902840
|
|
@ -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-----
|
|
BIN
man-db-2.11.2.tar.xz
(Stored with Git LFS)
Normal file
BIN
man-db-2.11.2.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
man-db-2.11.2.tar.xz.asc
Normal file
16
man-db-2.11.2.tar.xz.asc
Normal file
@ -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-----
|
@ -34,7 +34,7 @@
|
|||||||
*/
|
*/
|
||||||
const char *get_source_encoding (const char *lang)
|
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") ||
|
if ((STREQ (input, "BIG5") || STREQ (input, "BIG5HKSCS") ||
|
||||||
STREQ (input, "EUC-JP") ||
|
STREQ (input, "EUC-JP") ||
|
||||||
@ -43,7 +43,7 @@
|
|||||||
STREQ (input, "EUC-KR") ||
|
STREQ (input, "EUC-KR") ||
|
||||||
STREQ (input, "EUC-TW")) &&
|
STREQ (input, "EUC-TW")) &&
|
||||||
STREQ (output, "UTF-8"))
|
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_HK", 5) ||
|
||||||
STRNEQ (ctype, "zh_SG", 5) ||
|
STRNEQ (ctype, "zh_SG", 5) ||
|
||||||
STRNEQ (ctype, "zh_TW", 5))
|
STRNEQ (ctype, "zh_TW", 5))
|
||||||
|
@ -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
|
||||||
@@ -3615,12 +3615,141 @@ static int locate_page (const char *manp
|
@@ -3641,12 +3641,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 ();
|
||||||
@@ -3642,9 +3771,56 @@ static int display_pages (struct candida
|
@@ -3668,9 +3797,56 @@ static int display_pages (struct candida
|
||||||
regain_effective_privs ();
|
regain_effective_privs ();
|
||||||
|
|
||||||
if (found && !findall)
|
if (found && !findall)
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
---
|
---
|
||||||
config.h.in | 3 ++
|
config.h.in | 3 +
|
||||||
configure.ac | 52 ++++++++++++++++++++++++++++++++++++++++
|
configure.ac | 52 ++++++++++++++++++++++++++++++
|
||||||
src/decompress.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
|
src/decompress.c | 70 ++++++++++++++++++++++++++++++++++++++++-
|
||||||
3 files changed, 124 insertions(+), 1 deletion(-)
|
3 files changed, 124 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
Index: config.h.in
|
--- config.h.in
|
||||||
===================================================================
|
+++ config.h.in 2023-08-15 08:21:20.473974597 +0000
|
||||||
--- config.h.in.orig
|
@@ -1015,6 +1015,9 @@
|
||||||
+++ config.h.in
|
|
||||||
@@ -1009,6 +1009,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
|
||||||
|
|
||||||
@ -18,10 +16,8 @@ Index: config.h.in
|
|||||||
/* Define to 1 if the bcrypt library is guaranteed to be present. */
|
/* Define to 1 if the bcrypt library is guaranteed to be present. */
|
||||||
#undef HAVE_LIB_BCRYPT
|
#undef HAVE_LIB_BCRYPT
|
||||||
|
|
||||||
Index: configure.ac
|
--- configure.ac
|
||||||
===================================================================
|
+++ configure.ac 2023-08-15 08:21:20.473974597 +0000
|
||||||
--- configure.ac.orig
|
|
||||||
+++ configure.ac
|
|
||||||
@@ -35,6 +35,18 @@ MAN_ARG_DEVICE
|
@@ -35,6 +35,18 @@ MAN_ARG_DEVICE
|
||||||
MAN_ARG_DB
|
MAN_ARG_DB
|
||||||
MAN_ARG_CONFIG_FILE
|
MAN_ARG_CONFIG_FILE
|
||||||
@ -41,7 +37,7 @@ Index: configure.ac
|
|||||||
MAN_ARG_AUTOMATIC_CREATE
|
MAN_ARG_AUTOMATIC_CREATE
|
||||||
MAN_ARG_AUTOMATIC_UPDATE
|
MAN_ARG_AUTOMATIC_UPDATE
|
||||||
MAN_ARG_CATS
|
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_UNLZIP], ["$unlzip"], [Program to use as unlzip.])
|
||||||
AC_DEFINE_UNQUOTED([PROG_UNZSTD], ["$unzstd"], [Program to use as unzstd.])
|
AC_DEFINE_UNQUOTED([PROG_UNZSTD], ["$unzstd"], [Program to use as unzstd.])
|
||||||
MAN_COMPRESS_LIB([z], [gzopen])
|
MAN_COMPRESS_LIB([z], [gzopen])
|
||||||
@ -88,13 +84,11 @@ Index: configure.ac
|
|||||||
dnl To add more decompressors just follow the scheme above.
|
dnl To add more decompressors just follow the scheme above.
|
||||||
|
|
||||||
# Check for various header files and associated libraries.
|
# Check for various header files and associated libraries.
|
||||||
Index: src/decompress.c
|
--- src/decompress.c
|
||||||
===================================================================
|
+++ src/decompress.c 2023-08-15 08:23:12.947968440 +0000
|
||||||
--- src/decompress.c.orig
|
@@ -40,12 +40,17 @@
|
||||||
+++ src/decompress.c
|
|
||||||
@@ -38,12 +38,17 @@
|
#include "pipeline.h"
|
||||||
# include "zlib.h"
|
|
||||||
#endif /* HAVE_LIBZ */
|
|
||||||
|
|
||||||
+#include "appendstr.h"
|
+#include "appendstr.h"
|
||||||
#include "attribute.h"
|
#include "attribute.h"
|
||||||
@ -108,9 +102,9 @@ Index: src/decompress.c
|
|||||||
+#endif /* HAVE_ZIO */
|
+#endif /* HAVE_ZIO */
|
||||||
+
|
+
|
||||||
#include "manconfig.h"
|
#include "manconfig.h"
|
||||||
#include "comp_src.h"
|
|
||||||
#include "pipeline.h"
|
#include "compression.h"
|
||||||
@@ -186,6 +191,33 @@ static decompress *decompress_try_zlib (
|
@@ -189,6 +194,33 @@ static decompress *decompress_try_zlib (
|
||||||
#define OPEN_FLAGS_UNUSED MAYBE_UNUSED
|
#define OPEN_FLAGS_UNUSED MAYBE_UNUSED
|
||||||
#endif /* HAVE_LIBZ */
|
#endif /* HAVE_LIBZ */
|
||||||
|
|
||||||
@ -144,7 +138,7 @@ Index: src/decompress.c
|
|||||||
extern man_sandbox *sandbox;
|
extern man_sandbox *sandbox;
|
||||||
|
|
||||||
decompress *decompress_open (const char *filename, int flags OPEN_FLAGS_UNUSED)
|
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))
|
if (stat (filename, &st) < 0 || S_ISDIR (st.st_mode))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
@ -183,7 +177,7 @@ Index: src/decompress.c
|
|||||||
#ifdef HAVE_LIBZ
|
#ifdef HAVE_LIBZ
|
||||||
filename_len = strlen (filename);
|
filename_len = strlen (filename);
|
||||||
if (filename_len > 3 && STREQ (filename + filename_len - 3, ".gz")) {
|
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 */
|
#endif /* HAVE_LIBZ */
|
||||||
|
|
||||||
@ -195,7 +189,7 @@ Index: src/decompress.c
|
|||||||
if (ext) {
|
if (ext) {
|
||||||
++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)
|
void decompress_start (decompress *d)
|
||||||
{
|
{
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#include "argp.h"
|
#include "argp.h"
|
||||||
#include "attribute.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;
|
char *mp;
|
||||||
|
|
||||||
|
@ -1,19 +1,23 @@
|
|||||||
Index: man-db-2.10.2/src/Makefile.am
|
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
|
man-db-2.11.2/src/Makefile.am | 11 +----------
|
||||||
@@ -210,16 +210,7 @@ apropos$(EXEEXT): whatis$(EXEEXT)
|
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)
|
all-am: apropos$(EXEEXT)
|
||||||
|
|
||||||
install-exec-hook:
|
install-exec-hook:
|
||||||
- if [ "$(man_owner)" ] && [ "$(man_mode)" = 6755 ]; then \
|
- if [ "$(man_owner)" ] && [ "$(man_mode)" = 6755 ]; then \
|
||||||
- chown $(man_owner):$(man_owner) \
|
- chown $(man_owner):$(man_owner) \
|
||||||
- $(DESTDIR)$(bindir)/$(TRANS_MAN) \
|
- $(DESTDIR)$(bindir)/$(TRANS_MAN)$(EXEEXT) \
|
||||||
- $(DESTDIR)$(bindir)/$(TRANS_MANDB); \
|
- $(DESTDIR)$(bindir)/$(TRANS_MANDB)$(EXEEXT); \
|
||||||
- fi
|
- fi
|
||||||
- chmod $(man_mode) \
|
- chmod $(man_mode) \
|
||||||
- $(DESTDIR)$(bindir)/$(TRANS_MAN) \
|
- $(DESTDIR)$(bindir)/$(TRANS_MAN)$(EXEEXT) \
|
||||||
- $(DESTDIR)$(bindir)/$(TRANS_MANDB)
|
- $(DESTDIR)$(bindir)/$(TRANS_MANDB)$(EXEEXT)
|
||||||
- cd $(DESTDIR)$(bindir) && rm -f $(TRANS_APROPOS)$(EXEEXT) && \
|
- cd $(DESTDIR)$(bindir) && rm -f $(TRANS_APROPOS)$(EXEEXT) && \
|
||||||
- $(LN_S) $(TRANS_WHATIS)$(EXEEXT) $(TRANS_APROPOS)$(EXEEXT)
|
- $(LN_S) $(TRANS_WHATIS)$(EXEEXT) $(TRANS_APROPOS)$(EXEEXT)
|
||||||
+ $(LN_S) $(TRANS_WHATIS) $(DESTDIR)$(bindir)/$(TRANS_APROPOS)
|
+ $(LN_S) $(TRANS_WHATIS) $(DESTDIR)$(bindir)/$(TRANS_APROPOS)
|
||||||
|
@ -1,23 +1,20 @@
|
|||||||
---
|
---
|
||||||
configure.ac | 18 ++++++++-
|
configure.ac | 18 +++++++++-
|
||||||
include/comp_src.h | 2 -
|
lib/security.c | 30 +++++++++++++++++
|
||||||
lib/security.c | 30 ++++++++++++++++
|
mk_catdirs | 30 +++++++++++++++++
|
||||||
mk_catdirs | 30 ++++++++++++++++
|
src/check_mandirs.c | 33 ++++++++++++-------
|
||||||
src/check_mandirs.c | 33 +++++++++++------
|
src/lexgrog.l | 64 +++++++++++++++++++++++++++-----------
|
||||||
src/lexgrog.l | 64 +++++++++++++++++++++++++---------
|
src/man.c | 60 +++++++++++++++++++++++++++++++++++++++++++-----
|
||||||
src/man.c | 97 +++++++++++++++++++++++++++++++---------------------
|
src/man_db.conf.in | 17 ++++++++--
|
||||||
src/man_db.conf.in | 17 +++++++--
|
src/mandb.c | 18 ++++++++--
|
||||||
src/mandb.c | 18 ++++++++-
|
|
||||||
src/manp.c | 2 -
|
src/manp.c | 2 -
|
||||||
src/straycats.c | 1
|
src/straycats.c | 1
|
||||||
src/ult_src.c | 9 +++-
|
src/ult_src.c | 9 ++++-
|
||||||
12 files changed, 242 insertions(+), 79 deletions(-)
|
11 files changed, 235 insertions(+), 47 deletions(-)
|
||||||
|
|
||||||
Index: man-db-2.10.2/configure.ac
|
--- a/configure.ac
|
||||||
===================================================================
|
+++ b/configure.ac 2023-08-15 08:31:31.135097942 +0000
|
||||||
--- man-db-2.10.2.orig/configure.ac
|
@@ -302,6 +302,14 @@ fi
|
||||||
+++ man-db-2.10.2/configure.ac
|
|
||||||
@@ -301,6 +301,14 @@ fi
|
|
||||||
|
|
||||||
MAN_CHECK_PROGS([eqn], [EQN], [use EQN to preprocess equations], [eqn geqn])
|
MAN_CHECK_PROGS([eqn], [EQN], [use EQN to preprocess equations], [eqn geqn])
|
||||||
AC_DEFINE_UNQUOTED([PROG_EQN], ["$eqn"], [Program to use as eqn.])
|
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])
|
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
|
# 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
|
# 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"
|
compress_ext="gz"
|
||||||
fi
|
fi
|
||||||
MAN_CHECK_PROGS([compress], [COMPRESS], [use COMPRESS as UNIX compression utility], [compress])
|
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"
|
if test -z "$gzip"
|
||||||
then
|
then
|
||||||
compressor="$compress -c"
|
compressor="$compress -c"
|
||||||
Index: man-db-2.10.2/include/comp_src.h
|
--- a/lib/security.c
|
||||||
===================================================================
|
+++ b/lib/security.c 2023-08-15 08:31:31.135097942 +0000
|
||||||
--- 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
|
|
||||||
@@ -80,6 +80,11 @@ static void gripe_set_euid (void)
|
@@ -80,6 +80,11 @@ static void gripe_set_euid (void)
|
||||||
fatal (errno, _("can't set effective uid"));
|
fatal (errno, _("can't set effective uid"));
|
||||||
}
|
}
|
||||||
@ -79,7 +61,7 @@ Index: man-db-2.10.2/lib/security.c
|
|||||||
#endif /* MAN_OWNER */
|
#endif /* MAN_OWNER */
|
||||||
|
|
||||||
void init_security (void)
|
void init_security (void)
|
||||||
@@ -166,6 +171,31 @@ void regain_effective_privs (void)
|
@@ -164,6 +169,31 @@ void regain_effective_privs (void)
|
||||||
uid = euid;
|
uid = euid;
|
||||||
gid = egid;
|
gid = egid;
|
||||||
}
|
}
|
||||||
@ -111,10 +93,8 @@ Index: man-db-2.10.2/lib/security.c
|
|||||||
#endif /* MAN_OWNER */
|
#endif /* MAN_OWNER */
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: man-db-2.10.2/mk_catdirs
|
--- a/mk_catdirs
|
||||||
===================================================================
|
+++ b/mk_catdirs 2023-08-15 08:31:31.135097942 +0000
|
||||||
--- /dev/null
|
|
||||||
+++ man-db-2.10.2/mk_catdirs
|
|
||||||
@@ -0,0 +1,30 @@
|
@@ -0,0 +1,30 @@
|
||||||
+#!/bin/sh
|
+#!/bin/sh
|
||||||
+
|
+
|
||||||
@ -146,11 +126,9 @@ Index: man-db-2.10.2/mk_catdirs
|
|||||||
+cd ${OLDPWD}
|
+cd ${OLDPWD}
|
||||||
+
|
+
|
||||||
+test "$(id -u)" -ne 0 || chown man:man -R ${CACHE}
|
+test "$(id -u)" -ne 0 || chown man:man -R ${CACHE}
|
||||||
Index: man-db-2.10.2/src/check_mandirs.c
|
--- a/src/check_mandirs.c
|
||||||
===================================================================
|
+++ b/src/check_mandirs.c 2023-08-15 08:31:31.139097869 +0000
|
||||||
--- man-db-2.10.2.orig/src/check_mandirs.c
|
@@ -381,7 +381,7 @@ void chown_if_possible (const char *path
|
||||||
+++ man-db-2.10.2/src/check_mandirs.c
|
|
||||||
@@ -417,7 +417,7 @@ void chown_if_possible (const char *path
|
|
||||||
#endif /* MAN_OWNER */
|
#endif /* MAN_OWNER */
|
||||||
|
|
||||||
/* create the catman hierarchy if it doesn't exist */
|
/* 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;
|
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;
|
int j;
|
||||||
regain_effective_privs ();
|
regain_effective_privs ();
|
||||||
debug ("creating catdir hierarchy %s ", catdir);
|
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)
|
if ((is_directory (manname) == 1)
|
||||||
&& (is_directory (catname) != 1)) {
|
&& (is_directory (catname) != 1)) {
|
||||||
if (mkdir (catname, 0755) < 0) {
|
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);
|
error (0, 0, _("warning: cannot create catdir %s"), catname);
|
||||||
debug ("warning: cannot create catdir %s\n", catname);
|
debug ("warning: cannot create catdir %s\n", catname);
|
||||||
} else
|
} else
|
||||||
@ -186,7 +164,7 @@ Index: man-db-2.10.2/src/check_mandirs.c
|
|||||||
chown_if_possible (catname);
|
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) {
|
if (!quiet) {
|
||||||
@ -203,7 +181,7 @@ Index: man-db-2.10.2/src/check_mandirs.c
|
|||||||
}
|
}
|
||||||
add_dir_entries (dbf, path, mandir->d_name);
|
add_dir_entries (dbf, path, mandir->d_name);
|
||||||
amount++;
|
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;
|
int new;
|
||||||
|
|
||||||
if (!ensure_db_open (dbf) || !sanity_check_db (dbf)) {
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
mtime = MYDBM_GET_TIME (dbf);
|
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);
|
"would delete\n", name, info->ext);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -220,7 +198,7 @@ Index: man-db-2.10.2/src/check_mandirs.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Check that multi keys are correctly constructed. */
|
/* 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
|
#pragma GCC diagnostic pop
|
||||||
|
|
||||||
@ -235,11 +213,9 @@ Index: man-db-2.10.2/src/check_mandirs.c
|
|||||||
content = MYDBM_FETCH (dbf, key);
|
content = MYDBM_FETCH (dbf, key);
|
||||||
if (!MYDBM_DPTR (content)) {
|
if (!MYDBM_DPTR (content)) {
|
||||||
nextkey = MYDBM_NEXTKEY (dbf, key);
|
nextkey = MYDBM_NEXTKEY (dbf, key);
|
||||||
Index: man-db-2.10.2/src/lexgrog.l
|
--- a/src/lexgrog.l
|
||||||
===================================================================
|
+++ b/src/lexgrog.l 2023-08-15 08:33:23.053105426 +0000
|
||||||
--- man-db-2.10.2.orig/src/lexgrog.l
|
@@ -70,7 +70,7 @@
|
||||||
+++ man-db-2.10.2/src/lexgrog.l
|
|
||||||
@@ -69,7 +69,7 @@
|
|
||||||
#include "manconv.h"
|
#include "manconv.h"
|
||||||
#include "manconv_client.h"
|
#include "manconv_client.h"
|
||||||
|
|
||||||
@ -248,7 +224,7 @@ Index: man-db-2.10.2/src/lexgrog.l
|
|||||||
#define MAX_NAME 8192
|
#define MAX_NAME 8192
|
||||||
|
|
||||||
/* defines the ordered list of filters detected by lexgrog */
|
/* 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\"", "\"" }
|
{ "R\"", "\"" }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -273,15 +249,15 @@ Index: man-db-2.10.2/src/lexgrog.l
|
|||||||
|
|
||||||
static char newname[MAX_NAME];
|
static char newname[MAX_NAME];
|
||||||
static char *p_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 bool fill_mode;
|
||||||
static int waiting_for_quote;
|
static bool waiting_for_quote;
|
||||||
+static int have_separator;
|
+static int have_separator;
|
||||||
|
|
||||||
static decompress *decomp;
|
static decompress *decomp;
|
||||||
|
|
||||||
@@ -262,7 +263,7 @@ static decompress *decomp;
|
@@ -263,7 +264,7 @@ static decompress *decomp;
|
||||||
%}
|
%}
|
||||||
|
|
||||||
%option ecs meta-ecs
|
%option ecs meta-ecs
|
||||||
@ -290,7 +266,7 @@ Index: man-db-2.10.2/src/lexgrog.l
|
|||||||
%option nostdinit
|
%option nostdinit
|
||||||
%option warn
|
%option warn
|
||||||
%option noyywrap nounput
|
%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}
|
size_change \\s[+-]?{digit}
|
||||||
style_change ({font_change}{size_change}?|{size_change}{font_change}?)
|
style_change ({font_change}{size_change}?|{size_change}{font_change}?)
|
||||||
typeface \.(B[IR]?|I[BR]?|R[BI]|S[BM])
|
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. */
|
/* Please add to this list if you know how. */
|
||||||
/* Note that, since flex only supports UTF-8 by accident, character classes
|
/* 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_CN_name 名{blank}?(称|字){blank}?.*
|
||||||
zh_TW_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})
|
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 */
|
/* eptgrv : eqn, pic, tbl, grap, refer, vgrind */
|
||||||
tbl_request \.TS
|
tbl_request \.TS
|
||||||
@@ -358,8 +379,13 @@ vgrind_request \.vS
|
@@ -359,8 +380,13 @@ vgrind_request \.vS
|
||||||
%%
|
%%
|
||||||
|
|
||||||
/* begin NAME section processing */
|
/* begin NAME section processing */
|
||||||
@ -345,7 +321,7 @@ Index: man-db-2.10.2/src/lexgrog.l
|
|||||||
|
|
||||||
/* general text matching */
|
/* general text matching */
|
||||||
<MAN_FILE>{
|
<MAN_FILE>{
|
||||||
@@ -434,6 +460,7 @@ vgrind_request \.vS
|
@@ -435,6 +461,7 @@ vgrind_request \.vS
|
||||||
{bol}\.sp{blank}* | /* vertical spacing */
|
{bol}\.sp{blank}* | /* vertical spacing */
|
||||||
{bol}\.ig{blank}* | /* block comment */
|
{bol}\.ig{blank}* | /* block comment */
|
||||||
{bol}\.de[1i]?{blank}* | /* macro definition */
|
{bol}\.de[1i]?{blank}* | /* macro definition */
|
||||||
@ -353,18 +329,18 @@ Index: man-db-2.10.2/src/lexgrog.l
|
|||||||
{bol}\.i[ef]{blank}* | /* conditional */
|
{bol}\.i[ef]{blank}* | /* conditional */
|
||||||
{empty}{bol}.+ |
|
{empty}{bol}.+ |
|
||||||
<<EOF>> { /* terminate the string */
|
<<EOF>> { /* terminate the string */
|
||||||
@@ -481,8 +508,8 @@ vgrind_request \.vS
|
@@ -482,8 +509,8 @@ vgrind_request \.vS
|
||||||
|
|
||||||
/* Toggle fill mode */
|
/* Toggle fill mode */
|
||||||
<MAN_NAME,MAN_DESC>{
|
<MAN_NAME,MAN_DESC>{
|
||||||
- {bol}\.nf.* fill_mode = 0;
|
- {bol}\.nf.* fill_mode = false;
|
||||||
- {bol}\.fi.* fill_mode = 1;
|
- {bol}\.fi.* fill_mode = true;
|
||||||
+ {bol}\.(nf|de).* fill_mode = 0;
|
+ {bol}\.(nf|de).* fill_mode = false;
|
||||||
+ {bol}\.(fi|\.).* fill_mode = 1;
|
+ {bol}\.(fi|\.).* fill_mode = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
<CAT_NAME>-{eol}{blank_eol}* /* strip continuations */
|
<CAT_NAME>-{eol}{blank_eol}* /* strip continuations */
|
||||||
@@ -491,6 +518,9 @@ vgrind_request \.vS
|
@@ -492,6 +519,9 @@ vgrind_request \.vS
|
||||||
<MAN_NAME>{
|
<MAN_NAME>{
|
||||||
{next}{blank}*\\\((mi|hy|em|en){blank}* |
|
{next}{blank}*\\\((mi|hy|em|en){blank}* |
|
||||||
{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}* |
|
||||||
{next}{blank_eol}*[-\\]-{blank}+ |
|
{next}{blank_eol}*[-\\]-{blank}+ |
|
||||||
{bol}\.Nd{blank}* {
|
{bol}\.Nd{blank}* {
|
||||||
Index: man-db-2.10.2/src/man.c
|
--- a/src/man.c
|
||||||
===================================================================
|
+++ b/src/man.c 2023-08-15 08:45:27.956189368 +0000
|
||||||
--- man-db-2.10.2.orig/src/man.c
|
|
||||||
+++ man-db-2.10.2/src/man.c
|
|
||||||
@@ -56,6 +56,7 @@
|
@@ -56,6 +56,7 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@ -395,22 +369,10 @@ Index: man-db-2.10.2/src/man.c
|
|||||||
#endif /* MAN_OWNER */
|
#endif /* MAN_OWNER */
|
||||||
|
|
||||||
/* the default preprocessor sequence */
|
/* the default preprocessor sequence */
|
||||||
@@ -146,6 +149,11 @@ char *lang;
|
@@ -239,10 +242,10 @@ static int first_arg;
|
||||||
|
|
||||||
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
|
|
||||||
#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 int created_tmp_cat; /* dto. */
|
static bool created_tmp_cat; /* dto. */
|
||||||
-#endif
|
-#endif
|
||||||
static int tmp_cat_fd;
|
static int tmp_cat_fd;
|
||||||
static struct timespec man_modtime; /* modtime of man page, for
|
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
|
# ifdef TROFF_IS_GROFF
|
||||||
static bool ditroff;
|
static bool ditroff;
|
||||||
@@ -617,36 +625,6 @@ static void gripe_no_name (const char *s
|
@@ -1561,6 +1564,18 @@ static void setenv_less (pipecmd *cmd, c
|
||||||
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
|
|
||||||
free (less_opts);
|
free (less_opts);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -475,7 +400,7 @@ Index: man-db-2.10.2/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)
|
||||||
{
|
{
|
||||||
@@ -1666,6 +1656,8 @@ static pipeline *make_display_command (c
|
@@ -1691,6 +1706,8 @@ static pipeline *make_display_command (c
|
||||||
|
|
||||||
if (pager_cmd) {
|
if (pager_cmd) {
|
||||||
setenv_less (pager_cmd, title);
|
setenv_less (pager_cmd, title);
|
||||||
@ -484,7 +409,7 @@ Index: man-db-2.10.2/src/man.c
|
|||||||
pipeline_command (p, pager_cmd);
|
pipeline_command (p, pager_cmd);
|
||||||
}
|
}
|
||||||
pipeline_ignore_signals (p, 1);
|
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;
|
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 */
|
/* 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)
|
||||||
{
|
{
|
||||||
@@ -1704,7 +1696,6 @@ static char *tmp_cat_filename (const cha
|
@@ -1729,7 +1746,6 @@ static char *tmp_cat_filename (const cha
|
||||||
return name;
|
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.
|
/* If delete unlink tmp_cat, else commit tmp_cat to cat_file.
|
||||||
Return non-zero on error.
|
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;
|
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
|
/* TODO: This should all be refactored after work on the decompression
|
||||||
* library is complete.
|
* 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
|
#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. */
|
/* 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)
|
||||||
{
|
{
|
||||||
@@ -2039,6 +2030,7 @@ static void format_display (decompress *
|
@@ -2070,6 +2086,7 @@ static void format_display (decompress *
|
||||||
regain_effective_privs ();
|
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. */
|
/* "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,
|
||||||
@@ -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);
|
pop_cleanup (cleanup_unlink, tmpcat);
|
||||||
free (tmpcat);
|
free (tmpcat);
|
||||||
}
|
}
|
||||||
@ -533,7 +458,7 @@ Index: man-db-2.10.2/src/man.c
|
|||||||
|
|
||||||
static void disable_hyphenation (void *data MAYBE_UNUSED)
|
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;
|
format_cmd = NULL;
|
||||||
decomp_errno = errno;
|
decomp_errno = errno;
|
||||||
}
|
}
|
||||||
@ -542,7 +467,7 @@ Index: man-db-2.10.2/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;
|
||||||
@@ -2296,7 +2289,7 @@ static int display (const char *dir, con
|
@@ -2327,7 +2345,7 @@ static int display (const char *dir, con
|
||||||
} else
|
} else
|
||||||
man_modtime = get_stat_mtime (&stb);
|
man_modtime = get_stat_mtime (&stb);
|
||||||
}
|
}
|
||||||
@ -551,7 +476,7 @@ Index: man-db-2.10.2/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)
|
||||||
@@ -2437,6 +2430,7 @@ static int display (const char *dir, con
|
@@ -2468,6 +2486,7 @@ static int display (const char *dir, con
|
||||||
}
|
}
|
||||||
if (printed)
|
if (printed)
|
||||||
putchar ('\n');
|
putchar ('\n');
|
||||||
@ -559,7 +484,7 @@ Index: man-db-2.10.2/src/man.c
|
|||||||
} else if (catman) {
|
} else if (catman) {
|
||||||
if (format) {
|
if (format) {
|
||||||
if (!save_cat)
|
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,
|
format_cmd,
|
||||||
formatted_encoding);
|
formatted_encoding);
|
||||||
}
|
}
|
||||||
@ -567,16 +492,7 @@ Index: man-db-2.10.2/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;
|
||||||
@@ -3390,7 +3385,7 @@ static int display_database_check (struc
|
@@ -4011,17 +4031,20 @@ static int local_man_loop (const char *a
|
||||||
#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
|
|
||||||
/* 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);
|
||||||
@ -597,7 +513,7 @@ Index: man-db-2.10.2/src/man.c
|
|||||||
return NOT_FOUND;
|
return NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4062,6 +4060,11 @@ executable_out:
|
@@ -4085,6 +4108,11 @@ executable_out:
|
||||||
argv_abs = xstrdup (argv);
|
argv_abs = xstrdup (argv);
|
||||||
}
|
}
|
||||||
lang = lang_dir (argv_abs);
|
lang = lang_dir (argv_abs);
|
||||||
@ -609,7 +525,7 @@ Index: man-db-2.10.2/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)
|
||||||
@@ -4317,7 +4320,16 @@ int main (int argc, char *argv[])
|
@@ -4340,7 +4368,16 @@ int main (int argc, char *argv[])
|
||||||
umask (022);
|
umask (022);
|
||||||
init_locale ();
|
init_locale ();
|
||||||
|
|
||||||
@ -627,7 +543,7 @@ Index: man-db-2.10.2/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") &&
|
||||||
@@ -4362,7 +4374,16 @@ int main (int argc, char *argv[])
|
@@ -4385,7 +4422,16 @@ int main (int argc, char *argv[])
|
||||||
if (external)
|
if (external)
|
||||||
do_extern (argc, argv);
|
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
|
/* close this locale and reinitialise if a new locale was
|
||||||
issued as an argument or in $MANOPT */
|
issued as an argument or in $MANOPT */
|
||||||
Index: 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
|
||||||
--- man-db-2.10.2.orig/src/man_db.conf.in
|
|
||||||
+++ man-db-2.10.2/src/man_db.conf.in
|
|
||||||
@@ -20,6 +20,14 @@
|
@@ -20,6 +20,14 @@
|
||||||
MANDATORY_MANPATH /usr/man
|
MANDATORY_MANPATH /usr/man
|
||||||
MANDATORY_MANPATH /usr/share/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
|
MANDB_MAP @snapdir@/man /var/cache/man/snap
|
||||||
#
|
#
|
||||||
#---------------------------------------------------------
|
#---------------------------------------------------------
|
||||||
Index: man-db-2.10.2/src/mandb.c
|
--- a/src/mandb.c
|
||||||
===================================================================
|
+++ b/src/mandb.c 2023-08-15 08:35:07.783240325 +0000
|
||||||
--- man-db-2.10.2.orig/src/mandb.c
|
@@ -213,6 +213,8 @@ struct dbpaths {
|
||||||
+++ man-db-2.10.2/src/mandb.c
|
|
||||||
@@ -207,6 +207,8 @@ struct dbpaths {
|
|
||||||
#ifdef MAN_OWNER
|
#ifdef MAN_OWNER
|
||||||
extern uid_t ruid;
|
extern uid_t ruid;
|
||||||
extern uid_t euid;
|
extern uid_t euid;
|
||||||
@ -699,7 +611,7 @@ Index: man-db-2.10.2/src/mandb.c
|
|||||||
#endif /* MAN_OWNER */
|
#endif /* MAN_OWNER */
|
||||||
|
|
||||||
static gl_list_t manpathlist;
|
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;
|
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,
|
static int process_manpath (const char *manpath, bool global_manpath,
|
||||||
gl_map_t tried_catdirs)
|
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
|
} else
|
||||||
run_mandb = true;
|
run_mandb = true;
|
||||||
|
|
||||||
+ mkcatdirs (manpath, catpath);
|
+ mkcatdirs (manpath, catpath);
|
||||||
+
|
+
|
||||||
dbpaths = XZALLOC (struct dbpaths);
|
dbpaths = XZALLOC (struct dbpaths);
|
||||||
push_cleanup (cleanup, dbpaths, 0);
|
push_cleanup ((cleanup_fun) dbpaths_free_elements, dbpaths, 0);
|
||||||
push_cleanup (cleanup_sigsafe, dbpaths, 1);
|
push_cleanup ((cleanup_fun) dbpaths_unlink_tmp, dbpaths, 1);
|
||||||
@@ -636,7 +642,7 @@ static int process_manpath (const char *
|
@@ -697,7 +703,7 @@ static int process_manpath (const char *
|
||||||
if (!opt_test && (amount || new_purged || new_strays))
|
if (!opt_test && (amount || new_purged || new_strays)) {
|
||||||
finish_up (dbpaths);
|
dbpaths_rename_from_tmp (dbpaths);
|
||||||
#ifdef MAN_OWNER
|
#ifdef MAN_OWNER
|
||||||
- if (global_manpath)
|
- if (global_manpath)
|
||||||
+ if (global_manpath && (euid == 0 || ruid == 0))
|
+ if (global_manpath && (euid == 0 || ruid == 0))
|
||||||
do_chown (dbpaths);
|
dbpaths_chown_if_possible (dbpaths);
|
||||||
#endif /* MAN_OWNER */
|
#endif /* MAN_OWNER */
|
||||||
|
reorganize (catpath, global_manpath);
|
||||||
@@ -835,8 +841,14 @@ int main (int argc, char *argv[])
|
@@ -896,8 +902,14 @@ int main (int argc, char *argv[])
|
||||||
|
|
||||||
#ifdef MAN_OWNER
|
#ifdef MAN_OWNER
|
||||||
man_owner = get_man_owner ();
|
man_owner = get_man_owner ();
|
||||||
@ -743,11 +655,9 @@ Index: man-db-2.10.2/src/mandb.c
|
|||||||
#endif /* MAN_OWNER */
|
#endif /* MAN_OWNER */
|
||||||
|
|
||||||
read_config_file (user);
|
read_config_file (user);
|
||||||
Index: man-db-2.10.2/src/manp.c
|
--- a/src/manp.c
|
||||||
===================================================================
|
+++ b/src/manp.c 2023-08-15 08:31:31.139097869 +0000
|
||||||
--- man-db-2.10.2.orig/src/manp.c
|
@@ -907,7 +907,7 @@ static char *def_path (enum config_flag
|
||||||
+++ man-db-2.10.2/src/manp.c
|
|
||||||
@@ -906,7 +906,7 @@ static char *def_path (enum config_flag
|
|
||||||
|
|
||||||
/* If we have complete config file failure... */
|
/* If we have complete config file failure... */
|
||||||
if (!manpath)
|
if (!manpath)
|
||||||
@ -756,10 +666,8 @@ Index: man-db-2.10.2/src/manp.c
|
|||||||
|
|
||||||
return manpath;
|
return manpath;
|
||||||
}
|
}
|
||||||
Index: man-db-2.10.2/src/straycats.c
|
--- a/src/straycats.c
|
||||||
===================================================================
|
+++ b/src/straycats.c 2023-08-15 08:31:31.139097869 +0000
|
||||||
--- man-db-2.10.2.orig/src/straycats.c
|
|
||||||
+++ man-db-2.10.2/src/straycats.c
|
|
||||||
@@ -38,6 +38,7 @@
|
@@ -38,6 +38,7 @@
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
@ -768,11 +676,9 @@ Index: man-db-2.10.2/src/straycats.c
|
|||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
|
|
||||||
#include "canonicalize.h"
|
#include "canonicalize.h"
|
||||||
Index: man-db-2.10.2/src/ult_src.c
|
--- a/src/ult_src.c
|
||||||
===================================================================
|
+++ b/src/ult_src.c 2023-08-15 08:37:50.940333586 +0000
|
||||||
--- man-db-2.10.2.orig/src/ult_src.c
|
@@ -160,10 +160,15 @@ static char *find_include_directive (cha
|
||||||
+++ man-db-2.10.2/src/ult_src.c
|
|
||||||
@@ -342,10 +342,15 @@ const char *ult_src (const char *name, c
|
|
||||||
}
|
}
|
||||||
decompress_start (decomp);
|
decompress_start (decomp);
|
||||||
|
|
||||||
@ -788,5 +694,5 @@ Index: man-db-2.10.2/src/ult_src.c
|
|||||||
+ (STRNEQ (buffer, ".\\\"", 3) ||
|
+ (STRNEQ (buffer, ".\\\"", 3) ||
|
||||||
+ STRNEQ (buffer, "'\\\"", 3)));
|
+ STRNEQ (buffer, "'\\\"", 3)));
|
||||||
|
|
||||||
include = test_for_include (buffer);
|
directive = xstrdup (buffer ? buffer : "");
|
||||||
if (include) {
|
|
||||||
|
@ -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
|
||||||
@@ -738,11 +738,16 @@
|
@@ -775,11 +775,16 @@
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
56
man.changes
56
man.changes
@ -1,3 +1,59 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 15 09:31:32 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
||||||
|
|
||||||
|
- 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 <werner@suse.de>
|
Thu May 25 06:37:13 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
||||||
|
|
||||||
|
2
man.spec
2
man.spec
@ -26,7 +26,7 @@
|
|||||||
%global optflags %{optflags} %{**}
|
%global optflags %{optflags} %{**}
|
||||||
%bcond_without sdtimer
|
%bcond_without sdtimer
|
||||||
Name: man
|
Name: man
|
||||||
Version: 2.10.2
|
Version: 2.11.2
|
||||||
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
|
||||||
|
Loading…
Reference in New Issue
Block a user