diff options
author | Colin Walters <walters@verbum.org> | 2013-09-19 22:41:33 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2013-09-19 22:41:33 -0400 |
commit | 08b8734576eb198a27a8f5c6ba0dfbb74843071e (patch) | |
tree | 2a72e9ed43648fa295c43642c9284d52e76532e8 | |
parent | d03b8bbad9f40024b994c03960758446c614f7a6 (diff) | |
download | ostree-08b8734576eb198a27a8f5c6ba0dfbb74843071e.tar.gz |
deploy: Remove checksum from generated loader entries
The actual deployment checksum shouldn't be in there, because we may
just swap bootlinks, rendering the name of the old bootloader entry
file invalid. Thankfully nothing actually parsed the names of these
files, so let's just use the index.
-rw-r--r-- | src/libostree/ostree-sysroot-deploy.c | 5 | ||||
-rwxr-xr-x | tests/test-admin-deploy-1.sh | 16 |
2 files changed, 10 insertions, 11 deletions
diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c index 8a6fd4ea..e0232dd2 100644 --- a/src/libostree/ostree-sysroot-deploy.c +++ b/src/libostree/ostree-sysroot-deploy.c @@ -850,10 +850,9 @@ install_deployment_kernel (OstreeSysroot *sysroot, bootcsumdir = ot_gfile_resolve_path_printf (bootdir, "ostree/%s-%s", osname, bootcsum); - bootconfpath = ot_gfile_resolve_path_printf (bootdir, "loader.%d/entries/ostree-%s-%s-%d.conf", + bootconfpath = ot_gfile_resolve_path_printf (bootdir, "loader.%d/entries/ostree-%s-%d.conf", new_bootversion, osname, - ostree_deployment_get_csum (deployment), - ostree_deployment_get_bootserial (deployment)); + ostree_deployment_get_index (deployment)); if (!gs_file_ensure_directory (bootcsumdir, TRUE, cancellable, error)) goto out; diff --git a/tests/test-admin-deploy-1.sh b/tests/test-admin-deploy-1.sh index 78d6ce7e..d02752dd 100755 --- a/tests/test-admin-deploy-1.sh +++ b/tests/test-admin-deploy-1.sh @@ -41,9 +41,9 @@ echo "ok deploy command" assert_not_has_dir sysroot/boot/loader.0 assert_has_dir sysroot/boot/loader.1 assert_has_dir sysroot/ostree/boot.1.1 -assert_has_file sysroot/boot/loader/entries/ostree-testos-${rev}-0.conf -assert_file_has_content sysroot/boot/loader/entries/ostree-testos-${rev}-0.conf 'options.* root=LABEL=MOO' -assert_file_has_content sysroot/boot/loader/entries/ostree-testos-${rev}-0.conf 'options.* quiet' +assert_has_file sysroot/boot/loader/entries/ostree-testos-0.conf +assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.* root=LABEL=MOO' +assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.* quiet' assert_file_has_content sysroot/boot/ostree/testos-${bootcsum}/vmlinuz-3.6.0 'a kernel' assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.0/etc/os-release 'NAME=TestOS' assert_file_has_content sysroot/ostree/boot.1/testos/${bootcsum}/0/etc/os-release 'NAME=TestOS' @@ -60,7 +60,7 @@ assert_not_has_dir sysroot/ostree/boot.0.0 assert_not_has_dir sysroot/ostree/boot.1.0 assert_not_has_dir sysroot/ostree/boot.1.1 # Ensure we propagated kernel arguments from previous deployment -assert_file_has_content sysroot/boot/loader/entries/ostree-testos-${rev}-0.conf 'options.* root=LABEL=MOO' +assert_file_has_content sysroot/boot/loader/entries/ostree-testos-0.conf 'options.* root=LABEL=MOO' assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.1/etc/os-release 'NAME=TestOS' assert_file_has_content sysroot/ostree/boot.0/testos/${bootcsum}/0/etc/os-release 'NAME=TestOS' ostree admin --sysroot=sysroot status @@ -81,8 +81,8 @@ echo "ok third deploy (swap)" ostree admin --sysroot=sysroot deploy --os=otheros testos/buildmaster/x86_64-runtime assert_not_has_dir sysroot/boot/loader.0 assert_has_dir sysroot/boot/loader.1 -assert_has_file sysroot/boot/loader/entries/ostree-testos-${rev}-0.conf -assert_has_file sysroot/boot/loader/entries/ostree-otheros-${rev}-0.conf +assert_has_file sysroot/boot/loader/entries/ostree-testos-1.conf +assert_has_file sysroot/boot/loader/entries/ostree-otheros-0.conf assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.1/etc/os-release 'NAME=TestOS' assert_file_has_content sysroot/ostree/deploy/otheros/deploy/${rev}.0/etc/os-release 'NAME=TestOS' ostree admin --sysroot=sysroot status @@ -92,9 +92,9 @@ echo "ok independent deploy" ostree admin --sysroot=sysroot deploy --retain --os=testos testos:testos/buildmaster/x86_64-runtime assert_has_dir sysroot/boot/loader.0 assert_not_has_dir sysroot/boot/loader.1 -assert_has_file sysroot/boot/loader/entries/ostree-testos-${rev}-0.conf +assert_has_file sysroot/boot/loader/entries/ostree-testos-0.conf assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.2/etc/os-release 'NAME=TestOS' -assert_has_file sysroot/boot/loader/entries/ostree-testos-${rev}-2.conf +assert_has_file sysroot/boot/loader/entries/ostree-testos-2.conf assert_file_has_content sysroot/ostree/deploy/testos/deploy/${rev}.3/etc/os-release 'NAME=TestOS' ostree admin --sysroot=sysroot status |