Skip to content

Reproducible Central: rebuild instructions for artifacts published to (Maven) Central Repository

Notifications You must be signed in to change notification settings

chains-project/reproducible-central

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Structured as <groupId>/<artifactId>/<version>

Each of these directories have:

  1. reference - artifact on Maven central

    1. <unreproducible-reference-artifact:unreproducible-rebuild-artifact> - unreproducible artifact
  2. rebuild - artifact that is built using buildspec

    1. <unreproducible-reference-artifact:unreproducible-rebuild-artifact> - unreproducible artifact
  3. *.diffoscope.json - difference between reference and rebuild

  4. jnorm - https://github.com/stschott/jnorm-tool/tree/cec4645c5c9b52f73c347349bf14945b0eb55c87

    1. reference - bytecode canonicalization of reference artifact
      1. <unreproducible-reference-artifact:unreproducible-rebuild-artifact>/*.jimple - directory of Jimple files
      2. <unreproducible-reference-artifact>.log - log of the canonicalization process
    2. rebuild - bytecode canonicalization of rebuild artifact
      1. <unreproducible-reference-artifact:unreproducible-rebuild-artifact>/*.jimple - directory of Jimple files
      2. <unreproducible-reference-artifact>.log - log of the canonicalization process
    3. *.diff - difference between canonicalized reference and rebuild
    4. *.json - exit code of reference canonicalization, rebuild canonicalization, and diff.
  5. oss-rebuild - https://github.com/google/oss-rebuild/commit/4ef4c013fe6903cda40a9ee4244e3b65b5834325

    1. reference - artifact canonicalization of reference artifact
      1. <unreproducible-reference-artifact:unreproducible-rebuild-artifact>.* - canonicalized reference artifact
      2. <unreproducible-reference-artifact:unreproducible-rebuild-artifact>.log - log of the canonicalization process
    2. rebuild - artifact canonicalization of rebuild artifact
      1. <unreproducible-reference-artifact:unreproducible-rebuild-artifact>.* - canonicalized rebuild artifact
      2. <unreproducible-reference-artifact:unreproducible-rebuild-artifact>.log - log of the canonicalization process
    3. *.diff - difference between canonicalized reference and rebuild
    4. *.json - exit code of reference canonicalization, rebuild canonicalization, and diff.
  6. oss-rebuild-improved - same structure as oss-rebuild, but with improved canonicalization (https://github.com/chains-project/chains-rebuild/commit/4ef4c013fe6903cda40a9ee4244e3b65b5834325)

  7. oss-rebuild-improved-2 - same structure as oss-rebuild, but with improved canonicalization (https://github.com/chains-project/chains-rebuild/commit/6dd67d5c7ac4db112f3419b5132d8f80a22cbe65)

  8. copy_reference.log and copy_rebuild.log - log if the artifact is copied from build directory to reference or rebuild directory

  9. mvn.log - log of the build process

  10. output.txt and output.json - module hierarchy of the project

If there are no diffoscope files, it means that the build either failed or there is no difference between the artifacts. You can see failed builds in mvn.log. You can confirm the project is fully reproducible by referring to ko attribute in .buildcompare.

Note that oss-rebuild-improved-2 is called CHAINS-rebuild in the paper.

About

Reproducible Central: rebuild instructions for artifacts published to (Maven) Central Repository

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 93.0%
  • Shell 5.5%
  • Python 1.5%