Skip to content
Snippets Groups Projects
Commit a0d855bc authored by Nathaniel Clark's avatar Nathaniel Clark Committed by John L. Hammond
Browse files

LU-9745 dkms: Fix included dkms.conf file

When lustre-dkms is installed with other dkms packages,
the PRE/POST scripts don't seem to function correctly.
This includes the correct dkms.conf by default without having
to recreate and reread it during build.

Lustre-change: https://review.whamcloud.com/#/c/28210/


Lustre-commit: 2f4d11de2c37803822d6c1df0b7df6828477c11a

Signed-off-by: default avatarNathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ic6f25480db40d784dfcb3b650f7c869716b903ee
Reviewed-on: https://review.whamcloud.com/28224


Tested-by: Jenkins
Tested-by: default avatarMaloo <hpdd-maloo@intel.com>
Reviewed-by: default avatarMinh Diep <minh.diep@intel.com>
Reviewed-by: default avatarBob Glossman <bob.glossman@intel.com>
Reviewed-by: default avatarJohn L. Hammond <john.hammond@intel.com>
parent 4bf68438
No related branches found
No related tags found
No related merge requests found
......@@ -394,8 +394,6 @@ AC_DEFUN([LB_CONFIG_FILES], [
lustre-iokit/ior-survey/Makefile
lustre-iokit/stats-collect/Makefile
)
AC_CONFIG_FILES([lustre/scripts/dkms.mkconf],
[chmod +x lustre/scripts/dkms.mkconf])
])
#
......
......@@ -9,11 +9,14 @@
%if %{_vendor}=="redhat" || %{_vendor}=="fedora"
%global requires_kmod_name kmod-%{module}
%else #for Suse
%define mkconf_options
%else #for Suse / Ubuntu
%global requires_kmod_name %{module}-kmp
%define mkconf_options "-k updates"
%endif
%define buildid 1
%define mkconf lustre/scripts/dkms.mkconf
Name: %{module}-dkms
......@@ -59,47 +62,7 @@ This package contains the dkms Lustre kernel modules.
%setup -q -n @PACKAGE@-%{version}
%build
cat << EOF > dkms.conf
# Embryonic lustre-dkms dkms.conf to allow for on-target accurate and full
# version re-create during first run of Lustre DKMS module build step.
PACKAGE_NAME=%{module}
PACKAGE_VERSION=%{version}
PACKAGE_CONFIG="/etc/sysconfig/lustre"
PRE_BUILD="lustre-dkms_pre-build.sh \$module \$module_version \$kernelver \
\$kernel_source_dir \$arch \$source_tree \$dkms_tree"
POST_BUILD="lustre-dkms_post-build.sh \$module \$module_version \$kernelver \
\$kernel_source_dir \$arch \$source_tree \$dkms_tree"
EOF
%if %{with servers}
cat << EOF >> dkms.conf
BUILD_DEPENDS[0]="zfs"
EOF
%endif
cat << EOF >> dkms.conf
AUTOINSTALL="yes"
REMAKE_INITRD="no"
MAKE[0]="make"
# just have to set STRIP[0], it will become the new default.
STRIP[0]="\$(
[[ -r \${PACKAGE_CONFIG} ]] \\
&& source \${PACKAGE_CONFIG} \\
&& shopt -q -s extglob \\
&& [[ \${LUSTRE_DKMS_DISABLE_STRIP,,} == @(y|yes) ]] \\
&& echo -n no
)"
# at least one module's set of BUILT_MODULE_NAME[]/BUILT_MODULE_LOCATION[]
# elements, along with an install path made of either "extra" or "updates"
# subdir in its DEST_MODULE_LOCATION[] element, are required to fake during
# dkms.conf validity checks of "dkms [add,build]" steps.
# Final/full correct BUILT_MODULE_NAME[]/BUILT_MODULE_LOCATION[]/
# DEST_MODULE_LOCATION[] sets of values for all modules will be fixed during
# on-target post-configure run of dkms.mkconf as part of build step.
# it must be for a module shared by both lustre[-client]-dkms packages.
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lustre"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/llite/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/extra/lustre/"
EOF
%{mkconf} -n %{module} -v %{version} -f dkms.conf %{mkconf_options}
%install
if [ "$RPM_BUILD_ROOT" != "/" ]; then
......
......@@ -21,30 +21,7 @@
# $7/$1/$2/$3/$5/log repository should have already been created to save
# make.log and $kernel_config
mkdir -p "$7/$1/$2/$3/$5/log"
mv -f "$7/$1/$2/build/config.log" "$7/$1/$2/$3/$5/log/config.log" 2>/dev/null
# read last dkms.conf version that has just been customized during pre_build
source $6/$1-$2/dkms.conf
# Make sure all the modules built successfully
for ((count=0; count < ${#BUILT_MODULE_NAME[@]}; count++)); do
# Lustre supported kernels are >= 2.5, so don't need to check for old .o
# module suffix
[[ -e ${BUILT_MODULE_LOCATION[$count]}${BUILT_MODULE_NAME[$count]}.ko ]] && continue
echo "Build of ${BUILT_MODULE_NAME[$count]}.ko failed for: $3 ($5)" \
"Consult logs in $7/$1/$2/$3/$5/log/ for more information."
done
# Strip modules ?
for ((count=0; count < ${#BUILT_MODULE_NAME[@]}; count++)); do
[[ ${STRIP[$count]} = '' ]] && STRIP[$count]=${STRIP[0]:-yes}
[[ ${STRIP[$count]} != no ]] && strip -g "$7/$1/$2/build/${BUILT_MODULE_LOCATION[$count]}${BUILT_MODULE_NAME[$count]}.ko"
# Save a copy of the new module in save area that should have been created in previous build steps
mkdir -p "$7/$1/$2/$3/$5/module" >/dev/null
# if DEST_MODULE_NAME[] is different than BUILD_MODULE_NAME[], need to use it as the module name in save area
# this is not presently the case for none of the Lustre kernel modules.
cp -f "$7/$1/$2/build/${BUILT_MODULE_LOCATION[$count]}${BUILT_MODULE_NAME[$count]}.ko" \
"$7/$1/$2/$3/$5/module/${BUILT_MODULE_NAME[$count]}.ko" >/dev/null
done
cp -f "$7/$1/$2/build/config.log" "$7/$1/$2/$3/$5/log/config.log" 2>/dev/null
cp -f "$7/$1/$2/build/config.h" \
"$7/$1/$2/build/Module.symvers" \
"$7/$1/$2/$3/$5/" 2> /dev/null
......@@ -72,8 +72,3 @@ if [ $? != 0 ] ; then
echo "configure error, check $7/$1/$2/build/config.log"
exit 1
fi
# now re-create dkms.conf based on configure result, to set accurate Lustre
# modules names that will be built and their future install locations, for
# next DKMS module install step
lustre/scripts/dkms.mkconf -n $1 -v $2 -f $6/$1-$2/dkms.conf
/dkms.mkconf
/lustre.spec
/Makefile.in
/version_tag.pl
......
......@@ -2,26 +2,22 @@
PROG=$0
while getopts "n:v:f:" opt; do
kmoddir=extra
while getopts "n:v:f:k:" opt; do
case $opt in
n) pkgname=$OPTARG ;;
v) pkgver=$OPTARG ;;
f) filename=$OPTARG ;;
k) kmoddir=$OPTARG ;;
esac
done
if [ -z "${pkgname}" -o -z "${pkgver}" -o -z "${filename}" ]; then
echo "Usage: $PROG -n <pkgname> -v <pkgver> -f <filename>"
echo "Usage: $PROG -n <pkgname> -v <pkgver> [-k <kmoddir> ] -f <filename>"
exit 1
fi
rpm -qa | grep krb5-devel >/dev/null
if [ $? == 0 ] ; then
GSS="yes"
else
GSS="no"
fi
cat >${filename} <<EOF
PACKAGE_NAME="${pkgname}"
PACKAGE_VERSION="${pkgver}"
......@@ -55,94 +51,93 @@ STRIP[0]="\$(
# Common modules for both Client & Server
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lnet_selftest"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lnet/selftest/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lnet/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lnet/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lnet"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lnet/lnet/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lnet/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lnet/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ksocklnd"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lnet/klnds/socklnd/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lnet/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lnet/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ko2iblnd"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lnet/klnds/o2iblnd/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lnet/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lnet/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="libcfs"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="libcfs/libcfs/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ptlrpc"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/ptlrpc/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lov"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/lov/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="fld"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/fld/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="obdecho"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/obdecho/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="osc"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/osc/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="mgc"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/mgc/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="fid"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/fid/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="mdc"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/mdc/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="obdclass"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/obdclass/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lmv"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/lmv/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lustre"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/llite/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
EOF
if [ $GSS = "yes" ] ; then
cat >>${filename} <<EOF
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
if \$( rpm -qa | grep -q krb5-devel ) ; then
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ptlrpc_gss"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/ptlrpc/gss/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
EOF
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
fi
EOF
if [ $pkgname = "lustre" ] ; then
cat >>${filename} <<EOF
# Server Modules
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ofd"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/ofd/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="ost"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/ost/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lfsck"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/lfsck/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="osd_zfs"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/osd-zfs/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="mgs"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/mgs/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lquota"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/quota/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="mdt"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/mdt/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="osp"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/osp/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="mdd"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/mdd/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="llog_test"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/obdclass/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
BUILT_MODULE_NAME[\${#BUILT_MODULE_NAME[@]}]="lod"
BUILT_MODULE_LOCATION[\${#BUILT_MODULE_LOCATION[@]}]="lustre/lod/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/@KMP_MODDIR@/lustre/"
DEST_MODULE_LOCATION[\${#DEST_MODULE_LOCATION[@]}]="/${kmoddir}/lustre/"
EOF
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment