Skip to content

Commit 9b0abc8

Browse files
Use jinja for loop
Signed-off-by: Alan Moore <alan.moore@canonical.com>
1 parent 4fc3ae3 commit 9b0abc8

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

shared/macros/10-bash.jinja

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1965,25 +1965,25 @@ fi
19651965
#}}
19661966
{{%- macro update_etc_default_grub_manually(arg_name, arg_name_value) -%}}
19671967
{{%- if 'ubuntu' in product -%}}
1968-
{{%- set grub_vars = "GRUB_CMDLINE_LINUX GRUB_CMDLINE_LINUX_DEFAULT" -%}}
1968+
{{%- set grub_vars = ['GRUB_CMDLINE_LINUX', 'GRUB_CMDLINE_LINUX_DEFAULT'] -%}}
19691969
{{%- else -%}}
1970-
{{%- set grub_vars = "GRUB_CMDLINE_LINUX" -%}}
1970+
{{%- set grub_vars = ['GRUB_CMDLINE_LINUX'] -%}}
19711971
{{%- endif -%}}
19721972

19731973
# Correct the form of default kernel command line in GRUB
1974-
for grub_var in {{{ grub_vars }}}; do
1975-
if grep -q "^\s*${grub_var}=\".*{{{ arg_name }}}=.*\"" '/etc/default/grub' ; then
1976-
# modify the GRUB command-line if an {{{ arg_name }}}= arg already exists
1977-
sed -i "s/\(^\s*${grub_var}=\".*\){{{ arg_name }}}=[^[:space:]]\+\(.*\"\)/\1{{{ arg_name_value }}}\2/" '/etc/default/grub'
1978-
# Add to already existing parameters
1979-
elif grep -q "^\s*${grub_var}=" '/etc/default/grub' ; then
1980-
# no {{{ arg_name }}}=arg is present, append it
1981-
sed -i "s/\(^\s*${grub_var}=\".*\)\"/\1 {{{ arg_name_value }}}\"/" '/etc/default/grub'
1982-
# Add parameters line if completely missing
1983-
else
1984-
echo "${grub_var}=\"{{{ arg_name_value }}}\"" >> '/etc/default/grub'
1985-
fi
1986-
done
1974+
{{%- for grub_var in grub_vars %}}
1975+
if grep -q '^\s*{{{ grub_var }}}=.*{{{ arg_name }}}=.*\"' '/etc/default/grub' ; then
1976+
# modify the GRUB command-line if an {{{ arg_name }}}= arg already exists
1977+
sed -i 's/\(^\s*{{{ grub_var }}}=".*\){{{ arg_name }}}=[^[:space:]]\+\(.*"\)/\1{{{ arg_name_value }}}\2/' '/etc/default/grub'
1978+
# Add to already existing parameters
1979+
elif grep -q '^\s*{{{ grub_var }}}=' '/etc/default/grub' ; then
1980+
# no {{{ arg_name }}}=arg is present, append it
1981+
sed -i 's/\(^\s*{{{ grub_var }}}=".*\)"/\1 {{{ arg_name_value }}}"/' '/etc/default/grub'
1982+
# Add parameters line if completely missing
1983+
else
1984+
echo '{{{ grub_var }}}="{{{ arg_name_value }}}"' >> '/etc/default/grub'
1985+
fi
1986+
{{%- endfor %}}
19871987
{{%- endmacro %}}
19881988

19891989

0 commit comments

Comments
 (0)