Skip to content

Commit d8b8d12

Browse files
committed
container-encapsulate: Mark initramfs as exclusive component
The initramfs is not provided by an RPM package, but should be placed in its own exclusive layer. Therefore, it should be added to `path_components`, not `path_packages`, in the `MappingBuilder`, and should have component (not package) metadata associated to it. Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
1 parent c5956c1 commit d8b8d12

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

rust/src/container.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -447,26 +447,20 @@ pub fn container_encapsulate(args: Vec<String>) -> CxxResult<()> {
447447
let initramfs = initramfs.downcast_ref::<ostree::RepoFile>().unwrap();
448448
let checksum = initramfs.checksum();
449449
let name = "initramfs".to_string();
450-
let identifier = format!("{} (kernel {})", name, kernel_ver).into_boxed_str();
451-
let identifier = Rc::from(identifier);
450+
let identifier_str = format!("{} (kernel {})", name, kernel_ver);
451+
let identifier = Rc::from(identifier_str.clone().into_boxed_str());
452452

453453
state
454454
.checksum_paths
455455
.entry(checksum.to_string())
456456
.or_default()
457457
.insert(path.clone());
458458
state
459-
.path_packages
459+
.path_components
460460
.entry(path.clone())
461461
.or_default()
462462
.insert(Rc::clone(&identifier));
463-
state.packagemeta.insert(ObjectSourceMeta {
464-
identifier: Rc::clone(&identifier),
465-
name: Rc::from(name),
466-
srcid: Rc::clone(&identifier),
467-
change_time_offset: u32::MAX,
468-
change_frequency: u32::MAX,
469-
});
463+
state.component_ids.insert(identifier_str);
470464
state.skip.insert(path);
471465
}
472466
}

0 commit comments

Comments
 (0)