[PATCH v2] Move udev rules generation to pre-trigger (#958924)
Vratislav Podzimek
vpodzime at redhat.com
Mon May 13 11:38:50 UTC 2013
On Fri, 2013-05-10 at 20:31 -0700, Brian C. Lane wrote:
> From: "Brian C. Lane" <bcl at redhat.com>
>
> driver-disk does its own udev trigger so we need to generate these rules
> after it runs. Otherwise it will try to run them twice.
>
> Source the anaconda-lib in genrules scripts, I was seeing an error in
> the dracut logs about a missing function.
> ---
> dracut/anaconda-lib.sh | 2 +-
> dracut/kickstart-genrules.sh | 2 ++
> dracut/module-setup.sh | 6 +++---
> dracut/repo-genrules.sh | 3 +--
> dracut/updates-genrules.sh | 2 ++
> 5 files changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/dracut/anaconda-lib.sh b/dracut/anaconda-lib.sh
> index 51affc7..86ab570 100755
> --- a/dracut/anaconda-lib.sh
> +++ b/dracut/anaconda-lib.sh
> @@ -203,7 +203,7 @@ run_kickstart() {
>
> # replay udev events to trigger actions
> if [ "$do_disk" ]; then
> - . $hookdir/pre-udev/*repo-genrules.sh
> + . $hookdir/pre-trigger/*repo-genrules.sh
> udevadm control --reload
> udevadm trigger --action=change --subsystem-match=block
> fi
> diff --git a/dracut/kickstart-genrules.sh b/dracut/kickstart-genrules.sh
> index 880c553..f29ad87 100755
> --- a/dracut/kickstart-genrules.sh
> +++ b/dracut/kickstart-genrules.sh
> @@ -1,6 +1,8 @@
> #!/bin/sh
> # generate udev rules for fetching kickstarts.
>
> +. /lib/anaconda-lib.sh
> +
> case "${kickstart%%:*}" in
> http|https|ftp|nfs)
> # handled by fetch-kickstart-net in the online hook
> diff --git a/dracut/module-setup.sh b/dracut/module-setup.sh
> index bea2da4..8e75e2c 100755
> --- a/dracut/module-setup.sh
> +++ b/dracut/module-setup.sh
> @@ -28,9 +28,9 @@ install() {
> inst_hook cmdline 27 "$moddir/parse-anaconda-repo.sh"
> inst_hook cmdline 28 "$moddir/parse-anaconda-net.sh"
> inst_hook pre-udev 30 "$moddir/anaconda-modprobe.sh"
> - inst_hook pre-udev 40 "$moddir/repo-genrules.sh"
> - inst_hook pre-udev 40 "$moddir/kickstart-genrules.sh"
> - inst_hook pre-udev 40 "$moddir/updates-genrules.sh"
> + inst_hook pre-trigger 50 "$moddir/repo-genrules.sh"
> + inst_hook pre-trigger 50 "$moddir/kickstart-genrules.sh"
> + inst_hook pre-trigger 50 "$moddir/updates-genrules.sh"
> inst_hook initqueue/settled 00 "$moddir/anaconda-ks-sendheaders.sh"
> inst_hook initqueue/online 80 "$moddir/anaconda-netroot.sh"
> inst "$moddir/anaconda-diskroot" "/sbin/anaconda-diskroot"
> diff --git a/dracut/repo-genrules.sh b/dracut/repo-genrules.sh
> index 8b95ce1..55abd32 100755
> --- a/dracut/repo-genrules.sh
> +++ b/dracut/repo-genrules.sh
> @@ -2,8 +2,7 @@
> # generate udev rules for handling anaconda-specific root devices
> # (just the disk-based ones - the network ones are done by netroot)
>
> -# import anaconda-lib for when_diskdev_appears
> -command -v when_diskdev_appears >/dev/null || . /lib/anaconda-lib.sh
> +. /lib/anaconda-lib.sh
>
> case "$root" in
> anaconda-disk:*)
> diff --git a/dracut/updates-genrules.sh b/dracut/updates-genrules.sh
> index 3ed1e2c..6dd8aee 100755
> --- a/dracut/updates-genrules.sh
> +++ b/dracut/updates-genrules.sh
> @@ -1,6 +1,8 @@
> #!/bin/sh
> # generate udev rules for fetching updates
>
> +. /lib/anaconda-lib.sh
> +
> updates=$anac_updates
> [ -n "$updates" ] || return
> case $updates in
Looks good to me.
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
More information about the anaconda-patches
mailing list