Restrictions:
needs-sudo
in autopkgtest.
I fixed broken aptly
images
in the Salsa CI pipeline.
Python team
Last month, I mentioned some progress on
sorting out the multipart vs. python-multipart name conflict in Debian
(#1085728), and said that I thought we d
be able to finish it soon. I was right! We got it all done this month:
intersphinx_mapping
syntax which turned out to
still be in use by many packages in Debian. The fixes for this were
individually trivial, but there were a lot of them:
twisted.internet.defer.returnValue
, realized it
was still used in many places in Debian, and went on a PR-filing spree
informed by codesearch to try to reduce
the future impact of such a change on Debian:
make
--shuffle
(also see its
author s
explanation).
I fixed associated bugs in cccc (contributed
upstream), groff, and spectemu.
I backported an upstream patch to putty to fix undefined behaviour that
affected use of the small keypad .
I removed groff s Recommends: libpaper1
(#1091375,
#1091376), since it isn t currently all
that useful and was getting in the way of a transition to libpaper2. I
filed an upstream bug suggesting
better integration in this area.
Books
Elif Batuman: Either/Or (2022)
Stella Gibbons: Cold Comfort Farm (1932)
Michel Faber: Under The Skin (2000)
Wallace Stegner: Crossing to Safety (1987)
Gustave Flaubert: Madame Bovary (1857)
Rachel Cusk: Outline (2014)
Sara Gran: The Book of the Most Precious Substance (2022)
Anonymous: The Railway Traveller s Handy Book (1862)
Natalie Hodges: Uncommon Measure: A Journey Through Music, Performance, and the Science of Time (2022)
Gary K. Wolf: Who Censored Roger Rabbit? (1981)
Films Recent releases
libpng1.6
would fail to cross build on musl
architectures whereas it would succeed on other ones failing to locate zlib
. Adding --debug-find
to the cmake
invocation eventually revealed that it would fail to search in /usr/lib/<triplet>
, which is the default library path. This turned out to be a bug in cmake assuming that all linux systems use glibc. libpng1.6
also gained a baseline violation for powerpc
and ppc64
by enabling the use of AltiVec there.
The newt
package would fail to cross build for many 32-bit architectures whereas it would succeed for armel
and armhf
due to -Wincompatible-pointer-types
. It turns out that this flag was turned into -Werror
and it was compiling with a warning earlier. The actual problem is a difference in signedness between wchar_t
and FriBidChar
(aka uint32_t
) and actually affects native building on i386
.
mkdocs-macros-plugin
, which required packaging a new Python package for Debian, python-super-collections (now in NEW review).![]() |
Photo by Pixabay |
Given a typical install of 3 generic kernel ABIs in the default configuration on a regular-sized VM (2 CPU cores 8GB of RAM) the following metrics are achieved in Ubuntu 23.10 versus Ubuntu 22.04 LTS:
2x less disk space used (1,417MB vs 2,940MB, including initrd)
3x less peak RAM usage for the initrd boot (68MB vs 204MB)
0.5x increase in download size (949MB vs 600MB)
2.5x faster initrd generation (4.5s vs 11.3s)
approximately the same total time (103s vs 98s, hardware dependent)
For minimal cloud images that do not install either linux-firmware or modules extra the numbers are:
1.3x less disk space used (548MB vs 742MB)
2.2x less peak RAM usage for initrd boot (27MB vs 62MB)
0.4x increase in download size (207MB vs 146MB)
Hopefully, the compromise of download size, relative to the disk space & initrd savings is a win for the majority of platforms and use cases. For users on extremely expensive and metered connections, the likely best saving is to receive air-gapped updates or skip updates.
This was achieved by precompressing kernel modules & firmware files with the maximum level of Zstd compression at package build time; making actual .deb files uncompressed; assembling the initrd using split cpio archives - uncompressed for the pre-compressed files, whilst compressing only the userspace portions of the initrd; enabling in-kernel module decompression support with matching kmod; fixing bugs in all of the above, and landing all of these things in time for the feature freeze. Whilst leveraging the experience and some of the design choices implementations we have already been shipping on Ubuntu Core. Some of these changes are backported to Jammy, but only enough to support smooth upgrades to Mantic and later. Complete gains are only possible to experience on Mantic and later.
The discovered bugs in kernel module loading code likely affect systems that use LoadPin LSM with kernel space module uncompression as used on ChromeOS systems. Hopefully, Kees Cook or other ChromeOS developers pick up the kernel fixes from the stable trees. Or you know, just use Ubuntu kernels as they do get fixes and features like these first.
The team that designed and delivered these changes is large: Benjamin Drung, Andrea Righi, Juerg Haefliger, Julian Andres Klode, Steve Langasek, Michael Hudson-Doyle, Robert Kratky, Adrien Nader, Tim Gardner, Roxana Nicolescu - and myself Dimitri John Ledkov ensuring the most optimal solution is implemented, everything lands on time, and even implementing portions of the final solution.
Hi, It's me, I am a Staff Engineer at Canonical and we are hiring https://canonical.com/careers.
Lots of additional technical details and benchmarks on a huge range of diverse hardware and architectures, and bikeshedding all the things below:
[ ] In March 2023, Ken gave the closing keynote [and] during the Q&A session, someone jokingly asked about the Turing award lecture, specifically can you tell us right now whether you have a backdoor into every copy of gcc and Linux still today?Although Ken reveals (or at least claims!) that he has no such backdoor, he does admit that he has the actual code which Russ requests and subsequently dissects in great but accessible detail.
Arch Linux packages become reproducible a median of 30 days quicker when compared to Debian packages, while Debian packages remain reproducible for a median of 68 days longer once fixed.A full PDF of their paper is available online, as are many other interesting papers on MCIS publication page.
nixos-minimal
image that is used to install NixOS. In their post, Arnout details what exactly can be reproduced, and even includes some of the history of this endeavour:
You may remember a 2021 announcement that the minimal ISO was 100% reproducible. While back then we successfully tested that all packages that were needed to build the ISO were individually reproducible, actually rebuilding the ISO still introduced differences. This was due to some remaining problems in the hydra cache and the way the ISO was created. By the time we fixed those, regressions had popped up (notably an upstream problem in Python 3.10), and it isn t until this week that we were back to having everything reproducible and being able to validate the complete chain.Congratulations to NixOS team for reaching this important milestone! Discussion about this announcement can be found underneath the post itself, as well as on Hacker News.
arm64
hardware from Codethink
arm64
hardware. Holger Levsen integrated these new nodes to the Reproducible Builds continuous integration framework.
ext4
filesystem images. [ ]
SOURCE_DATE_EPOCH
environment variable in order to close bug #1034422. In addition, 8 reviews of packages were added, 74 were updated and 56 were removed this month, all adding to our knowledge about identified issues.
Bernhard M. Wiedemann published another monthly report about reproducibility within openSUSE.
edje_cc
(race condition)elasticsearch
(build failure)erlang-retest
(embedded .zip
timestamp)fdo-client
(embeds private keys)fftw3
(random ordering)gsoap
(date issue)gutenprint
(date)hub/golang
(embeds random build path)Hyprland
(filesystem issue)kitty
(sort-related issue, .tar
file embeds modification time)libpinyin
(ASLR)maildir-utils
(date embedded in copyright)mame
(order-related issue)mingw32-binutils
& mingw64-binutils
(date)MooseX
(date from perl-MooseX-App)occt
(sorting issue)openblas
(embeds CPU count)OpenRGB
(corruption-related issue)python-numpy
(random file names)python-pandas
(FTBFS)python-quantities
(date)python3-pyside2
(order)qemu
(date and Sphinx issue)qpid
(sorting problem)rakudo
(filesystem ordering issue)SLOF
(date-related issue)spack
(CPU counting issue)xemacs-packages
(date-related issue)file -i
returns text/plain
, fallback to comparing as a text file. This was originally filed as Debian bug #1053668) by Niels Thykier. [ ] This was then uploaded to Debian (and elsewhere) as version 251
.
#debian-reproducible-changes
IRC channel. [ ][ ][ ]systemd-oomd
on all Debian bookworm nodes (re. Debian bug #1052257). [ ]schroots
. [ ]arm64
machines from Codethink. [ ][ ][ ][ ][ ][ ]#reproducible-builds
on irc.oftc.net
.
rb-general@lists.reproducible-builds.org
Series: | Machine Mandate #1 |
Publisher: | Prime Books |
Copyright: | 2019 |
ISBN: | 1-60701-533-1 |
Format: | Kindle |
Pages: | 86 |
pandoc couronne.md --standalone --css styling.css \
--to html5 --table-of-contents > couronne.html
I feel I will never need a word processor again. It produces this nice looking document without pain.
Software signing is not a new problem, so there must be some solution already, right? Yes, but signing software and maintaining keys is very difficult especially for non-security folks and UX of existing tools such as PGP leave much to be desired. That s why we need something like sigstore - an easy to use software/toolset for signing software artifacts.The second post (titled Signing Software The Easy Way with Sigstore and Cosign) goes into some technical details of getting started.
Some time ago I checked Signal s reproducibility and it failed. I asked others to test in case I did something wrong, but nobody made any reports. Since then I tried to test the Google Play Store version of the apk against one I compiled myself, and that doesn t match either.
Most users are not capable of building from source code themselves, but we can at least get them able enough to check signatures and shasums. When reputable people who can tell everyone they were able to reproduce the project s build, others at least have a secondary source of validation.
Related to this, there was continuing discussion on how to embed/encode the build metadata for the Debian live images which were being worked on by Roland Clobus.
- All major configurations are still built regularly using live-build and bullseye.
- All major configurations are reproducible now; Jenkins is green.
- I ve worked around the issue for the Cinnamon image.
- The patch was accepted and released within a few hours.
- My main focus for the last month was on the live-build tool itself.
- It will properly use the proxy for all HTTP traffic.
I m working for Oracle in the Build Group for OpenJDK which is primary responsible for creating a built artifact of the OpenJDK source code. [ ] For the last few years, we have worked on a low-effort, background-style project to make the build of OpenJDK itself building reproducible. We ve come far, but there are still issues I d like to address. [ ]
183
, 184
and 185
as well as performed significant triaging of merge requests and other issues in addition to making the following changes:
.rds
files. [ ]format_class
import. [ ]close_archive
when garbage collecting Archive
instances, unless open_archive
definitely returned successfully. This prevents, for example, an AttributeError
where PGPContainer
s cleanup routines were rightfully assuming that its temporary directory had actually been created. [ ].rdb
files after refactoring temporary directory handling. [ ]python3-rpm
is installed or not at build time. [ ]androguard
module not being in the (expected) python3-androguard
Debian package. [ ]shellcheck
warning in debian/tests/control.sh
. [ ]h5py
in our tests that doesn t concern us. [ ].1
from the Standards-Version
field as it s required. [ ]--diff-context
option to control unified diff context size [ ] and Jean-Romain Garnier fixed the Macho comparator for architectures other than x86-64
[ ].
gtk4
(date-related issue)build-compare
(random tempfile problem)itinerary
(time-related build failure)lcalc
.htscodecs
.osdlyrics
.xtermcontrol
.rust-insta
.python-tomli
.python-pairix
.python-pybedtools
(forwarded upstream).#reproducible-builds
on irc.oftc.net
.
rb-general@lists.reproducible-builds.org
Next.