1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
let file, md5 =
if Array.length Sys.argv <> 3 then (
Printf.eprintf "usage: ocaml %s <file> <md5>\n" Sys.argv.(0);
exit 1
) else
Sys.argv.(1), Sys.argv.(2)
let md5_of_file =
Digest.to_hex (Digest.file file)
let () =
if md5 <> md5_of_file then (
Printf.eprintf
"MD5 for %s differs:\n\
\ expected: %s\n\
\ actual: %s\n"
file md5 md5_of_file;
Sys.remove file;
exit 1
) else
let silent =
try Sys.getenv "OPAM_MD5_SILENT" = "true"
with Not_found -> false
in
if not silent then
Printf.printf "%s has the expected MD5.\n" file
|