[arch-projects] [mkinitcpio][PATCH 11/19] use new API for install hooks

Dave Reisner dreisner at archlinux.org
Sun May 13 13:57:14 EDT 2012


Signed-off-by: Dave Reisner <dreisner at archlinux.org>
---
 functions           |    2 +-
 install/consolefont |    6 +-----
 install/filesystems |    4 ++--
 install/fw          |    8 ++++++--
 install/ide         |    4 +---
 install/keymap      |    4 +---
 install/memdisk     |    9 ++++++---
 install/mmc         |    7 +++----
 install/pata        |    6 ++++--
 install/resume      |    2 +-
 install/sata        |    6 ++++--
 install/scsi        |    9 +++++----
 install/shutdown    |    7 ++++---
 install/sleep       |    2 +-
 install/usb         |   12 +++++-------
 install/usbinput    |    5 +++--
 install/virtio      |    2 +-
 17 files changed, 49 insertions(+), 46 deletions(-)

diff --git a/functions b/functions
index ad24076..b678435 100644
--- a/functions
+++ b/functions
@@ -219,7 +219,7 @@ all_modules() {
         mod=${mod##*/}
         mod="${mod%.ko*}"
         printf '%s\n' "${mod//-/_}"
-    done < <(find "$MODULEDIR" -name '*.ko*' -print0 2>/dev/null | grep -Zz "$@")
+    done < <(find "$MODULEDIR" -name '*.ko*' -print0 2>/dev/null | grep -EZz "$@")
 
     (( count ))
 }
diff --git a/install/consolefont b/install/consolefont
index cefbc45..8127502 100644
--- a/install/consolefont
+++ b/install/consolefont
@@ -1,8 +1,6 @@
 #!/bin/bash
 
 build() {
-    local file ext
-
     # subshell to avoid namespace pollution
     (
         for cfg in /etc/{rc,vconsole}.conf; do
@@ -29,9 +27,7 @@ build() {
             warning "consolefont: no font found in configuration"
             exit 1
         fi
-    )
-
-    (( $? == 0 )) && SCRIPT=consolefont
+    ) && add_runscript
 }
 
 help() {
diff --git a/install/filesystems b/install/filesystems
index 9230b94..162768a 100644
--- a/install/filesystems
+++ b/install/filesystems
@@ -2,9 +2,9 @@
 
 build() {
     if (( fs_autodetect_failed )); then
-        MODULES=$(all_modules '/kernel/fs' | grep -v "nls")
+        add_all_modules -f 'nls' '/kernel/fs'
     else
-        MODULES=$(checked_modules '/kernel/fs' | grep -v "nls")
+        add_checked_modules -f 'nls' '/kernel/fs'
     fi
 }
 
diff --git a/install/fw b/install/fw
index f624de0..98c05ab 100644
--- a/install/fw
+++ b/install/fw
@@ -1,9 +1,13 @@
 #!/bin/bash
 
 build() {
-    MODULES=$(checked_modules "/drivers/firewire/")
+    local mod
 
-    [[ $MODULES ]] && MODULES+=" firewire-sbp2? sd_mod? sr_mod?"
+    if add_checked_modules '/drivers/firewire/'; then
+        for mod in firewire-sbp2 sd_mod sr_mod; do
+            add_module "$mod?"
+        done
+    fi
 }
 
 help() {
diff --git a/install/ide b/install/ide
index a8d9e97..5531132 100644
--- a/install/ide
+++ b/install/ide
@@ -1,9 +1,7 @@
 #!/bin/bash
 
 build() {
-    MODULES="$(checked_modules "/ide/" | grep -v "legacy")"
-
-    [[ $MODULES ]] && MODULES+=" ide-gd_mod?"
+    add_checked_modules "/ide/" && add_module "ide-gd_mod?"
 }
 
 help() {
diff --git a/install/keymap b/install/keymap
index 1dc25aa..99b816a 100644
--- a/install/keymap
+++ b/install/keymap
@@ -24,9 +24,7 @@ build() {
             warning "keymap: hook specified, but no KEYMAP found in configuration"
             return 1
         fi
-    )
-
-    (( $? == 0 )) && SCRIPT=keymap
+    ) && add_runscript
 }
 
 help() {
diff --git a/install/memdisk b/install/memdisk
index b0d03f3..9b3577d 100644
--- a/install/memdisk
+++ b/install/memdisk
@@ -1,10 +1,13 @@
 #!/bin/bash
 
 build() {
-    MODULES="phram mtdblock"
-    BINARIES="/usr/bin/memdiskfind"
-    SCRIPT="memdisk"
+    add_module 'phram'
+    add_module 'mtdblock'
+
     add_file /usr/lib/initcpio/udev/01-memdisk.rules /lib/udev/rules.d/01-memdisk.rules
+    add_binary "memdiskfind"
+
+    add_runscript
 }
 
 help() {
diff --git a/install/mmc b/install/mmc
index fb89239..60068df 100644
--- a/install/mmc
+++ b/install/mmc
@@ -1,10 +1,9 @@
 #!/bin/bash
 
 build() {
-    MODULES=$(checked_modules "/mmc")
-
-    if [[ $MODULES ]]; then
-        MODULES+=" tifm_7xx1 mmc_block"
+    if add_checked_modules '/mmc'; then
+        add_module 'tifm_7xx1'
+        add_module 'mmc_block'
     fi
 }
 
diff --git a/install/pata b/install/pata
index 76f268c..bcf3809 100644
--- a/install/pata
+++ b/install/pata
@@ -1,11 +1,13 @@
 #!/bin/bash
 
 build() {
+    local filter added
+
     for filter in 'ata/pata_*' 'ata/ata_generic' 'ata/ata_piix'; do
-        MODULES+=" $(checked_modules "$filter")"
+        add_checked_modules "$filter" && (( ++added ))
     done
 
-    [[ $MODULES ]] && MODULES+=" sd_mod?"
+    (( added )) && add_module "sd_mod?"
 }
 
 help() {
diff --git a/install/resume b/install/resume
index d261aad..914bca2 100644
--- a/install/resume
+++ b/install/resume
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 build() {
-    SCRIPT="resume"
+    add_runscript
 }
 
 help() {
diff --git a/install/sata b/install/sata
index c9b67c3..c6a2ade 100644
--- a/install/sata
+++ b/install/sata
@@ -1,12 +1,14 @@
 #!/bin/bash
 
 build() {
+    local filter added
+
     for filter in 'scsi/.*ata' 'block/sx8' 'ata/sata_*' \
                   'ata/ahci' 'ata/pdc_adma' 'ata/ata_piix'; do
-        MODULES+=" $(checked_modules "$filter")"
+        add_checked_modules "$filter" && (( ++added ))
     done
 
-    [[ $MODULES ]] && MODULES+=" sd_mod?"
+    (( added )) && add_module "sd_mod?"
 }
 
 help() {
diff --git a/install/scsi b/install/scsi
index 4c2abc5..ab15e8c 100644
--- a/install/scsi
+++ b/install/scsi
@@ -1,12 +1,13 @@
 #!/bin/bash
 
 build(){
+    local filter added
 
-    MODULES="$(checked_modules "/scsi/" | grep -vE '(imm|ata|pcmcia)')
-             $(checked_modules "/block/" | grep -E '(cciss|cpqarray|DAC960)')
-             $(checked_modules "/fusion/")"
+    add_checked_modules -f '(imm|ata|pcmcia)' '/scsi/' && (( ++added ))
+    add_checked_modules -f '(cciss|cpqarray|DAC960)' '/block/' && (( ++added ))
+    add_checked_modules '/fusion/' && (( ++added ))
 
-    [[ $MODULES ]] && MODULES+=" sd_mod?"
+    (( added )) && add_modules 'sd_mod?'
 }
 
 help() {
diff --git a/install/shutdown b/install/shutdown
index 600209e..e9a5d93 100644
--- a/install/shutdown
+++ b/install/shutdown
@@ -1,10 +1,11 @@
 #!/bin/bash
 
 build() {
-    BINARIES='cp lsblk'
-    SCRIPT='shutdown'
-
+    add_binary cp
+    add_binary lsblk
     add_file "/usr/lib/initcpio/shutdown" "/shutdown"
+
+    add_runscript
 }
 
 help() {
diff --git a/install/sleep b/install/sleep
index b81e1ca..c2bdcab 100644
--- a/install/sleep
+++ b/install/sleep
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 build() {
-    SCRIPT="sleep"
+    add_runscript
 }
 
 help() {
diff --git a/install/usb b/install/usb
index fcb2a47..2b36c35 100644
--- a/install/usb
+++ b/install/usb
@@ -1,13 +1,11 @@
 #!/bin/bash
 
 build() {
-    local module=
-
-    MODULES="$(checked_modules "/usb/host" | grep -ve "_cs" -e "sl811_hcd" -e "isp116x_hcd")"
-
-    if [[ $MODULES ]]; then
-        MODULES+=" usb_storage? sd_mod? sr_mod?"
-        MODULES+=" $(checked_modules "drivers/usb/storage/ums-*")"
+    if add_checked_modules -f '(_cs|sl811_hcd|isp116x_hcd)' '/usb/host'; then
+        add_module 'usb_storage?'
+        add_module 'sd_mod?'
+        add_module 'sr_mod?'
+        add_checked_modules 'drivers/usb/storage/ums-*'
     fi
 }
 
diff --git a/install/usbinput b/install/usbinput
index f89d0bd..f427600 100644
--- a/install/usbinput
+++ b/install/usbinput
@@ -1,8 +1,9 @@
 #!/bin/bash
 
 build() {
-    MODULES=" $(checked_modules "/usb/host" | grep -ve "_cs" -e "sl811_hcd" -e "isp116x_hcd")"
-    MODULES+=" $(all_modules "/hid/hid-") usbhid?"
+    add_checked_modules -f '(_cs|sl811_hcd|isp116x_hcd)' '/usb/host'
+    add_all_modules '/hid/hid-'
+    add_module 'usbhid?'
 }
 
 help() {
diff --git a/install/virtio b/install/virtio
index 0343e9f..10037ab 100644
--- a/install/virtio
+++ b/install/virtio
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 build() {
-    MODULES="$(checked_modules 'virtio_\(blk\|pci\)')"
+    add_checked_modules 'virtio_(blk|pci)'
 }
 
 help() {
-- 
1.7.10.2



More information about the arch-projects mailing list