summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Lass2017-09-12 20:53:49 +0200
committerMichael Lass2017-09-12 20:53:49 +0200
commit8adb64a0d1f0e6b33552a1e2bc0eb5db310ffaa4 (patch)
tree73da7ed2f2b5b4e30e47b6c9ff2712a364569c2d
parentd51ad4d52507c66d3b62dfb0e12c4893e1f5a905 (diff)
downloadaur-8adb64a0d1f0e6b33552a1e2bc0eb5db310ffaa4.tar.gz
Fix build with Linux 4.13
Also remove GCC workaround as the underlying bug was fixed.
-rw-r--r--.SRCINFO8
-rw-r--r--0001-Linux-4.13-use-designated-initializers-where-require.patch65
-rw-r--r--PKGBUILD11
-rw-r--r--dkms.conf1
4 files changed, 78 insertions, 7 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a51bb6e4f560..3b34fd5820ff 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Thu Jul 6 21:35:51 UTC 2017
+# Tue Sep 12 18:32:01 UTC 2017
pkgbase = openafs-modules-dkms
pkgdesc = Kernel module for OpenAFS (dkms)
pkgver = 1.6.21
- pkgrel = 1
+ pkgrel = 2
url = http://www.openafs.org
arch = i686
arch = x86_64
@@ -18,8 +18,10 @@ pkgbase = openafs-modules-dkms
options = !emptydirs
source = http://openafs.org/dl/1.6.21/openafs-1.6.21-src.tar.bz2
source = dkms.conf
+ source = 0001-Linux-4.13-use-designated-initializers-where-require.patch
sha256sums = ba9c1f615edd53b64fc271ad369c49a816acedca70cdd090975033469a84118f
- sha256sums = baa3ab82ab2bb801d3a57568b46d5844add91cf8fc100386459d91d004f80f4f
+ sha256sums = ea7d1e6dfb5006016e25738be722c8793765f52ad55c0bbf588dd7fdf2bdd2bf
+ sha256sums = 84e8686a04e27edfc040fccfa7fd2553eb2cfd1e0f254741b8da0018bdee4b55
pkgname = openafs-modules-dkms
diff --git a/0001-Linux-4.13-use-designated-initializers-where-require.patch b/0001-Linux-4.13-use-designated-initializers-where-require.patch
new file mode 100644
index 000000000000..70f882203b0f
--- /dev/null
+++ b/0001-Linux-4.13-use-designated-initializers-where-require.patch
@@ -0,0 +1,65 @@
+From cbf9f6f27ce73ca54e54c672e349e66459d11b25 Mon Sep 17 00:00:00 2001
+From: Stephan Wiesand <stephan.wiesand@desy.de>
+Date: Mon, 24 Jul 2017 11:37:54 +0200
+Subject: [PATCH] Linux 4.13: use designated initializers where required
+
+struct path is declared with the "designated_init" attribute,
+and module builds now use -Werror=designated-init. Cope.
+
+And as pointed out by Michael Meffie, struct ctl_table has
+the same requirement now, so use a designated initializer
+for the final element of the sysctl table too.
+
+Reviewed-on: https://gerrit.openafs.org/12663
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
+Tested-by: Benjamin Kaduk <kaduk@mit.edu>
+(cherry picked from commit d55b41072ce873210481baa4cae5c7143011869b)
+
+Change-Id: I9797f8b1e16ab095775c53ac03e258affaa4d303
+---
+ src/afs/LINUX/osi_misc.c | 2 +-
+ src/afs/LINUX/osi_sysctl.c | 8 ++++++--
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/src/afs/LINUX/osi_misc.c b/src/afs/LINUX/osi_misc.c
+index 32ee5a620..50dd625e9 100644
+--- a/src/afs/LINUX/osi_misc.c
++++ b/src/afs/LINUX/osi_misc.c
+@@ -143,7 +143,7 @@ int osi_abspath(char *aname, char *buf, int buflen,
+ code = osi_lookupname_internal(name, followlink, &mnt, &dp);
+ if (!code) {
+ #if defined(D_PATH_TAKES_STRUCT_PATH)
+- afs_linux_path_t p = { mnt, dp };
++ afs_linux_path_t p = { .mnt = mnt, .dentry = dp };
+ path = d_path(&p, buf, buflen);
+ #else
+ path = d_path(dp, mnt, buf, buflen);
+diff --git a/src/afs/LINUX/osi_sysctl.c b/src/afs/LINUX/osi_sysctl.c
+index 2b1be3b0c..4d56c4eb9 100644
+--- a/src/afs/LINUX/osi_sysctl.c
++++ b/src/afs/LINUX/osi_sysctl.c
+@@ -231,7 +231,9 @@ static struct ctl_table afs_sysctl_table[] = {
+ .mode = 0644,
+ .proc_handler = &proc_dointvec
+ },
+- {0}
++ {
++ .procname = 0
++ }
+ };
+
+ static struct ctl_table fs_sysctl_table[] = {
+@@ -247,7 +249,9 @@ static struct ctl_table fs_sysctl_table[] = {
+ .mode = 0555,
+ .child = afs_sysctl_table
+ },
+- {0}
++ {
++ .procname = 0
++ }
+ };
+
+ int
+--
+2.14.1
+
diff --git a/PKGBUILD b/PKGBUILD
index 1a7134aef170..c47ff868f0af 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@
pkgname=openafs-modules-dkms
_srcname=openafs
pkgver=1.6.21
-pkgrel=1
+pkgrel=2
pkgdesc="Kernel module for OpenAFS (dkms)"
arch=('i686' 'x86_64' 'armv7h')
url="http://www.openafs.org"
@@ -17,13 +17,18 @@ provides=("openafs-modules=$pkgver")
conflicts=('openafs-features-libafs' 'openafs-modules' 'openafs<1.6.6-2')
options=(!emptydirs)
source=(http://openafs.org/dl/${pkgver}/${_srcname}-${pkgver}-src.tar.bz2
- dkms.conf)
+ dkms.conf
+ 0001-Linux-4.13-use-designated-initializers-where-require.patch)
sha256sums=('ba9c1f615edd53b64fc271ad369c49a816acedca70cdd090975033469a84118f'
- 'baa3ab82ab2bb801d3a57568b46d5844add91cf8fc100386459d91d004f80f4f')
+ 'ea7d1e6dfb5006016e25738be722c8793765f52ad55c0bbf588dd7fdf2bdd2bf'
+ '84e8686a04e27edfc040fccfa7fd2553eb2cfd1e0f254741b8da0018bdee4b55')
prepare() {
cd ${srcdir}/${_srcname}-${pkgver}
+ # Fix build with Linux 4.13
+ patch -p1 < ${srcdir}/0001-Linux-4.13-use-designated-initializers-where-require.patch
+
# Only needed when changes to configure were made
# ./regen.sh -q
}
diff --git a/dkms.conf b/dkms.conf
index d0d52972b459..6cc5af1f6772 100644
--- a/dkms.conf
+++ b/dkms.conf
@@ -14,6 +14,5 @@ MAKE[0]="(./configure --prefix=/usr \
--disable-fuse-client \
--with-linux-kernel-packaging \
--with-linux-kernel-headers=${kernel_source_dir} \
- && echo '#define STRUCT_GROUP_INFO_HAS_GID' >> src/config/afsconfig.h \
&& make ${MAKEFLAGS} )"
CLEAN="[ ! -f Makefile ] || make clean"