Source: ora2pg Version: 21.0-1 Severity: wishlist Tags: patch User: [email protected] Usertags: randomness X-Debbugs-Cc: [email protected]
Hi, Whilst working on the Reproducible Builds effort [0] we noticed that ora2pg could not be built reproducibly. This is because it generates a comment in a config file using '$$' in an attempt to get a literal '$' character. But '$$' inserts the process PID (!) of the build process into the file instead. This PID is, of course, non-deterministic, resulting in a reproducible build. Patch attached that uses '\$' instead. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` [email protected] / chris-lamb.co.uk `-
--- a/debian/patches/03_reproducible_build.diff 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/03_reproducible_build.diff 2020-10-16 11:33:46.962619070 +0100 @@ -0,0 +1,15 @@ +Description: Make the build reproducible +Author: Chris Lamb <[email protected]> +Last-Update: 2020-10-16 + +--- ora2pg-21.0.orig/Makefile.PL ++++ ora2pg-21.0/Makefile.PL +@@ -1147,7 +1147,7 @@ COMMENT_SAVEPOINT 0 + # set the regexp with the text capture to use to extract the text part. + # For example with a variable declared as + # c_sample VARCHAR2(100 CHAR) := q'{This doesn't work.}'; +-# the regexp must be: q'{(.*)}' ora2pg use the $$ delimiter. ++# the regexp must be: q'{(.*)}' ora2pg use the \$ delimiter. + #ALTERNATIVE_QUOTING_REGEXP q'{(.*)}' + + # If you want to use functions defined in the Orafce library and prevent --- a/debian/patches/series 2020-10-16 11:32:11.669464273 +0100 --- b/debian/patches/series 2020-10-16 11:33:45.950607055 +0100 @@ -1,2 +1,3 @@ 01_Ora2Pg.pod.diff 02_remove_unnecessary_files.diff +03_reproducible_build.diff

