Github messages for voidlinux
 help / color / mirror / Atom feed
From: voidlinux-github@inbox.vuxu.org
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] man-db: add system account man:man
Date: Sun, 10 Nov 2019 11:08:25 +0100	[thread overview]
Message-ID: <20191110100825.lEmIIS0vNXYhvxwHVqFNVinrJ5L8uLUgqFt-IgEKk6c@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-15737@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 392 bytes --]

There is an updated pull request by zdtcd against master on the void-packages repository

https://github.com/zdtcd/void-packages man-db
https://github.com/void-linux/void-packages/pull/15737

man-db: add system account man:man
man-db complains that:
> mandb: the setuid man user "man" does not exist

A patch file from https://github.com/void-linux/void-packages/pull/15737.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-man-db-15737.patch --]
[-- Type: text/x-diff, Size: 4926 bytes --]

From 964fca9361d7848c381ed6ef88dccc133ce748b2 Mon Sep 17 00:00:00 2001
From: Doan Tran Cong Danh <congdanhqx@gmail.com>
Date: Wed, 23 Oct 2019 08:18:33 +0700
Subject: [PATCH] man-db: add system account _man:_man

man-db complains that:
> mandb: the setuid man user "man" does not exist

While we're at it, patch man-db to not use glibc iconv's extension on
musl.
---
 srcpkgs/man-db/files/man-db.cron-daily        |  9 +++--
 .../files/remove-glibc-ext-warning.patch      | 35 +++++++++++++++++++
 srcpkgs/man-db/template                       | 26 +++++++++++---
 3 files changed, 60 insertions(+), 10 deletions(-)
 create mode 100644 srcpkgs/man-db/files/remove-glibc-ext-warning.patch

diff --git a/srcpkgs/man-db/files/man-db.cron-daily b/srcpkgs/man-db/files/man-db.cron-daily
index 6953b76560f..a602972b400 100755
--- a/srcpkgs/man-db/files/man-db.cron-daily
+++ b/srcpkgs/man-db/files/man-db.cron-daily
@@ -4,11 +4,10 @@
 # man-db cron daily
 set -e
 
-if ! [ -d /var/cache/man ]; then
-    # Recover from deletion, per FHS.
-    mkdir -p /var/cache/man
-    chmod 755 /var/cache/man
-fi
+# Recover from deletion, per FHS.
+mkdir -p /var/cache/man
+chown _man:_man /var/cache/man
+chmod 755 /var/cache/man
 
 # regenerate man database
 /usr/bin/mandb --quiet
