summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Reisner <dreisner@archlinux.org>2011-06-27 02:04:44 +0200
committerDave Reisner <dreisner@archlinux.org>2011-06-27 02:21:54 +0200
commit8cc35dc1822efd83d38472b1cd3bc78fe889565d (patch)
tree78f5a49f68a11bcd365efea7f65945fcebc90885
parent84f474bfc3ceedf9d34bde1df75734fcfcdca239 (diff)
downloadmkinitcpio-8cc35dc1822efd83d38472b1cd3bc78fe889565d.tar.gz
mkinitcpio-8cc35dc1822efd83d38472b1cd3bc78fe889565d.tar.xz
install/base: use private API call to add config
We can't let add_file get its hands on the config file, because we need to be sure that an absolute path is honored. As a side effect, ensure that $BASEDIR is appended to the config file during preset processing. Thanks-to: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> Signed-off-by: Dave Reisner <dreisner@archlinux.org>
-rw-r--r--install/base4
-rwxr-xr-xmkinitcpio2
2 files changed, 4 insertions, 2 deletions
diff --git a/install/base b/install/base
index d5fcef7..446167c 100644
--- a/install/base
+++ b/install/base
@@ -11,8 +11,10 @@ build() {
add_file "/lib/initcpio/init_functions" "/init_functions"
add_file "/lib/initcpio/init" "/init"
- add_file "$CONFIG" "/config"
add_file "/etc/modprobe.d/usb-load-ehci-first.conf"
+
+ # private API call is required here
+ _add_file "/config" "$CONFIG" 644
}
help() {
diff --git a/mkinitcpio b/mkinitcpio
index 7a30be0..5389aca 100755
--- a/mkinitcpio
+++ b/mkinitcpio
@@ -209,7 +209,7 @@ if [[ $PRESET ]]; then
preset_config=${p}_config
if [[ ${!preset_config:-$ALL_config} ]]; then
- preset_cmd+=(-c "${!preset_config:-$ALL_config}")
+ preset_cmd+=(-c "$BASEDIR${!preset_config:-$ALL_config}")
else
warning "No configuration file specified. Skipping image '%s'" "$p"
continue