From 7dc6e1128a030c7e12eb23ea41935ed6fe77ce1f Mon Sep 17 00:00:00 2001 From: Shaun Tancheff Date: Fri, 8 Jul 2022 08:42:00 -0500 Subject: [PATCH] LU-15888 build: Debian dkms-debs requires ed and libkeyutils dkms install/build needs dependencies on libmount-dev, libkeyutils1, and libkeyutils-dev Debian does not install the 'ed' package by default. Without the 'ed' package the version is not correctly added to the changelog and parsed to the package names. Debian does not have linux-image or linux-headers psuedo packages so require the arch specific ones, ex: linux-image | linux-image-amd64 | linux-image-arm64 and: linux-headers | linux-headers-amd64 | linux-headers-arm64 respectively. o2ib fails to find Debian in-kernel Module.symvers and should check $LINUX_OBJ/Module.symvers before failing. HPE-bug-id: LUS-10984 Test-Parameters: trivial Fixes: 85a6eebeca1 ("LU-15652 build: On Debian detect -common kernel headers") Signed-off-by: Shaun Tancheff Change-Id: I82e2689f3af4b9ce106ee3ab6b4109d2709c8872 Reviewed-on: https://review.whamcloud.com/47455 Reviewed-by: Andreas Dilger Tested-by: jenkins Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- debian/control | 9 ++++----- debian/control.main | 9 ++++----- lnet/autoconf/lustre-lnet.m4 | 9 ++++++--- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/debian/control b/debian/control index 837e0c5..ac91ac2 100644 --- a/debian/control +++ b/debian/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Brian J. Murrell Uploaders: Brian J. Murrell Standards-Version: 3.8.3 -Build-Depends: module-assistant, libreadline-dev, debhelper (>= 11), dpatch, automake (>=1.7) | automake1.7 | automake1.8 | automake1.9, pkg-config, libtool, libyaml-dev, libnl-genl-3-dev, libselinux-dev, libsnmp-dev, mpi-default-dev, bzip2, quilt, linux-headers-generic | linux-headers | linux-headers-amd64, rsync, libssl-dev, libpython3-dev, swig, libmount-dev +Build-Depends: module-assistant, libreadline-dev, debhelper (>= 11), dpatch, automake (>=1.7) | automake1.7 | automake1.8 | automake1.9, pkg-config, libtool, libyaml-dev, libnl-genl-3-dev, libselinux-dev, libsnmp-dev, mpi-default-dev, bzip2, quilt, linux-headers-generic | linux-headers-amd64 | linux-headers-arm64, rsync, libssl-dev, libpython3-dev, swig, libmount-dev, ed Homepage: https://wiki.whamcloud.com/ Vcs-Git: git://git.whamcloud.com/fs/lustre-release.git @@ -26,7 +26,7 @@ Package: lustre-client-utils Section: utils Architecture: i386 armhf powerpc ppc64el amd64 ia64 arm64 Priority: optional -Depends: ${shlibs:Depends}, ${misc:Depends}, libyaml-0-2, libselinux1, libsnmp-dev, zlib1g, libnl-genl-3-200, perl, libmount1 +Depends: ${shlibs:Depends}, ${misc:Depends}, libyaml-0-2, libselinux1, libsnmp-dev, zlib1g, libnl-genl-3-200, perl, libmount1, libmount-dev, libkeyutils1, libkeyutils-dev Description: Userspace utilities for the Lustre filesystem (client) Lustre is a scalable, secure, robust, highly-available cluster file system. This release is maintained by Whamcloud and available from @@ -40,7 +40,7 @@ Package: lustre-server-utils Section: utils Architecture: i386 armhf powerpc ppc64el amd64 ia64 arm64 Priority: optional -Depends: ${shlibs:Depends}, ${misc:Depends}, libyaml-0-2, libselinux1, libsnmp-dev, zlib1g, libnl-genl-3-200, perl, libmount1 +Depends: ${shlibs:Depends}, ${misc:Depends}, libyaml-0-2, libselinux1, libsnmp-dev, zlib1g, libnl-genl-3-200, perl, libmount1, libmount-dev, libkeyutils1, libkeyutils-dev Provides: lustre-server-utils, lustre-client-utils (= ${binary:Version}) Conflicts: lustre-client-utils Replaces: lustre-client-utils @@ -108,8 +108,7 @@ Package: lustre-client-modules-dkms Section: admin Architecture: i386 armhf powerpc ppc64el amd64 ia64 Priority: optional -Depends: autoconf, automake, bison, build-essential, dkms, flex, libaio-dev, libkeyutils-dev, libkrb5-dev, libtool, libselinux-dev, libssl-dev, libyaml-dev, linux-base, linux-image, linux-headers, module-assistant, pkg-config, python3-distutils | python3-distutils-extra, python3-dev, libnl-genl-3-dev, zlib1g-dev -Recommends: lustre-client-utils +Depends: autoconf, automake, bison, build-essential, dkms, flex, libaio-dev, libkeyutils-dev, libkrb5-dev, libtool, libselinux-dev, libssl-dev, libyaml-dev, linux-base, linux-image | linux-image-amd64 | linux-image-arm64, linux-headers-generic | linux-headers-amd64, module-assistant, pkg-config, python3-distutils | python3-distutils-extra, python3-dev, libnl-genl-3-dev, zlib1g-dev, libmount1, libmount-dev, libkeyutils1, libkeyutils-dev Provides: lustre-client-modules Description: Lustre Linux kernel module (DKMS) This package contains the loadable kernel modules for the patchless client diff --git a/debian/control.main b/debian/control.main index 837e0c5..ac91ac2 100644 --- a/debian/control.main +++ b/debian/control.main @@ -4,7 +4,7 @@ Priority: optional Maintainer: Brian J. Murrell Uploaders: Brian J. Murrell Standards-Version: 3.8.3 -Build-Depends: module-assistant, libreadline-dev, debhelper (>= 11), dpatch, automake (>=1.7) | automake1.7 | automake1.8 | automake1.9, pkg-config, libtool, libyaml-dev, libnl-genl-3-dev, libselinux-dev, libsnmp-dev, mpi-default-dev, bzip2, quilt, linux-headers-generic | linux-headers | linux-headers-amd64, rsync, libssl-dev, libpython3-dev, swig, libmount-dev +Build-Depends: module-assistant, libreadline-dev, debhelper (>= 11), dpatch, automake (>=1.7) | automake1.7 | automake1.8 | automake1.9, pkg-config, libtool, libyaml-dev, libnl-genl-3-dev, libselinux-dev, libsnmp-dev, mpi-default-dev, bzip2, quilt, linux-headers-generic | linux-headers-amd64 | linux-headers-arm64, rsync, libssl-dev, libpython3-dev, swig, libmount-dev, ed Homepage: https://wiki.whamcloud.com/ Vcs-Git: git://git.whamcloud.com/fs/lustre-release.git @@ -26,7 +26,7 @@ Package: lustre-client-utils Section: utils Architecture: i386 armhf powerpc ppc64el amd64 ia64 arm64 Priority: optional -Depends: ${shlibs:Depends}, ${misc:Depends}, libyaml-0-2, libselinux1, libsnmp-dev, zlib1g, libnl-genl-3-200, perl, libmount1 +Depends: ${shlibs:Depends}, ${misc:Depends}, libyaml-0-2, libselinux1, libsnmp-dev, zlib1g, libnl-genl-3-200, perl, libmount1, libmount-dev, libkeyutils1, libkeyutils-dev Description: Userspace utilities for the Lustre filesystem (client) Lustre is a scalable, secure, robust, highly-available cluster file system. This release is maintained by Whamcloud and available from @@ -40,7 +40,7 @@ Package: lustre-server-utils Section: utils Architecture: i386 armhf powerpc ppc64el amd64 ia64 arm64 Priority: optional -Depends: ${shlibs:Depends}, ${misc:Depends}, libyaml-0-2, libselinux1, libsnmp-dev, zlib1g, libnl-genl-3-200, perl, libmount1 +Depends: ${shlibs:Depends}, ${misc:Depends}, libyaml-0-2, libselinux1, libsnmp-dev, zlib1g, libnl-genl-3-200, perl, libmount1, libmount-dev, libkeyutils1, libkeyutils-dev Provides: lustre-server-utils, lustre-client-utils (= ${binary:Version}) Conflicts: lustre-client-utils Replaces: lustre-client-utils @@ -108,8 +108,7 @@ Package: lustre-client-modules-dkms Section: admin Architecture: i386 armhf powerpc ppc64el amd64 ia64 Priority: optional -Depends: autoconf, automake, bison, build-essential, dkms, flex, libaio-dev, libkeyutils-dev, libkrb5-dev, libtool, libselinux-dev, libssl-dev, libyaml-dev, linux-base, linux-image, linux-headers, module-assistant, pkg-config, python3-distutils | python3-distutils-extra, python3-dev, libnl-genl-3-dev, zlib1g-dev -Recommends: lustre-client-utils +Depends: autoconf, automake, bison, build-essential, dkms, flex, libaio-dev, libkeyutils-dev, libkrb5-dev, libtool, libselinux-dev, libssl-dev, libyaml-dev, linux-base, linux-image | linux-image-amd64 | linux-image-arm64, linux-headers-generic | linux-headers-amd64, module-assistant, pkg-config, python3-distutils | python3-distutils-extra, python3-dev, libnl-genl-3-dev, zlib1g-dev, libmount1, libmount-dev, libkeyutils1, libkeyutils-dev Provides: lustre-client-modules Description: Lustre Linux kernel module (DKMS) This package contains the loadable kernel modules for the patchless client diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4 index 0cc50fa..90b7700 100644 --- a/lnet/autoconf/lustre-lnet.m4 +++ b/lnet/autoconf/lustre-lnet.m4 @@ -80,7 +80,7 @@ Instead, if you want to build Lustre for your kernel's built-in I/B stack rather AC_MSG_ERROR([ It appears that you have multiple OFED versions installed. If you still want to build Lustre for your OFED I/B stack, you need to install a single version with its devel headers RPM. -Instead, if you want to build Lustre for your kernel's built-in I/B stack rather than your installed OFED stack, either remove the OFED package(s) or use --with-o2ib=no. +Instead, if you want to build Lustre for your in-kernel I/B stack rather than your installed external OFED stack, either remove the OFED package(s) or use --with-o2ib=no. ]) ]) if test -e $O2IBPATHS/${LINUXRELEASE}; then @@ -210,6 +210,9 @@ AS_IF([test $ENABLEO2IB = "no"], [ O2IB_SYMVER=$O2IBPATH/Module.symvers elif test "x$SUSE_KERNEL" = "xyes"; then O2IB_SYMVER=$(find ${O2IBPATH}* -name Module.symvers) + elif test -f $LINUX_OBJ/Module.symvers; then + # Debian symvers is in the arch tree + O2IB_SYMVER=$LINUX_OBJ/Module.symvers fi if test -n "$O2IB_SYMVER"; then AC_MSG_NOTICE([adding $O2IB_SYMVER to Symbol Path]) @@ -619,7 +622,7 @@ AS_IF([test "x$enable_gni" = xyes], [ ],[ GNILND="gnilnd" ],[ - AC_MSG_ERROR([can't compile gnilnd with given GNICPPFLAGS: $GNICPPFLAGS]) + AC_MSG_ERROR([cannot compile gnilnd with given GNICPPFLAGS: $GNICPPFLAGS]) ]) # at this point, we have gnilnd basic support, # now check for extra features @@ -959,7 +962,7 @@ LB_CHECK_FILE([$GDS_PATH/nvfs-dma.h], ], []) ],[ - AC_MSG_WARN([CUDA or GDS sources don't found. GDS support disabled]) + AC_MSG_WARN([CUDA or GDS sources not found. GDS support disabled]) ] ) -- 1.8.3.1