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

Reply via email to