[
https://issues.apache.org/jira/browse/HDDS-17275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Siyao Meng updated HDDS-17275:
------------------------------
Status: Patch Available (was: Open)
> Make binary tarball archive metadata reproducible
> -------------------------------------------------
>
> Key: HDDS-17275
> URL: https://issues.apache.org/jira/browse/HDDS-17275
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Siyao Meng
> Assignee: Siyao Meng
> Priority: Major
> Labels: pull-request-available
> Attachments: HDDS-17275.001.diff
>
>
> {{dist-tar-stitching}} creates {{ozone-X.tar.gz}} with plain {{tar}} and
> {{gzip}}, so the archive records metadata specific to the build: entry
> mtimes, permissions following the umask, owner and group names of the
> builder, and the mtime and file name in the gzip header. Entry order follows
> the directory listing order of the filesystem.
> Two runs of {{mvn clean package -DskipTests -DskipDocs -Pdist -Psrc}} on the
> same machine, the second with {{TZ=Asia/Tokyo LC_ALL=de_DE.UTF-8}} and
> {{umask 002}}: all jars (including javadoc, sources and shaded jars),
> {{bom.json}}, {{bom.xml}} and the source tarball were identical. The binary
> tarball had identical file contents and entry order, but different archive
> metadata.
> Proposed: when GNU tar is available (as in the Linux release build
> environment), create the archive with {{--format=gnu --sort=name
> --mtime=<project.build.outputTimestamp> --owner=0 --group=0 --numeric-owner
> --mode=go+u,go-w}}, and compress with {{gzip -n}}. Other tar implementations
> keep creating a plain archive.
> Other gaps found during the investigation are tracked separately: HDDS-17283
> (downloaded inputs), HDDS-17284 ({{.buildinfo}} and release build
> environment), HDDS-17285 (native library build path), HDDS-17286 (CI check
> for tarballs).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]