Skip to content

Commit d40198d

Browse files
committed
efi: remove trailing whitespaces to get correct product name
See coreos#690 (comment)
1 parent da0e0fa commit d40198d

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/efi.rs

+12-2
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ impl Efi {
155155
}
156156
let sysroot = Dir::open_ambient_dir("/", cap_std::ambient_authority())?;
157157
let product_name = get_product_name(&sysroot)?;
158-
log::debug!("Get product name: {product_name}");
158+
log::debug!("Get product name: '{product_name}'");
159159
assert!(product_name.len() > 0);
160160
// clear all the boot entries that match the target name
161161
clear_efi_target(&product_name)?;
@@ -169,7 +169,8 @@ fn get_product_name(sysroot: &Dir) -> Result<String> {
169169
if sysroot.exists(release_path) {
170170
let content = sysroot.read_to_string(release_path)?;
171171
let re = regex::Regex::new(r" *release.*").unwrap();
172-
return Ok(re.replace_all(&content, "").to_string());
172+
let name = re.replace_all(&content, "").trim().to_string();
173+
return Ok(name);
173174
}
174175
// Read /etc/os-release
175176
let release: OsRelease = OsRelease::new()?;
@@ -677,6 +678,15 @@ Boot0003* test";
677678
let name = get_product_name(&tmpd)?;
678679
assert_eq!("Red Hat Enterprise Linux CoreOS", name);
679680
}
681+
{
682+
tmpd.atomic_write(
683+
"etc/system-release",
684+
"Red Hat Enterprise Linux CoreOS release 4
685+
",
686+
)?;
687+
let name = get_product_name(&tmpd)?;
688+
assert_eq!("Red Hat Enterprise Linux CoreOS", name);
689+
}
680690
{
681691
tmpd.remove_file("etc/system-release")?;
682692
let name = get_product_name(&tmpd)?;

0 commit comments

Comments
 (0)