Accepting request 970993 from home:hauky:branches:filesystems
- apply patches marked for upcoming release: * kernel 5.17: a714e86.diff and 449d1fa.diff * gcc-11: gcc-11.diff - do not create client-package without KMP - remove patch dir_layout.patch this can be done via environment-variables - replace openafs-1.8.x.ncurses6.patch with patch 4cf7a9a.diff. 4cf7a9a.diff is coming from upstream and will be incorporated at some point. OBS-URL: https://build.opensuse.org/request/show/970993 OBS-URL: https://build.opensuse.org/package/show/filesystems/openafs?expand=0&rev=88
This commit is contained in:
parent
cc1f459a9f
commit
7cc4103382
118
449d1fa.diff
Normal file
118
449d1fa.diff
Normal file
@ -0,0 +1,118 @@
|
||||
From 449d1faf87e2841e80be38cf2b4a5cf5ff4df2d8 Mon Sep 17 00:00:00 2001
|
||||
From: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Date: Fri, 28 Jan 2022 14:10:46 -0700
|
||||
Subject: [PATCH] Linux-5.17: Kernel build uses -Wcast-function-type
|
||||
|
||||
The linux 5.17 commit:
|
||||
"Makefile: Enable -Wcast-function-type" (552a23a0)
|
||||
added the -Wcast-function-type compiler flag for kernel module builds.
|
||||
|
||||
This change catches a type mismatch in the external files obtained from
|
||||
heimdal: hcrypto/evp.c and hcrypto/evp-algs.c and produces the following
|
||||
type of compile time error messages.
|
||||
|
||||
src/libafs/MODLOAD-.../evp.c: In function ‘hc_EVP_md_null’:
|
||||
src/libafs/MODLOAD-.../evp.c:501:2: error: cast between incompatible
|
||||
function types from ‘void (*)(void *)’ to ‘int (*)(EVP_MD_CTX *)’
|
||||
{aka ‘int (*)(struct hc_EVP_MD_CTX *)’}
|
||||
[-Werror=cast-function-type]
|
||||
501 | (hc_evp_md_init)null_Init,
|
||||
| ^
|
||||
|
||||
Use AX_APPEND_COMPILE_FLAGS to create a CFLAGS_NOCAST_FUNCTION_TYPE
|
||||
macro to disable this warning and update the CFLAGS for these 2 files
|
||||
for the Linux libafs build.
|
||||
|
||||
Update the CODING documentation to add the new exceptions. In addition
|
||||
add a brief description on how to set up autoconf to add a new build
|
||||
macro to suppress compiler warnings.
|
||||
|
||||
Note: upstream heimdal has committed a fix for this in:
|
||||
|
||||
hcrypto: Fix return type for null_Init, null_Update and null_Final
|
||||
(fc4b3ce49b)
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/14881
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||||
(cherry picked from commit 6bdfa976731ce07f3236893ecf12abb9e169b882)
|
||||
|
||||
Change-Id: Ibd354f663d5876c421a8b4e89b8943c9e3d59ebc
|
||||
---
|
||||
|
||||
diff --git a/CODING b/CODING
|
||||
index 5d62dbb..c266979 100644
|
||||
--- a/CODING
|
||||
+++ b/CODING
|
||||
@@ -265,7 +265,13 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
-If a pragma isn't available for your particular warning, you will need to
|
||||
+If the source cannot be changed to add a pragma, you might be abe to use the
|
||||
+autoconf function AX_APPEND_COMPILE_FLAGS to create a new macro that disables
|
||||
+the warning and then use macro for the build options for that file. For an
|
||||
+example, see how the autoconf macro CFLAGS_NOIMPLICIT_FALLTHROUGH is defined and
|
||||
+used.
|
||||
+
|
||||
+Finally if there isn't a way to disable the specific warning, you will need to
|
||||
disable all warnings for the file in question. You can do this by supplying
|
||||
the autoconf macro @CFLAGS_NOERROR@ in the build options for the file. For
|
||||
example:
|
||||
@@ -288,6 +294,10 @@
|
||||
: signed vs unsigned for dates
|
||||
butc/tcudbprocs.c : all : ubik_Call
|
||||
external/heimdal/hcrypto/validate.c: all: statement with empty body
|
||||
+external/heimdal/hcrypto/evp.c: cast-function-type
|
||||
+ : Linux kernel build uses -Wcast-function-type
|
||||
+external/heimdal/hcrypto/evp-algs.c: cast-function-type
|
||||
+ : Linux kernel build uses -Wcast-function-type
|
||||
kauth/admin_tools.c : strict-proto : ubik_Call
|
||||
kauth/authclient.c : strict-proto : ubik_Call nonsense
|
||||
libadmin/kas/afs_kasAdmin.c: strict-proto : ubik_Call nonsense
|
||||
diff --git a/src/cf/osconf.m4 b/src/cf/osconf.m4
|
||||
index 1e1b080..11f3eea 100644
|
||||
--- a/src/cf/osconf.m4
|
||||
+++ b/src/cf/osconf.m4
|
||||
@@ -665,6 +665,7 @@
|
||||
CFLAGS_NOSTRICT=-fno-strict-aliasing
|
||||
CFLAGS_NOUNUSED=
|
||||
CFLAGS_NOOLDSTYLE=
|
||||
+CFLAGS_NOCAST_FUNCTION_TYPE=
|
||||
XCFLAGS_NOCHECKING="$XCFLAGS"
|
||||
|
||||
if test "x$GCC" = "xyes"; then
|
||||
@@ -677,6 +678,8 @@
|
||||
CFLAGS_NOERROR="-Wno-error"
|
||||
CFLAGS_NOUNUSED="-Wno-unused"
|
||||
CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
|
||||
+ AX_APPEND_COMPILE_FLAGS([-Wno-cast-function-type],
|
||||
+ [CFLAGS_NOCAST_FUNCTION_TYPE])
|
||||
AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
|
||||
else
|
||||
CFLAGS_NOSTRICT=
|
||||
@@ -753,6 +756,7 @@
|
||||
AC_SUBST(CFLAGS_NOSTRICT)
|
||||
AC_SUBST(CFLAGS_NOUNUSED)
|
||||
AC_SUBST(CFLAGS_NOOLDSTYLE)
|
||||
+AC_SUBST(CFLAGS_NOCAST_FUNCTION_TYPE)
|
||||
AC_SUBST(XCFLAGS64)
|
||||
AC_SUBST(XLDFLAGS)
|
||||
AC_SUBST(XLDFLAGS64)
|
||||
diff --git a/src/libafs/MakefileProto.LINUX.in b/src/libafs/MakefileProto.LINUX.in
|
||||
index d98fa05..8e98afd 100644
|
||||
--- a/src/libafs/MakefileProto.LINUX.in
|
||||
+++ b/src/libafs/MakefileProto.LINUX.in
|
||||
@@ -79,8 +79,9 @@
|
||||
CFLAGS_opr_rbtree.o = -I${TOP_SRCDIR}/opr
|
||||
|
||||
CFLAGS_evp.o = -I$(TOP_SRCDIR)/external/heimdal/hcrypto \
|
||||
- -DHAVE_CONFIG_H
|
||||
-CFLAGS_evp-algs.o = -I$(TOP_SRCDIR)/external/heimdal/hcrypto
|
||||
+ -DHAVE_CONFIG_H @CFLAGS_NOCAST_FUNCTION_TYPE@
|
||||
+CFLAGS_evp-algs.o = -I$(TOP_SRCDIR)/external/heimdal/hcrypto \
|
||||
+ @CFLAGS_NOCAST_FUNCTION_TYPE@
|
||||
CFLAGS_evp-kernel.o = -I$(TOP_SRCDIR)/external/heimdal/hcrypto
|
||||
CFLAGS_rand-timer-kernel.o = -I$(TOP_SRCDIR)/external/heimdal/hcrypto
|
||||
CFLAGS_rand-kernel.o = -I$(TOP_SRCDIR)/external/heimdal/hcrypto
|
38
4cf7a9a.diff
Normal file
38
4cf7a9a.diff
Normal file
@ -0,0 +1,38 @@
|
||||
From 4cf7a9adba18ed7752898c0d9421067c7bf17292 Mon Sep 17 00:00:00 2001
|
||||
From: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Date: Wed, 09 Feb 2022 14:00:13 -0700
|
||||
Subject: [PATCH] autoconf: Additional library test for ncurses
|
||||
|
||||
Depending on how the ncurses libraries were built the external symbol
|
||||
'LINES' may be replaced with the '_nc_LINES' external symbol. Because
|
||||
the symbol 'LINES' may or may not be present, the autoconf test can fail
|
||||
to detect the correct libraries needed for curses support.
|
||||
|
||||
Add an additional AC_CHECK_LIBs for the symbol _nc_LINES (within the
|
||||
ncurses or tinfo libraries) when setting the $LIB_curses.
|
||||
|
||||
This commit was adapted from the openSuSE source packaging for openafs.
|
||||
|
||||
Background: when ncurses is built with --enable-reentrant, LINES is
|
||||
defined as a C preprocessor macro that expands to a call to _nc_LINES
|
||||
|
||||
Change-Id: If5e93078ff8cd0af5a50a25a8be7b462261a4f6f
|
||||
---
|
||||
|
||||
diff --git a/src/cf/curses.m4 b/src/cf/curses.m4
|
||||
index 24c6535..1691845 100644
|
||||
--- a/src/cf/curses.m4
|
||||
+++ b/src/cf/curses.m4
|
||||
@@ -19,7 +19,11 @@
|
||||
AC_CHECK_LIB([ncurses], [initscr],
|
||||
[AC_CHECK_LIB([ncurses], [LINES], [openafs_cv_curses_lib=-lncurses],
|
||||
[AC_CHECK_LIB([tinfo], [LINES],
|
||||
- [openafs_cv_curses_lib="-lncurses -ltinfo"])])])
|
||||
+ [openafs_cv_curses_lib="-lncurses -ltinfo"],
|
||||
+ [AC_CHECK_LIB([ncurses], [_nc_LINES],
|
||||
+ [openafs_cv_curses_lib=-lncurses],
|
||||
+ [AC_CHECK_LIB([tinfo], [_nc_LINES],
|
||||
+ [openafs_cv_curses_lib="-lncurses -ltinfo"])])])])])
|
||||
AS_IF([test "x$openafs_cv_curses_lib" = x],
|
||||
[AC_CHECK_LIB([Hcurses], [initscr], [openafs_cv_curses_lib=-lHcurses])])
|
||||
AS_IF([test "x$openafs_cv_curses_lib" = x],
|
134
a714e86.diff
Normal file
134
a714e86.diff
Normal file
@ -0,0 +1,134 @@
|
||||
From a714e865efe41aa1112f6f9c8479112660dacd6f Mon Sep 17 00:00:00 2001
|
||||
From: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Date: Thu, 27 Jan 2022 20:19:17 -0700
|
||||
Subject: [PATCH] Linux-5.17: kernel func complete_and_exit renamed
|
||||
|
||||
Handle the Linux kernel function rename made in commit
|
||||
"exit: Rename complete_and_exit to kthread_complete_and_exit"
|
||||
(cead1855)
|
||||
|
||||
Add a new autoconf test for the linux function kthread_complete_and_exit
|
||||
and if not found use a define to map kthread_complete_and_exit to
|
||||
complete_and_exit.
|
||||
|
||||
Replace calls to complete_and_exit with kthread_complete_and_exit.
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/14882
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit a651d4db7f86a24ea6784f6f27d5c8482667267b)
|
||||
|
||||
Change-Id: Ibe96b92a84a8f876dda4019c221c37dabde93244
|
||||
---
|
||||
|
||||
diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h
|
||||
index 726b655..53a079b 100644
|
||||
--- a/src/afs/LINUX/osi_compat.h
|
||||
+++ b/src/afs/LINUX/osi_compat.h
|
||||
@@ -27,6 +27,10 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+#if !defined(HAVE_LINUX_KTHREAD_COMPLETE_AND_EXIT)
|
||||
+# define kthread_complete_and_exit complete_and_exit
|
||||
+#endif
|
||||
+
|
||||
#if defined(STRUCT_DENTRY_OPERATIONS_HAS_D_AUTOMOUNT) && !defined(DCACHE_NEED_AUTOMOUNT)
|
||||
# define DCACHE_NEED_AUTOMOUNT DMANAGED_AUTOMOUNT
|
||||
#endif
|
||||
diff --git a/src/afs/afs_call.c b/src/afs/afs_call.c
|
||||
index 32ad210..fab4c01 100644
|
||||
--- a/src/afs/afs_call.c
|
||||
+++ b/src/afs/afs_call.c
|
||||
@@ -19,7 +19,9 @@
|
||||
#include "afs/afs_stats.h"
|
||||
#include "rx/rx_globals.h"
|
||||
#if !defined(UKERNEL)
|
||||
-# if !defined(AFS_LINUX20_ENV)
|
||||
+# if defined(AFS_LINUX20_ENV)
|
||||
+# include "osi_compat.h"
|
||||
+# else
|
||||
# include "net/if.h"
|
||||
# ifdef AFS_SGI62_ENV
|
||||
# include "h/hashing.h"
|
||||
@@ -328,7 +330,7 @@
|
||||
sprintf(current->comm, "afs_callback");
|
||||
afs_RXCallBackServer();
|
||||
AFS_GUNLOCK();
|
||||
- complete_and_exit(0, 0);
|
||||
+ kthread_complete_and_exit(0, 0);
|
||||
break;
|
||||
case AFSOP_START_AFS:
|
||||
sprintf(current->comm, "afs_afsstart");
|
||||
@@ -342,7 +344,7 @@
|
||||
sprintf(current->comm, "afsd");
|
||||
afs_Daemon();
|
||||
AFS_GUNLOCK();
|
||||
- complete_and_exit(0, 0);
|
||||
+ kthread_complete_and_exit(0, 0);
|
||||
break;
|
||||
case AFSOP_START_BKG:
|
||||
#ifdef AFS_NEW_BKG
|
||||
@@ -361,7 +363,7 @@
|
||||
afs_BackgroundDaemon();
|
||||
AFS_GUNLOCK();
|
||||
#endif
|
||||
- complete_and_exit(0, 0);
|
||||
+ kthread_complete_and_exit(0, 0);
|
||||
break;
|
||||
case AFSOP_START_TRUNCDAEMON:
|
||||
sprintf(current->comm, "afs_trimstart");
|
||||
@@ -372,7 +374,7 @@
|
||||
sprintf(current->comm, "afs_cachetrim");
|
||||
afs_CacheTruncateDaemon();
|
||||
AFS_GUNLOCK();
|
||||
- complete_and_exit(0, 0);
|
||||
+ kthread_complete_and_exit(0, 0);
|
||||
break;
|
||||
case AFSOP_START_CS:
|
||||
sprintf(current->comm, "afs_checkserver");
|
||||
@@ -380,7 +382,7 @@
|
||||
complete(arg->complete);
|
||||
afs_CheckServerDaemon();
|
||||
AFS_GUNLOCK();
|
||||
- complete_and_exit(0, 0);
|
||||
+ kthread_complete_and_exit(0, 0);
|
||||
break;
|
||||
case AFSOP_RXEVENT_DAEMON:
|
||||
sprintf(current->comm, "afs_evtstart");
|
||||
@@ -398,7 +400,7 @@
|
||||
sprintf(current->comm, "afs_rxevent");
|
||||
afs_rxevent_daemon();
|
||||
AFS_GUNLOCK();
|
||||
- complete_and_exit(0, 0);
|
||||
+ kthread_complete_and_exit(0, 0);
|
||||
break;
|
||||
#ifdef RXK_LISTENER_ENV
|
||||
case AFSOP_RXLISTENER_DAEMON:
|
||||
@@ -420,7 +422,7 @@
|
||||
sprintf(current->comm, "afs_rxlistener");
|
||||
rxk_Listener();
|
||||
AFS_GUNLOCK();
|
||||
- complete_and_exit(0, 0);
|
||||
+ kthread_complete_and_exit(0, 0);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4
|
||||
index 0ca3e44..cd4afe9 100644
|
||||
--- a/src/cf/linux-kernel-func.m4
|
||||
+++ b/src/cf/linux-kernel-func.m4
|
||||
@@ -178,6 +178,12 @@
|
||||
[#include <net/ip.h>],
|
||||
[ip_sock_set_mtu_discover(NULL, 0);])
|
||||
|
||||
+dnl Linux 5.17 renamed complete_and_exit to kthread_complete_and_exit
|
||||
+AC_CHECK_LINUX_FUNC([kthread_complete_and_exit],
|
||||
+ [#include <linux/kernel.h>
|
||||
+ #include <linux/kthread.h>],
|
||||
+ [kthread_complete_and_exit(0, 0);])
|
||||
+
|
||||
dnl Consequences - things which get set as a result of the
|
||||
dnl above tests
|
||||
AS_IF([test "x$ac_cv_linux_func_d_alloc_anon" = "xno"],
|
@ -1,17 +0,0 @@
|
||||
--- openafs-1.8.3/src/cf/dirpaths.m4.orig 2019-04-30 13:38:33.411870333 +0200
|
||||
+++ openafs-1.8.3/src/cf/dirpaths.m4 2019-04-30 13:48:06.182604169 +0200
|
||||
@@ -20,10 +20,10 @@
|
||||
afssrvbindir=${afssrvbindir='${bindir}'}
|
||||
afssrvsbindir=${afssrvsbindir='${sbindir}'}
|
||||
afssrvlibexecdir=${afssrvlibexecdir='${libexecdir}/openafs'}
|
||||
- afsdbdir=${afsdbdir='${localstatedir}/openafs/db'}
|
||||
- afslogsdir=${afslogsdir='${localstatedir}/openafs/logs'}
|
||||
- afslocaldir=${afslocaldir='${localstatedir}/openafs'}
|
||||
- afsbackupdir=${afsbackupdir='${localstatedir}/openafs/backup'}
|
||||
+ afsdbdir=${afsdbdir='/var/lib/openafs/db'}
|
||||
+ afslogsdir=${afslogsdir='/var/log/openafs'}
|
||||
+ afslocaldir=${afslocaldir='/var/lib/openafs'}
|
||||
+ afsbackupdir=${afsbackupdir='/var/lib/openafs/backup'}
|
||||
afsbosconfigdir=${afsbosconfigdir='${sysconfdir}/openafs'}
|
||||
afsdatadir=${afsdatadir='${datadir}/openafs'}
|
||||
fi
|
591
gcc-11.diff
Normal file
591
gcc-11.diff
Normal file
@ -0,0 +1,591 @@
|
||||
From 36796bbb83af2650a872234fdb5cf7124bf6cfa8 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Date: Mon, 23 Aug 2021 14:23:01 -0400
|
||||
Subject: [PATCH] ubik: Fix ubeacon_updateUbikNetworkAddress() mismatched array parameter warning
|
||||
|
||||
The ubeacon_updateUbikNetworkAddress() prototype does not match the
|
||||
function definition. The ubik_host parameter is declared as an unbounded
|
||||
array in the prototype but is defined as a bounded array. As of GCC 12,
|
||||
a warning is issued for the mismatch:
|
||||
|
||||
error: argument 1 of type ‘afs_uint32[256]’ {aka ‘unsigned int[256]’}
|
||||
with mismatched bound [-Werror=array-parameter=]
|
||||
ubeacon_updateUbikNetworkAddress(
|
||||
afs_uint32 ubik_host[UBIK_MAX_INTERFACE_ADDR])
|
||||
|
||||
note: previously declared as ‘afs_uint32[]’ {aka ‘unsigned int[]’}
|
||||
extern int ubeacon_updateUbikNetworkAddress(afs_uint32 ubik_host[]);
|
||||
|
||||
Restore the ubik_host array length in the function prototype, which was
|
||||
dropped in commit 9020e6e2f0357b1082705dcaa6626573433969ec (ubik: Defer
|
||||
updateUbikNetworkAddress until after RX startup).
|
||||
|
||||
Change-Id: I8189effc5b68ef8c1b45b4107f5e22e44ecf59fd
|
||||
Reviewed-on: https://gerrit.openafs.org/14767
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
---
|
||||
|
||||
diff --git a/src/ubik/ubik.p.h b/src/ubik/ubik.p.h
|
||||
index cfd12f7..52869ad 100644
|
||||
--- a/src/ubik/ubik.p.h
|
||||
+++ b/src/ubik/ubik.p.h
|
||||
@@ -492,7 +492,7 @@
|
||||
char clones[]);
|
||||
extern int ubeacon_InitServerList(afs_uint32 ame, afs_uint32 aservers[]);
|
||||
extern void *ubeacon_Interact(void *);
|
||||
-extern int ubeacon_updateUbikNetworkAddress(afs_uint32 ubik_host[]);
|
||||
+extern int ubeacon_updateUbikNetworkAddress(afs_uint32 ubik_host[UBIK_MAX_INTERFACE_ADDR]);
|
||||
extern struct beacon_data beacon_globals;
|
||||
extern struct addr_data addr_globals;
|
||||
|
||||
From 4a8d0c4089078fb3df9cc06b595c80c9b4c2ca7f Mon Sep 17 00:00:00 2001
|
||||
From: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Date: Mon, 23 Aug 2021 15:42:52 -0400
|
||||
Subject: [PATCH] libadmin: Fix isAlias may be uninitialized warning
|
||||
|
||||
The cfgutil_HostNameIsAlias() function has an output parameter called
|
||||
isAlias, which is used when cfgutil_HostIsAlias() returns non-zero.
|
||||
However, it possible for isAlias to not be set before returning. GCC 12
|
||||
issues a warning about the possible use of the uninitialized isAlias
|
||||
variable:
|
||||
|
||||
cfginternal.c:366:32: error: ‘isAlias’ may be used uninitialized
|
||||
[-Werror=maybe-uninitialized]
|
||||
|
||||
Initialize the cfgutil_HostNameIsAlias() isAlias output flag to false.
|
||||
Also, fix the misleading code indentation around the
|
||||
cfgutil_HostNameIsAlias() call.
|
||||
|
||||
Change-Id: I68e66ae5f9019a613187321bb792d0505959ed30
|
||||
Reviewed-on: https://gerrit.openafs.org/14772
|
||||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
---
|
||||
|
||||
diff --git a/src/libadmin/cfg/cfginternal.c b/src/libadmin/cfg/cfginternal.c
|
||||
index 1f581b8..f1abacb 100644
|
||||
--- a/src/libadmin/cfg/cfginternal.c
|
||||
+++ b/src/libadmin/cfg/cfginternal.c
|
||||
@@ -348,7 +348,7 @@
|
||||
short dbhostFound = 0;
|
||||
|
||||
while (!dbhostDone) {
|
||||
- short isAlias;
|
||||
+ short isAlias = 0;
|
||||
|
||||
if (!bos_HostGetNext(dbIter, hostNameAlias, &tst2)) {
|
||||
/* no more entries (or failure) */
|
||||
@@ -357,15 +357,15 @@
|
||||
}
|
||||
dbhostDone = 1;
|
||||
|
||||
- } else
|
||||
- if (!cfgutil_HostNameIsAlias
|
||||
- (hostName, hostNameAlias, &isAlias, &tst2)) {
|
||||
- tst = tst2;
|
||||
- dbhostDone = 1;
|
||||
-
|
||||
- } else if (isAlias) {
|
||||
- dbhostFound = 1;
|
||||
- dbhostDone = 1;
|
||||
+ } else {
|
||||
+ if (!cfgutil_HostNameIsAlias(hostName, hostNameAlias,
|
||||
+ &isAlias, &tst2)) {
|
||||
+ tst = tst2;
|
||||
+ dbhostDone = 1;
|
||||
+ } else if (isAlias) {
|
||||
+ dbhostFound = 1;
|
||||
+ dbhostDone = 1;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
From 7924aecf95bf4918a485a041f2426bd1fa407ac8 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Date: Fri, 03 Sep 2021 07:05:36 -0400
|
||||
Subject: [PATCH] ptserver: Fix CreateEntry() stringop-overflow warnings
|
||||
|
||||
The CreateEntry() prototype has been fixed to match the function
|
||||
definition, so callers are expected to provide bounded arrays for the
|
||||
user or group name. Fix the InitialGroup() macro which is used to set
|
||||
the built-in names using string literal to avoid stringop-overflow
|
||||
warnings.
|
||||
|
||||
error: ‘CreateEntry’ accessing 64 bytes in a region of size 22 [-Werror=stringop-overflow=]
|
||||
code = CreateEntry(tt, (name), &temp, /*idflag*/1, flag, SYSADMINID, SYSADMINID); \
|
||||
|
||||
note: in expansion of macro ‘InitialGroup’
|
||||
InitialGroup(SYSADMINID, "system:administrators");
|
||||
note: referencing argument 2 of type ‘char *’
|
||||
note: in a call to function ‘CreateEntry’
|
||||
CreateEntry(struct ubik_trans *at, char aname[PR_MAXNAMELEN], ...
|
||||
|
||||
(Repeated for "system:backup", "system:anyuser", "system:authuser",
|
||||
"system:ptsviewers", and "anonymous".)
|
||||
|
||||
Change-Id: I7a37d4c8e191ffff52c2fdc1ed3783f4c3592b11
|
||||
Reviewed-on: https://gerrit.openafs.org/14789
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
---
|
||||
|
||||
diff --git a/src/ptserver/ptutils.c b/src/ptserver/ptutils.c
|
||||
index dfa54ee..07fd220 100644
|
||||
--- a/src/ptserver/ptutils.c
|
||||
+++ b/src/ptserver/ptutils.c
|
||||
@@ -1847,8 +1847,15 @@
|
||||
#define InitialGroup(id,name) do { \
|
||||
afs_int32 temp = (id); \
|
||||
afs_int32 flag = (id) < 0 ? PRGRP : 0; \
|
||||
+ char tname[PR_MAXNAMELEN]; \
|
||||
+ if (strlcpy(tname, (name), sizeof(tname)) >= sizeof(tname)) { \
|
||||
+ code = PRBADNAM; \
|
||||
+ afs_com_err (whoami, code, "name too long %s", (name)); \
|
||||
+ ubik_AbortTrans(tt); \
|
||||
+ return code; \
|
||||
+ } \
|
||||
code = CreateEntry \
|
||||
- (tt, (name), &temp, /*idflag*/1, flag, SYSADMINID, SYSADMINID); \
|
||||
+ (tt, tname, &temp, /*idflag*/1, flag, SYSADMINID, SYSADMINID); \
|
||||
if (code) { \
|
||||
afs_com_err (whoami, code, "couldn't create %s with id %di.", \
|
||||
(name), (id)); \
|
||||
From 92a6242de2d8ea280debc283a7c089f97c1670bc Mon Sep 17 00:00:00 2001
|
||||
From: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Date: Mon, 23 Aug 2021 15:37:13 -0400
|
||||
Subject: [PATCH] bucoord: Fix doDispatch() array-parameter gcc warning
|
||||
|
||||
The doDispatch() prototype does not match the function definition. The
|
||||
targv parameter is declared as an unbounded array in the prototype, but
|
||||
is defined as a bounded array. As of GCC 12, a warning is issued for the
|
||||
mismatch.
|
||||
|
||||
main.c:346:18: error: argument 2 of type ‘char *[100]’ with
|
||||
mismatched bound [-Werror=array-parameter=]
|
||||
bucoord_internal.h:123:40: note: previously declared as ‘char *[]’
|
||||
|
||||
Within doDispatch(), the targv argument is just passed to cmd_Dispatch()
|
||||
(this is the only use of targv). Since cmd_Displatch() expects an
|
||||
unbounded array, update the doDispatch() definition to match the
|
||||
prototype.
|
||||
|
||||
Change-Id: I50a170b3490d0d4e5d971b9ccb483cccb6833686
|
||||
Reviewed-on: https://gerrit.openafs.org/14771
|
||||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
---
|
||||
|
||||
diff --git a/src/bucoord/main.c b/src/bucoord/main.c
|
||||
index a453cc9..972ac2d 100644
|
||||
--- a/src/bucoord/main.c
|
||||
+++ b/src/bucoord/main.c
|
||||
@@ -343,7 +343,7 @@
|
||||
|
||||
afs_int32
|
||||
doDispatch(afs_int32 targc,
|
||||
- char *targv[MAXV],
|
||||
+ char *targv[],
|
||||
afs_int32 dispatchCount) /* to prevent infinite recursion */
|
||||
{
|
||||
char *sargv[MAXV];
|
||||
From a1e57d2e42b6d01e5ece93d5d49a4b9f3ecd3edc Mon Sep 17 00:00:00 2001
|
||||
From: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Date: Mon, 23 Aug 2021 15:33:19 -0400
|
||||
Subject: [PATCH] Fix PrintInode() mismatched array parameter warnings
|
||||
|
||||
The PrintInode() prototypes do not match the function definitions.
|
||||
|
||||
When AFS_64BIT_IOPS_ENV is defined (which is the common case and is
|
||||
required for namei), the buffer parameter is declared as a bounded
|
||||
character array (afs_ino_str_t) in the prototype, but is defined as an
|
||||
unbounded character pointer. When AFS_64BIT_IOPS_ENV is not defined
|
||||
(for legacy 32-bit inode vice partitions), PrintInode() is declared with
|
||||
no specified parameters.
|
||||
|
||||
A static buffer is used to hold the formatted string when a NULL is
|
||||
passed as the first argument to PrintInode(). However, this method is
|
||||
only used by the volinfo and iopen utility programs.
|
||||
|
||||
Fix the mismatch function prototypes and definitions to use the bounded
|
||||
char array (afs_ino_str_t) in all cases. Remove the deprecated function
|
||||
declaration with no specified parameters. Update vol-info and iopen to
|
||||
pass an afs_ino_str_t buffer and remove the now unused static buffer.
|
||||
Update the duplicated PrintInode() function definition in namei_ops.c.
|
||||
(This duplicated code could be removed in a future commit.)
|
||||
|
||||
Change-Id: I5c0128bb0d572dab0df637289daad0e648ad8a8f
|
||||
Reviewed-on: https://gerrit.openafs.org/14770
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
---
|
||||
|
||||
diff --git a/src/sys/afssyscalls.c b/src/sys/afssyscalls.c
|
||||
index 8291a46..b248e69 100644
|
||||
--- a/src/sys/afssyscalls.c
|
||||
+++ b/src/sys/afssyscalls.c
|
||||
@@ -281,23 +281,16 @@
|
||||
}
|
||||
|
||||
|
||||
-/* PrintInode
|
||||
+/**
|
||||
+ * Format a string to print either 32 or 64 bit inode numbers.
|
||||
*
|
||||
- * returns a static string used to print either 32 or 64 bit inode numbers.
|
||||
+ * @param[out] s string buffer
|
||||
+ * @param[in] ino inode number
|
||||
+ * @returns pointer to formatted inode number string
|
||||
*/
|
||||
-#ifdef AFS_64BIT_IOPS_ENV
|
||||
-char *
|
||||
-PrintInode(char *s, Inode ino)
|
||||
-#else
|
||||
char *
|
||||
PrintInode(afs_ino_str_t s, Inode ino)
|
||||
-#endif
|
||||
{
|
||||
- static afs_ino_str_t result;
|
||||
-
|
||||
- if (!s)
|
||||
- s = result;
|
||||
-
|
||||
#ifdef AFS_64BIT_IOPS_ENV
|
||||
(void)sprintf((char *)s, "%llu", ino);
|
||||
#else
|
||||
diff --git a/src/sys/afssyscalls.h b/src/sys/afssyscalls.h
|
||||
index df37c42..ea74bcd 100644
|
||||
--- a/src/sys/afssyscalls.h
|
||||
+++ b/src/sys/afssyscalls.h
|
||||
@@ -88,14 +88,9 @@
|
||||
#define AFS_INO_STR_LENGTH 32
|
||||
typedef char afs_ino_str_t[AFS_INO_STR_LENGTH];
|
||||
|
||||
-/* Print either 32 or 64 bit inode numbers. char * may be NULL. In which case
|
||||
- * a local statis is returned.
|
||||
+/* Format either 32 or 64 bit inode numbers.
|
||||
*/
|
||||
-#ifdef AFS_64BIT_IOPS_ENV
|
||||
-extern char *PrintInode(afs_ino_str_t, Inode);
|
||||
-#else
|
||||
-extern char *PrintInode();
|
||||
-#endif
|
||||
+extern char *PrintInode(afs_ino_str_t s, Inode ino) AFS_NONNULL((1));
|
||||
|
||||
/* Some places in the code assume icreate can return 0 when there's
|
||||
* an error.
|
||||
diff --git a/src/sys/iopen.c b/src/sys/iopen.c
|
||||
index 7c1a961..b9cd3d6 100644
|
||||
--- a/src/sys/iopen.c
|
||||
+++ b/src/sys/iopen.c
|
||||
@@ -37,6 +37,7 @@
|
||||
int fd, n;
|
||||
struct stat status;
|
||||
Inode ino;
|
||||
+ afs_ino_str_t inode_str;
|
||||
|
||||
if (argc != 3)
|
||||
Usage();
|
||||
@@ -54,7 +55,7 @@
|
||||
}
|
||||
printf("ino=%" AFS_INT64_FMT "\n", ino);
|
||||
printf("About to iopen(dev=(%d,%d), inode=%s, mode=%d\n",
|
||||
- major(status.st_dev), minor(status.st_dev), PrintInode(NULL, ino),
|
||||
+ major(status.st_dev), minor(status.st_dev), PrintInode(inode_str, ino),
|
||||
O_RDONLY);
|
||||
fflush(stdout);
|
||||
fd = IOPEN(status.st_dev, ino, O_RDONLY);
|
||||
diff --git a/src/vol/namei_ops.c b/src/vol/namei_ops.c
|
||||
index 463b66b..d2f94bb 100644
|
||||
--- a/src/vol/namei_ops.c
|
||||
+++ b/src/vol/namei_ops.c
|
||||
@@ -3275,19 +3275,17 @@
|
||||
return code;
|
||||
}
|
||||
|
||||
-/* PrintInode
|
||||
+/**
|
||||
+ * Format a string to print inode numbers.
|
||||
*
|
||||
- * returns a static string used to print either 32 or 64 bit inode numbers.
|
||||
+ * @param[out] s string buffer
|
||||
+ * @param[in] ino inode number
|
||||
+ * @returns pointer to formatted inode number string
|
||||
*/
|
||||
char *
|
||||
-PrintInode(char *s, Inode ino)
|
||||
+PrintInode(afs_ino_str_t s, Inode ino)
|
||||
{
|
||||
- static afs_ino_str_t result;
|
||||
- if (!s)
|
||||
- s = result;
|
||||
-
|
||||
snprintf(s, sizeof(afs_ino_str_t), "%llu", (afs_uintmax_t) ino);
|
||||
-
|
||||
return s;
|
||||
}
|
||||
|
||||
diff --git a/src/vol/vol-info.c b/src/vol/vol-info.c
|
||||
index 22ac94a..6423fa8 100644
|
||||
--- a/src/vol/vol-info.c
|
||||
+++ b/src/vol/vol-info.c
|
||||
@@ -331,6 +331,7 @@
|
||||
struct versionStamp *vsn;
|
||||
int bad = 0;
|
||||
int code;
|
||||
+ afs_ino_str_t inode_str;
|
||||
|
||||
vsn = (struct versionStamp *)to;
|
||||
|
||||
@@ -341,7 +342,7 @@
|
||||
if (vsn->magic != magic) {
|
||||
bad++;
|
||||
fprintf(stderr, "%s: Inode %s: Bad magic %x (%x): IGNORED\n",
|
||||
- progname, PrintInode(NULL, ih->ih_ino), vsn->magic, magic);
|
||||
+ progname, PrintInode(inode_str, ih->ih_ino), vsn->magic, magic);
|
||||
}
|
||||
|
||||
/* Check is conditional, in case caller wants to inspect version himself */
|
||||
@@ -349,23 +350,23 @@
|
||||
bad++;
|
||||
fprintf(stderr, "%s: Inode %s: Bad version %x (%x): IGNORED\n",
|
||||
progname,
|
||||
- PrintInode(NULL, ih->ih_ino), vsn->version, version);
|
||||
+ PrintInode(inode_str, ih->ih_ino), vsn->version, version);
|
||||
}
|
||||
if (bad && opt->fixHeader) {
|
||||
vsn->magic = magic;
|
||||
vsn->version = version;
|
||||
printf("Special index inode %s has a bad header. Reconstructing...\n",
|
||||
- PrintInode(NULL, ih->ih_ino));
|
||||
+ PrintInode(inode_str, ih->ih_ino));
|
||||
code = IH_IWRITE(ih, 0, to, size);
|
||||
if (code != size) {
|
||||
fprintf(stderr,
|
||||
"%s: Write failed for inode %s; header left in damaged state\n",
|
||||
- progname, PrintInode(NULL, ih->ih_ino));
|
||||
+ progname, PrintInode(inode_str, ih->ih_ino));
|
||||
}
|
||||
}
|
||||
if (!bad && opt->dumpInfo) {
|
||||
printf("Inode %s: Good magic %x and version %x\n",
|
||||
- PrintInode(NULL, ih->ih_ino), magic, version);
|
||||
+ PrintInode(inode_str, ih->ih_ino), magic, version);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -887,6 +888,7 @@
|
||||
afs_sfsize_t size = -1;
|
||||
IHandle_t *ih = NULL;
|
||||
FdHandle_t *fdP = NULL;
|
||||
+ afs_ino_str_t inode_str;
|
||||
#ifdef AFS_NAMEI_ENV
|
||||
namei_t filename;
|
||||
#endif /* AFS_NAMEI_ENV */
|
||||
@@ -912,7 +914,7 @@
|
||||
|
||||
error:
|
||||
if (opt->dumpInfo) {
|
||||
- printf("\t%s inode\t= %s (size = ", name, PrintInode(NULL, inode));
|
||||
+ printf("\t%s inode\t= %s (size = ", name, PrintInode(inode_str, inode));
|
||||
if (size != -1) {
|
||||
printf("%lld)\n", size);
|
||||
} else {
|
||||
@@ -1241,6 +1243,7 @@
|
||||
afs_foff_t total;
|
||||
ssize_t len;
|
||||
Inode ino = VNDISK_GET_INO(vdp->vnode);
|
||||
+ afs_ino_str_t inode_str;
|
||||
|
||||
if (!VALID_INO(ino)) {
|
||||
return;
|
||||
@@ -1251,10 +1254,10 @@
|
||||
if (fdP == NULL) {
|
||||
fprintf(stderr,
|
||||
"%s: Can't open inode %s error %d (ignored)\n",
|
||||
- progname, PrintInode(NULL, ino), errno);
|
||||
+ progname, PrintInode(inode_str, ino), errno);
|
||||
return;
|
||||
}
|
||||
- snprintf(nfile, sizeof nfile, "TmpInode.%s", PrintInode(NULL, ino));
|
||||
+ snprintf(nfile, sizeof nfile, "TmpInode.%s", PrintInode(inode_str, ino));
|
||||
ofd = afs_open(nfile, O_CREAT | O_RDWR | O_TRUNC, 0600);
|
||||
if (ofd < 0) {
|
||||
fprintf(stderr,
|
||||
@@ -1276,7 +1279,7 @@
|
||||
unlink(nfile);
|
||||
fprintf(stderr,
|
||||
"%s: Error while reading from inode %s (%d)\n",
|
||||
- progname, PrintInode(NULL, ino), errno);
|
||||
+ progname, PrintInode(inode_str, ino), errno);
|
||||
return;
|
||||
}
|
||||
if (len == 0)
|
||||
@@ -1299,7 +1302,7 @@
|
||||
IH_RELEASE(ih);
|
||||
close(ofd);
|
||||
printf("... Copied inode %s to file %s (%lu bytes)\n",
|
||||
- PrintInode(NULL, ino), nfile, (unsigned long)total);
|
||||
+ PrintInode(inode_str, ino), nfile, (unsigned long)total);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1812,6 +1815,7 @@
|
||||
VnodeDiskObject *vnode = vdp->vnode;
|
||||
afs_fsize_t fileLength;
|
||||
Inode ino;
|
||||
+ afs_ino_str_t inode_str;
|
||||
|
||||
ino = VNDISK_GET_INO(vnode);
|
||||
VNDISK_GET_LEN(fileLength, vnode);
|
||||
@@ -1828,7 +1832,7 @@
|
||||
vnode->dataVersion, vnode->cloned, (afs_uintmax_t) fileLength,
|
||||
vnode->linkCount, vnode->parent);
|
||||
if (opt->dumpInodeNumber)
|
||||
- printf(" inode: %s", PrintInode(NULL, ino));
|
||||
+ printf(" inode: %s", PrintInode(inode_str, ino));
|
||||
if (opt->dumpDate)
|
||||
printf(" ServerModTime: %s", date(vnode->serverModifyTime));
|
||||
#if defined(AFS_NAMEI_ENV)
|
||||
From a3aac5106beddc5a6f7a09c2d21c2524342aca01 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Date: Mon, 23 Aug 2021 19:43:45 -0400
|
||||
Subject: [PATCH] pts: Fix stringop-overflow warnings
|
||||
|
||||
The ptutil functions are defined to accept bounded character arrays for
|
||||
user and group names. As of GCC 11, callers which provide the names as
|
||||
string literals now trigger the stringop-overflow warning, since the
|
||||
regions provided by the string literals are smaller than the bounded
|
||||
areas.
|
||||
|
||||
error: ‘pr_ChangeEntry’ accessing 64 bytes in a region of size 1
|
||||
[-Werror=stringop-overflow=]
|
||||
note: referencing argument 4 of type ‘char *’
|
||||
|
||||
error: ‘pr_IsAMemberOf’ accessing 64 bytes in a region of size 22
|
||||
[-Werror=stringop-overflow=]
|
||||
note: referencing argument 2 of type ‘char *’
|
||||
|
||||
error: ‘pr_CreateUser’ accessing 64 bytes in a region of size 16
|
||||
[-Werror=stringop-overflow=]
|
||||
note: referencing argument 1 of type ‘char *’
|
||||
|
||||
error: ‘pr_Delete’ accessing 64 bytes in a region of size 16
|
||||
[-Werror=stringop-overflow=]
|
||||
note: referencing argument 1 of type ‘char *’
|
||||
|
||||
Update the callers in pts and testpt which pass literal strings. Instead
|
||||
of passing char pointers to literal strings, assign the strings to
|
||||
prname buffers and pass the prname buffers to the pr utility functions.
|
||||
|
||||
Change-Id: I7d8c67aa28d21bb6889ef92a2193a77b54c83cb1
|
||||
Reviewed-on: https://gerrit.openafs.org/14769
|
||||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
---
|
||||
|
||||
diff --git a/src/ptserver/pts.c b/src/ptserver/pts.c
|
||||
index e749714..90d6f16 100644
|
||||
--- a/src/ptserver/pts.c
|
||||
+++ b/src/ptserver/pts.c
|
||||
@@ -663,6 +663,7 @@
|
||||
idlist ids;
|
||||
idlist lids;
|
||||
struct prcheckentry aentry;
|
||||
+ prname admins = "system:administrators";
|
||||
|
||||
if (GetNameOrId(as, &ids, &names))
|
||||
return PRBADARG;
|
||||
@@ -728,7 +729,7 @@
|
||||
}
|
||||
if (aentry.id == SYSADMINID)
|
||||
admin = 1;
|
||||
- else if (!pr_IsAMemberOf(aentry.name, "system:administrators", &flag)) {
|
||||
+ else if (!pr_IsAMemberOf(aentry.name, admins, &flag)) {
|
||||
if (flag)
|
||||
admin = 1;
|
||||
}
|
||||
@@ -791,11 +792,12 @@
|
||||
{
|
||||
afs_int32 code;
|
||||
char *name;
|
||||
+ prname newname = "";
|
||||
char *owner;
|
||||
|
||||
name = as->parms[0].items->data;
|
||||
owner = as->parms[1].items->data;
|
||||
- code = pr_ChangeEntry(name, "", 0, owner);
|
||||
+ code = pr_ChangeEntry(name, newname, 0, owner);
|
||||
if (code)
|
||||
afs_com_err(whoami, code, "; unable to change owner of %s to %s", name,
|
||||
owner);
|
||||
@@ -808,10 +810,11 @@
|
||||
afs_int32 code;
|
||||
char *oldname;
|
||||
char *newname;
|
||||
+ prname owner = "";
|
||||
|
||||
oldname = as->parms[0].items->data;
|
||||
newname = as->parms[1].items->data;
|
||||
- code = pr_ChangeEntry(oldname, newname, 0, "");
|
||||
+ code = pr_ChangeEntry(oldname, newname, 0, owner);
|
||||
if (code)
|
||||
afs_com_err(whoami, code, "; unable to change name of %s to %s", oldname,
|
||||
newname);
|
||||
diff --git a/src/ptserver/testpt.c b/src/ptserver/testpt.c
|
||||
index eaaee48..c359f8f 100644
|
||||
--- a/src/ptserver/testpt.c
|
||||
+++ b/src/ptserver/testpt.c
|
||||
@@ -217,7 +217,7 @@
|
||||
CreateUser(int u)
|
||||
{
|
||||
afs_int32 code;
|
||||
- char name[16];
|
||||
+ prname name;
|
||||
afs_int32 id;
|
||||
|
||||
sprintf(name, "%s%d", createPrefix, u);
|
||||
From fe64ddd3b49bf15222d32d443ff226dd4c2b899e Mon Sep 17 00:00:00 2001
|
||||
From: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Date: Tue, 24 Aug 2021 16:40:22 -0400
|
||||
Subject: [PATCH] ptserver: Fix CreateEntry() mismatched array parameter warning
|
||||
|
||||
The CreateEntry() prototype does not match the function definition. The
|
||||
aname parameter is declared as an unbounded array in the prototype but
|
||||
is defined as a bounded array. As of GCC 12, a warning is issued for the
|
||||
mismatch.
|
||||
|
||||
error: argument 2 of type ‘char[64]’ with mismatched bound
|
||||
[-Werror=array-parameter=]
|
||||
CreateEntry(struct ubik_trans *at, char aname[PR_MAXNAMELEN], ...
|
||||
|
||||
note: previously declared as ‘char[]’
|
||||
extern afs_int32 CreateEntry(struct ubik_trans *at, char aname[], ...
|
||||
|
||||
Fix the prototype to declare the 'aname' parameter as a bounded array as
|
||||
expected for this function.
|
||||
|
||||
Change-Id: I6d4dadcdd3f80c2b6f1b17670bbbc1e9e6076559
|
||||
Reviewed-on: https://gerrit.openafs.org/14768
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
---
|
||||
|
||||
diff --git a/src/ptserver/ptprototypes.h b/src/ptserver/ptprototypes.h
|
||||
index c6a9dab..bb21b6b 100644
|
||||
--- a/src/ptserver/ptprototypes.h
|
||||
+++ b/src/ptserver/ptprototypes.h
|
||||
@@ -72,7 +72,7 @@
|
||||
afs_int32 loc, afs_int32 aid);
|
||||
extern int AccessOK(struct ubik_trans *ut, afs_int32 cid,
|
||||
struct prentry *tentry, int mem, int any);
|
||||
-extern afs_int32 CreateEntry(struct ubik_trans *at, char aname[],
|
||||
+extern afs_int32 CreateEntry(struct ubik_trans *at, char aname[PR_MAXNAMELEN],
|
||||
afs_int32 *aid, afs_int32 idflag,
|
||||
afs_int32 flag, afs_int32 oid, afs_int32 creator);
|
||||
extern afs_int32 RemoveFromEntry(struct ubik_trans *at, afs_int32 aid,
|
99
kmp_only.files
Normal file
99
kmp_only.files
Normal file
@ -0,0 +1,99 @@
|
||||
/usr/bin/aklog
|
||||
/usr/bin/fs
|
||||
/usr/bin/klog.krb5
|
||||
/usr/bin/pagsh
|
||||
/usr/bin/pagsh.krb
|
||||
/usr/bin/tokens
|
||||
/usr/bin/tokens.krb
|
||||
/usr/bin/unlog
|
||||
/usr/bin/up
|
||||
/usr/lib/firewalld/services/afs3-callback.xml
|
||||
/usr/lib/firewalld/services/afs3-rmtsys.xml
|
||||
/usr/sbin/afsd
|
||||
/usr/sbin/fstrace
|
||||
/usr/share/man/man1/aklog.1
|
||||
/usr/share/man/man1/copyauth.1
|
||||
/usr/share/man/man1/fs.1
|
||||
/usr/share/man/man1/fs_apropos.1
|
||||
/usr/share/man/man1/fs_bypassthreshold.1
|
||||
/usr/share/man/man1/fs_checkservers.1
|
||||
/usr/share/man/man1/fs_checkvolumes.1
|
||||
/usr/share/man/man1/fs_chgrp.1
|
||||
/usr/share/man/man1/fs_chown.1
|
||||
/usr/share/man/man1/fs_cleanacl.1
|
||||
/usr/share/man/man1/fs_copyacl.1
|
||||
/usr/share/man/man1/fs_cscpolicy.1
|
||||
/usr/share/man/man1/fs_discon.1
|
||||
/usr/share/man/man1/fs_diskfree.1
|
||||
/usr/share/man/man1/fs_examine.1
|
||||
/usr/share/man/man1/fs_exportafs.1
|
||||
/usr/share/man/man1/fs_flush.1
|
||||
/usr/share/man/man1/fs_flushall.1
|
||||
/usr/share/man/man1/fs_flushmount.1
|
||||
/usr/share/man/man1/fs_flushvolume.1
|
||||
/usr/share/man/man1/fs_getcacheparms.1
|
||||
/usr/share/man/man1/fs_getcalleraccess.1
|
||||
/usr/share/man/man1/fs_getcellstatus.1
|
||||
/usr/share/man/man1/fs_getclientaddrs.1
|
||||
/usr/share/man/man1/fs_getcrypt.1
|
||||
/usr/share/man/man1/fs_getfid.1
|
||||
/usr/share/man/man1/fs_getserverprefs.1
|
||||
/usr/share/man/man1/fs_getverify.1
|
||||
/usr/share/man/man1/fs_help.1
|
||||
/usr/share/man/man1/fs_listacl.1
|
||||
/usr/share/man/man1/fs_listaliases.1
|
||||
/usr/share/man/man1/fs_listcells.1
|
||||
/usr/share/man/man1/fs_listquota.1
|
||||
/usr/share/man/man1/fs_lsmount.1
|
||||
/usr/share/man/man1/fs_memdump.1
|
||||
/usr/share/man/man1/fs_messages.1
|
||||
/usr/share/man/man1/fs_minidump.1
|
||||
/usr/share/man/man1/fs_mkmount.1
|
||||
/usr/share/man/man1/fs_monitor.1
|
||||
/usr/share/man/man1/fs_newalias.1
|
||||
/usr/share/man/man1/fs_newcell.1
|
||||
/usr/share/man/man1/fs_nukenfscreds.1
|
||||
/usr/share/man/man1/fs_precache.1
|
||||
/usr/share/man/man1/fs_quota.1
|
||||
/usr/share/man/man1/fs_rmmount.1
|
||||
/usr/share/man/man1/fs_rxstatpeer.1
|
||||
/usr/share/man/man1/fs_rxstatproc.1
|
||||
/usr/share/man/man1/fs_setacl.1
|
||||
/usr/share/man/man1/fs_setcachesize.1
|
||||
/usr/share/man/man1/fs_setcbaddr.1
|
||||
/usr/share/man/man1/fs_setcell.1
|
||||
/usr/share/man/man1/fs_setclientaddrs.1
|
||||
/usr/share/man/man1/fs_setcrypt.1
|
||||
/usr/share/man/man1/fs_setquota.1
|
||||
/usr/share/man/man1/fs_setserverprefs.1
|
||||
/usr/share/man/man1/fs_setverify.1
|
||||
/usr/share/man/man1/fs_setvol.1
|
||||
/usr/share/man/man1/fs_storebehind.1
|
||||
/usr/share/man/man1/fs_sysname.1
|
||||
/usr/share/man/man1/fs_trace.1
|
||||
/usr/share/man/man1/fs_uuid.1
|
||||
/usr/share/man/man1/fs_whereis.1
|
||||
/usr/share/man/man1/fs_whichcell.1
|
||||
/usr/share/man/man1/fs_wscell.1
|
||||
/usr/share/man/man1/klog.krb5.1
|
||||
/usr/share/man/man1/pagsh.1
|
||||
/usr/share/man/man1/pagsh.krb.1
|
||||
/usr/share/man/man1/tokens.1
|
||||
/usr/share/man/man1/tokens.krb.1
|
||||
/usr/share/man/man1/unlog.1
|
||||
/usr/share/man/man1/up.1
|
||||
/usr/share/man/man5/afs_cache.5
|
||||
/usr/share/man/man5/afszcm.cat.5
|
||||
/usr/share/man/man5/cacheinfo.5
|
||||
/usr/share/man/man8/afsd.8
|
||||
/usr/share/man/man8/fstrace.8
|
||||
/usr/share/man/man8/fstrace_apropos.8
|
||||
/usr/share/man/man8/fstrace_clear.8
|
||||
/usr/share/man/man8/fstrace_dump.8
|
||||
/usr/share/man/man8/fstrace_help.8
|
||||
/usr/share/man/man8/fstrace_lslog.8
|
||||
/usr/share/man/man8/fstrace_lsset.8
|
||||
/usr/share/man/man8/fstrace_setlog.8
|
||||
/usr/share/man/man8/fstrace_setset.8
|
||||
/usr/share/openafs/C/afszcm.cat
|
||||
|
@ -1,13 +0,0 @@
|
||||
--- a/src/cf/curses.m4.orig 2018-01-07 08:17:41.815732371 +0100
|
||||
+++ b/src/cf/curses.m4 2018-01-07 08:23:50.585670554 +0100
|
||||
@@ -19,7 +19,9 @@
|
||||
AC_CHECK_LIB([ncurses], [initscr],
|
||||
[AC_CHECK_LIB([ncurses], [LINES], [openafs_cv_curses_lib=-lncurses],
|
||||
[AC_CHECK_LIB([tinfo], [LINES],
|
||||
- [openafs_cv_curses_lib="-lncurses -ltinfo"])])])
|
||||
+ [openafs_cv_curses_lib="-lncurses -ltinfo"],
|
||||
+ [AC_CHECK_LIB([ncurses], [_nc_LINES], [openafs_cv_curses_lib=-lncurses],
|
||||
+ [AC_CHECK_LIB([tinfo], [_nc_LINES], [openafs_cv_curses_lib="-lncurses -ltinfo"])])])])])
|
||||
AS_IF([test "x$openafs_cv_curses_lib" = x],
|
||||
[AC_CHECK_LIB([Hcurses], [initscr], [openafs_cv_curses_lib=-lHcurses])])
|
||||
AS_IF([test "x$openafs_cv_curses_lib" = x],
|
@ -1,3 +1,23 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 20 06:24:41 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- apply patches marked for upcoming release:
|
||||
* kernel 5.17: a714e86.diff and 449d1fa.diff
|
||||
* gcc-11: gcc-11.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 28 20:27:18 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- do not create client-package without KMP
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 21 10:48:51 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- remove patch dir_layout.patch
|
||||
this can be done via environment-variables
|
||||
- replace openafs-1.8.x.ncurses6.patch with patch 4cf7a9a.diff.
|
||||
4cf7a9a.diff is coming from upstream and will be incorporated at some point.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 23 15:48:09 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
|
118
openafs.spec
118
openafs.spec
@ -21,7 +21,7 @@
|
||||
%if ! %{defined _fillupdir}
|
||||
%define _fillupdir /var/adm/fillup-templates
|
||||
%endif
|
||||
%define _lto_cflags %{nil}
|
||||
%define _lto_cflags %{nil}
|
||||
|
||||
#
|
||||
# TUNABLES
|
||||
@ -36,7 +36,7 @@
|
||||
%define build_kernel_modules 1
|
||||
|
||||
# flag for firewalld, only required for SLE-12
|
||||
%if 0%{?sle_version} <= 120500 && !0%{?is_opensuse}
|
||||
%if 0%{?sle_version} <= 120500 && !0%{?is_opensuse}
|
||||
%define have_firewalld 0
|
||||
%else
|
||||
%define have_firewalld 1
|
||||
@ -100,16 +100,21 @@ Source55: openafs.SuidCells
|
||||
Source56: openafs.CellAlias
|
||||
Source57: openafs.ThisCell
|
||||
Source58: openafs.cacheinfo
|
||||
Source98: kmp_only.files
|
||||
Source99: openafs.changes
|
||||
# PATCH-SUSE-SPECIFIC use proper directory layout
|
||||
Patch3: dir_layout.patch
|
||||
# PATCH-FIX-UPSTREAM KMP build
|
||||
Patch1: a714e86.diff
|
||||
Patch2: 449d1fa.diff
|
||||
# PATCH-FIX-UPSTREAM use gcc-11
|
||||
Patch3: gcc-11.diff
|
||||
# PATCH-FIX-UPSTREAM make configure detect ncurses 6 correctly
|
||||
Patch4: openafs-1.8.x.ncurses6.patch
|
||||
Patch4: 4cf7a9a.diff
|
||||
|
||||
#
|
||||
# GENERAL BuildRequires and Requires
|
||||
#
|
||||
|
||||
BuildRequires: autoconf-archive
|
||||
BuildRequires: automake
|
||||
BuildRequires: bison
|
||||
BuildRequires: coreutils
|
||||
@ -124,22 +129,16 @@ BuildRequires: krb5-devel
|
||||
BuildRequires: libtirpc-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: ncurses-devel
|
||||
%if 0%{?suse_version} < 1120
|
||||
BuildRequires: perl-macros
|
||||
%endif
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: swig
|
||||
|
||||
%if 0%{?suse_version} < 1210
|
||||
Requires(post): %insserv_prereq
|
||||
%endif
|
||||
Requires(post): %fillup_prereq
|
||||
|
||||
%if %{build_kernel_modules}
|
||||
%if %{build_kernel_modules}
|
||||
BuildRequires: %{kernel_module_package_buildreqs}
|
||||
%endif
|
||||
|
||||
%description
|
||||
%description
|
||||
AFS is a cross-platform distributed file system product pioneered at
|
||||
Carnegie Mellon University and supported and developed as a product by
|
||||
Transarc Corporation (now IBM Pittsburgh Labs). It offers a
|
||||
@ -266,8 +265,9 @@ independence, scalability, and transparent migration capabilities for
|
||||
data.
|
||||
|
||||
This client is using the EXPERIMENTAL FUSE interface on LINUX.
|
||||
It does not offer authentication etc.
|
||||
It does not offer authentication etc.
|
||||
|
||||
%if %{build_kernel_modules}
|
||||
%package client
|
||||
Summary: OpenAFS File System Client
|
||||
Group: System/Filesystems
|
||||
@ -286,7 +286,7 @@ data.
|
||||
In addition, among its features are authentication, encryption,
|
||||
caching, disconnected operations, replication for higher availability
|
||||
and load balancing, and ACLs. This package contains the OpenAFS client.
|
||||
|
||||
%endif
|
||||
|
||||
%prep
|
||||
|
||||
@ -308,17 +308,19 @@ and load balancing, and ACLs. This package contains the OpenAFS client.
|
||||
: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
|
||||
for src_file in %{S:0} %{S:1}; do
|
||||
if [ "`md5sum $src_file | awk '{print $1}'`" != "`cat $src_file.md5 | awk '{print $1}'`" ]; then
|
||||
echo "ERROR: MD5-Integrity check for $src_file failed.";
|
||||
if [ "`md5sum $src_file | awk '{print $1}'`" != "`cat $src_file.md5 | awk '{print $1}'`" ]; then
|
||||
echo "ERROR: MD5-Integrity check for $src_file failed.";
|
||||
exit 1
|
||||
fi
|
||||
if [ "`sha256sum $src_file | awk '{print $1}'`" != "`cat $src_file.sha256 | awk '{print $1}'`" ]; then
|
||||
echo "ERROR: SHA256-Integrity check for $src_file failed.";
|
||||
if [ "`sha256sum $src_file | awk '{print $1}'`" != "`cat $src_file.sha256 | awk '{print $1}'`" ]; then
|
||||
echo "ERROR: SHA256-Integrity check for $src_file failed.";
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
%setup -q -n openafs-%{upstream_version} -T -b 0 -b 1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
@ -354,11 +356,14 @@ perl -pi -e 's,^(XLIBS.*),\1 -lresolv,' src/config/Makefile.amd64_linux24.in
|
||||
afs_sysname=${sysbase}_linux26
|
||||
|
||||
RPM_OPT_FLAGS=`echo ${RPM_OPT_FLAGS} | sed s/-D_FORTIFY_SOURCE=2//`
|
||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC -fcommon"
|
||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC -fcommon"
|
||||
|
||||
export KRB5LIBS='-lcom_err -lkrb5'
|
||||
export PATH_KRB5_CONFIG=%{krb5_config}
|
||||
|
||||
export afsdbdir='/var/lib/openafs/db'
|
||||
export afslocaldir='/var/lib/openafs'
|
||||
export afslogsdir='/var/log/openafs'
|
||||
export afsdbdir='/var/lib/openafs/db'
|
||||
%configure \
|
||||
--disable-transarc-paths \
|
||||
--disable-pam \
|
||||
@ -393,17 +398,18 @@ for flavor in %flavors_to_build; do
|
||||
make
|
||||
popd
|
||||
done
|
||||
%endif # build_kernel_modules
|
||||
%endif
|
||||
# build_kernel_modules
|
||||
|
||||
%install
|
||||
|
||||
#
|
||||
# install build binaries using make
|
||||
# install build binaries using make
|
||||
|
||||
make DESTDIR=%{buildroot} install_nolibafs
|
||||
|
||||
#
|
||||
# man-pages
|
||||
# man-pages
|
||||
|
||||
OLD_PWD=`pwd`
|
||||
cd doc/man-pages
|
||||
@ -424,34 +430,40 @@ mkdir -p %{buildroot}/%{_sbindir}
|
||||
|
||||
#
|
||||
# client
|
||||
cp -a src/afsd/CellServDB %{buildroot}/%{viceetcdir}/CellServDB
|
||||
cp -a %{S:55} %{buildroot}/%{viceetcdir}/SuidCells
|
||||
# also used by others
|
||||
cp -a %{S:56} %{buildroot}/%{viceetcdir}/CellAlias
|
||||
cp -a %{S:57} %{buildroot}/%{viceetcdir}/ThisCell
|
||||
cp -a src/afsd/CellServDB %{buildroot}/%{viceetcdir}/CellServDB
|
||||
cp -a %{S:55} %{buildroot}/%{viceetcdir}/SuidCells
|
||||
cp -a %{S:58} %{buildroot}/%{viceetcdir}/cacheinfo
|
||||
|
||||
# kmp-only
|
||||
%if %{build_kernel_modules}
|
||||
cp -a src/afs/afszcm.cat %{buildroot}%{_datadir}/openafs/C
|
||||
install -m 644 %{S:27} %{buildroot}/%{_fillupdir}/sysconfig.openafs-client
|
||||
%if 0%{?sle_version} > 150000
|
||||
%if 0%{?sle_version} > 150000
|
||||
install -m 644 %{S:24} %{buildroot}/%_unitdir/openafs-client.service
|
||||
%else
|
||||
install -m 644 %{S:23} %{buildroot}/%_unitdir
|
||||
%endif
|
||||
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-client
|
||||
%endif
|
||||
|
||||
#
|
||||
# fuse client package
|
||||
|
||||
install -m 644 %{S:29} %{buildroot}/%{_fillupdir}/sysconfig.openafs-fuse-client
|
||||
install -m 644 %{S:26} %{buildroot}/%_unitdir
|
||||
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-fuse-client
|
||||
|
||||
#
|
||||
#
|
||||
# server
|
||||
install -m 644 %{S:28} %{buildroot}/%{_fillupdir}/sysconfig.openafs-server
|
||||
install -m 644 %{S:25} %{buildroot}/%_unitdir
|
||||
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-server
|
||||
|
||||
#
|
||||
# kernel-source
|
||||
# kernel-source
|
||||
mkdir -p %{buildroot}/usr/src/kernel-modules/openafs
|
||||
chmod -R o-w src/libafs
|
||||
chmod -R o-w libafs_tree
|
||||
@ -475,6 +487,7 @@ done
|
||||
cp -a %{S:10} README.SUSE
|
||||
cp -a %{S:18} RELNOTES
|
||||
cp -a %{S:19} ChangeLog
|
||||
|
||||
mkdir -p %{buildroot}/etc/ld.so.conf.d
|
||||
echo %{_libdir}/openafs > %{buildroot}/etc/ld.so.conf.d/openafs.conf
|
||||
|
||||
@ -487,11 +500,11 @@ mv %{buildroot}/%{_bindir}/udebug %{buildroot}/%{_sbindir}/udebug
|
||||
# avoid conflicts with other packages by adding the prefix afs_ to filenames
|
||||
mv %{buildroot}%{_bindir}/scout %{buildroot}%{_bindir}/afs_scout
|
||||
cat %{buildroot}/%{_mandir}/man1/scout.1 | sed 's/\<scout\>/afs_scout/g' > %{buildroot}/%{_mandir}/man1/afs_scout.1
|
||||
rm %{buildroot}/%{_mandir}/man1/scout.1
|
||||
rm %{buildroot}/%{_mandir}/man1/scout.1
|
||||
mv %{buildroot}%{_sbindir}/backup %{buildroot}%{_sbindir}/afs_backup
|
||||
OLD_PWD=`pwd`
|
||||
cd %{buildroot}/%{_mandir}/man8/
|
||||
for f in $(ls backup*); do
|
||||
for f in $(ls backup*); do
|
||||
cat $f | sed 's/\<backup\>/afs_backup/g' > afs_"$f"
|
||||
rm $f
|
||||
done
|
||||
@ -533,7 +546,7 @@ install -D -m 644 %{S:47} %{buildroot}%{_prefix}/lib/firewalld/services/
|
||||
# we supposedly don't need this on linux
|
||||
rm %{buildroot}/%{_sbindir}/rmtsysd
|
||||
|
||||
%if %{build_authlibs} == 0
|
||||
%if ! %{build_authlibs}
|
||||
rm %{buildroot}/%{_libdir}/libafsauthent.so.*
|
||||
rm %{buildroot}/%{_libdir}/libafsrpc.so.*
|
||||
rm %{buildroot}/%{_libdir}/libkopenafs.so.*
|
||||
@ -541,6 +554,11 @@ rm %{buildroot}/%{_libdir}/libafsauthent.so
|
||||
rm %{buildroot}/%{_libdir}/libafsrpc.so
|
||||
rm %{buildroot}/%{_libdir}/libkopenafs.so
|
||||
%endif
|
||||
%if ! %{build_kernel_modules}
|
||||
for f in $(cat %{S:98}); do
|
||||
rm -f %{buildroot}/$f
|
||||
done
|
||||
%endif
|
||||
|
||||
# remove all static libraries
|
||||
find %{buildroot} -type f -name "*.a" -delete
|
||||
@ -562,7 +580,7 @@ for d in %{buildroot}%{_mandir}/man*; do
|
||||
mv $f $f.gz
|
||||
elif [ -f $f ];then
|
||||
gzip -9 $f
|
||||
else
|
||||
else
|
||||
echo "Unknown thing to compress : $f"
|
||||
fi
|
||||
done
|
||||
@ -628,6 +646,7 @@ fi
|
||||
#
|
||||
# client
|
||||
|
||||
%if %{build_kernel_modules}
|
||||
%pre client
|
||||
%service_add_pre openafs-client.service
|
||||
|
||||
@ -650,9 +669,9 @@ fi
|
||||
if [ $my_operation -gt 1 ]; then
|
||||
echo Not stopping the possibly running client.
|
||||
echo You must restart the client to put the upgrade into effect.
|
||||
else
|
||||
else
|
||||
echo For configuring the client, please check /etc/sysconfig/openafs-client
|
||||
echo and/or follow the instructions found on http://www.openafs.org how to install an openafs-client.
|
||||
echo and/or follow the instructions found on http://www.openafs.org how to install an openafs-client.
|
||||
fi
|
||||
|
||||
%preun client
|
||||
@ -665,6 +684,7 @@ if [ -d /afs ]; then
|
||||
fi
|
||||
/sbin/ldconfig
|
||||
%service_del_postun openafs-client.service
|
||||
%endif
|
||||
|
||||
#
|
||||
# server
|
||||
@ -683,11 +703,11 @@ if [ "$FIRST_ARG" -gt 1 ]; then
|
||||
echo You must restart the service to put the upgrade into effect.
|
||||
if [ -d /var/openafs ]; then
|
||||
echo To upgrade, stop the server, copy the contents of /var/openafs to /var/lib/openafs,
|
||||
echo remove the empty directory /var/openafs and then start the server again.
|
||||
echo remove the empty directory /var/openafs and then start the server again.
|
||||
fi
|
||||
else
|
||||
else
|
||||
echo For configuring the server, please check /etc/sysconfig/openafs-server
|
||||
echo and/or follow the instructions found on http://www.openafs.org to install an openafs-client.
|
||||
echo and/or follow the instructions found on http://www.openafs.org to install an openafs-client.
|
||||
fi
|
||||
|
||||
%preun server
|
||||
@ -718,7 +738,7 @@ fi
|
||||
# FILES
|
||||
#
|
||||
|
||||
%files
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%config /etc/ld.so.conf.d/openafs.conf
|
||||
%config(noreplace) %{viceetcdir}/CellAlias
|
||||
@ -729,7 +749,7 @@ fi
|
||||
%doc %{_mandir}/man1/afs.1.gz
|
||||
%doc %{_mandir}/man1/afs_compile_et.1.gz
|
||||
%doc %{_mandir}/man1/afs_scout.1.gz
|
||||
%doc %{_mandir}/man1/afsmonitor.1.gz
|
||||
%doc %{_mandir}/man1/afsmonitor.1.gz
|
||||
%doc %{_mandir}/man1/cmdebug.1.gz
|
||||
%doc %{_mandir}/man1/pts.1.gz
|
||||
%doc %{_mandir}/man1/pts_*.gz
|
||||
@ -801,13 +821,14 @@ fi
|
||||
%{_fillupdir}/sysconfig.openafs-fuse-client
|
||||
%{vicecachedir}
|
||||
|
||||
%if %{build_kernel_modules}
|
||||
%files client
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/fs
|
||||
%{_bindir}/aklog
|
||||
%{_bindir}/klog.krb5
|
||||
%{_bindir}/pagsh
|
||||
%{_bindir}/pagsh.krb
|
||||
%{_bindir}/pagsh.krb
|
||||
%{_bindir}/tokens
|
||||
%{_bindir}/tokens.krb
|
||||
%{_bindir}/unlog
|
||||
@ -846,8 +867,9 @@ fi
|
||||
%{_prefix}/lib/firewalld/services/afs3-callback.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-rmtsys.xml
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%files server
|
||||
%files server
|
||||
%defattr(-,root,root)
|
||||
%attr(770,root,root) %dir %{afslocaldir}
|
||||
%attr(775,root,root) %dir %{afslogsdir}
|
||||
@ -922,11 +944,11 @@ fi
|
||||
%{_sbindir}/bos_util
|
||||
%{_sbindir}/bosserver
|
||||
%{_sbindir}/dafssync-debug
|
||||
%{_sbindir}/fssync-debug
|
||||
%{_sbindir}/fssync-debug
|
||||
%{_sbindir}/prdb_check
|
||||
%{_sbindir}/pt_util
|
||||
%{_sbindir}/salvsync-debug
|
||||
%{_sbindir}/state_analyzer
|
||||
%{_sbindir}/salvsync-debug
|
||||
%{_sbindir}/state_analyzer
|
||||
%{_sbindir}/vldb_check
|
||||
%{_sbindir}/vldb_convert
|
||||
%{_sbindir}/voldump
|
||||
@ -938,7 +960,7 @@ fi
|
||||
%if %{have_firewalld}
|
||||
%dir %{_prefix}/lib/firewalld
|
||||
%dir %{_prefix}/lib/firewalld/services
|
||||
%{_prefix}/lib/firewalld/services/afs3-bos.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-bos.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-fileserver.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-prserver.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-update.xml
|
||||
@ -946,7 +968,7 @@ fi
|
||||
%{_prefix}/lib/firewalld/services/afs3-volser.xml
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%dir %{_libdir}/openafs
|
||||
%doc %{_mandir}/man1/livesys.1.gz
|
||||
@ -961,7 +983,7 @@ fi
|
||||
%dir %{perl_vendorlib}/AFS
|
||||
%{perl_vendorlib}/AFS/ukernel.pm
|
||||
|
||||
%files kernel-source
|
||||
%files kernel-source
|
||||
%defattr(-,root,root)
|
||||
%dir /usr/src/kernel-modules
|
||||
%dir /usr/src/kernel-modules/openafs
|
||||
|
Loading…
Reference in New Issue
Block a user