Move udev rules from /etc/udev to /lib/udev
This change moves the default install location for the zfs udev rules from /etc/udev/ to /lib/udev/. The correct convention is for rules provided by a package to be installed in /lib/udev/. The /etc/udev/ directory is reserved for custom rules or local overrides. Additionally, this patch cleans up some abuse of the bindir install location by adding a udevdir and udevruledir install directories. This allows us to revert to the default bin install location. The udev install directories can be set with the following new options. --with-udevdir=DIR install udev helpers [EPREFIX/lib/udev] --with-udevruledir=DIR install udev rules [UDEVDIR/rules.d] Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #356
This commit is contained in:
parent
f3ab88d646
commit
12d06bac9b
|
@ -3,7 +3,7 @@ include $(top_srcdir)/config/deb.am
|
|||
include $(top_srcdir)/config/tgz.am
|
||||
|
||||
if CONFIG_USER
|
||||
USER_DIR = dracut etc man scripts lib cmd
|
||||
USER_DIR = dracut udev etc man scripts lib cmd
|
||||
endif
|
||||
if CONFIG_KERNEL
|
||||
KERNEL_DIR = module
|
||||
|
|
|
@ -1 +1 @@
|
|||
dist_bin_SCRIPTS = sas_switch_id
|
||||
dist_udev_SCRIPTS = sas_switch_id
|
||||
|
|
|
@ -1 +1 @@
|
|||
dist_bin_SCRIPTS = zpool_id
|
||||
dist_udev_SCRIPTS = zpool_id
|
||||
|
|
|
@ -4,7 +4,7 @@ DEFAULT_INCLUDES += \
|
|||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/lib/libspl/include
|
||||
|
||||
bin_PROGRAMS = zvol_id
|
||||
udev_PROGRAMS = zvol_id
|
||||
|
||||
zvol_id_SOURCES = \
|
||||
$(top_srcdir)/cmd/zvol_id/zvol_id_main.c
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
AC_DEFUN([ZFS_AC_CONFIG_USER_UDEV], [
|
||||
AC_ARG_WITH(udevdir,
|
||||
AC_HELP_STRING([--with-udevdir=DIR],
|
||||
[install udev helpers [[EPREFIX/lib/udev]]]),
|
||||
udevdir=$withval, udevdir='${exec_prefix}/lib/udev')
|
||||
|
||||
AC_ARG_WITH(udevruledir,
|
||||
AC_HELP_STRING([--with-udevruledir=DIR],
|
||||
[install udev rules [[UDEVDIR/rules.d]]]),
|
||||
udevruledir=$withval, udevruledir='${udevdir}/rules.d')
|
||||
|
||||
AC_SUBST(udevdir)
|
||||
AC_SUBST(udevruledir)
|
||||
])
|
|
@ -2,6 +2,7 @@ dnl #
|
|||
dnl # Default ZFS user configuration
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_CONFIG_USER], [
|
||||
ZFS_AC_CONFIG_USER_UDEV
|
||||
ZFS_AC_CONFIG_USER_ARCH
|
||||
ZFS_AC_CONFIG_USER_IOCTL
|
||||
ZFS_AC_CONFIG_USER_ZLIB
|
||||
|
|
|
@ -57,9 +57,9 @@ AC_CONFIG_FILES([
|
|||
Makefile
|
||||
dracut/Makefile
|
||||
dracut/90zfs/Makefile
|
||||
udev/Makefile
|
||||
udev/rules.d/Makefile
|
||||
etc/Makefile
|
||||
etc/udev/Makefile
|
||||
etc/udev/rules.d/Makefile
|
||||
etc/init.d/Makefile
|
||||
etc/init.d/zfs.arch
|
||||
etc/init.d/zfs.gentoo
|
||||
|
|
|
@ -29,8 +29,8 @@ installkernel() {
|
|||
|
||||
install() {
|
||||
inst_rules "$moddir/90-zfs.rules"
|
||||
inst_rules /etc/udev/rules.d/60-zpool.rules
|
||||
inst_rules /etc/udev/rules.d/60-zvol.rules
|
||||
inst_rules /lib/udev/rules.d/60-zpool.rules
|
||||
inst_rules /lib/udev/rules.d/60-zvol.rules
|
||||
inst /etc/zfs/zdev.conf
|
||||
inst /etc/zfs/zpool.cache
|
||||
inst /etc/hostid
|
||||
|
|
|
@ -1 +1 @@
|
|||
SUBDIRS = init.d udev zfs
|
||||
SUBDIRS = init.d zfs
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
pkgsysconfdir = $(sysconfdir)/udev/rules.d
|
||||
|
||||
pkgsysconf_DATA = \
|
||||
60-zpool.rules \
|
||||
60-zvol.rules
|
||||
|
||||
EXTRA_DIST = \
|
||||
60-zpool.rules.in \
|
||||
60-zvol.rules.in
|
||||
|
||||
$(pkgsysconf_DATA):
|
||||
-$(SED) -e 's,@bindir\@,$(bindir),g' '$@.in' >'$@'
|
||||
|
||||
distclean-local::
|
||||
-$(RM) $(pkgsysconf_DATA)
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# /etc/udev/rules.d/60-zpool.rules
|
||||
# /lib/udev/rules.d/60-zpool.rules
|
||||
#
|
||||
|
||||
ENV{DEVTYPE}=="disk", IMPORT{program}="@bindir@/zpool_id -d %p"
|
||||
ENV{DEVTYPE}=="disk", IMPORT{program}="@udevdir@/zpool_id -d %p"
|
||||
|
||||
KERNEL=="*[!0-9]", ENV{SUBSYSTEM}=="block", ENV{ID_ZPOOL}=="?*", SYMLINK+="$env{ID_ZPOOL_PATH}"
|
||||
KERNEL=="*[0-9]", ENV{SUBSYSTEM}=="block", ENV{DEVTYPE}=="partition", ENV{ID_ZPOOL}=="?*", SYMLINK+="$env{ID_ZPOOL_PATH}-part%n"
|
|
@ -3,4 +3,4 @@
|
|||
# persistent disk links: /dev/zvol/dataset_name
|
||||
# also creates compatibilty symlink of /dev/dataset_name
|
||||
|
||||
KERNEL=="zd*" SUBSYSTEM=="block" ACTION=="add|change" PROGRAM="@bindir@/zvol_id $tempnode" SYMLINK+="zvol/%c %c"
|
||||
KERNEL=="zd*" SUBSYSTEM=="block" ACTION=="add|change" PROGRAM="@udevdir@/zvol_id $tempnode" SYMLINK+="zvol/%c %c"
|
|
@ -0,0 +1,14 @@
|
|||
udevrule_DATA = \
|
||||
60-zpool.rules \
|
||||
60-zvol.rules
|
||||
|
||||
EXTRA_DIST = \
|
||||
60-zpool.rules.in \
|
||||
60-zvol.rules.in
|
||||
|
||||
$(udevrule_DATA):
|
||||
-$(SED) -e 's,@udevdir\@,$(udevdir),g' '$@.in' >'$@'
|
||||
|
||||
distclean-local::
|
||||
-$(RM) $(udevrule_DATA)
|
||||
|
|
@ -3,9 +3,9 @@
|
|||
%define release @ZFS_META_RELEASE@
|
||||
%define debug_package %{nil}
|
||||
%define _prefix /
|
||||
%define _bindir /lib/udev
|
||||
%define _libexecdir /usr/libexec
|
||||
%define _datadir /usr/share
|
||||
%define _udevdir /lib/udev
|
||||
|
||||
Summary: ZFS Library and Utils
|
||||
Group: Utilities/System
|
||||
|
@ -61,7 +61,7 @@ which are ZFS aware.
|
|||
%prep
|
||||
%setup
|
||||
%build
|
||||
%configure --with-config=user --without-blkid
|
||||
%configure --with-config=user --without-blkid --with-udevdir=%{_udevdir}
|
||||
make
|
||||
|
||||
%install
|
||||
|
@ -80,8 +80,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%{_libdir}/*
|
||||
%{_mandir}/man8/*
|
||||
%{_sysconfdir}/init.d/*
|
||||
%{_sysconfdir}/udev/rules.d/*
|
||||
%{_sysconfdir}/zfs/*
|
||||
%{_udevdir}/*
|
||||
%{_udevdir}/rules.d/*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
|
|
Loading…
Reference in New Issue