ae0f0ba950
Support was added to dkms so build dependencies can be specified. This allows us to ensure that the spl package will always be built before the zfs package. Those patches have not yet been merged upstream but they are available in the zfsonlinux/dkms repository. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
90 lines
2.2 KiB
Bash
Executable File
90 lines
2.2 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-spl=\${dkms_tree}/spl/\${PACKAGE_VERSION}/build
|
|
--with-spl-obj=\${dkms_tree}/spl/\${PACKAGE_VERSION}/\${kernelver}/\${arch}
|
|
--with-spl-timeout=300
|
|
\$(
|
|
[[ -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
|
|
}
|
|
)
|
|
"
|
|
POST_INSTALL="scripts/dkms.postinst
|
|
-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]}"
|
|
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"
|
|
EOF
|