On my local machine, `mvn clean verify artifact:compare` results in:
```
[INFO] --- artifact:3.4.1:compare (default-cli) @ drools-core ---
[WARNING] SCM source tag in buildinfo source.scm.tag=HEAD does not permit
rebuilders reproducible source checkout
[INFO] Reference buildinfo file not found: it will be generated from
downloaded reference artifacts
[INFO] Reference build java.version: 17 (from MANIFEST.MF Build-Jdk-Spec)
[INFO] Reference build os.name: Unix (from pom.properties newline)
[INFO] Minimal buildinfo generated from downloaded artifacts:
/home/tkobayas/usr/work/reproducible/drools/drools-core/target/reference/drools-core-999-SNAPSHOT.buildinfo
[ERROR] size mismatch drools-core-999-SNAPSHOT-tests.jar: investigate with
diffoscope drools-core/target/reference/drools-core-999-SNAPSHOT-tests.jar
drools-core/target/drools-core-999-SNAPSHOT-tests.jar
[ERROR] Reproducible Build output summary: 4 files ok, 1 different
[ERROR] see diff
drools-core/target/reference/drools-core-999-SNAPSHOT.buildinfo
drools-core/target/drools-core-999-SNAPSHOT.buildinfo
[ERROR] see also
https://maven.apache.org/guides/mini/guide-reproducible-builds.html
[INFO] Reproducible Build output comparison saved to
/home/tkobayas/usr/work/reproducible/drools/drools-core/target/drools-core-999-SNAPSHOT.buildcompare
[INFO] Aggregate buildcompare copied to
/home/tkobayas/usr/work/reproducible/drools/target/drools-parent-999-SNAPSHOT.buildcompare
```

