This will make the configure script wait up to 600 seconds for the SPL
config and symver files to be available.
This is needed when upgrading the kernel version, because DKMS will start
the build for SPL and ZFS in parallel. And ZFS to be correctly built needs
the symvers of SPL. So ZFS can't start building until SPL has finished.
The proper fix would be implementing dependencies on DKMS. But in the
meanwhile this will do the trick.
Add three new `/etc/default/zfs` options:
* `ZFS_DKMS_ENABLE_DEBUG`, which appends `--enable-debug` to the dkms
configuration line.
* `ZFS_DKMS_ENABLE_DEBUG_DMU_TX`, which appends `--enable-debug-dmu-tx`
to the dkms configuration line.
* `ZFS_DKMS_DISABLE_STRIP`, which keeps ko debugging symbols intact.
This kind of true-false toggle is safer than something more extensible
like a passthrough variable because typos in the configuration file
happen frequently and many package managers mask the resulting error.
The natural direction of the STRIP option is reversed to preserve
current behavior for implied defaults.
Closes: zfsonlinux/zfs#1143 for pkg-zfs.
Set `BUILD_DEPENDS[0]="spl"` in the `dkms.conf` file. This is an
experimental directive that is not implemented in DKMS upstream.
Closes: dajhorn/pkg-zfs#44
Proxmox 2.0 identifies itself as Debian, but provides a non-Debian
kernel package. Accomodate the configuration difference in the
dkms.conf file.
Closes: zfsonlinux/zfs#630
Install zfs_config.h and Module.symvers earlier so that they can be
used by consumers before the zfs module is activated by dkms.
See also dajhorn/pkg-spl@a68ebb5f24.
Improve FHS conformance by installing intermediary build products --
currently the zfs_config.h and Module.symvers files -- into the
/var/lib/dkms area instead of /usr/src.
This has the beneficial side-effect of enabling DKMS multiarch
support for ZFS because the autoconf templates and `make install`
rules are not aware of the target architecture.
Mitigates: zfsonlinux/zfs#511
If the runpart provided by either of the zfs-dracut or zfs-initramfs
packages exists, then set REMAKE_INITRD='yes' in the dkms.conf file
to ensure that current kernel modules are ready for starting the
system from a native ZFS root.
Recent DKMS releases directly source the dkms.conf file, so any such
variable can be set using a shell command substitution.
Rename the debian/dkms file to debian/zfs-dkms.dkms so that
the dkms.conf file is included in the zfs-dkms package.
The dh_dkms debhelper put the dkms.conf file into the
libavl0 package after the library decomposition, which
caused upgrade errors.