Saturday, February 5, 2022

Reproducible Builds in January 2022

Welcome to the January 2022 report from the Reproducible Builds project. In our reports, we try outline the most important things that have been happening in the past month. As ever, if you are interested in contributing to the project, please visit our Contribute page on our website.


An interesting blog post was published by Paragon Initiative Enterprises about Gossamer, a proposal for securing the PHP software supply-chain. Utilising code-signing and third-party attestations, Gossamer aims to mitigate the risks within the notorious PHP world via publishing attestations to a transparency log. Their post, titled Solving Open Source Supply Chain Security for the PHP Ecosystem goes into some detail regarding the design, scope and implementation of the system.


This month, the Linux Foundation announced SupplyChainSecurityCon, a conference focused on exploring the security threats affecting the software supply chain, sharing best practices and mitigation tactics. The conference is part of the Linux Foundation’s Open Source Summit North America and will take place June 21st — 24th 2022, both virtually and in Austin, Texas.


Debian

There was a significant progress made in the Debian Linux distribution this month, including:


Other distributions

kpcyrd reported on Twitter about the release of version 0.2.0 of pacman-bintrans, an experiment with binary transparency for the Arch Linux package manager, pacman. This new version is now able to query rebuilderd to check if a package was independently reproduced.


In the world of openSUSE, however, Bernhard M. Wiedemann posted his monthly reproducible builds status report.


diffoscope is our in-depth and content-aware diff utility. Not only can it locate and diagnose reproducibility issues, it can provide human-readable diffs from many kinds of binary formats. This month, Chris Lamb prepared and uploaded versions 199, 200, 201 and 202 to Debian unstable (that were later backported to Debian bullseye-backports by Mattia Rizzolo), as well as made the following changes to the code itself:

  • New features:

    • First attempt at incremental output support with a timeout. Now passing, for example, --timeout=60 will mean that diffoscope will not recurse into any sub-archives after 60 seconds total execution time has elapsed. Note that this is not a fixed/strict timeout due to implementation issues. [][]
    • Support both variants of odt2txt, including the one provided by the unoconv package. []
  • Bug fixes:

    • Do not return with a UNIX exit code of 0 if we encounter with a file whose human-readable metadata matches literal file contents. []
    • Don’t fail if comparing a nonexistent file with a .pyc file (and add test). [][]
    • If the debian.deb822 module raises any exception on import, re-raise it as an ImportError. This should fix diffoscope on some Fedora systems. []
    • Even if a Sphinx .inv inventory file is labelled The remainder of this file is compressed using zlib, it might not actually be. In this case, don’t traceback and simply return the original content. []
  • Documentation:

    • Improve documentation for the new --timeout option due to a few misconceptions. []
    • Drop reference in the manual page claiming the ability to compare non-existent files on the command-line. (This has not been possible since version 32 which was released in September 2015). []
    • Update ‘X has been modified after NT_GNU_BUILD_ID has been applied’ messages to, for example, not duplicating the full filename in the diffoscope output. []
  • Codebase improvements:

    • Tidy some control flow. []
    • Correct a ‘recompile’ typo. []

In addition, Alyssa Ross fixed the comparison of CBFS names that contain spaces [], Sergei Trofimovich fixed whitespace for compatibility with version 21.12 of the Black source code reformatter [] and Zbigniew JÄ™drzejewski-Szmek fixed JSON detection with a new version of file [].


Testing framework

The Reproducible Builds project runs a significant testing framework at tests.reproducible-builds.org, to check packages and other artifacts for reproducibility. This month, the following changes were made:


Upstream patches

The Reproducible Builds project attempts to fix as many currently-unreproducible packages as possible. In January, we wrote a large number of such patches, including:


And finally…

If you are interested in contributing to the Reproducible Builds project, please visit our Contribute page on our website. However, you can get in touch with us via:



from Hacker News https://ift.tt/Llp4KmU

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.