[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