mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-28 03:49:38 +03:00
44f463824b
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
121 lines
2.9 KiB
Bash
Executable File
121 lines
2.9 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}
|
|
--with-spl=\${source_tree}/spl-\${PACKAGE_VERSION}
|
|
--with-spl-obj=\${dkms_tree}/spl/\${PACKAGE_VERSION}/\${kernelver}/\${arch}
|
|
--with-spl-timeout=300
|
|
\$(
|
|
[[ -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_DMU_TX,,} == @(y|yes) ]]
|
|
then
|
|
echo --enable-debug-dmu-tx
|
|
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}
|
|
"
|
|
BUILD_DEPENDS[0]="spl"
|
|
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]}"
|
|
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]="zpios"
|
|
BUILT_MODULE_LOCATION[5]="module/zpios/"
|
|
DEST_MODULE_LOCATION[5]="/extra/zpios/zpios"
|
|
BUILT_MODULE_NAME[6]="icp"
|
|
BUILT_MODULE_LOCATION[6]="module/icp/"
|
|
DEST_MODULE_LOCATION[6]="/extra/icp/icp"
|
|
EOF
|