Skip to content

Commit 5db256c

Browse files
committed
extend payload to copy payloads to a level deeper to EFI sub dir
modified install to read from the EFI sub dir for the payload
1 parent 9e1b058 commit 5db256c

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/efi.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,9 @@ impl Component for Efi {
402402
);
403403
let firmware_meta: ContentMetadata =
404404
serde_json::from_reader(ver_dir.open_file(meta_path)?)?;
405-
let firmware_filetree = crate::filetree::FileTree::new_from_dir(&ver_dir)?;
405+
let payload_src_dir = ver_dir.sub_dir("EFI")?;
406+
let firmware_filetree =
407+
crate::filetree::FileTree::new_from_dir(&payload_src_dir)?;
406408
for file_path_str in firmware_filetree.children.keys() {
407409
let file_path = Path::new(file_path_str);
408410
if file_path != meta_path {
@@ -558,7 +560,10 @@ impl Component for Efi {
558560
};
559561

560562
// Use the flattened destination path
561-
let final_dest_path = dest_efidir_base.join(&pkg_name).join(&version_release_str);
563+
let matadata_path = dest_efidir_base.join(&pkg_name).join(&version_release_str);
564+
std::fs::create_dir_all(&matadata_path)?;
565+
566+
let final_dest_path = matadata_path.join("EFI");
562567
std::fs::create_dir_all(&final_dest_path)?;
563568

564569
// Copy the payload files
@@ -584,7 +589,7 @@ impl Component for Efi {
584589
}
585590

586591
// Create the metadata file for the firmware
587-
let firmware_meta_path = final_dest_path.join("EFI.json");
592+
let firmware_meta_path = matadata_path.join("EFI.json");
588593
let meta_file = std::fs::File::create(firmware_meta_path)?;
589594
serde_json::to_writer(meta_file, &meta_from_src)?;
590595
log::debug!("Wrote firmware metadata for {}", pkg_name);

0 commit comments

Comments
 (0)