Skip to content

Commit 0b61788

Browse files
committed
installer: fix reading/writing to conf file
in various places, the regexes were subtly wrong, and didn't match whole words. Thus, it could look at the mount conf for /dev/sda1 instead of /dev/sda10. fixes: #394
1 parent a1519c6 commit 0b61788

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

installer.sh

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -123,14 +123,14 @@ DIE() {
123123
}
124124

125125
set_option() {
126-
if grep -Eq "^${1}.*" $CONF_FILE; then
127-
sed -i -e "/^${1}.*/d" $CONF_FILE
126+
if grep -Eq "^${1} .*" $CONF_FILE; then
127+
sed -i -e "/^${1} .*/d" $CONF_FILE
128128
fi
129129
echo "${1} ${2}" >>$CONF_FILE
130130
}
131131

132132
get_option() {
133-
echo $(grep -E "^${1}.*" $CONF_FILE|sed -e "s|${1}||")
133+
grep -E "^${1} .*" $CONF_FILE | sed -e "s|^${1} ||"
134134
}
135135

136136
# ISO-639 language names for locales
@@ -366,7 +366,7 @@ get_partfs() {
366366
# that the user is shown the proper fs type if they install the system.
367367
local part="$1"
368368
local default="${2:-none}"
369-
local fstype=$(grep "MOUNTPOINT ${part}" "$CONF_FILE"|awk '{print $3}')
369+
local fstype=$(grep "MOUNTPOINT ${part} " "$CONF_FILE"|awk '{print $3}')
370370
echo "${fstype:-$default}"
371371
}
372372

@@ -482,9 +482,9 @@ menu_filesystems() {
482482
local bdev=$(basename $dev)
483483
local ddev=$(basename $(dirname $dev))
484484
if [ "$ddev" != "dev" ]; then
485-
sed -i -e "/^MOUNTPOINT \/dev\/${ddev}\/${bdev}.*/d" $CONF_FILE
485+
sed -i -e "/^MOUNTPOINT \/dev\/${ddev}\/${bdev} .*/d" $CONF_FILE
486486
else
487-
sed -i -e "/^MOUNTPOINT \/dev\/${bdev}.*/d" $CONF_FILE
487+
sed -i -e "/^MOUNTPOINT \/dev\/${bdev} .*/d" $CONF_FILE
488488
fi
489489
echo "MOUNTPOINT $dev $1 $2 $3 $4" >>$CONF_FILE
490490
fi
@@ -1024,7 +1024,7 @@ validate_filesystems() {
10241024
local bootdev=$(get_option BOOTLOADER)
10251025

10261026
unset TARGETFS
1027-
mnts=$(grep -E '^MOUNTPOINT.*' $CONF_FILE)
1027+
mnts=$(grep -E '^MOUNTPOINT .*' $CONF_FILE)
10281028
set -- ${mnts}
10291029
while [ $# -ne 0 ]; do
10301030
fmt=""
@@ -1067,7 +1067,7 @@ as FAT32, mountpoint /boot/efi and at least with 100MB of size." ${MSGBOXSIZE}
10671067
create_filesystems() {
10681068
local mnts dev mntpt fstype fspassno mkfs size rv uuid
10691069

1070-
mnts=$(grep -E '^MOUNTPOINT.*' $CONF_FILE | sort -k 5)
1070+
mnts=$(grep -E '^MOUNTPOINT .*' $CONF_FILE | sort -k 5)
10711071
set -- ${mnts}
10721072
while [ $# -ne 0 ]; do
10731073
dev=$2; fstype=$3; mntpt="$5"; mkfs=$6
@@ -1137,7 +1137,7 @@ failed to mount $dev on ${mntpt}! check $LOG for errors." ${MSGBOXSIZE}
11371137
done
11381138

11391139
# mount all filesystems in target rootfs
1140-
mnts=$(grep -E '^MOUNTPOINT.*' $CONF_FILE | sort -k 5)
1140+
mnts=$(grep -E '^MOUNTPOINT .*' $CONF_FILE | sort -k 5)
11411141
set -- ${mnts}
11421142
while [ $# -ne 0 ]; do
11431143
dev=$2; fstype=$3; mntpt="$5"
@@ -1171,7 +1171,7 @@ mount_filesystems() {
11711171
}
11721172

11731173
umount_filesystems() {
1174-
local mnts="$(grep -E '^MOUNTPOINT.*swap.*$' $CONF_FILE | sort -r -k 5)"
1174+
local mnts="$(grep -E '^MOUNTPOINT .* swap .*$' $CONF_FILE | sort -r -k 5)"
11751175
set -- ${mnts}
11761176
while [ $# -ne 0 ]; do
11771177
local dev=$2; local fstype=$3
@@ -1558,8 +1558,8 @@ menu() {
15581558
if [ $? -eq 3 ]; then
15591559
# Show settings
15601560
cp $CONF_FILE /tmp/conf_hidden.$$;
1561-
sed -i "s/^ROOTPASSWORD.*/ROOTPASSWORD <-hidden->/" /tmp/conf_hidden.$$
1562-
sed -i "s/^USERPASSWORD.*/USERPASSWORD <-hidden->/" /tmp/conf_hidden.$$
1561+
sed -i "s/^ROOTPASSWORD .*/ROOTPASSWORD <-hidden->/" /tmp/conf_hidden.$$
1562+
sed -i "s/^USERPASSWORD .*/USERPASSWORD <-hidden->/" /tmp/conf_hidden.$$
15631563
DIALOG --title "Saved settings for installation" --textbox /tmp/conf_hidden.$$ 14 60
15641564
rm /tmp/conf_hidden.$$
15651565
return

0 commit comments

Comments
 (0)