Reproducible builds folks: Reproducible Builds: Weekly report #133
Here's what happened in the Reproducible
Builds effort between Sunday November 5 and
Saturday November 11 2017:
Upcoming events
On November 17th Chris Lamb will present at Open Compliance
Summit,
Yokohama, Japan on how reproducible builds ensures the long-term sustainability
of technology infrastructure.
We plan to hold an assembly at
34C3
- hope to see you there!
LEDE CI tests
Thanks to the work of lynxis, Mattia and h01ger, we're now testing all LEDE
packages in our setup. This is our first result for the ar71xx
target: "502
(100.0%) out of 502 built images and 4932 (94.8%) out of 5200 built packages
were reproducible in our test setup." - see below for details how this was
achieved.
Bootstrapping and Diverse Double Compilation
As a follow-up of a discussion on bootstrapping compilers we had on the Berlin
summit, Bernhard
and Ximin worked on a Proof of Concept for Diverse Double Compilation of tinycc
(aka tcc).
Ximin Luo did a successful diverse-double compilation of
tinycc git HEAD using gcc-7.2.0,
clang-4.0.1, icc-18.0.0 and pgcc-17.10-0 (pgcc needs to triple-compile it).
More variations are planned for the future, with the eventual aim to reproduce
the same binaries cross-distro, and extend it to test GCC itself.
Packages reviewed and fixed, and bugs filed
Patches filed upstream:
- Bernhard M. Wiedemann:
- clang - ASLR affects objective-C binaries.
- Chris Lamb:
- nbsphinx (merged) - Random UUIDs used as element selectors.
- stardicter (merged) -
SOURCE_DATE_EPOCHsupport. - stetl - Build path in documentation.
- Bernhard M. Wiedemann:
- Adrian Bunk:
- #881453 filed against primesieve - FTBFS.
- Chris Lamb:
- #881089 filed against stardicter - (merged)
SOURCE_DATE_EPOCH. - #881094 filed against nbsphinx - random UUIDs.
- #881157 filed against designate - build path.
- #881217 filed against python-stetl - build path.
- #881258 filed against sphinx-intl - drop date.
- #881259 filed against soundmodem - build path.
- #881262 filed against node-module-deps - build path.
- #881474 filed against phatch - random memory address.
- #881089 filed against stardicter - (merged)
- Daniel Kahn Gillmor:
- Bernhard M. Wiedemann:
- i4l-base (merged) - Uninitialized memory written to output.
- Add randomness_in_files_generated_by_pinyin_gen_binary_files.
- Add build_path_captured_in_assembly_objects.
- Add timestamps_in_ifo_files_generated_by_python_stardicter.
- Update timestamps_in_source_generated_by_rcc.
- Adrian Bunk (69)
- Andreas Beckmann (3)
- Dmitry Shachnev (1)
- Graham Inggs (1)
88~bpo9+1 to stretch-backports.
reprotest development
- Ximin Luo:
- build: add comment that
util-linuxconfirmed bug in nsenter, awaiting fix. - Make
--print-sudoerswork for--env-buildas well.
- build: add comment that
- Holger Levsen:
- rws3: add OTF as sponsor
- rws3: add F-Droid, riot-os.org
- Chris Lamb:
- Move the "contribute" page from the Debian wiki to
/contribute/on our main website.
- Move the "contribute" page from the Debian wiki to
- Eitan Adler:
- Fix typo in FreeBSD mailing list.
- Bernhard M. Wiedemann:
- Mattia Rizzolo:
- reproducible archlinux: enable debugging mode
- reproducible archlinux: don't use hidden files for the package lists
- reproducible fedora: don't use hidden files for the package lists
- udd-query: move from public-udd-mirror.xvm.mit.edu to udd-mirror.debian.net
- udd-query: remove the temporary file with a trap in case this script is called with the wrong argument, and in case of failures, etc, the temporary file would be left around otherwise
- reproducible debian: schroot-create: drop the reproducible gpg keyring into /etc/apt/trusted.gpg.d/ instead of using
apt-key add - reproducible debian: setup_pbuilder: drop the reproducible gpg keyring into /etc/apt/trusted.gpg.d/ instead of using
apt-key add - reprodocible debian: setup_pbuilder: stop installing gnupg2 in our chroot, not needed anymore now
- Mattia also merged and deployed some commits from others this week.
- Alexander 'lynxis' Couzens
- reproducible_lede: use correct place/variable to save results: Results on remote nodes are expected to be under $TMPDIR, which defined by openwrt_build. RESULTSDIR is undefined on the remote node
- reproducible_lede: enable building all packages again, after it was disabled to improve the debug speed.
- reproducible_lede: correct given path for node_cleanup_tmpdirs & node_save_logs- reproducible_lede: enable CONFIG_BUILDBOT to reduce inodes while building.
- kpcyrd:
- reproducible-archlinux: try porting abs to asp
- reproducible-archlinux: explicitly sync packages
- reproducible-archlinux: use sudo for pacman
- Hans-Christoph Steiner:
- reproducible fdroid: point jenkins to canonical URL
- reproducible_fdroid: separate testsuite into its own job
- reproducible fdroid: sync upstream script names with jenkins.debian.net, make things self-documenting by reusing the same names everywhere.
- reproducible_fdroid_test: make script executable
- Chris Lamb:
- Move some IRC announcements to #debian-reproducible-changes.
- Holger Levsen:
- reproducible LEDE: try to deal gracefully with problems and report
- as usual, Holger merged many of the above commits and deployed them.
No more nagging me about the placeholder image from Wikipedia I used in
Here's what the team did today:
tumbleweed
Stefano started the day by hacking away on our video archive. We eventually want
to upload all our videos to YouTube to give them exposure, but sadly our archive
metadata is in a pretty poor shape.
With the script tumbleweed wrote, we can scrape the archive for matches against
the old DebConf's pentabarf XML we have.
tumbleweed also helped Ivo with the ansible PXE setup he's working on. Some
recent contributions from a collaborator implemented new features (like a nice
menu to choose from) but also came with a few annoying bugs.
ivodd
Ivo continued working on the PXE setup today. He also tried to break our ansible
setup by using fresh installs with different user cases (locales, interfaces,
etc.), with some success.
The reason he and Stefano are working so hard on the PXE boot is that we had a
discussion about the future of our USB install method. The general consensus on
this was although we would not remove it, we would not actively maintain it
anymore.
PXE is less trouble for multiple machines. For single machines or if you don't
control the DHCP server, using ansible manually on a fresh Debian install will
be the recommended way.
olasd
After a very long drive, olasd arrived late in the evening with all our gear.
Hurray! We were thus able to set up some test boxes and start wiring the airbnb
properly. Tomorrow will certainly be more productive with all this stuff at our
disposition.
pollo
Today I mainly worked on setting up our documentation website. After some
debate, we decided that
Following up on 

