@@ -14,6 +14,7 @@ use crate::sysroot::SysrootLock;
14
14
use crate :: utils:: ResultExt ;
15
15
use anyhow:: { anyhow, Context } ;
16
16
use camino:: { Utf8Path , Utf8PathBuf } ;
17
+ use canon_json:: CanonJsonSerialize ;
17
18
use cap_std_ext:: cap_std;
18
19
use cap_std_ext:: cap_std:: fs:: { Dir , MetadataExt } ;
19
20
use cap_std_ext:: cmdext:: CapStdExtCommandExt ;
@@ -603,9 +604,13 @@ impl ImageImporter {
603
604
Self :: CACHED_KEY_MANIFEST_DIGEST ,
604
605
manifest_digest. to_string ( ) ,
605
606
) ;
606
- let cached_manifest = serde_json:: to_string ( manifest) . context ( "Serializing manifest" ) ?;
607
+ let cached_manifest = manifest
608
+ . to_canon_json_string ( )
609
+ . context ( "Serializing manifest" ) ?;
607
610
commitmeta. insert ( Self :: CACHED_KEY_MANIFEST , cached_manifest) ;
608
- let cached_config = serde_json:: to_string ( config) . context ( "Serializing config" ) ?;
611
+ let cached_config = config
612
+ . to_canon_json_string ( )
613
+ . context ( "Serializing config" ) ?;
609
614
commitmeta. insert ( Self :: CACHED_KEY_CONFIG , cached_config) ;
610
615
let commitmeta = commitmeta. to_variant ( ) ;
611
616
// Clone these to move into blocking method
@@ -1042,15 +1047,19 @@ impl ImageImporter {
1042
1047
let _ = self . layer_byte_progress . take ( ) ;
1043
1048
let _ = self . layer_progress . take ( ) ;
1044
1049
1045
- let serialized_manifest = serde_json:: to_string ( & import. manifest ) ?;
1046
- let serialized_config = serde_json:: to_string ( & import. config ) ?;
1047
1050
let mut metadata = HashMap :: new ( ) ;
1048
1051
metadata. insert (
1049
1052
META_MANIFEST_DIGEST ,
1050
1053
import. manifest_digest . to_string ( ) . to_variant ( ) ,
1051
1054
) ;
1052
- metadata. insert ( META_MANIFEST , serialized_manifest. to_variant ( ) ) ;
1053
- metadata. insert ( META_CONFIG , serialized_config. to_variant ( ) ) ;
1055
+ metadata. insert (
1056
+ META_MANIFEST ,
1057
+ import. manifest . to_canon_json_string ( ) ?. to_variant ( ) ,
1058
+ ) ;
1059
+ metadata. insert (
1060
+ META_CONFIG ,
1061
+ import. config . to_canon_json_string ( ) ?. to_variant ( ) ,
1062
+ ) ;
1054
1063
metadata. insert (
1055
1064
"ostree.importer.version" ,
1056
1065
env ! ( "CARGO_PKG_VERSION" ) . to_variant ( ) ,
0 commit comments