diffoscope output:
```
$ diffoscope
drools-core/target/reference/drools-core-999-SNAPSHOT-tests.jar
drools-core/target/drools-core-999-SNAPSHOT-tests.jar
--- drools-core/target/reference/drools-core-999-SNAPSHOT-tests.jar
+++ drools-core/target/drools-core-999-SNAPSHOT-tests.jar
├── zipinfo {}
│ @@ -1,8 +1,8 @@
│ -Zip file size: 232564 bytes, number of entries: 220
│ +Zip file size: 233299 bytes, number of entries: 221
│  drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-12 00:00 META-INF/
│  -rw-r--r--  2.0 unx      505 b- defN 24-Jan-12 00:00 META-INF/MANIFEST.MF
│  drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-12 00:00 org/
│  drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-12 00:00 org/drools/
│  drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-12 00:00 org/drools/core/
│  drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-12 00:00
org/drools/core/base/
│  drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-12 00:00
org/drools/core/base/accumulators/
│ @@ -188,14 +188,15 @@
│  -rw-r--r--  2.0 unx      435 b- defN 24-Jan-12 00:00
org/drools/core/util/asm/TestAbstract.class
│  -rw-r--r--  2.0 unx      450 b- defN 24-Jan-12 00:00
org/drools/core/util/asm/TestAbstractImpl.class
│  -rw-r--r--  2.0 unx     1547 b- defN 24-Jan-12 00:00
org/drools/core/util/asm/TestBean.class
│  -rw-r--r--  2.0 unx      205 b- defN 24-Jan-12 00:00
org/drools/core/util/asm/TestInterface.class
│  -rw-r--r--  2.0 unx      556 b- defN 24-Jan-12 00:00
org/drools/core/util/asm/TestInterfaceImpl.class
│  -rw-r--r--  2.0 unx     1910 b- defN 24-Jan-12 00:00
org/drools/core/util/asm/TestObject.class
│  -rwxr-xr-x  2.0 unx      644 b- defN 24-Jan-12 00:00
org/drools/core/util/droolsClient.keystore
│ +-rw-r--r--  2.0 unx      624 b- defN 24-Jan-12 00:00
org/drools/core/util/droolsServer.jceks
│  -rwxr-xr-x  2.0 unx     1350 b- defN 24-Jan-12 00:00
org/drools/core/util/droolsServer.keystore
│  -rw-r--r--  2.0 unx      865 b- defN 24-Jan-12 00:00
org/drools/core/util/engine.policy
│  -rw-r--r--  2.0 unx     5312 b- defN 24-Jan-12 00:00
org/drools/core/util/index/IndexUtilTest$FakeBetaNodeFieldConstraint.class
│  -rw-r--r--  2.0 unx     3293 b- defN 24-Jan-12 00:00
org/drools/core/util/index/IndexUtilTest$FakeReadAccessor.class
│  -rw-r--r--  2.0 unx     7673 b- defN 24-Jan-12 00:00
org/drools/core/util/index/IndexUtilTest.class
│  -rw-r--r--  2.0 unx     3443 b- defN 24-Jan-12 00:00
org/drools/core/util/index/RangeIndexTest.class
│  -rw-r--r--  2.0 unx     1012 b- defN 24-Jan-12 00:00
org/drools/core/util/kie.policy
│ @@ -215,8 +216,8 @@
│  -rw-r--r--  2.0 unx    21806 b- defN 24-Jan-12 00:00 pkg/mortgages.pkg
│  -rw-r--r--  2.0 unx     1799 b- defN 24-Jan-12 00:00
rule-agent-config.properties
│  -rw-r--r--  2.0 unx     2209 b- defN 24-Jan-12 00:00
rule-base-rule-agent-config.properties
│  -rw-r--r--  2.0 unx      893 b- defN 24-Jan-12 00:00
sample-agent-config.properties
│  -rw-r--r--  2.0 unx    31057 b- defN 24-Jan-12 00:00 waltz12.dat
│  -rw-r--r--  2.0 unx     8039 b- defN 24-Jan-12 00:00
META-INF/maven/org.drools/drools-core/pom.xml
│  -rw-r--r--  2.0 unx       63 b- defN 24-Jan-12 00:00
META-INF/maven/org.drools/drools-core/pom.properties
│ -220 files, 560891 bytes uncompressed, 196398 bytes compressed:  65.0%
│ +221 files, 561515 bytes uncompressed, 196979 bytes compressed:  64.9%
├── zipnote «TEMP»/diffoscope_e6bcvig3_target/tmpceiwpf7e_.zip
│ @@ -573,14 +573,17 @@
│
│  Filename: org/drools/core/util/asm/TestObject.class
│  Comment:
│
│  Filename: org/drools/core/util/droolsClient.keystore
│  Comment:
│
│ +Filename: org/drools/core/util/droolsServer.jceks
│ +Comment:
│ +
│  Filename: org/drools/core/util/droolsServer.keystore
│  Comment:
│
│  Filename: org/drools/core/util/engine.policy
│  Comment:
│
│  Filename:
org/drools/core/util/index/IndexUtilTest$FakeBetaNodeFieldConstraint.class

```

`droolsServer.jceks` seems to be the problem. Sorry that I'll be off until
next Tuesday. I may occupationally investigate it, but it would be great if
someone can fix it.

Cheers,
Toshiya

On Thu, Jun 20, 2024 at 12:20 AM Alex Porcelli <[email protected]> wrote:

> Just tried at the drools repo and it failed in the reproducible build
> when I run `mvn clean verify artifact:compare` :(
>
> On Fri, Jun 14, 2024 at 12:08 PM Jan Šťastný <[email protected]>
> wrote:
> >
> > Hello all,
> >
> > In discussion with security team I've been asked to provide answers to
> > following questions on how we fullfil security requirements that go with
> > the automated GPG signing in ci environment:
> >
> > https://infra.apache.org/release-signing.html#automated-release-signing
> > requires that the build is binary reproducible and that "The release
> > procedure contains a validation step where all artifacts are reproduced
> on
> > trusted hardware (
> >
> https://www.apache.org/legal/release-policy.html#owned-controlled-hardware
> )
> > before publication to pages intended for end users"
> >
> > I'd like to ask everyone for assistance, especially in confirming that
> our
> > builds are reproducible , but also help me to interpret the trusted
> > hardware request.
> >
> > More I think about this the more I tend to think we will be asked to
> > provide some documentation of how we release as a reference.
> >
> > Regards
> > Jan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to