mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 02:49:32 +03:00
78fd79eacd
Have libzfs call a special `zfs_prepare_disk` script before a disk is included into the pool. The user can edit this script to add things like a disk firmware update or a disk health check. Use of the script is totally optional. See the zfs_prepare_disk manpage for full details. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #15243
98 lines
2.9 KiB
Makefile
98 lines
2.9 KiB
Makefile
scriptsdir = $(datadir)/$(PACKAGE)
|
|
dist_noinst_SCRIPTS = \
|
|
%D%/commitcheck.sh \
|
|
%D%/common.sh.in \
|
|
%D%/dkms.mkconf \
|
|
%D%/dkms.postbuild \
|
|
%D%/kmodtool \
|
|
%D%/make_gitrev.sh \
|
|
%D%/man-dates.sh \
|
|
%D%/mancheck.sh \
|
|
%D%/paxcheck.sh \
|
|
%D%/zfs-tests-color.sh
|
|
|
|
scripts_scripts = \
|
|
%D%/zfs-helpers.sh \
|
|
%D%/zfs-tests.sh \
|
|
%D%/zfs.sh \
|
|
%D%/zimport.sh \
|
|
%D%/zloop.sh
|
|
|
|
if CONFIG_USER
|
|
dist_scripts_SCRIPTS = $(scripts_scripts)
|
|
dist_zfsexec_SCRIPTS = \
|
|
%D%/zfs_prepare_disk
|
|
else
|
|
dist_noinst_SCRIPTS += $(scripts_scripts)
|
|
endif
|
|
|
|
dist_noinst_DATA += \
|
|
%D%/cstyle.pl \
|
|
%D%/enum-extract.pl \
|
|
%D%/update_authors.pl \
|
|
%D%/zfs2zol-patch.sed \
|
|
%D%/zol2zfs-patch.sed
|
|
|
|
SHELLCHECKSCRIPTS += $(dist_scripts_SCRIPTS) $(dist_noinst_SCRIPTS)
|
|
|
|
define SCRIPTS_EXTRA_ENVIRONMENT
|
|
|
|
# Only required for in-tree use
|
|
export INTREE="yes"
|
|
export GDB="libtool --mode=execute gdb"
|
|
export LDMOD=/sbin/insmod
|
|
|
|
export CMD_DIR=$(abs_top_builddir)
|
|
export UDEV_SCRIPT_DIR=$(abs_top_srcdir)/udev
|
|
export UDEV_CMD_DIR=$(abs_top_builddir)/udev
|
|
export UDEV_RULE_DIR=$(abs_top_builddir)/udev/rules.d
|
|
export ZEDLET_ETC_DIR=$$CMD_DIR/cmd/zed/zed.d
|
|
export ZEDLET_LIBEXEC_DIR=$$CMD_DIR/cmd/zed/zed.d
|
|
export ZPOOL_SCRIPT_DIR=$$CMD_DIR/cmd/zpool/zpool.d
|
|
export ZPOOL_SCRIPTS_PATH=$$CMD_DIR/cmd/zpool/zpool.d
|
|
export ZPOOL_COMPAT_DIR=$$CMD_DIR/cmd/zpool/compatibility.d
|
|
export CONTRIB_DIR=$(abs_top_builddir)/contrib
|
|
export LIB_DIR=$(abs_top_builddir)/.libs
|
|
export SYSCONF_DIR=$(abs_top_builddir)/etc
|
|
|
|
export INSTALL_UDEV_DIR=$(udevdir)
|
|
export INSTALL_UDEV_RULE_DIR=$(udevruledir)
|
|
export INSTALL_MOUNT_HELPER_DIR=$(mounthelperdir)
|
|
export INSTALL_SYSCONF_DIR=$(sysconfdir)
|
|
export INSTALL_PYTHON_DIR=$(pythonsitedir)
|
|
|
|
export KMOD_SPL=$(abs_top_builddir)/module/spl.ko
|
|
export KMOD_ZFS=$(abs_top_builddir)/module/zfs.ko
|
|
export KMOD_FREEBSD=$(abs_top_builddir)/module/openzfs.ko
|
|
endef
|
|
|
|
export SCRIPTS_EXTRA_ENVIRONMENT
|
|
|
|
CLEANFILES += %D%/common.sh
|
|
%D%/common.sh: %D%/common.sh.in Makefile
|
|
-$(AM_V_at)$(MKDIR_P) $(@D)
|
|
-$(AM_V_GEN)$(SED) -e '/^export BIN_DIR=/s|$$|$(abs_top_builddir)/tests/zfs-tests/bin|' \
|
|
-e '/^export SBIN_DIR=/s|$$|$(abs_top_builddir)|' \
|
|
-e '/^export LIBEXEC_DIR=/s|$$|$(abs_top_builddir)|' \
|
|
-e '/^export ZTS_DIR=/s|$$|$(abs_top_srcdir)/tests|' \
|
|
-e '/^export SCRIPT_DIR=/s|$$|$(abs_top_srcdir)/scripts|' \
|
|
$< >$@
|
|
-$(AM_V_at)echo "$$SCRIPTS_EXTRA_ENVIRONMENT" >>$@
|
|
|
|
ALL_LOCAL += scripts-all-local
|
|
scripts-all-local: %D%/common.sh
|
|
-SCRIPT_COMMON=$< $(srcdir)/%D%/zfs-tests.sh -c
|
|
|
|
CLEAN_LOCAL += scripts-clean-local
|
|
scripts-clean-local:
|
|
-$(RM) -r tests/zfs-tests/bin/
|
|
|
|
INSTALL_DATA_HOOKS += scripts-install-data-hook
|
|
scripts-install-data-hook: %D%/common.sh.in Makefile
|
|
-$(SED) -e '/^export BIN_DIR=/s|$$|$(bindir)|' \
|
|
-e '/^export SBIN_DIR=/s|$$|$(sbindir)|' \
|
|
-e '/^export LIBEXEC_DIR=/s|$$|$(zfsexecdir)|' \
|
|
-e '/^export ZTS_DIR=/s|$$|$(datadir)/$(PACKAGE)|' \
|
|
-e '/^export SCRIPT_DIR=/s|$$|$(datadir)/$(PACKAGE)|' \
|
|
$< >$(DESTDIR)$(datadir)/$(PACKAGE)/common.sh
|