diff --git a/srcpkgs/man-db/files/remove-glibc-ext-warning.patch b/srcpkgs/man-db/files/remove-glibc-ext-warning.patch
new file mode 100644
index 00000000000..18554f46ad7
--- /dev/null
+++ b/srcpkgs/man-db/files/remove-glibc-ext-warning.patch
@@ -0,0 +1,35 @@
+--- src/manconv.c.orig	2019-11-10 16:36:13.200848820 +0700
++++ src/manconv.c	2019-11-10 16:37:04.485337036 +0700
+@@ -111,7 +111,7 @@
+ 	iconv_t cd_utf8, cd = NULL;
+ 	bool to_utf8 = STREQ (try_to_code, "UTF-8") ||
+ 		       STRNEQ (try_to_code, "UTF-8//", 7);
+-	const char *utf8_target = last ? "UTF-8//IGNORE" : "UTF-8";
++	const char *utf8_target = "UTF-8";
+ 	bool ignore_errors = (strstr (try_to_code, "//IGNORE") != NULL);
+ 	int ret = 0;
+ 
+--- src/manconv_client.c.orig	2019-11-10 16:36:08.313802312 +0700
++++ src/manconv_client.c	2019-11-10 16:36:49.110190675 +0700
+@@ -102,7 +102,7 @@
+ 		gl_list_add_last (codes->from, xstrdup (source));
+ 		name = appendstr (name, "UTF-8:", source, (void *) 0);
+ 	}
+-	codes->to = xasprintf ("%s//IGNORE", target);
++	codes->to = xasprintf ("%s", target);
+ 	/* informational only; no shell quoting concerns */
+ 	name = appendstr (name, " -t ", codes->to, (void *) 0);
+ 	if (quiet >= 2)
+--- src/whatis.c.orig	2019-11-10 16:36:19.087904848 +0700
++++ src/whatis.c	2019-11-10 16:36:38.981094210 +0700
+@@ -945,9 +945,7 @@
+ 	display_seen = new_string_set (GL_HASH_SET);
+ 
+ #ifdef HAVE_ICONV
+-	locale_charset = xasprintf ("%s//IGNORE", get_locale_charset ());
+-	conv_to_locale = iconv_open (locale_charset, "UTF-8");
+-	free (locale_charset);
++	conv_to_locale = iconv_open (get_locale_charset(), "UTF-8");
+ #endif /* HAVE_ICONV */
+ 
+ 	if (regex_opt) {
diff --git a/srcpkgs/man-db/template b/srcpkgs/man-db/template
index dfc483c3ea8..39edca48582 100644
--- a/srcpkgs/man-db/template
+++ b/srcpkgs/man-db/template
@@ -1,13 +1,14 @@
 # Template file for 'man-db'
 pkgname=man-db
 version=2.9.0
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-db=db --with-pager=less --with-gzip=/usr/bin/gzip
  --with-bzip2=/usr/bin/bzip2 --disable-rpath --enable-threads=posix
  --with-lzma=/usr/bin/lzma --with-xz=/usr/bin/xz --disable-setuid
  --without-included-regex --enable-automatic-create --with-libseccomp
- --without-systemdsystemunitdir --without-systemdtmpfilesdir"
+ --without-systemdsystemunitdir --without-systemdtmpfilesdir
+ --enable-cache-owner=_man"
 hostmakedepends="groff pkg-config"
 makedepends="db-devel gettext-devel groff libpipeline-devel libseccomp-devel
  zlib-devel"
@@ -21,6 +22,9 @@ distfiles="${NONGNU_SITE}/${pkgname}/${pkgname}-${version}.tar.xz"
 checksum=5d4aacd9e8876d6a3203a889860c3524c293c38f04111a3350deab8a6cd3e261
 provides="man-0_1"
 lib32disabled=yes
+system_accounts="_man"
+_man_homedir="/var/cache/man"
+make_dirs="/var/cache/man 0755 _man _man"
 
 alternatives="
  man:man:/usr/bin/mandb-man
@@ -30,10 +34,22 @@ alternatives="
  man:whatis.1:/usr/share/man/man1/mandb-whatis.1
  man:apropos.1:/usr/share/man/man1/mandb-apropos.1"
 
-pre_configure() {
+case "$XBPS_TARGET_MACHINE" in
+	*-musl) CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/gettext"
+		LDFLAGS+=" -lintl";;
+esac
+
+# man-db uses glibc iconv's //IGNORE and //TRANSLIT extension
+# musl doesn't provide this one.
+# Patch it out to remove runtime warning:
+#     unknown encoding: UTF-8//IGNORE
+post_patch() {
 	case "$XBPS_TARGET_MACHINE" in
-		*-musl) CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/gettext"
-			LDFLAGS+=" -lintl";;
+		*-musl)
+			musl_patch="remove-glibc-ext-warning.patch"
+			msg_normal "$pkgver: patching: $musl_patch.\n"
+			patch -sl -Np0 -i "$FILESDIR/$musl_patch" 2>/dev/null
+			;;
 	esac
 }
 

  parent reply	other threads:[~2019-11-10 10:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-23 13:43 [PR PATCH] " voidlinux-github
2019-10-31  1:13 ` [PR PATCH] [Updated] " voidlinux-github
2019-10-31  1:13 ` voidlinux-github
2019-10-31 14:14 ` voidlinux-github
2019-11-01  0:43 ` voidlinux-github
2019-11-01  0:45 ` [PR PATCH] [Updated] " voidlinux-github
2019-11-01  0:45 ` voidlinux-github
2019-11-01  0:49 ` voidlinux-github
2019-11-10 10:08 ` voidlinux-github [this message]
2019-11-11  2:37 ` [PR PATCH] [Updated] [NO MERGE] man-db: add system account _man:_man voidlinux-github

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191110100825.lEmIIS0vNXYhvxwHVqFNVinrJ5L8uLUgqFt-IgEKk6c@z \
    --to=voidlinux-github@inbox.vuxu.org \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).