@@ -14,6 +14,7 @@ use crate::sysroot::SysrootLock;
1414use crate :: utils:: ResultExt ;
1515use anyhow:: { anyhow, Context } ;
1616use camino:: { Utf8Path , Utf8PathBuf } ;
17+ use canon_json:: CanonJsonSerialize ;
1718use cap_std_ext:: cap_std;
1819use cap_std_ext:: cap_std:: fs:: { Dir , MetadataExt } ;
1920use cap_std_ext:: cmdext:: CapStdExtCommandExt ;
@@ -603,9 +604,13 @@ impl ImageImporter {
603604 Self :: CACHED_KEY_MANIFEST_DIGEST ,
604605 manifest_digest. to_string ( ) ,
605606 ) ;
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" ) ?;
607610 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" ) ?;
609614 commitmeta. insert ( Self :: CACHED_KEY_CONFIG , cached_config) ;
610615 let commitmeta = commitmeta. to_variant ( ) ;
611616 // Clone these to move into blocking method
@@ -1042,15 +1047,19 @@ impl ImageImporter {
10421047 let _ = self . layer_byte_progress . take ( ) ;
10431048 let _ = self . layer_progress . take ( ) ;
10441049
1045- let serialized_manifest = serde_json:: to_string ( & import. manifest ) ?;
1046- let serialized_config = serde_json:: to_string ( & import. config ) ?;
10471050 let mut metadata = HashMap :: new ( ) ;
10481051 metadata. insert (
10491052 META_MANIFEST_DIGEST ,
10501053 import. manifest_digest . to_string ( ) . to_variant ( ) ,
10511054 ) ;
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+ ) ;
10541063 metadata. insert (
10551064 "ostree.importer.version" ,
10561065 env ! ( "CARGO_PKG_VERSION" ) . to_variant ( ) ,
0 commit comments