diff --git a/add_arch_to_linux_kernel_make.patch b/add_arch_to_linux_kernel_make.patch new file mode 100644 index 0000000..90ee830 --- /dev/null +++ b/add_arch_to_linux_kernel_make.patch @@ -0,0 +1,11 @@ +--- openafs-1.8.0//src/libafs/MakefileProto.LINUX.in.orig 2018-06-27 07:57:10.916249040 +0200 ++++ openafs-1.8.0//src/libafs/MakefileProto.LINUX.in 2018-06-27 07:57:56.492849436 +0200 +@@ -320,7 +320,7 @@ + ${LINUX_LIBAFS_NAME}.ko afspag.ko: .FORCE + env EXTRA_CFLAGS="${EXTRA_CFLAGS}" @TOP_SRCDIR@/libafs/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common + ( env EXTRA_CFLAGS="${EXTRA_CFLAGS}" \ +- $(MAKE) -C ${LINUX_KERNEL_BUILD} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules 2>&1 \ ++ $(MAKE) -C ${LINUX_KERNEL_BUILD} ${LINUX_MAKE_ARCH} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules 2>&1 \ + || echo "FAILURE: make exit code $$?" ) | tee .makelog + @if grep -E -q '^(FAILURE|WARNING)' .makelog; then \ + grep -q '^WARNING' .makelog && echo "Error: Undefined symbols in modules" ; \ diff --git a/openafs.changes b/openafs.changes index 24def63..8275af9 100644 --- a/openafs.changes +++ b/openafs.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Jun 27 19:09:41 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- adjust building of KMP to new kernels (see boo 1098050) +- add libtirpc-devel to BuildRequires: +- minor cleanups + ------------------------------------------------------------------- Fri May 4 07:29:15 UTC 2018 - guillaume.gardet@opensuse.org diff --git a/openafs.spec b/openafs.spec index b393152..174bfbd 100644 --- a/openafs.spec +++ b/openafs.spec @@ -100,7 +100,10 @@ Patch1: dont_require_AFS_SYSCALL.patch Patch2: add_AFS_STRINGIZE_macro.patch # PATCH-FIX-UPSTREAM backport upstream patch Patch3: avoid_double_param_in_arm64_kernel.patch +# PATCH-FIX-UPSTREAM make configure detect ncurses 6 correctly Patch4: openafs-1.8.x.ncurses6.patch +# PATCH-SUSE-SPECIFIC make KMP work again +Patch5: add_arch_to_linux_kernel_make.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # @@ -112,10 +115,13 @@ BuildRequires: bison BuildRequires: coreutils BuildRequires: fdupes BuildRequires: flex +BuildRequires: fuse-devel BuildRequires: git BuildRequires: krb5-devel +BuildRequires: libtirpc-devel BuildRequires: libtool BuildRequires: ncurses-devel +BuildRequires: pkg-config %if 0%{?suse_version} < 1210 Requires(post): %insserv_prereq @@ -125,12 +131,10 @@ Requires(post): %fillup_prereq %if %{build_kernel_modules} BuildRequires: kernel-source BuildRequires: kernel-syms +BuildRequires: libelf-devel BuildRequires: module-init-tools %endif -BuildRequires: fuse-devel -BuildRequires: pkg-config - %description AFS is a cross-platform distributed file system product pioneered at Carnegie Mellon University and supported and developed as a product by @@ -234,8 +238,9 @@ module. %package KMP Summary: OpenAFS Distributed File System - kernel module Group: System/Kernel +Requires: %{kernel_module_package_buildreqs} -%suse_kernel_module_package lockdep um -p %_sourcedir/preamble +%kernel_module_package -x lockdep um pae -p %_sourcedir/preamble %description KMP This package contains the kernel module for OpenAFS. For details see @@ -314,6 +319,7 @@ done %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch5 -p1 %if %{run_regen} %patch4 -p1 @@ -379,8 +385,9 @@ for flavor in %flavors_to_build; do rm -rf obj/$flavor cp -a libafs_tree obj/$flavor pushd obj/$flavor - ./configure --with-linux-kernel-build=/usr/src/linux-obj/%{_arch}/$flavor --with-linux-kernel-headers=/usr/src/linux \ + ./configure --with-linux-kernel-build=/usr/src/linux-obj/%{_target_cpu}/$flavor --with-linux-kernel-headers=/usr/src/linux \ --disable-transarc-paths + export LINUX_MAKE_ARCH="ARCH=%{_arch}" make popd done @@ -450,9 +457,10 @@ install -m 644 LICENSE %{buildroot}/usr/src/kernel-modules/openafs/LICENSE %if %{build_kernel_modules} export INSTALL_MOD_PATH=%{buildroot} export INSTALL_MOD_DIR=updates +export LINUX_MAKE_ARCH="ARCH=%{_arch}" for flavor in %flavors_to_build; do - make -C /usr/src/linux-obj/%{_arch}/$flavor modules_install \ + make -C /usr/src/linux-obj/%{_arch}/$flavor $LINUX_MAKE_ARCH modules_install \ M=$PWD/`find obj/$flavor/ -name MODLOAD-\* -type d` done %endif diff --git a/preamble b/preamble index ef64c28..bae1bcb 100644 --- a/preamble +++ b/preamble @@ -1,3 +1,4 @@ -Requires: kernel-%1 -Requires: %{name}-client = %{version} -Conflicts: %{name}-fuse-client = %{version} +Requires: kernel-%1 +Requires: kernel-syms modutils +Requires: %{name}-client = %{version} +Conflicts: %{name}-fuse-client = %{version}