public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Yixun Lan" <dlan@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-fs/autofs/, net-fs/autofs/files/
Date: Wed, 12 Jan 2022 01:46:35 +0000 (UTC)	[thread overview]
Message-ID: <1641951973.f56f52579b14217aecb24c2165cc317ec3b92c04.dlan@gentoo> (raw)

commit:     f56f52579b14217aecb24c2165cc317ec3b92c04
Author:     Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 12 01:45:19 2022 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Wed Jan 12 01:46:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f56f5257

net-fs/autofs: restore 5.1.6 due to musl breakage

5.1.8 break net mount on ppc64-musl,
let's temporarily restore 5.1.6 for now

this effectively revert part of:  30f36210abdf

Bug: https://bugs.gentoo.org/831014
Package-Manager: Portage-3.0.30, Repoman-3.0.3
RepoMan-Options: --force
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>

 net-fs/autofs/Manifest                       |   1 +
 net-fs/autofs/autofs-5.1.6-r2.ebuild         | 128 +++++++++++++++++++++++++++
 net-fs/autofs/files/autofs-5.1.6-glibc.patch | 110 +++++++++++++++++++++++
 net-fs/autofs/files/autofs-5.1.6-musl.patch  |  12 +++
 net-fs/autofs/files/autofs-5.1.6-pid.patch   |  14 +++
 5 files changed, 265 insertions(+)

diff --git a/net-fs/autofs/Manifest b/net-fs/autofs/Manifest
index 364aa0a32804..503d31c38237 100644
--- a/net-fs/autofs/Manifest
+++ b/net-fs/autofs/Manifest
@@ -1,2 +1,3 @@
+DIST autofs-5.1.6.tar.xz 315316 BLAKE2B 0c5e2351462505c6de0b12e510f0c08a625a0235e1ff8eeaff825946c4530c258449d26aaf6a3794aa82a97e8860711226168f434dd31bfb8a4e70287beb3ca4 SHA512 dc8b2bd86c140905dd1bc461bfc469f92363d9c2687fe422e1e751cc7ad64c0733b011c80bf4840e510e5909176cd1a066968b9a5ba835b62c4cf27537863cf2
 DIST autofs-5.1.8-patches-0.tar.xz 3476 BLAKE2B a7fb146542f9cb0a8e93240d9c3f68ff7b569f4dc0e829103ae67ced6d04e110331d320ff429f6e6af03b7265a068ee648738691cd637080cf976f441fe10444 SHA512 73023735bf269e3214e38a4841b6b3a1edff30e5d925a62d3ca9e841726835793c1e242804233e696e946e63720f522ceeb82f78449d3597d3d39b727f4b8d24
 DIST autofs-5.1.8.tar.xz 327396 BLAKE2B 22ef626cc867c1ed4f1f859aebe2547c497c35dea712967de70158e85db590f5ffc26165e1479cfc64eb8070a9c43fd06b1570a82bd8bbbac70f2930e1841718 SHA512 6ee6283c0977c82848a654dc24745ee687f6916de441c3688fa91f67ca7295e632ee3808cc2358984a4b9f19841e6e1a91ab48aad6341ac8e63827fe8c32d223

