This is an automated email from the git hooks/post-receive script. mehdi pushed a commit to branch debian/sid in repository ocaml.
commit bf639e7f830b6c3c390bb2881fb0bd2bf01bf561 Author: Mehdi Dogguy <me...@debian.org> Date: Thu Dec 22 00:37:18 2016 +0100 Compute a stable name for preprocessed files (Closes: #838188) --- debian/changelog | 2 ++ ...pute-a-stable-name-for-preprocessed-files.patch | 33 ++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 36 insertions(+) diff --git a/debian/changelog b/debian/changelog index b74401b..fda32d0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ ocaml (4.02.3-9) UNRELEASED; urgency=medium * obey hardening LDFLAGS (Closes: #792502). Thanks to Török Edwin for the patch! - add patch 0013-Obey-ldflags.patch + * Compute a stable name for preprocessed files (Closes: #838188). + Thanks to Johannes Schauer for the patch! -- Mehdi Dogguy <me...@debian.org> Thu, 22 Dec 2016 00:12:38 +0100 diff --git a/debian/patches/0014-Compute-a-stable-name-for-preprocessed-files.patch b/debian/patches/0014-Compute-a-stable-name-for-preprocessed-files.patch new file mode 100644 index 0000000..ad0df46 --- /dev/null +++ b/debian/patches/0014-Compute-a-stable-name-for-preprocessed-files.patch @@ -0,0 +1,33 @@ +From: Johannes Schauer <jo...@debian.org> +Date: Thu, 22 Dec 2016 00:36:14 +0100 +Subject: Compute a stable name for preprocessed files + +--- + driver/pparse.ml | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/driver/pparse.ml b/driver/pparse.ml +index b67c180..321d0cc 100644 +--- a/driver/pparse.ml ++++ b/driver/pparse.ml +@@ -18,10 +18,19 @@ type error = + + exception Error of error + ++external open_desc: string -> open_flag list -> int -> int = "caml_sys_open" ++external close_desc: int -> unit = "caml_sys_close" ++ + (* Optionally preprocess a source file *) + + let call_external_preprocessor sourcefile pp = +- let tmpfile = Filename.temp_file "ocamlpp" "" in ++ (* do not use Filename.temp_file as the resulting temporary file name will be ++ * recorded in the debug output of the resulting binary and thus make the ++ * output random and unreproducible *) ++ let temp_dir = Filename.get_temp_dir_name () in ++ let hash = Digest.to_hex (Digest.string (sourcefile^pp)) in ++ let tmpfile = Filename.concat temp_dir ("ocamlpp"^hash) in ++ close_desc(open_desc tmpfile [Open_wronly; Open_creat; Open_excl] 0o600); + let comm = Printf.sprintf "%s %s > %s" + pp (Filename.quote sourcefile) tmpfile + in diff --git a/debian/patches/series b/debian/patches/series index 7ca62b3..78d8b8c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -11,3 +11,4 @@ 0011-Compatibility-with-x32-architecture.patch 0012-arm-default-PIC.patch 0013-Use-CCLINKFLAGS-for-linking-all-executables-and-shar.patch +0014-Compute-a-stable-name-for-preprocessed-files.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/ocaml.git _______________________________________________ Pkg-ocaml-maint-commits mailing list Pkg-ocaml-maint-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ocaml-maint-commits