activemq icon indicating copy to clipboard operation
activemq copied to clipboard

improve Reproducible Builds

Open hboutemy opened this issue 3 years ago • 7 comments

this won't fix every issue, but improve the situation see https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/activemq/README.md

hboutemy avatar Apr 30 '22 14:04 hboutemy

@hboutemy what is the problem you are experiencing w/ builds not being reproducible?

mattrpav avatar May 04 '22 15:05 mattrpav

in the reproducible-central page, there are link to diffoscope results that show the different problems found, for example https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/activemq/activemq-parent-5.17.0.diffoscope

hboutemy avatar May 04 '22 16:05 hboutemy

to me, once this PR is merged, the only non-reproducible bits are a stupid timestamp, I'll need to chase in Spring later

├── META-INF/spring.handlers
│ @@ -1,3 +1,3 @@
│  #Generated by xbean-spring
│ -#Thu May 05 08:24:00 CEST 2022
│ +#Thu May 05 08:25:21 CEST 2022

hboutemy avatar May 05 '22 06:05 hboutemy

to me, once this PR is merged, the only non-reproducible bits are a stupid timestamp, I'll need to chase in Spring later

├── META-INF/spring.handlers
│ @@ -1,3 +1,3 @@
│  #Generated by xbean-spring
│ -#Thu May 05 08:24:00 CEST 2022
│ +#Thu May 05 08:25:21 CEST 2022

FYI00 You might need to run this one down via xbean project, and not spring.

mattrpav avatar Sep 03 '22 15:09 mattrpav

@hboutemy would you please rebase against main and squash your commits? I'd think this would be good to get going in 5.18.x

mattrpav avatar Sep 03 '22 15:09 mattrpav

FYI00 You might need to run this one down via xbean project, and not spring.

yes, https://issues.apache.org/jira/browse/XBEAN-335 created

hboutemy avatar Sep 03 '22 21:09 hboutemy

@hboutemy would you please rebase against main and squash your commits? I'd think this would be good to get going in 5.18.x

@mattrpav done, with workarounds for plugins injecting timestamps: we should be ok for full Reproducible Builds with 5.18.0

you can easily check reproducibility befaore and after the change by running

mvn clean install -DskipTests -Papache-release -Dgpg.skip -Dmaven.javadoc.skip && mvn clean package artifact:compare -DskipTests -Papache-release -Dgpg.skip -Dmaven.javadoc.skip

and checking artifact:compare (= the last plugin) output

hboutemy avatar Sep 03 '22 23:09 hboutemy

@mattrpav PR rebased

hboutemy avatar Sep 22 '22 06:09 hboutemy