diff --git a/net-fs/autofs/autofs-5.1.6-r2.ebuild b/net-fs/autofs/autofs-5.1.6-r2.ebuild
new file mode 100644
index 000000000000..c532b488d526
--- /dev/null
+++ b/net-fs/autofs/autofs-5.1.6-r2.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info systemd toolchain-funcs
+
+DESCRIPTION="Kernel based automounter"
+HOMEPAGE="https://web.archive.org/web/*/http://www.linux-consulting.com/Amd_AutoFS/autofs.html"
+SRC_URI="https://www.kernel.org/pub/linux/daemons/${PN}/v5/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
+IUSE="dmalloc ldap +libtirpc mount-locking sasl systemd"
+
+# currently, sasl code assumes the presence of kerberosV
+RDEPEND="
+	net-libs/libnsl:=
+	>=sys-apps/util-linux-2.20
+	dmalloc? ( dev-libs/dmalloc[threads] )
+	ldap? ( >=net-nds/openldap-2.0
+		sasl? (
+			dev-libs/cyrus-sasl
+			dev-libs/libxml2
+			virtual/krb5
+		)
+	)
+	systemd? ( sys-apps/systemd )
+	libtirpc? ( net-libs/libtirpc )
+	!libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
+"
+DEPEND="${RDEPEND}
+	libtirpc? ( net-libs/rpcsvc-proto )
+"
+BDEPEND="
+	sys-devel/flex
+	virtual/pkgconfig
+	virtual/yacc
+"
+
+PATCHES=(
+	"${FILESDIR}/${P}-glibc.patch"
+	"${FILESDIR}/${P}-musl.patch"
+	"${FILESDIR}/${P}-pid.patch"
+)
+
+pkg_setup() {
+	linux-info_pkg_setup
+
+	local CONFIG_CHECK
+
+	if kernel_is -ge 4 18; then
+		CONFIG_CHECK="~AUTOFS_FS"
+	else
+		CONFIG_CHECK="~AUTOFS4_FS"
+	fi
+
+	check_extra_config
+}
+
+src_prepare() {
+	sed -i	-e "s:/usr/bin/kill:/bin/kill:" samples/autofs.service.in || die # bug #479492
+	sed -i	-e "/^EnvironmentFile/d"        samples/autofs.service.in || die # bug #592334
+
+	# Install samples including autofs.service
+	sed -i -e "/^SUBDIRS/s/$/ samples/g" Makefile.rules || die
+
+	default
+}
+
+src_configure() {
+	# bug #483716
+	tc-export AR
+	# --with-confdir is for bug #361481
+	# --with-mapdir is for bug #385113
+	local myeconfargs=(
+		--with-confdir=/etc/conf.d
+		--with-mapdir=/etc/autofs
+		$(use_with dmalloc)
+		$(use_with ldap openldap)
+		$(use_with libtirpc)
+		$(use_with sasl)
+		$(use_enable mount-locking)
+		$(use_with systemd systemd $(systemd_get_systemunitdir)) # bug #479492
+		--without-hesiod
+		--disable-ext-env
+		--enable-sloppy-mount # bug #453778
+		--enable-force-shutdown
+		--enable-ignore-busy
+		RANLIB="$(type -P $(tc-getRANLIB))" # bug #483716
+	)
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	export DONTSTRIP=1
+	default
+}
+
+src_install() {
+	default
+	rmdir "${D}"/run
+
+	if kernel_is -lt 2 6 30; then
+		# kernel patches
+		docinto patches
+		dodoc patches/${PN}4-2.6.??{,.?{,?}}-v5-update-????????.patch
+	fi
+	newinitd "${FILESDIR}"/autofs5.initd autofs
+	insinto etc/autofs
+	newins "${FILESDIR}"/autofs5-auto.master auto.master
+}
+
+pkg_postinst() {
+	if kernel_is -lt 2 6 30; then
+		elog "This version of ${PN} requires a kernel with autofs4 supporting"
+		elog "protocol version 5.00. Patches for kernels older than 2.6.30 have"
+		elog "been installed into"
+		elog "${EROOT}/usr/share/doc/${P}/patches."
+		elog "For further instructions how to patch the kernel, please refer to"
+		elog "${EROOT}/usr/share/doc/${P}/INSTALL."
+		elog
+	fi
+	elog "If you plan on using autofs for automounting remote NFS mounts,"
+	elog "please check that both portmap (or rpcbind) and rpc.statd/lockd"
+	elog "are running."
+}

diff --git a/net-fs/autofs/files/autofs-5.1.6-glibc.patch b/net-fs/autofs/files/autofs-5.1.6-glibc.patch
new file mode 100644
index 000000000000..338d885ae1e1
--- /dev/null
+++ b/net-fs/autofs/files/autofs-5.1.6-glibc.patch
@@ -0,0 +1,110 @@
+diff --git a/daemon/lookup.c b/daemon/lookup.c
+index 60a48f3..bbd65e0 100644
+--- a/daemon/lookup.c
++++ b/daemon/lookup.c
+@@ -382,7 +382,7 @@ static int read_file_source_instance(struct autofs_point *ap, struct map_source
+ 	if (!S_ISREG(st.st_mode))
+ 		return NSS_STATUS_NOTFOUND;
+ 
+-	if (st.st_mode & __S_IEXEC)
++	if (st.st_mode & S_IEXEC)
+ 		type = src_prog;
+ 	else
+ 		type = src_file;
+@@ -937,7 +937,7 @@ static int lookup_name_file_source_instance(struct autofs_point *ap, struct map_
+ 	if (!S_ISREG(st.st_mode))
+ 		return NSS_STATUS_NOTFOUND;
+ 
+-	if (st.st_mode & __S_IEXEC)
++	if (st.st_mode & S_IEXEC)
+ 		type = src_prog;
+ 	else
+ 		type = src_file;
+@@ -1113,7 +1113,7 @@ static struct map_source *lookup_get_map_source(struct master_mapent *entry)
+ 	if (!S_ISREG(st.st_mode))
+ 		return NULL;
+ 
+-	if (st.st_mode & __S_IEXEC)
++	if (st.st_mode & S_IEXEC)
+ 		type = "program";
+ 	else
+ 		type = "file";
+diff --git a/include/automount.h b/include/automount.h
+index 4fd0ba9..7b855a7 100644
+--- a/include/automount.h
++++ b/include/automount.h
+@@ -13,6 +13,7 @@
+ #include <limits.h>
+ #include <time.h>
+ #include <syslog.h>
++#include <sys/procfs.h>
+ #include <sys/types.h>
+ #include <pthread.h>
+ #include <sched.h>
+@@ -142,6 +143,16 @@ struct autofs_point;
+ #define UMOUNT_RETRIES		8
+ #define EXPIRE_RETRIES		3
+ 
++#ifndef __SWORD_TYPE
++#if __WORDSIZE == 32
++# define __SWORD_TYPE		int
++#elif __WORDSIZE == 64
++# define __SWORD_TYPE		long int
++#else
++#error
++#endif
++#endif
++
+ static u_int32_t inline hash(const char *key, unsigned int size)
+ {
+ 	u_int32_t hashval;
+diff --git a/include/nsswitch.h b/include/nsswitch.h
+index d3e4027..8376113 100644
+--- a/include/nsswitch.h
++++ b/include/nsswitch.h
+@@ -24,6 +24,10 @@
+ #include <netdb.h>
+ #include "list.h"
+ 
++#ifndef _PATH_NSSWITCH_CONF
++#define _PATH_NSSWITCH_CONF "/dev/null"
++#endif
++
+ #define NSSWITCH_FILE _PATH_NSSWITCH_CONF
+ 
+ enum nsswitch_status {
+diff --git a/include/rpc_subs.h b/include/rpc_subs.h
+index 6e35eed..7ba4b93 100644
+--- a/include/rpc_subs.h
++++ b/include/rpc_subs.h
+@@ -18,7 +18,7 @@
+ 
+ #include <rpc/rpc.h>
+ #include <rpc/pmap_prot.h>
+-#include <nfs/nfs.h>
++#include <linux/nfs.h>
+ #include <linux/nfs2.h>
+ #include <linux/nfs3.h>
+ 
+diff --git a/modules/lookup_multi.c b/modules/lookup_multi.c
+index fadd2ea..cf109de 100644
+--- a/modules/lookup_multi.c
++++ b/modules/lookup_multi.c
+@@ -247,7 +247,7 @@ static struct lookup_mod *nss_open_lookup(const char *format, int argc, const ch
+ 				continue;
+ 			}
+ 
+-			if (st.st_mode & __S_IEXEC)
++			if (st.st_mode & S_IEXEC)
+ 				type = src_prog;
+ 			else
+ 				type = src_file;
+@@ -452,7 +452,7 @@ int lookup_reinit(const char *my_mapfmt,
+ 					continue;
+ 				}
+ 
+-				if (st.st_mode & __S_IEXEC)
++				if (st.st_mode & S_IEXEC)
+ 					type = src_prog;
+ 				else
+ 					type = src_file;

diff --git a/net-fs/autofs/files/autofs-5.1.6-musl.patch b/net-fs/autofs/files/autofs-5.1.6-musl.patch
new file mode 100644
index 000000000000..bdcc0db9a9f3
--- /dev/null
+++ b/net-fs/autofs/files/autofs-5.1.6-musl.patch
@@ -0,0 +1,12 @@
+--- a/include/automount.h
++++ b/include/automount.h
+@@ -25,6 +25,9 @@
+ #include "list.h"
+ 
+ #include <linux/auto_fs4.h>
++#ifndef __GLIBC__
++#include <bits/reg.h>
++#endif
+ 
+ #include "defaults.h"
+ #include "state.h"

diff --git a/net-fs/autofs/files/autofs-5.1.6-pid.patch b/net-fs/autofs/files/autofs-5.1.6-pid.patch
new file mode 100644
index 000000000000..1766c34e989e
--- /dev/null
+++ b/net-fs/autofs/files/autofs-5.1.6-pid.patch
@@ -0,0 +1,14 @@
+diff --git a/include/log.h b/include/log.h
+index 69eed96..14051cc 100644
+--- a/include/log.h
++++ b/include/log.h
+@@ -46,6 +46,8 @@ extern void log_crit(unsigned, const char* msg, ...);
+ extern void log_debug(unsigned int, const char* msg, ...);
+ extern void logmsg(const char* msg, ...);
+ 
++#include <unistd.h> /* Required for pid_t */
++
+ extern pid_t log_pidinfo(struct autofs_point *ap, pid_t pid, char *label);
+ 
+ #define debug(opt, msg, args...)	\
+


             reply	other threads:[~2022-01-12  1:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-12  1:46 Yixun Lan [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-07-10 14:56 [gentoo-commits] repo/gentoo:master commit in: net-fs/autofs/, net-fs/autofs/files/ Yixun Lan
2022-01-10 22:33 Yixun Lan
2021-12-22 13:18 Yixun Lan
2021-10-17  5:24 Sam James
2021-05-21  1:07 Yixun Lan
2019-08-25  4:15 Matt Turner
2016-07-05 23:21 Yixun Lan

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=1641951973.f56f52579b14217aecb24c2165cc317ec3b92c04.dlan@gentoo \
    --to=dlan@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.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