mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-22 17:35:55 +03:00
deploy: Also honor multiply-specified kernel args with existing config
If we deployed a new tree inside an existing OS, inheriting kernel args, we need to use append() instead of replace() to avoid collapsing multiply specified kernel arguments like console=/dev/foo console=/dev/bar. Reported-by: Dusty Mabe <dusty@dustymabe.com>
This commit is contained in:
parent
22bd6d9102
commit
82fb07e4ae
@ -150,7 +150,7 @@ ot_admin_builtin_deploy (int argc, char **argv, OstreeSysroot *sysroot, GCancell
|
||||
OstreeBootconfigParser *bootconfig = ostree_deployment_get_bootconfig (merge_deployment);
|
||||
gs_strfreev char **previous_args = g_strsplit (ostree_bootconfig_parser_get (bootconfig, "options"), " ", -1);
|
||||
|
||||
_ostree_kernel_args_replace_argv (kargs, previous_args);
|
||||
_ostree_kernel_args_append_argv (kargs, previous_args);
|
||||
}
|
||||
|
||||
if (opt_kernel_argv)
|
||||
|
@ -154,3 +154,18 @@ if ostree admin --sysroot=sysroot deploy --os=unknown testos:testos/buildmaster/
|
||||
assert_not_reached "Unexpected successful deploy of unknown OS"
|
||||
fi
|
||||
echo "ok deploy with unknown OS"
|
||||
|
||||
ostree admin --sysroot=sysroot deploy --os=testos --karg-append=console=/dev/foo --karg-append=console=/dev/bar testos:testos/buildmaster/x86_64-runtime
|
||||
ostree admin --sysroot=sysroot deploy --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'console=/dev/foo.*console=/dev/bar'
|
||||
|
||||
echo "ok deploy with multiple kernel args"
|
||||
|
||||
origrev=$(ostree --repo=sysroot/ostree/repo rev-parse testos/buildmaster/x86_64-runtime)
|
||||
os_repository_new_commit 0 "test upgrade multiple kernel args"
|
||||
ostree admin --sysroot=sysroot upgrade --os=testos
|
||||
newrev=$(ostree --repo=sysroot/ostree/repo rev-parse testos/buildmaster/x86_64-runtime)
|
||||
assert_not_streq ${origrev} ${newrev}
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'console=/dev/foo.*console=/dev/bar'
|
||||
|
||||
echo "ok upgrade with multiple kernel args"
|
||||
|
Loading…
Reference in New Issue
Block a user