- let metadatapath = LibraryMisc.metadata_file_of_baseuri ~basedir ~baseuri in
- if not (Sys.file_exists metadatapath) then
- raise (MetadataNotFound metadatapath)
- else
- add_metadata (LibraryNoDb.load_metadata ~fname:metadatapath) status
+ let metadatapath_rw, metadatapath_r =
+ LibraryMisc.metadata_file_of_baseuri
+ ~must_exist:false ~baseuri ~writable:true,
+ LibraryMisc.metadata_file_of_baseuri
+ ~must_exist:false ~baseuri ~writable:false
+ in
+ let metadatapath =
+ if Sys.file_exists metadatapath_rw then metadatapath_rw else
+ if Sys.file_exists metadatapath_r then metadatapath_r else
+ raise (MetadataNotFound metadatapath_rw)
+ in
+ add_metadata (LibraryNoDb.load_metadata ~fname:metadatapath) status