Compare commits

...
Sign in to create a new pull request.

21 commits

Author SHA1 Message Date
Fedora Release Engineering
395ecc79e3 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 03:37:30 +00:00
Fedora Release Engineering
a2bec4d0b4 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 16:56:00 +00:00
Fedora Release Engineering
979241094b Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 10:56:08 +00:00
Miroslav Suchý
e2bc009499 convert license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-08-28 07:51:48 +02:00
Ian Kent
30593ae3fd - reinstate the kernel version check and fix configure invocation. 2024-07-30 13:14:01 +08:00
Ian Kent
7afaaebd8f - don't check kernel verion matches kernel-headers version at build. 2024-07-30 12:37:23 +08:00
Ian Kent
a8ea799173 - fix changelog date. 2024-07-30 11:59:15 +08:00
Ian Kent
d69d00c195 - fix Fedora 41 build. 2024-07-30 11:27:45 +08:00
Fedora Release Engineering
e176b0ba74 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 16:54:21 +00:00
Software Management Team
a2a9955017 Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:46:46 +02:00
Fedora Release Engineering
bb254c6afe Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 22:57:49 +00:00
Fedora Release Engineering
8518c2c5cc Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 12:48:00 +00:00
Fedora Release Engineering
3c402764ff Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 13:11:15 +00:00
Florian Weimer
56ba80bf83 Port configure script to C99 (#2170414)
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2023-02-16 11:15:41 +01:00
Fedora Release Engineering
bb122e5015 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 21:39:12 +00:00
Ian Kent
e056269e13 - ensure NFSv4 is seen as supported on s390x build. 2022-08-15 17:19:54 +08:00
Ian Kent
34382e964f - don't use ifarch macro. 2022-08-15 14:20:46 +08:00
Ian Kent
901c8bab00 - add BuildRequires: kernel-modules for s390x. 2022-08-15 13:50:30 +08:00
Ian Kent
9ba765bc8c - more fixes for bug 2113103 - am-utils: FTBFS in Fedora rawhide/f37 2022-08-15 11:08:08 +08:00
Ian Kent
fa9b2f2bb8 - fix bug 2113103 - am-utils: FTBFS in Fedora rawhide/f37 2022-08-04 09:09:27 +08:00
Fedora Release Engineering
3753a269b8 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 20:42:23 +00:00
10 changed files with 992 additions and 50 deletions

View file

@ -0,0 +1,28 @@
am-utils-6.2 - allow autoconf 2.72
From: Ian Kent <raven@themaw.net>
am-utils creates configure at build time and requires versions of autoconf
that are known to work ok.
Allow autoconf version 2.72 to get a build.
Signed-off-by: Ian Kent <raven@themaw.net>
---
bootstrap | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/bootstrap b/bootstrap
index d454c63..55b2084 100755
--- a/bootstrap
+++ b/bootstrap
@@ -10,7 +10,8 @@ validateversion() {
case "$v" in
*2.69) ;;
*2.71) ;;
- *) echo "am-utils requires autoconf 2.69 or 2.71, you have:"
+ *2.72) ;;
+ *) echo "am-utils requires autoconf 2.69, 2.71 or 2.72, you have:"
echo " $v"
exit 1;;
esac

View file

@ -0,0 +1,35 @@
am-utils-6.2 - dont include linux/mount.h
From: Ian Kent <raven@themaw.net>
Updates to glibc to add support for fsconfig() et. al. have introduced
conflicts between sys/mount.h and the corresponding kernel header
linux/mount.h.
But sys/mount.h and linux/mount.h provide very close to the same
definitions except that sys/mount.h has some additional function
declarations.
So add a macro define to the amd include file to stop its inclusion
of linux/mount.h when including linux/fs.h so that sys/mount.h is
used instead.
Signed-off-by: Ian Kent <raven@themaw.net>
---
include/mount_headers1.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/mount_headers1.h b/include/mount_headers1.h
index 7d518a06..af9a90ee 100644
--- a/include/mount_headers1.h
+++ b/include/mount_headers1.h
@@ -160,6 +160,9 @@
# endif /* HAVE_LINUX_LIST_H */
# include <linux/fs.h>
# else
+# ifdef HAVE_SYS_MOUNT_H
+# define _LINUX_MOUNT_H
+# endif /* HAVE_SYS_MOUNT_H */
# include <linux/fs.h>
# endif/* (!__GLIBC__ || __GLIBC__ < 2) */
#endif /* HAVE_LINUX_FS_H */

View file

