autofs/autofs-5.1.7-remove-mount_x-and-rpcgen-dependencies.patch
DistroBaker a5adb69dac Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/autofs.git#25aaf0b69441b4e7370a195cbf1c7988d0abef3d
2021-03-26 02:05:45 +00:00

575 lines
15 KiB
Diff

autofs-5.1.7 - remove mount.x and rpcgen dependencies
From: Ian Kent <raven@themaw.net>
Adding a local implementation to get the exports list from a server
means the the rpcgen generataed code is no longer needed so remove
mount.x and the build dependencies.
Signed-off-by: Ian Kent <raven@themaw.net>
---
CHANGELOG | 1
Makefile.conf.in | 1
autofs.spec | 2
configure | 58 ---------
configure.in | 1
include/automount.h | 1
include/config.h.in | 3
lib/Makefile | 26 ----
lib/mount.x | 345 ---------------------------------------------------
9 files changed, 5 insertions(+), 433 deletions(-)
delete mode 100644 lib/mount.x
diff --git a/CHANGELOG b/CHANGELOG
index 84050e91..19af245e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,6 @@
- add xdr_exports().
+- remove mount.x and rpcgen dependencies.
25/01/2021 autofs-5.1.7
- make bind mounts propagation slave by default.
diff --git a/Makefile.conf.in b/Makefile.conf.in
index df678eec..12f26eb8 100644
--- a/Makefile.conf.in
+++ b/Makefile.conf.in
@@ -65,7 +65,6 @@ FEDFS = @ENABLE_FEDFS@
LEX = @PATH_LEX@
YACC = @PATH_YACC@
-RPCGEN = @PATH_RPCGEN@
RANLIB = @PATH_RANLIB@
# Use libtirpc if requested and available
diff --git a/autofs.spec b/autofs.spec
index 3c2b144a..823735a3 100644
--- a/autofs.spec
+++ b/autofs.spec
@@ -39,7 +39,7 @@ BuildRequires: libtirpc-devel
%endif
BuildRequires: autoconf, openldap-devel, bison, flex, libxml2-devel
BuildRequires: cyrus-sasl-devel, openssl-devel, util-linux
-BuildRequires: libtirpc-devel, rpcgen, libnsl2-devel, krb5-devel
+BuildRequires: libtirpc-devel, libnsl2-devel, krb5-devel
Requires: chkconfig
Requires: /bin/bash sed grep /bin/ps
%if %{with_systemd}
diff --git a/configure b/configure
index de968f0e..3c5fe78b 100755
--- a/configure
+++ b/configure
@@ -650,8 +650,6 @@ XML_CFLAGS
ENABLE_FEDFS
sssldir
HAVE_SSS_AUTOFS
-PATH_RPCGEN
-RPCGEN
PATH_RANLIB
RANLIB
PATH_YACC
@@ -4205,62 +4203,6 @@ else
as_fn_error $? "required program RANLIB not found" "$LINENO" 5
fi
-for ac_prog in rpcgen
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_RPCGEN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $RPCGEN in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_RPCGEN="$RPCGEN" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $searchpath
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_RPCGEN="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-RPCGEN=$ac_cv_path_RPCGEN
-if test -n "$RPCGEN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RPCGEN" >&5
-$as_echo "$RPCGEN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$RPCGEN" && break
-done
-
-if test -n "$RPCGEN"; then
-
-cat >>confdefs.h <<_ACEOF
-#define PATH_RPCGEN "$RPCGEN"
-_ACEOF
-
- PATH_RPCGEN="$RPCGEN"
-else
- as_fn_error $? "required program RPCGEN not found" "$LINENO" 5
-fi
-
if test -z "$sssldir"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sssd autofs library" >&5
diff --git a/configure.in b/configure.in
index a38d6655..e774b4cc 100644
--- a/configure.in
+++ b/configure.in
@@ -164,7 +164,6 @@ AF_PATH_INCLUDE(E4FSCK, fsck.ext4 e4fsck, , $searchpath)
AF_CHECK_PROG(LEX, flex lex, , $searchpath)
AF_CHECK_PROG(YACC, bison, , $searchpath)
AF_CHECK_PROG(RANLIB, ranlib, , $searchpath)
-AF_CHECK_PROG(RPCGEN, rpcgen, , $searchpath)
AF_CHECK_SSS_LIB(SSS_AUTOFS, libsss_autofs.so)
AC_SUBST(HAVE_SSS_AUTOFS)
diff --git a/include/automount.h b/include/automount.h
index 1ae40786..2f09e8e7 100644
--- a/include/automount.h
+++ b/include/automount.h
@@ -32,7 +32,6 @@
#include "macros.h"
#include "log.h"
#include "rpc_subs.h"
-#include "mounts.h"
#include "parse_subs.h"
#include "mounts.h"
#include "dev-ioctl-lib.h"
diff --git a/include/config.h.in b/include/config.h.in
index a4879494..4e36b390 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -135,9 +135,6 @@
/* define if you have RANLIB */
#undef PATH_RANLIB
-/* define if you have RPCGEN */
-#undef PATH_RPCGEN
-
/* define if you have UMOUNT */
#undef PATH_UMOUNT
diff --git a/lib/Makefile b/lib/Makefile
index 83a80a1e..d18c67b5 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -8,10 +8,9 @@ include ../Makefile.rules
SRCS = cache.c cat_path.c rpc_subs.c mounts.c log.c nsswitch.c \
nss_tok.c nss_parse.tab.c args.c alarm.c macros.c defaults.c \
parse_subs.c dev-ioctl-lib.c
-RPCS = mount.h mount_clnt.c mount_xdr.c
-OBJS = cache.o mount_clnt.o mount_xdr.o cat_path.o rpc_subs.o \
- mounts.o log.o nsswitch.o nss_tok.o nss_parse.tab.o args.o \
- alarm.o macros.o defaults.o parse_subs.o dev-ioctl-lib.o
+OBJS = cache.o cat_path.o rpc_subs.o mounts.o log.o nsswitch.o \
+ nss_tok.o nss_parse.tab.o args.o alarm.o macros.o defaults.o \
+ parse_subs.o dev-ioctl-lib.o
YACCSRC = nss_tok.c nss_parse.tab.c nss_parse.tab.h
@@ -33,23 +32,6 @@ libautofs.so: $(OBJS)
$(CC) $(SOLDFLAGS) $(CFLAGS) -o $*.so $^ $(LDFLAGS) $(LIBS)
$(STRIP) $*.so
-mount.h: mount.x
- $(RPCGEN) -h -o mount.h mount.x
-
-mount_clnt.c: mount.h
- $(RPCGEN) -l -o mount_clnt.c mount.x
-
-mount_clnt.o: mount_clnt.c
- $(CC) $(CFLAGS) -o mount_clnt.o -c mount_clnt.c
- $(STRIP) mount_clnt.o
-
-mount_xdr.c: mount.h
- $(RPCGEN) -c -o mount_xdr.c mount.x
-
-mount_xdr.o: mount_xdr.c
- $(CC) $(CFLAGS) -Wno-unused-variable -o mount_xdr.o -c mount_xdr.c
- $(STRIP) mount_xdr.o
-
nss_tok.c: nss_tok.l
$(LEX) -o$@ -Pnss_ $?
@@ -60,8 +42,6 @@ nss_tok.o: nss_tok.c nss_parse.tab.h
nss_parse.tab.o: nss_parse.tab.c nss_parse.tab.h
-rpc_subs.o: mount.h
-
install: all
install -d -m 755 $(INSTALLROOT)$(autofslibdir)
install -c $(LIB) -m 755 $(INSTALLROOT)$(sharedlibdir)
diff --git a/lib/mount.x b/lib/mount.x
deleted file mode 100644
index f504e7cf..00000000
--- a/lib/mount.x
+++ /dev/null
@@ -1,345 +0,0 @@
-%/*
-% * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-% * unrestricted use provided that this legend is included on all tape
-% * media and as a part of the software program in whole or part. Users
-% * may copy or modify Sun RPC without charge, but are not authorized
-% * to license or distribute it to anyone else except as part of a product or
-% * program developed by the user or with the express written consent of
-% * Sun Microsystems, Inc.
-% *
-% * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-% * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-% * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-% *
-% * Sun RPC is provided with no support and without any obligation on the
-% * part of Sun Microsystems, Inc. to assist in its use, correction,
-% * modification or enhancement.
-% *
-% * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-% * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-% * OR ANY PART THEREOF.
-% *
-% * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-% * or profits or other special, indirect and consequential damages, even if
-% * Sun has been advised of the possibility of such damages.
-% *
-% * Sun Microsystems, Inc.
-% * 2550 Garcia Avenue
-% * Mountain View, California 94043
-% */
-
-%/*
-% * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
-% */
-%
-%/* from @(#)mount.x 1.3 91/03/11 TIRPC 1.0 */
-
-/*
- * Protocol description for the mount program
- */
-
-#ifdef RPC_HDR
-%#ifndef _rpcsvc_mount_h
-%#define _rpcsvc_mount_h
-%#include <memory.h>
-#endif
-
-const MNTPATHLEN = 1024; /* maximum bytes in a pathname argument */
-const MNTNAMLEN = 255; /* maximum bytes in a name argument */
-const FHSIZE = 32; /* size in bytes of a file handle */
-
-/*
- * The fhandle is the file handle that the server passes to the client.
- * All file operations are done using the file handles to refer to a file
- * or a directory. The file handle can contain whatever information the
- * server needs to distinguish an individual file.
- */
-typedef opaque fhandle[FHSIZE];
-
-/*
- * If a status of zero is returned, the call completed successfully, and
- * a file handle for the directory follows. A non-zero status indicates
- * some sort of error. The status corresponds with UNIX error numbers.
- */
-union fhstatus switch (unsigned fhs_status) {
-case 0:
- fhandle fhs_fhandle;
-default:
- void;
-};
-
-/*
- * The type dirpath is the pathname of a directory
- */
-typedef string dirpath<MNTPATHLEN>;
-
-/*
- * The type name is used for arbitrary names (hostnames, groupnames)
- */
-typedef string name<MNTNAMLEN>;
-
-/*
- * A list of who has what mounted
- */
-typedef struct mountbody *mountlist;
-struct mountbody {
- name ml_hostname;
- dirpath ml_directory;
- mountlist ml_next;
-};
-
-/*
- * A list of netgroups
- */
-typedef struct groupnode *groups;
-struct groupnode {
- name gr_name;
- groups gr_next;
-};
-
-/*
- * A list of what is exported and to whom
- */
-typedef struct exportnode *exports;
-struct exportnode {
- dirpath ex_dir;
- groups ex_groups;
- exports ex_next;
-};
-
-/*
- * POSIX pathconf information
- */
-struct ppathcnf {
- int pc_link_max; /* max links allowed */
- short pc_max_canon; /* max line len for a tty */
- short pc_max_input; /* input a tty can eat all at once */
- short pc_name_max; /* max file name length (dir entry) */
- short pc_path_max; /* max path name length (/x/y/x/.. ) */
- short pc_pipe_buf; /* size of a pipe (bytes) */
- u_char pc_vdisable; /* safe char to turn off c_cc[i] */
- char pc_xxx; /* alignment padding; cc_t == char */
- short pc_mask[2]; /* validity and boolean bits */
-};
-
-/*
- * NFSv3 file handle
- */
-const FHSIZE3 = 64; /* max size of NFSv3 file handle in bytes */
-typedef opaque fhandle3<FHSIZE3>;
-
-/*
- * NFSv3 mount status
- */
-enum mountstat3 {
- MNT_OK = 0, /* no error */
- MNT3ERR_PERM = 1, /* not owner */
- MNT3ERR_NOENT = 2, /* no such file or directory */
- MNT3ERR_IO = 5, /* I/O error */
- MNT3ERR_ACCES = 13, /* Permission denied */
- MNT3ERR_NOTDIR = 20, /* Not a directory */
- MNT3ERR_INVAL = 22, /* Invalid argument */
- MNT3ERR_NAMETOOLONG = 63, /* File name too long */
- MNT3ERR_NOTSUPP = 10004,/* Operation not supported */
- MNT3ERR_SERVERFAULT = 10006 /* A failure on the server */
-};
-
-/*
- * NFSv3 mount result
- */
-struct mountres3_ok {
- fhandle3 fhandle;
- int auth_flavors<>;
-};
-
-union mountres3 switch (mountstat3 fhs_status) {
-case MNT_OK:
- mountres3_ok mountinfo; /* File handle and supported flavors */
-default:
- void;
-};
-
-program MOUNTPROG {
- /*
- * Version one of the mount protocol communicates with version two
- * of the NFS protocol. The only connecting point is the fhandle
- * structure, which is the same for both protocols.
- */
- version MOUNTVERS {
- /*
- * Does no work. It is made available in all RPC services
- * to allow server reponse testing and timing
- */
- void
- MOUNTPROC_NULL(void) = 0;
-
- /*
- * If fhs_status is 0, then fhs_fhandle contains the
- * file handle for the directory. This file handle may
- * be used in the NFS protocol. This procedure also adds
- * a new entry to the mount list for this client mounting
- * the directory.
- * Unix authentication required.
- */
- fhstatus
- MOUNTPROC_MNT(dirpath) = 1;
-
- /*
- * Returns the list of remotely mounted filesystems. The
- * mountlist contains one entry for each hostname and
- * directory pair.
- */
- mountlist
- MOUNTPROC_DUMP(void) = 2;
-
- /*
- * Removes the mount list entry for the directory
- * Unix authentication required.
- */
- void
- MOUNTPROC_UMNT(dirpath) = 3;
-
- /*
- * Removes all of the mount list entries for this client
- * Unix authentication required.
- */
- void
- MOUNTPROC_UMNTALL(void) = 4;
-
- /*
- * Returns a list of all the exported filesystems, and which
- * machines are allowed to import it.
- */
- exports
- MOUNTPROC_EXPORT(void) = 5;
-
- /*
- * Identical to MOUNTPROC_EXPORT above
- */
- exports
- MOUNTPROC_EXPORTALL(void) = 6;
- } = 1;
-
- /*
- * Version two of the mount protocol communicates with version two
- * of the NFS protocol.
- * The only difference from version one is the addition of a POSIX
- * pathconf call.
- */
- version MOUNTVERS_POSIX {
- /*
- * Does no work. It is made available in all RPC services
- * to allow server reponse testing and timing
- */
- void
- MOUNTPROC_NULL(void) = 0;
-
- /*
- * If fhs_status is 0, then fhs_fhandle contains the
- * file handle for the directory. This file handle may
- * be used in the NFS protocol. This procedure also adds
- * a new entry to the mount list for this client mounting
- * the directory.
- * Unix authentication required.
- */
- fhstatus
- MOUNTPROC_MNT(dirpath) = 1;
-
- /*
- * Returns the list of remotely mounted filesystems. The
- * mountlist contains one entry for each hostname and
- * directory pair.
- */
- mountlist
- MOUNTPROC_DUMP(void) = 2;
-
- /*
- * Removes the mount list entry for the directory
- * Unix authentication required.
- */
- void
- MOUNTPROC_UMNT(dirpath) = 3;
-
- /*
- * Removes all of the mount list entries for this client
- * Unix authentication required.
- */
- void
- MOUNTPROC_UMNTALL(void) = 4;
-
- /*
- * Returns a list of all the exported filesystems, and which
- * machines are allowed to import it.
- */
- exports
- MOUNTPROC_EXPORT(void) = 5;
-
- /*
- * Identical to MOUNTPROC_EXPORT above
- */
- exports
- MOUNTPROC_EXPORTALL(void) = 6;
-
- /*
- * POSIX pathconf info (Sun hack)
- */
- ppathcnf
- MOUNTPROC_PATHCONF(dirpath) = 7;
- } = 2;
-
- /*
- * Version 3 of the protocol is for NFSv3
- */
- version MOUNTVERS_NFSV3 {
- /*
- * Does no work. It is made available in all RPC services
- * to allow server reponse testing and timing
- */
- void
- MOUNTPROC3_NULL(void) = 0;
-
- /*
- * If fhs_status is 0, then fhs_fhandle contains the
- * file handle for the directory. This file handle may
- * be used in the NFS protocol. This procedure also adds
- * a new entry to the mount list for this client mounting
- * the directory.
- * Unix authentication required.
- */
- mountres3
- MOUNTPROC3_MNT(dirpath) = 1;
-
- /*
- * Returns the list of remotely mounted filesystems. The
- * mountlist contains one entry for each hostname and
- * directory pair.
- */
- mountlist
- MOUNTPROC3_DUMP(void) = 2;
-
- /*
- * Removes the mount list entry for the directory
- * Unix authentication required.
- */
- void
- MOUNTPROC3_UMNT(dirpath) = 3;
-
- /*
- * Removes all of the mount list entries for this client
- * Unix authentication required.
- */
- void
- MOUNTPROC3_UMNTALL(void) = 4;
-
- /*
- * Returns a list of all the exported filesystems, and which
- * machines are allowed to import it.
- */
- exports
- MOUNTPROC3_EXPORT(void) = 5;
- } = 3;
-} = 100005;
-
-#ifdef RPC_HDR
-%#endif /*!_rpcsvc_mount_h*/
-#endif