summaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
authorDave Reisner <dreisner@archlinux.org>2012-05-03 20:14:42 +0200
committerDave Reisner <dreisner@archlinux.org>2012-05-12 15:30:32 +0200
commit41a290ce22844ac6b1d021b04df5f7659547cc56 (patch)
treefb39185340dec265d0cc7f603718a3fa779f8521 /install
parentb317b01465d81b2adadd5f8d964e59622a6a7a32 (diff)
downloadmkinitcpio-41a290ce22844ac6b1d021b04df5f7659547cc56.tar.gz
mkinitcpio-41a290ce22844ac6b1d021b04df5f7659547cc56.tar.xz
mkinitcpio: remove --basedir option
This option is just a bad idea. Initramfs creation is too important to get wrong, and running it from outside the root FS has too many gotchas, the worst of them being: - where do you pull hooks from? - how do you resolve binary dependencies within the root? In general, dealing with the extra luggage of the base directory makes the codebase more complicated than it needs to be (see all the '_' prefixed functions which are called from add functions). In favor of simplifying the code, and making it more maintainable, kill this off and force the sane option of chroot'ing into an install if the need arises. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Diffstat (limited to 'install')
-rw-r--r--install/autodetect4
-rw-r--r--install/consolefont8
-rw-r--r--install/fsck4
-rw-r--r--install/keymap4
4 files changed, 10 insertions, 10 deletions
diff --git a/install/autodetect b/install/autodetect
index 4ed7ccf..1daa429 100644
--- a/install/autodetect
+++ b/install/autodetect
@@ -25,7 +25,7 @@ build() {
auto_modules >"$MODULE_FILE"
# detect filesystem for root
- if rootfstype=$(findmnt -uno fstype "${BASEDIR:-/}"); then
+ if rootfstype=$(findmnt -uno fstype '/'); then
add_if_avail "$rootfstype"
else
error "failed to detect root filesystem"
@@ -33,7 +33,7 @@ build() {
fi
# detect filesystem for separate /usr
- if usrfstype=$(findmnt -snero fstype --tab-file "$BASEDIR/etc/fstab" /usr); then
+ if usrfstype=$(findmnt -snero fstype --tab-file '/etc/fstab' /usr); then
add_if_avail "$usrfstype"
fi
diff --git a/install/consolefont b/install/consolefont
index 2d2d8ea..cefbc45 100644
--- a/install/consolefont
+++ b/install/consolefont
@@ -5,20 +5,20 @@ build() {
# subshell to avoid namespace pollution
(
- for cfg in etc/{rc,vconsole}.conf; do
- [[ -s $BASEDIR/$cfg ]] && . "$BASEDIR/$cfg"
+ for cfg in /etc/{rc,vconsole}.conf; do
+ [[ -s $cfg ]] && . "$cfg"
done
[[ $FONT ]] && CONSOLEFONT=$FONT
if [[ $CONSOLEFONT ]]; then
- for file in "$BASEDIR/usr/share/kbd/consolefonts/$CONSOLEFONT".psf?(u)?(.gz); do
+ for file in "/usr/share/kbd/consolefonts/$CONSOLEFONT".psf?(u)?(.gz); do
if [[ -e $file ]]; then
[[ $file =~ \.(psfu?)(\.gz)?$ ]] && ext=${BASH_REMATCH[1]}
if [[ $file = *.gz ]]; then
gzip -cd "$file" > "$BUILDROOT/consolefont.$ext"
else
- add_file "${file#$BASEDIR}" "/consolefont.$ext"
+ add_file "$file" "/consolefont.$ext"
fi
exit 0
fi
diff --git a/install/fsck b/install/fsck
index baf1c3d..e8b5ea3 100644
--- a/install/fsck
+++ b/install/fsck
@@ -21,9 +21,9 @@ build() {
add_fsck $usrfstype && (( ++added ))
fi
else
- for fsck in "$BASEDIR"/{usr/,}{s,}bin/fsck.*; do
+ for fsck in /{usr/,}{s,}bin/fsck.*; do
[[ -f $fsck ]] || continue
- add_binary "${fsck#$BASEDIR}" && (( ++added ))
+ add_binary "$fsck" && (( ++added ))
done
fi
diff --git a/install/keymap b/install/keymap
index fe5e459..1dc25aa 100644
--- a/install/keymap
+++ b/install/keymap
@@ -7,8 +7,8 @@ build() {
l=$LANG
unset LANG
- for cfg in etc/{rc,vconsole,locale}.conf; do
- [[ -s $BASEDIR/$cfg ]] && . "$BASEDIR/$cfg"
+ for cfg in /etc/{rc,vconsole,locale}.conf; do
+ [[ -s $cfg ]] && . "$cfg"
done
[[ $LANG ]] && LOCALE=$LANG