Of course, reality has trouble matching all the post-processing filters.
Plan for the week
Now on a more serious note; apart from enjoying the beautiful city of Cambridge,
here's what the team plans to do this week:
tumbleweed
Stefano wants to continue refactoring our ansible setup. A lot of things have
been added in the last year, but some of it are hacks we should remove and
implement correctly.
highvoltage
Jonathan won't be able to come to Cambridge, but plans to work remotely, mainly
on our desktop/xfce session implementation. Another pile of hacks waiting to be
cleaned!
ivodd
Ivo has been working a lot of the pre-ansible part of our installation and plans
to continue working on that. At the moment, creating an installation USB key is
pretty complicated and he wants to make that simpler.
olasd
Nicolas completely reimplemented our streaming setup for DC17 and wants to
continue working on that.
More specifically, he wants to write scripts to automatically setup and teardown
- via API calls - the distributed streaming network we now use.
Finding a way to push TLS certificates to those mirrors, adding a live stream
viewer on
It finally happened
On the 6th of April 2017, I finally took the plunge and 


Like
I've been tempted to run own
The server runs Debian sid (probably it would be doable on stretch as well, but I didn't try much) and the setup was pretty simple.
First we need to install some things - Bitcoin daemon and ElectrumX dependencies:
About me
Hello, world! For those who are meeting me for the first time, I am a 31 year old History teacher from Porto Alegre, Brazil.
Some people might know me from the Python community, because I have been leading
I ve been using
Francois is using Raspberry Pi and PiCam to develop a
Previously: 
I'm taking the month of November off work, so that I can exclusively take care of our child. Despite it being a difficult time, with him teething, it has been a great half-month so far.
During the course of the month I've found my interest in a lot of technological things waning, so I've killed my account(s) on a few platforms, and scaled back others - if I could exclusively do child-care for the next 20 years I'd be very happy, but sadly I don't think that is terribly realistic.
My interest in things hasn't entirely vanished though, to the extent that I found the time to replace my use of
As a cat owner, being surprised by cat intelligence delights me. They re not exactly smart like a human, but they are smart in cattish ways. The more I watch them and try to sort out what they re thinking, the more it pleases me to discover they can solve problems and adapt in recognizably intelligent ways, sometimes unique to each individual cat. Each time that happens, it evokes in me affectionate wonder.
Today, I had one of those joyful moments.
First, you need to understand that some months ago, I thought I had my male cat all figured out with respect to mealtimes. I had been cleaning up after my oafish boy who made a watery mess on the floor from his mother s bowl each morning. I was slightly annoyed, but was mostly curious, and had a hunch. A quick search of the web confirmed it: my cat was left-handed. Not only that, but I learned this is typical for males, whereas females tend to be right-handed. Right away, I knew what I had to do: I adjusted the position of their water bowls relative to their food, swapping them from right to left; the messy morning feedings ceased. I congratulated myself for my cleverness.
You see, after the swap, as he hooked the kibbles with his left paw out of the right-hand bowl, they would land immediately on the floor where he could give them chase. The swap caused the messes to cease because before, his left-handed scoops would land the kibbles in the water to the right; he would then have to scoop the kibble out onto the floor, sprinkling water everywhere! Furthermore, the sodden kibble tended to not skitter so much, decreasing his fun. Or so I thought. Clearly, I reasoned, having sated himself on the entire contents of his own bowl, he turned to pilfering his mother s leftovers for some exciting kittenish play. I had evidence to back it up, too: he and his mother both seem to enjoy this game, a regular fixture of their mealtime routines. She, too, is adept at hooking out the kibbles, though mysteriously, without making a mess in her water, whichever way the bowls are oriented. I chalked this up to his general clumsiness of movement vs. her daintiness and precision, something I had observed many times before.
Come to think of it, lately, I ve been seeing more mess around his mother s bowl again. Hmm. I don t know why I didn t stop to consider why
And then my cat surprised me again.
This morning, with Shadow behind my back as I sat at my computer, finishing up his morning meal at his mother s bowl, I thought I heard something odd. Or rather, I didn t hear something. The familiar skitter-skitter sound of kibbles evading capture was missing. So I turned and looked. My dear, devious boy had squished his overgrown body behind his mother s bowls, nudging them ever so slightly askew to fit the small space. Now the bowl orientation was swapped back again. Stunned, I watched him carefully flip out a kibble with his left paw. Plop! Into the water on the right. Concentrating, he fished for it. A miss! He casually licked the water from his paw. Another try. Swoop! Plop, onto the floor. No chase now, just satisfied munching of his somewhat mushy kibble. And then it dawned on me that I had got it somewhat wrong. Yes, he enjoyed Chase the Kibble, like his mom, but I never recognized he had been indulging in a favourite pastime, peculiarly his own
I had judged his mealtime messes as accidents, a very human way of thinking about my problem. Little did I know, it was deliberate! His private game was Bobbing for Kibbles. I don t know if it s the altered texture, or dabbling in the bowl, but whatever the reason, due to my meddling, he had been deprived of this pleasure. No worries, a thwarted cat will find a way. And that is the joy of cat intelligence.
A shiny new (mostly-but-not-completely maintenance) release of
Like many laptop users, I often plug my laptop into different monitor
setups (multiple monitors at my desk, projector when presenting, etc.)
Running xrandr commands or clicking through interfaces gets tedious,
and writing scripts isn't much better.
Recently, I ran
across
Yesterday, I printed the first draft of the first chapter when my little boy
was here and he was impressed with this strange object called a "printer".
Before I printed what I needed, I fired up LibreOffice and chose the biggest
font size that was available and let him type his first name by himself.
He was quicker than I thought with a keyboard. After seeing me print his
first name, he was jumping up and down with joy of having created something
and even showed grandma and grandpa what he had done.
He, then, wanted more and I taught him how to use that backspace key, what
it meant and he wanted to type his full name. I let him and taught him that
there is a key called space that he should type every time he wants to start
a new word and, in the end, he typed his first two names. To my surprise, he
memorized the icon with the printer (which I must say that I have to hunt
every time, since it seems so similar to the adjacent ones!) and pressed
this new key called "Enter". When he pressed, he wasn't expecting the
printer on his right to start making noises and printing his name.
He was so excited and it was so nice to see his reaction full of joy to get
a job done!
I am thinking of getting a spare computer, building it with him and for him,
so that he can call it his computer every time he comes to see daddy. As a
serendipitous situation,