e45c1734a6
On some Linux distributions, the kernel module build will not default to building with debuginfo symbols, which can make it difficult for debugging and testing. For this case, we provide a flag to override the build to force debuginfo to be produced for the kernel module build. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Co-authored-by: Neal Gompa <ngompa@datto.com> Co-authored-by: Simon Watson <swatson@datto.com> Signed-off-by: Neal Gompa <ngompa@datto.com> Signed-off-by: Simon Watson <swatson@datto.com> Closes #8304
117 lines
2.8 KiB
Bash
Executable File
117 lines
2.8 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
PROG=$0
|
|
|
|
pkgcfg=/etc/sysconfig/zfs
|
|
|
|
while getopts "n:v:c:f:" opt; do
|
|
case $opt in
|
|
n) pkgname=$OPTARG ;;
|
|
v) pkgver=$OPTARG ;;
|
|
c) pkgcfg=$OPTARG ;;
|
|
f) filename=$OPTARG ;;
|
|
esac
|
|
done
|
|
|
|
if [ -z "${pkgname}" -o -z "${pkgver}" -o -z "${filename}" ]; then
|
|
echo "Usage: $PROG -n <pkgname> -v <pkgver> -c <pkgcfg> -f <filename>"
|
|
exit 1
|
|
fi
|
|
|
|
cat >${filename} <<EOF
|
|
PACKAGE_NAME="${pkgname}"
|
|
PACKAGE_VERSION="${pkgver}"
|
|
PACKAGE_CONFIG="${pkgcfg}"
|
|
PRE_BUILD="configure
|
|
--prefix=/usr
|
|
--with-config=kernel
|
|
--with-linux=\$(
|
|
case \`lsb_release -is\` in
|
|
(Debian|Devuan)
|
|
if [[ -e \${kernel_source_dir/%build/source} ]]
|
|
then
|
|
echo \${kernel_source_dir/%build/source}
|
|
else
|
|
# A kpkg exception for Proxmox 2.0
|
|
echo \${kernel_source_dir}
|
|
fi
|
|
;;
|
|
(*)
|
|
echo \${kernel_source_dir}
|
|
;;
|
|
esac
|
|
)
|
|
--with-linux-obj=\${kernel_source_dir}
|
|
\$(
|
|
[[ -n \"\${ICP_ROOT}\" ]] && \\
|
|
{
|
|
echo --with-qat=\"\${ICP_ROOT}\"
|
|
}
|
|
)
|
|
\$(
|
|
[[ -r \${PACKAGE_CONFIG} ]] \\
|
|
&& source \${PACKAGE_CONFIG} \\
|
|
&& shopt -q -s extglob \\
|
|
&& \\
|
|
{
|
|
if [[ \${ZFS_DKMS_ENABLE_DEBUG,,} == @(y|yes) ]]
|
|
then
|
|
echo --enable-debug
|
|
fi
|
|
if [[ \${ZFS_DKMS_ENABLE_DEBUGINFO,,} == @(y|yes) ]]
|
|
then
|
|
echo --enable-debuginfo
|
|
fi
|
|
}
|
|
)
|
|
"
|
|
POST_BUILD="scripts/dkms.postbuild
|
|
-n \${PACKAGE_NAME}
|
|
-v \${PACKAGE_VERSION}
|
|
-a \${arch}
|
|
-k \${kernelver}
|
|
-t \${dkms_tree}
|
|
"
|
|
AUTOINSTALL="yes"
|
|
REMAKE_INITRD="no"
|
|
MAKE[0]="make"
|
|
STRIP[0]="\$(
|
|
[[ -r \${PACKAGE_CONFIG} ]] \\
|
|
&& source \${PACKAGE_CONFIG} \\
|
|
&& shopt -q -s extglob \\
|
|
&& [[ \${ZFS_DKMS_DISABLE_STRIP,,} == @(y|yes) ]] \\
|
|
&& echo -n no
|
|
)"
|
|
STRIP[1]="\${STRIP[0]}"
|
|
STRIP[2]="\${STRIP[0]}"
|
|
STRIP[3]="\${STRIP[0]}"
|
|
STRIP[4]="\${STRIP[0]}"
|
|
STRIP[5]="\${STRIP[0]}"
|
|
STRIP[6]="\${STRIP[0]}"
|
|
STRIP[7]="\${STRIP[0]}"
|
|
BUILT_MODULE_NAME[0]="zavl"
|
|
BUILT_MODULE_LOCATION[0]="module/avl/"
|
|
DEST_MODULE_LOCATION[0]="/extra/avl/avl"
|
|
BUILT_MODULE_NAME[1]="znvpair"
|
|
BUILT_MODULE_LOCATION[1]="module/nvpair/"
|
|
DEST_MODULE_LOCATION[1]="/extra/nvpair/znvpair"
|
|
BUILT_MODULE_NAME[2]="zunicode"
|
|
BUILT_MODULE_LOCATION[2]="module/unicode/"
|
|
DEST_MODULE_LOCATION[2]="/extra/unicode/zunicode"
|
|
BUILT_MODULE_NAME[3]="zcommon"
|
|
BUILT_MODULE_LOCATION[3]="module/zcommon/"
|
|
DEST_MODULE_LOCATION[3]="/extra/zcommon/zcommon"
|
|
BUILT_MODULE_NAME[4]="zfs"
|
|
BUILT_MODULE_LOCATION[4]="module/zfs/"
|
|
DEST_MODULE_LOCATION[4]="/extra/zfs/zfs"
|
|
BUILT_MODULE_NAME[5]="icp"
|
|
BUILT_MODULE_LOCATION[5]="module/icp/"
|
|
DEST_MODULE_LOCATION[5]="/extra/icp/icp"
|
|
BUILT_MODULE_NAME[6]="zlua"
|
|
BUILT_MODULE_LOCATION[6]="module/lua/"
|
|
DEST_MODULE_LOCATION[6]="/extra/lua/zlua"
|
|
BUILT_MODULE_NAME[7]="spl"
|
|
BUILT_MODULE_LOCATION[7]="module/spl/"
|
|
DEST_MODULE_LOCATION[7]="/extra/spl/spl"
|
|
EOF
|