diff options
author | Yixun Lan <dlan@gentoo.org> | 2022-01-12 09:45:19 +0800 |
---|---|---|
committer | Yixun Lan <dlan@gentoo.org> | 2022-01-12 09:46:13 +0800 |
commit | f56f52579b14217aecb24c2165cc317ec3b92c04 (patch) | |
tree | ef4abf518dd4a88e90e950e287c9ab10487b3d6b /net-fs | |
parent | dev-python/gmpy: Stabilize 2.1.0 x86, #831032 (diff) | |
download | gentoo-f56f52579b14217aecb24c2165cc317ec3b92c04.tar.gz gentoo-f56f52579b14217aecb24c2165cc317ec3b92c04.tar.bz2 gentoo-f56f52579b14217aecb24c2165cc317ec3b92c04.zip |
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@gentoo.org>
Diffstat (limited to 'net-fs')
-rw-r--r-- | net-fs/autofs/Manifest | 1 | ||||
-rw-r--r-- | net-fs/autofs/autofs-5.1.6-r2.ebuild | 128 | ||||
-rw-r--r-- | net-fs/autofs/files/autofs-5.1.6-glibc.patch | 110 | ||||
-rw-r--r-- | net-fs/autofs/files/autofs-5.1.6-musl.patch | 12 | ||||
-rw-r--r-- | net-fs/autofs/files/autofs-5.1.6-pid.patch | 14 |
5 files changed, 265 insertions, 0 deletions
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...) \ + |