@ -0,0 +1,33 @@
am-utils-6.2 - fix SEGV on quick reply error
From: Ian Kent <raven@themaw.net>
Clearly a programming mistake on my part, odd it hasn't been seen
before ...
Signed-off-by: Ian Kent <raven@themaw.net>
---
amd/nfs_subr.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/amd/nfs_subr.c b/amd/nfs_subr.c
index b88a40c8..c0ca0e42 100644
--- a/amd/nfs_subr.c
+++ b/amd/nfs_subr.c
@@ -1293,6 +1293,8 @@ nfs_quick_reply3(am_node *mp, int error)
am_post_op_attr *post_op_obj;
int ret;
+ post_op_dir = &result.res_u.ok.dir_attributes;
+
if (error) {
/*
* Return the error that was passed to us.
@@ -1300,7 +1302,6 @@ nfs_quick_reply3(am_node *mp, int error)
post_op_dir->attributes_follow = 0;
result.status = nfs_error(error);
} else {
- post_op_dir = &result.res_u.ok.dir_attributes;
post_op_obj = &result.res_u.ok.obj_attributes;
am_fattr3 *fattr3;
nfsfattr *fattr;

View file

@ -0,0 +1,82 @@
am-utils-6.2 - fix fedora mock build fail
From: Ian Kent <raven@themaw.net>
NFSv4 really needs to be used here but fedora mock builds don't seem
to be able to see the kernel modules. And when NFSv4 is a module, and
has not been used yet, the test fails.
So use the existing hack to ensure NFSv4 is seen as supported for both
check_fs_mntent.m4 and check_mount_type.m4 in m4/macros.
Signed-off-by: Ian Kent <raven@themaw.net>
---
m4/macros/check_fs_mntent.m4 | 23 +++++++++++++----------
m4/macros/check_mount_type.m4 | 18 ++++++++++++++++++
2 files changed, 31 insertions(+), 10 deletions(-)
diff --git a/m4/macros/check_fs_mntent.m4 b/m4/macros/check_fs_mntent.m4
index 45ac4974..de3d9a91 100644
--- a/m4/macros/check_fs_mntent.m4
+++ b/m4/macros/check_fs_mntent.m4
@@ -141,18 +141,21 @@ do
break
fi
- if test "$ac_fs_tmp" = "nfs3" -a "$ac_cv_header_linux_nfs_mount_h" = "yes"
+ if test $ac_fs_tmp = "nfs3" -o $ac_fs_tmp = "nfs4"
then
- # hack hack hack
- # in 6.1, which has fallback to v2/udp, we might want
- # to always use version 4.
- # in 6.0 we do not have much choice
- #
- let nfs_mount_version="`grep NFS_MOUNT_VERSION /usr/include/linux/nfs_mount.h | awk '{print $''3;}'`"
- if test $nfs_mount_version -ge 4
+ if test "$ac_cv_header_linux_nfs_mount_h" = "yes"
then
- eval "ac_cv_fs_$ac_fs_name=yes"
- break
+ # hack hack hack
+ # in 6.1, which has fallback to v2/udp, we might want
+ # to always use version 4.
+ # in 6.0 we do not have much choice
+ #
+ let nfs_mount_version="`grep NFS_MOUNT_VERSION /usr/include/linux/nfs_mount.h | awk '{print $''3;}'`"
+ if test $nfs_mount_version -ge 4
+ then
+ eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ fi
fi
fi
diff --git a/m4/macros/check_mount_type.m4 b/m4/macros/check_mount_type.m4
index 88f85323..69354221 100644
--- a/m4/macros/check_mount_type.m4
+++ b/m4/macros/check_mount_type.m4
@@ -155,6 +155,24 @@ do
break
fi
+ if test $ac_fs_tmp = "nfs4"
+ then
+ if test "$ac_cv_header_linux_nfs_mount_h" = "yes"
+ then
+ # hack hack hack
+ # in 6.1, which has fallback to v2/udp, we might want
+ # to always use version 4.
+ # in 6.0 we do not have much choice
+ #
+ let nfs_mount_version="`grep NFS_MOUNT_VERSION /usr/include/linux/nfs_mount.h | awk '{print $''3;}'`"
+ if test $nfs_mount_version -ge 4
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+ fi
+ fi
+
# run a test program for bsdi3
AC_RUN_IFELSE(
[AC_LANG_SOURCE(

View file

@ -0,0 +1,307 @@
am-utils-6.2 - fix fsmount naming conflict
From: Ian Kent <raven@themaw.net>
The mount API's new fsmount() system call conflicts with am-utils
struct fsmount so rename it and realted program variables from
fsmount to fs_mount.
Signed-off-by: Ian Kent <raven@themaw.net>
---
fsinfo/fsi_analyze.c | 14 +++++++-------
fsinfo/fsi_data.h | 6 +++---
fsinfo/fsi_gram.y | 16 ++++++++--------
fsinfo/fsi_util.c | 10 +++++-----
fsinfo/fsinfo.h | 4 ++--
fsinfo/wr_bparam.c | 2 +-
fsinfo/wr_fstab.c | 26 +++++++++++++-------------
7 files changed, 39 insertions(+), 39 deletions(-)
diff --git a/fsinfo/fsi_analyze.c b/fsinfo/fsi_analyze.c
index 78598b85..0b92cfd7 100644
--- a/fsinfo/fsi_analyze.c
+++ b/fsinfo/fsi_analyze.c
@@ -404,7 +404,7 @@ fixup_required_disk_info(disk_fs *dp)
static void
-fixup_required_mount_info(fsmount *fp, dict_ent *de)
+fixup_required_mount_info(fs_mount *fp, dict_ent *de)
{
if (!ISSET(fp->f_mask, FM_FROM)) {
if (de->de_count != 1) {
@@ -417,24 +417,24 @@ fixup_required_mount_info(fsmount *fp, dict_ent *de)
if (!mp)
abort();
fp->f_ref = mp;
- set_fsmount(fp, FM_FROM, mp->m_dk->d_host->h_hostname);
+ set_fs_mount(fp, FM_FROM, mp->m_dk->d_host->h_hostname);
fsi_log("set: %s comes from %s", fp->f_volname, fp->f_from);
}
}
if (!ISSET(fp->f_mask, FM_FSTYPE)) {
- set_fsmount(fp, FM_FSTYPE, xstrdup("nfs"));
+ set_fs_mount(fp, FM_FSTYPE, xstrdup("nfs"));
fsi_log("set: fstype is %s", fp->f_fstype);
}
if (!ISSET(fp->f_mask, FM_OPTS)) {
- set_fsmount(fp, FM_OPTS, xstrdup("rw,nosuid,grpid,defaults"));
+ set_fs_mount(fp, FM_OPTS, xstrdup("rw,nosuid,grpid,defaults"));
fsi_log("set: opts are %s", fp->f_opts);
}
if (!ISSET(fp->f_mask, FM_LOCALNAME)) {
if (fp->f_ref) {
- set_fsmount(fp, FM_LOCALNAME, xstrdup(fp->f_volname));
+ set_fs_mount(fp, FM_LOCALNAME, xstrdup(fp->f_volname));
fsi_log("set: localname is %s", fp->f_localname);
} else {
lerror(fp->f_ioloc, "cannot determine localname since volname %s is not uniquely defined", fp->f_volname);
@@ -476,10 +476,10 @@ static void
analyze_mounts(host *hp)
{
qelem *q = hp->h_mount;
- fsmount *fp;
+ fs_mount *fp;
int netbootp = 0;
- ITER(fp, fsmount, q) {
+ ITER(fp, fs_mount, q) {
char *p;
char *nn = xstrdup(fp->f_volname);
int req;
diff --git a/fsinfo/fsi_data.h b/fsinfo/fsi_data.h
index 4cc341d8..3a190626 100644
--- a/fsinfo/fsi_data.h
+++ b/fsinfo/fsi_data.h
@@ -47,7 +47,7 @@ typedef struct dict_data dict_data;
typedef struct dict_ent dict_ent;
typedef struct disk_fs disk_fs;
typedef struct ether_if ether_if;
-typedef struct fsmount fsmount;
+typedef struct fs_mount fs_mount;
typedef struct host host;
typedef struct ioloc ioloc;
typedef struct fsi_mount fsi_mount;
@@ -85,7 +85,7 @@ struct host {
qelem q;
int h_mask;
ioloc *h_ioloc;
- fsmount *h_netroot, *h_netswap;
+ fs_mount *h_netroot, *h_netswap;
#define HF_HOST 0
char *h_hostname; /* The full name of the host */
char *h_lochost; /* The name of the host with local domains stripped */
@@ -181,7 +181,7 @@ struct fsi_mount {
* disk_fs_strings in analyze.c will
* need updating.
*/
-struct fsmount {
+struct fs_mount {
qelem f_q;
fsi_mount *f_ref;
ioloc *f_ioloc;
diff --git a/fsinfo/fsi_gram.y b/fsinfo/fsi_gram.y
index 85d19aa5..17d32401 100644
--- a/fsinfo/fsi_gram.y
+++ b/fsinfo/fsi_gram.y
@@ -56,7 +56,7 @@ extern qelem *list_of_hosts, *list_of_automounts;
qelem *q;
char *s;
fsi_mount *m;
- fsmount *f;
+ fs_mount *f;
}
%token tARCH
@@ -372,7 +372,7 @@ list_of_mounts :
{ $$ = 0; }
| list_of_mounts tMOUNT tSTR localinfo_list
- { set_fsmount($4, FM_VOLNAME, $3);
+ { set_fs_mount($4, FM_VOLNAME, $3);
if ($1)
$$ = $1;
else
@@ -392,22 +392,22 @@ list_of_mounts :
*/
localinfo_list :
/* empty */
- { $$ = new_fsmount(); }
+ { $$ = new_fs_mount(); }
| localinfo_list tDIRECT
- { $$ = $1; set_fsmount($$, FM_DIRECT, ""); }
+ { $$ = $1; set_fs_mount($$, FM_DIRECT, ""); }
| localinfo_list tAS tSTR
- { $$ = $1; set_fsmount($$, FM_LOCALNAME, $3); }
+ { $$ = $1; set_fs_mount($$, FM_LOCALNAME, $3); }
| localinfo_list tFROM tSTR
- { $$ = $1; set_fsmount($$, FM_FROM, $3); }
+ { $$ = $1; set_fs_mount($$, FM_FROM, $3); }
| localinfo_list tFSTYPE tSTR
- { $$ = $1; set_fsmount($$, FM_FSTYPE, $3); }
+ { $$ = $1; set_fs_mount($$, FM_FSTYPE, $3); }
| localinfo_list tOPTS tSTR
- { $$ = $1; set_fsmount($$, FM_OPTS, $3); }
+ { $$ = $1; set_fs_mount($$, FM_OPTS, $3); }
| localinfo_list error '=' tSTR
{ yyerror("unknown mount attribute"); }
diff --git a/fsinfo/fsi_util.c b/fsinfo/fsi_util.c
index f8ff313c..d53ff0df 100644
--- a/fsinfo/fsi_util.c
+++ b/fsinfo/fsi_util.c
@@ -581,7 +581,7 @@ new_mount(void)
void
-set_fsmount(fsmount *fp, int k, char *v)
+set_fs_mount(fs_mount *fp, int k, char *v)
{
int m = 1 << k;
@@ -623,13 +623,13 @@ set_fsmount(fsmount *fp, int k, char *v)
}
-fsmount *
-new_fsmount(void)
+fs_mount *
+new_fs_mount(void)
{
- fsmount *fp = CALLOC(struct fsmount);
+ fs_mount *fp = CALLOC(struct fs_mount);
fp->f_ioloc = current_location();
- show_new("fsmount");
+ show_new("fs_mount");
return fp;
}
diff --git a/fsinfo/fsinfo.h b/fsinfo/fsinfo.h
index 7a871631..896f8bec 100644
--- a/fsinfo/fsinfo.h
+++ b/fsinfo/fsinfo.h
@@ -63,7 +63,7 @@ extern dict *new_dict(void);
extern dict_ent *dict_locate(dict *, char *);
extern disk_fs *new_disk_fs(void);
extern ether_if *new_ether_if(void);
-extern fsmount *new_fsmount(void);
+extern fs_mount *new_fs_mount(void);
extern host *new_host(void);
extern int dict_iter(dict *, int (*)(qelem *));
extern int errors;
@@ -94,7 +94,7 @@ extern void lwarning(ioloc *l, char *fmt, ...)
__attribute__((__format__(__printf__, 2, 3)));
extern void rem_que(qelem *);
extern void set_disk_fs(disk_fs *, int, char *);
-extern void set_fsmount(fsmount *, int, char *);
+extern void set_fs_mount(fs_mount *, int, char *);
extern void set_mount(fsi_mount *, int, char *);
extern void show_area_being_processed(char *area, int n);
extern void show_new(char *msg);
diff --git a/fsinfo/wr_bparam.c b/fsinfo/wr_bparam.c
index 00befa9c..b318d5d3 100644
--- a/fsinfo/wr_bparam.c
+++ b/fsinfo/wr_bparam.c
@@ -49,7 +49,7 @@
* Write a host/path in NFS format
*/
static int
-write_nfsname(FILE *ef, fsmount *fp, char *hn)
+write_nfsname(FILE *ef, fs_mount *fp, char *hn)
{
int errors = 0;
char *h = xstrdup(fp->f_ref->m_dk->d_host->h_hostname);
diff --git a/fsinfo/wr_fstab.c b/fsinfo/wr_fstab.c
index 166353eb..4daf161d 100644
--- a/fsinfo/wr_fstab.c
+++ b/fsinfo/wr_fstab.c
@@ -48,22 +48,22 @@
/* forward definitions */
static void write_aix1_dkfstab(FILE *ef, disk_fs *dp);
-static void write_aix1_dkrmount(FILE *ef, char *hn, fsmount *fp);
+static void write_aix1_dkrmount(FILE *ef, char *hn, fs_mount *fp);
static void write_aix3_dkfstab(FILE *ef, disk_fs *dp);
-static void write_aix3_dkrmount(FILE *ef, char *hn, fsmount *fp);
+static void write_aix3_dkrmount(FILE *ef, char *hn, fs_mount *fp);
static int write_dkfstab(FILE *ef, qelem *q, void (*output) (FILE *, disk_fs *));
-static int write_dkrmount(FILE *ef, qelem *q, char *hn, void (*output) (FILE *, char *, fsmount *));
+static int write_dkrmount(FILE *ef, qelem *q, char *hn, void (*output) (FILE *, char *, fs_mount *));
static void write_generic_dkfstab(FILE *ef, disk_fs *dp);
-static void write_generic_dkrmount(FILE *ef, char *hn, fsmount *fp);
+static void write_generic_dkrmount(FILE *ef, char *hn, fs_mount *fp);
static void write_ultrix_dkfstab(FILE *ef, disk_fs *dp);
-static void write_ultrix_dkrmount(FILE *ef, char *hn, fsmount *fp);
+static void write_ultrix_dkrmount(FILE *ef, char *hn, fs_mount *fp);
/* ----------------------------------------------- */
static struct os_fstab_type {
char *os_name;
void (*op_fstab) (FILE *ef, disk_fs *dp);
- void (*op_mount) (FILE *ef, char *hn, fsmount *fp);
+ void (*op_mount) (FILE *ef, char *hn, fs_mount *fp);
} os_tabs[] = {
{
@@ -117,7 +117,7 @@ write_aix1_dkfstab(FILE *ef, disk_fs *dp)
static void
-write_aix1_dkrmount(FILE *ef, char *hn, fsmount *fp)
+write_aix1_dkrmount(FILE *ef, char *hn, fs_mount *fp)
{
char *h = xstrdup(fp->f_ref->m_dk->d_host->h_hostname);
char *hp = xstrdup(h);
@@ -166,7 +166,7 @@ write_aix3_dkfstab(FILE *ef, disk_fs *dp)
static void
-write_aix3_dkrmount(FILE *ef, char *hn, fsmount *fp)
+write_aix3_dkrmount(FILE *ef, char *hn, fs_mount *fp)
{
char *h = xstrdup(fp->f_ref->m_dk->d_host->h_hostname);
@@ -200,7 +200,7 @@ write_ultrix_dkfstab(FILE *ef, disk_fs *dp)
static void
-write_ultrix_dkrmount(FILE *ef, char *hn, fsmount *fp)
+write_ultrix_dkrmount(FILE *ef, char *hn, fs_mount *fp)
{
char *h = xstrdup(fp->f_ref->m_dk->d_host->h_hostname);
@@ -234,7 +234,7 @@ write_generic_dkfstab(FILE *ef, disk_fs *dp)
static void
-write_generic_dkrmount(FILE *ef, char *hn, fsmount *fp)
+write_generic_dkrmount(FILE *ef, char *hn, fs_mount *fp)
{
char *h;
@@ -291,12 +291,12 @@ write_dkfstab(FILE *ef, qelem *q, void (*output) (FILE *, disk_fs *))
static int
-write_dkrmount(FILE *ef, qelem *q, char *hn, void (*output) (FILE *, char *, fsmount *))
+write_dkrmount(FILE *ef, qelem *q, char *hn, void (*output) (FILE *, char *, fs_mount *))
{
int errors = 0;
- fsmount *fp;
+ fs_mount *fp;
- ITER(fp, fsmount, q)
+ ITER(fp, fs_mount, q)
(*output) (ef, hn, fp);
return errors;

View file

@ -0,0 +1,134 @@
am-utils-6.2 - fix linux nfs kernel module search
From: Ian Kent <raven@themaw.net>
The configure macros AMU_CHECK_FS_MNTENT() and AMU_CHECK_MOUNT_TYPE()
haven't been updated for a log time. In particular kernel modules that
are xz compressed aren't considered.
Also the containing subdirectory name isn't always the the same as
the module name and needs to be special cased.
The cases I found have been fixed, there are probably more but this
is enough to get us started.
Signed-off-by: Ian Kent <raven@themaw.net>
---
amd/amfs_host.c | 1 +
configure.ac | 6 +++---
m4/macros/check_fs_mntent.m4 | 17 +++++++++++++++--
m4/macros/check_mount_type.m4 | 29 +++++++++++++++++++++++++----
4 files changed, 44 insertions(+), 9 deletions(-)
diff --git a/amd/amfs_host.c b/amd/amfs_host.c
index a363c5cc..deaf69fa 100644
--- a/amd/amfs_host.c
+++ b/amd/amfs_host.c
@@ -50,6 +50,7 @@
#endif /* HAVE_CONFIG_H */
#include <am_defs.h>
#include <amd.h>
+#include <am_utils.h>
static char *amfs_host_match(am_opts *fo);
static int amfs_host_init(mntfs *mf);
diff --git a/configure.ac b/configure.ac
index ef4dab0e..408964d8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -808,8 +808,8 @@ dnl NFS related tests need to happen earlier: many things depend on them
AMU_STRUCT_FIELD_NFS_FH
AMU_STRUCT_NFS_FH
AMU_STRUCT_NFS_FH3
-AMU_CHECK_FS_MNTENT(nfs3)
-AMU_CHECK_FS_MNTENT(nfs4)
+AMU_CHECK_FS_MNTENT(nfsv3 nfs3, nfs3)
+AMU_CHECK_FS_MNTENT(nfsv4 nfs4, nfs4)
dnl ======================================================================
dnl -----------------------------------------------------------------------
@@ -1117,7 +1117,7 @@ dnl check for mount(2) type/name for filesystem (MNTTYPE_*, MOUNT_*)
AC_MSG_NOTICE(*** MOUNTING TYPES ***)
AMU_CHECK_MOUNT_TYPE(nfs)
AMU_CHECK_MOUNT_TYPE(nfs3)
-AMU_CHECK_MOUNT_TYPE(nfs4)
+AMU_CHECK_MOUNT_TYPE(nfsv4 nfs4, nfs4)
AMU_CHECK_MOUNT_TYPE(lustre)
AMU_CHECK_MOUNT_TYPE(ext4 ext3 ext2 ffs ufs 4.2 4.3 4.4 efs xfs jfs ultrix, ufs)
AMU_CHECK_MOUNT_TYPE(xfs)
diff --git a/m4/macros/check_fs_mntent.m4 b/m4/macros/check_fs_mntent.m4
index e612b4ec..45ac4974 100644
--- a/m4/macros/check_fs_mntent.m4
+++ b/m4/macros/check_fs_mntent.m4
@@ -98,12 +98,25 @@ do
fi
# look for a loadable filesystem module (linux 2.4+)
- if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_tmp/$ac_fs_tmp.ko
+ ac_fs_subdir=$ac_fs_tmp
+ if test -n "$2"
+ then
+ if test "$ac_fs_tmp" = "nfsv3" -o "$ac_fs_tmp" = "nfsv4"
+ then
+ ac_fs_subdir="nfs"
+ fi
+ fi
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_subdir/$ac_fs_tmp.ko.xz
+ then
+ eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ fi
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_subdir/$ac_fs_tmp.ko
then
eval "ac_cv_fs_$ac_fs_name=yes"
break
fi
- if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_tmp/$ac_fs_tmp.o
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_subdir/$ac_fs_tmp.o
then
eval "ac_cv_fs_$ac_fs_name=yes"
break
diff --git a/m4/macros/check_mount_type.m4 b/m4/macros/check_mount_type.m4
index c779e0bf..88f85323 100644
--- a/m4/macros/check_mount_type.m4
+++ b/m4/macros/check_mount_type.m4
@@ -104,14 +104,35 @@ do
fi
# look for a loadable filesystem module (linux 2.4+)
- if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_tmp/$ac_fs_tmp.ko
+ # special casing here assumes preferred option name will be
+ # first in the list.
+ ac_fs_option="$ac_fs_tmp"
+ ac_fs_subdir=$ac_fs_tmp
+ if test -n "$2"
then
- eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ if test "$ac_fs_tmp" = "nfsv3" -o "$ac_fs_tmp" = "nfsv4"
+ then
+ ac_fs_subdir="nfs"
+ ac_fs_option="$ac_fs_name"
+ fi
+ if test "$ac_fs_tmp" = "vfat" -o "$ac_fs_tmp" = "msdos"
+ then
+ ac_fs_subdir="fat"
+ fi
+ fi
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_subdir/$ac_fs_tmp.ko.xz
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_option\\\""
break
fi
- if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_tmp/$ac_fs_tmp.o
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_subdir/$ac_fs_tmp.ko
then
- eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_option\\\""
+ break
+ fi
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_subdir/$ac_fs_tmp.o
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_option\\\""
break
fi

View file

@ -0,0 +1,29 @@
am-utils-6.2 - fix mountd version used when mount is nfs v4
From: Ian Kent <raven@themaw.net>
If we are trying to mount the exports of a type host map entry and the
mounts are NFS v4 make sure mountd version 3 is used in the same way it
is used for NFS v3 mounts.
Signed-off-by: Ian Kent <raven@themaw.net>
---
amd/amfs_host.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/amd/amfs_host.c b/amd/amfs_host.c
index a3468ecd..a363c5cc 100644
--- a/amd/amfs_host.c
+++ b/amd/amfs_host.c
@@ -346,8 +346,9 @@ amfs_host_mount(am_node *am, mntfs *mf)
host = mf->mf_server->fs_host;
sin = *mf->mf_server->fs_ip;
plog(XLOG_INFO, "amfs_host_mount: NFS version %d", (int) mf->mf_server->fs_version);
-#ifdef HAVE_FS_NFS3
- if (mf->mf_server->fs_version == NFS_VERSION3)
+#if defined(HAVE_FS_NFS3) || defined(HAVE_FS_NFS4)
+ if (mf->mf_server->fs_version == NFS_VERSION3 ||
+ mf->mf_server->fs_version == NFS_VERSION4)
mnt_version = AM_MOUNTVERS3;
else
#endif /* HAVE_FS_NFS3 */

View file

@ -0,0 +1,214 @@
Fix various autoconf helper macros not to require support for implicit
ints and implicit function declarations in the compiler. These C
language features have been removed from C99, and future compilers
will not accept them by default.
diff --git a/m4/macros/check_fs_mntent.m4 b/m4/macros/check_fs_mntent.m4
index de3d9a918283bb1d..7800d3eff0f59e71 100644
--- a/m4/macros/check_fs_mntent.m4
+++ b/m4/macros/check_fs_mntent.m4
@@ -165,15 +165,15 @@ do
[[
#include <sys/param.h>
#include <sys/mount.h>
-main()
+int main(void)
{
int i;
struct vfsconf vf;
i = getvfsbyname("$ac_fs_tmp", &vf);
if (i < 0)
- exit(1);
+ return 1;
else
- exit(0);
+ return 0;
}
]])], [eval "ac_cv_fs_$ac_fs_name=yes"
break
diff --git a/m4/macros/check_gnu_getopt.m4 b/m4/macros/check_gnu_getopt.m4
index 6ac6440c47e8edd8..daa61cbaef3b09e9 100644
--- a/m4/macros/check_gnu_getopt.m4
+++ b/m4/macros/check_gnu_getopt.m4
@@ -17,7 +17,7 @@ int main()
int isGNU = 0;
rf = fopen("conftestresult", "w");
- if (rf == NULL) exit(1);
+ if (rf == NULL) return 1;
while ( (c = getopt(argc, argv, "x")) != -1 ) {
switch ( c ) {
@@ -25,11 +25,11 @@ int main()
isGNU=1;
break;
default:
- exit(1);
+ return 1;
}
}
fprintf(rf, isGNU ? "yes" : "no");
- exit(0);
+ return 0;
}
]])],[
ac_cv_sys_gnu_getopt="`cat conftestresult`"
diff --git a/m4/macros/check_mnttab_type.m4 b/m4/macros/check_mnttab_type.m4
index a840991e95e3ba81..398314910d80337a 100644
--- a/m4/macros/check_mnttab_type.m4
+++ b/m4/macros/check_mnttab_type.m4
@@ -121,15 +121,15 @@ do
[[
#include <sys/param.h>
#include <sys/mount.h>
-main()
+int main(void)
{
int i;
struct vfsconf vf;
i = getvfsbyname("$ac_fs_tmp", &vf);
if (i < 0)
- exit(1);
+ return 1;
else
- exit(0);
+ return 0;
}
]])], [eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
break
diff --git a/m4/macros/check_mount_type.m4 b/m4/macros/check_mount_type.m4
index 693542219f7aee90..1b0de6ccb0b7cafd 100644
--- a/m4/macros/check_mount_type.m4
+++ b/m4/macros/check_mount_type.m4
@@ -179,15 +179,15 @@ do
[[
#include <sys/param.h>
#include <sys/mount.h>
-main()
+int main(void)
{
int i;
struct vfsconf vf;
i = getvfsbyname("$ac_fs_tmp", &vf);
if (i < 0)
- exit(1);
+ return 1;
else
- exit(0);
+ return 0;
}
]])], [eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
break
diff --git a/m4/macros/check_varargs_macros.m4 b/m4/macros/check_varargs_macros.m4
index 93c26ffced82fdcc..1dbd4fb59e3d1c88 100644
--- a/m4/macros/check_varargs_macros.m4
+++ b/m4/macros/check_varargs_macros.m4
@@ -9,6 +9,7 @@ ac_cv_varargs_macros,
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
+void bar(const char *, ...);
#define foo(str,size,fmt,...) bar(__FILE__,__LINE__,(str),(size),(fmt),__VA_ARGS__)
]],
[[
@@ -20,6 +21,7 @@ foo(a, sizeof(a), "%d,%d", 1, 2);
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
+void bar(const char *, ...);
#define foo(str,size,args...) bar(__FILE__,__LINE__,(str),(size),(fmt),args)
]],
[[
diff --git a/m4/macros/expand_cpp_hex.m4 b/m4/macros/expand_cpp_hex.m4
index 13c7c832b0d764fb..7b915d0431b8f688 100644
--- a/m4/macros/expand_cpp_hex.m4
+++ b/m4/macros/expand_cpp_hex.m4
@@ -14,17 +14,16 @@ AC_RUN_IFELSE(
[AC_LANG_SOURCE(
[[
[$1]
-main(argc)
-int argc;
+int main(int argc)
{
#ifdef $2
if (argc > 1)
printf("0x%x", $2);
-exit(0);
+return 0;
#else
# error no such option $2
#endif
-exit(1);
+return 1;
}]])], value=`./conftest dummy 2>>config.log`, value="notfound", value="notfound")
,
value="notfound"
diff --git a/m4/macros/expand_cpp_int.m4 b/m4/macros/expand_cpp_int.m4
index e58649e83013265e..798e7fd7590f4ca7 100644
--- a/m4/macros/expand_cpp_int.m4
+++ b/m4/macros/expand_cpp_int.m4
@@ -16,17 +16,16 @@ AC_RUN_IFELSE(
[AC_LANG_SOURCE(
[[
[$1]
-main(argc)
-int argc;
+int main(int argc)
{
#ifdef $2
if (argc > 1)
printf("%d", $2);
-exit(0);
+return 0;
#else
# error no such option $2
#endif
-exit(1);
+return 1;
}]])], value=`./conftest dummy 2>>config.log`, value="notfound", value="notfound")
,
value="notfound"
diff --git a/m4/macros/expand_cpp_string.m4 b/m4/macros/expand_cpp_string.m4
index e014b7e4fc9d8030..256ddee09303fde4 100644
--- a/m4/macros/expand_cpp_string.m4
+++ b/m4/macros/expand_cpp_string.m4
@@ -14,17 +14,16 @@ AC_RUN_IFELSE(
[AC_LANG_SOURCE(
[[
[$1]
-main(argc)
-int argc;
+int main(int argc)
{
#ifdef $2
if (argc > 1)
printf("%s", $2);
-exit(0);
+return 0;
#else
# error no such option $2
#endif
-exit(1);
+return 1;
}]])], value=`./conftest dummy 2>>config.log`, value="notfound", value="notfound")
,
value="notfound"
diff --git a/m4/macros/expand_run_string.m4 b/m4/macros/expand_run_string.m4
index f9390020aa934c3e..c8c350f533f80a82 100644
--- a/m4/macros/expand_run_string.m4
+++ b/m4/macros/expand_run_string.m4
@@ -8,11 +8,10 @@ AC_RUN_IFELSE(
[AC_LANG_SOURCE(
[[
$1
-main(argc)
-int argc;
+int main(int argc)
{
$2
-exit(0);
+return 0;
}]])],
[
value=`./conftest dummy 2>>config.log`

View file

@ -28,6 +28,10 @@ fully_qualified_hosts = no
cache_duration = 300
# Fedora doesn't support NFSv2, use the amd NFSv3 server.
auto_nfs_version = 3
# The latest Fedora kernel builds disable UDP so unless a custom build
# is done the internal amd automount server must use the autofs protocol
# not the NFS protocol.
mount_type = autofs
# DEFINE AN AMD MOUNT POINT
[ /net ]

View file

@ -2,8 +2,9 @@ Summary: Automount utilities including an updated version of Amd
Name: am-utils
Version: 6.2.0
%define upstream_version 6.2
Release: 46%{?dist}
License: BSD
Release: 62%{?dist}
# Automatically converted from old format: BSD - review is highly recommended.
License: LicenseRef-Callaway-BSD
Epoch: 5
URL: http://am-utils.org
# Git repository git://git.fsl.cs.sunysb.edu/am-utils-6.2.git
@ -26,7 +27,7 @@ BuildRequires: gcc
BuildRequires: m4
BuildRequires: libtirpc-devel
BuildRequires: kernel-headers
BuildRequires: libnsl2-devel
#BuildRequires: libnsl2-devel
BuildRequires: rpcsvc-proto-devel
BuildRequires: make
@ -35,7 +36,7 @@ Requires: grep
Requires: gawk
Requires: findutils
Requires: libtirpc
Requires: libnsl2
#Requires: libnsl2
Requires(pre): /usr/bin/grep
Requires(post): systemd-sysv
@ -94,6 +95,17 @@ Patch41: am-utils-6.2-convert-AC_TRY_RUN-to-AC_RUN_IFELSE.patch
Patch42: am-utils-6.2-update-configure_ac.patch
Patch43: am-utils-6.2-dont-prevent-building-with-autoconf-2_71.patch
Patch44: am-utils-6.2-fix-fsmount-naming-conflict.patch
Patch45: am-utils-6.2-fix-SEGV-on-quick-reply-error.patch
Patch46: am-utils-6.2-fix-mountd-version-used-when-mount-is-nfs-v4.patch
Patch47: am-utils-6.2-fix-linux-nfs-kernel-module-search.patch
Patch48: am-utils-6.2-dont-include-linux_mount_h.patch
Patch49: am-utils-6.2-fix-fedora-mock-build-fail.patch
Patch50: am-utils-configure-c99.patch
Patch51: am-utils-6.2-allow-autoconf-2.72.patch
# Not needed since autoreconf/libtool appear to do this automatically
# Leaving it set doesn't appear to be a problem so leave it set in
# case this changes.
@ -121,49 +133,60 @@ mounting and unmounting filesystems.
%prep
%setup -q -n %{name}-%{upstream_version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1
%patch -P 4 -p1
%patch -P 5 -p1
%patch -P 6 -p1
%patch -P 7 -p1
%patch -P 8 -p1
%patch -P 9 -p1
%patch -P 10 -p1
%patch -P 11 -p1
%patch -P 12 -p1
%patch -P 13 -p1
%patch -P 14 -p1
%patch -P 15 -p1
%patch -P 16 -p1
%patch -P 17 -p1
%patch -P 18 -p1
%patch -P 19 -p1
%patch -P 20 -p1
%patch -P 21 -p1
%patch -P 22 -p1
%patch -P 23 -p1
%patch -P 24 -p1
%patch -P 25 -p1
%patch -P 26 -p1
%patch -P 27 -p1
%patch -P 28 -p1
%patch -P 29 -p1
%patch -P 30 -p1
%patch -P 31 -p1
%patch -P 32 -p1
%patch -P 33 -p1
%patch -P 34 -p1
%patch -P 35 -p1
%patch -P 36 -p1
%patch -P 37 -p1
%patch -P 38 -p1
%patch -P 39 -p1
%patch -P 40 -p1
%patch -P 41 -p1
%patch -P 42 -p1
%patch -P 43 -p1
%patch -P 44 -p1
%patch -P 45 -p1
%patch -P 46 -p1
%patch -P 47 -p1
%patch -P 48 -p1
%patch -P 49 -p1
%patch -P 50 -p1
%patch -P 51 -p1
./bootstrap
@ -175,9 +198,7 @@ chmod +x find-requires
%configure \
--enable-shared \
--enable-am-cflags="-DHAVE_LINUX_NFS_MOUNT_H" \
--enable-cppflags="-I%{_includedir}/nsl" \
--enable-ldflags="-L%{_libdir}/nsl" \
--enable-libs="-lnsl -lresolv" \
--enable-libs="-lresolv" \
--without-hesiod \
--enable-debug
@ -267,6 +288,61 @@ fi
%{_libdir}/libamu.so*
%changelog
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 5:6.2.0-62
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5:6.2.0-61
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5:6.2.0-60
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Aug 28 2024 Miroslav Suchý <msuchy@redhat.com> - 5:6.2.0-59
- convert license to SPDX
* Tue Jul 30 2024 Ian Kent <raven@themaw.net> - 5:6.2.0-58
- allow autoconf 2.72.
- remove BuildRequires (and Requires) libnsl2.
- also remove references to libnsl in configure invocation.
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5:6.2.0-57
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5:6.2.0-56
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5:6.2.0-55
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5:6.2.0-54
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Feb 16 2023 Florian Weimer <fweimer@redhat.com> - 5:6.2.0-53
- Port configure script to C99 (#2170414)
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5:6.2.0-52
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Aug 15 2022 Ian Kent <raven@themaw.net> - 5:6.2.0-50
- remove BuildRequires: kernel-modules for s390x.
- add hack to ensure NFSv4 is seen as supported on s390x.
* Mon Aug 15 2022 Ian Kent <raven@themaw.net> - 5:6.2.0-50
- add BuildRequires: kernel-modules for s390x.
* Mon Aug 15 2022 Ian Kent <raven@themaw.net> - 5:6.2.0-49
- fix linux nfs kernel module search.
- dont include linux/mount.h.
* Thu Aug 04 2022 Ian Kent <raven@themaw.net> - 5:6.2.0-48
- fix fsmount naming conflict.
- fix SEGV on quick reply error.
- fix mountd version used when mount is nfs v4.
- set mount_type = autofs in default installed configuration.
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5:6.2.0-47
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5:6.2.0-46
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild