@@ -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