Non-Reproducible Packaging outside distros
Daniel Shahaf
danielsh at apache.org
Sun Dec 11 23:47:30 UTC 2016
Emanuel Bronshtein wrote on Sun, Dec 11, 2016 at 15:57:09 +0100:
> Some software has packaging process that occur when distributing the software,
> for example in PHPMyAdmin (PHP software) the 'create-release.sh' script:
> https://github.com/phpmyadmin/phpmyadmin/blob/master/scripts/create-release.sh
> has reproducibility issues:
> https://github.com/phpmyadmin/phpmyadmin/issues/12411
> The phpmyadmin packages (in debian & other distros) are based on the above released package.
> which mean that there is a spof (single points of failure) on the release manager.
>
So the upstream project should diff the tarballs to the VCS tag.
> related questions/suggestions:
> 1. how to identify software packages that depend on upstream non-reproducible packaging? (then fix the related bugs)
This varies by language. For C projects, a 'configure' script is
usually a generated file. Other langauges (and build tools) have their
own things. A second problem is to detect whether the downstream build
script relies on the upstream generated files, or regenerate them.
> 2. maybe elaborate more in https://reproducible-builds.org about processes that similar to build (compile stuff) but also need to be reproducible. (in order to raise awareness)
> 3. It will be better to verify the upstream packaging process in the future.
Two questions:
a) _What_ should be reproducible? The path from a VCS tag to a tarball?
The path from a tarball to a compiled binary? The path from a VCS tag
to a compiled binary [as a single, atomic step]?
b) How do you define the input to the "generate a tarball" step? A VCS
tag? How is the corresponding tree represented? (e.g., Git tree
object, Git fast-export stream, ext2 filesystem image, `find -ls`
output...)
All that said, I think this discussion is better suited to the
rb-general@ list; perhaps move/restart the thread there?
Cheers,
Daniel
More information about the Reproducible-builds
mailing list