Chris Lamb: Free software activities in November 2016
Here is my monthly update covering what I have been doing in the free software world (previous month):
- Started work on a Python API to the UK Postbox mail scanning and forwarding service. (repo)
- Lots of improvements to buildinfo.debian.net, my experiment into how to process, store and distribute .buildinfo files after the Debian archive software has processed them, including making GPG signatures mandatory (#7), updating jenkins.debian.net to sign them and moving to SSL.
- Improved the Django client to the KeyError error tracking software, enlarging the test coverage and additionally adding support for grouping errors using a context manager.
- Made a number of improvements to travis.debian.net, my hosted service for projects that host their Debian packaging on GitHub to use the Travis CI continuous integration platform to test builds on every code change:
- Submitted a pull request to Wheel (a utility to package Python libraries) to make the output of METADATA files reproducible. (#73)
- Submitted some miscellaneous documentation updates to the Tails operating system. (patches)
Reproducible builds
Whilst anyone can inspect the source code of free software for malicious flaws, most software is distributed pre-compiled to end users.
The motivation behind the Reproducible Builds effort is to permit verification that no flaws have been introduced either maliciously or accidentally during this compilation process by promising identical results are always generated from a given source, thus allowing multiple third-parties to come to a consensus on whether a build was compromised.
This month:
My work in the Reproducible Builds project was also covered in our weekly reports. (#80, #81, #82 #83.
- I was proud to announce that I have been awarded a grant from the Core Infrastructure Initiative (CII) to fund my previously-voluntary work in this area.
- Presented a talk with Holger Levsen entitled "Reproducible builds status update" talk at MiniDebConfCambridge 2016. (Slides)
- Attended the Tails operating system's Reproducible Builds sprint making excellent progress towards making the next release reproducible.
- Ensured that Webconverger kiosk operating system can now be built reproducibly.
- Within Debian, I filed a bug requesting that packages should be reproducible by policy. (#844431)
Toolchain issues
I submitted the following patches to fix reproducibility-related toolchain issues with Debian:
- amd64-microcode: Please make the early initramfs image reproducible
- initramfs-tools: Please ensure initrd images are reproducible
- markdown: Please make the output reproducible
- python-defaults: Please make the substvars reproducible
- wheel: Please make the output of METADATA files reproducible
strip-nondeterminism
strip-nondeterminism is our tool to remove specific non-deterministic results from a completed build.
- Ensure tests do not rely on Debian-specific Debian::Debhelper::Dh_Lib. (b9d5b06)
- Filed a wishlist bug to support normalising NTFS timestamps in .zip files.
jenkins.debian.net
I also submitted 9 patches to fix specific reproducibility issues in apktool, cairo-5c, lava-dispatcher, lava-server, node-rimraf, perlbrew, qsynth, tunnelx & zp.
jenkins.debian.net runs our comprehensive testing framework.
- buildinfo.debian.net has moved to SSL. (ac3b9e7)
- Submit signing keys to keyservers after generation. (bdee6ff)
- Various cosmetic changes, including
Debian
Debian LTS
This month I have been paid to work 11 hours on Debian Long Term Support (LTS). In that time I did the following:
- "Frontdesk" duties, triaging CVEs, etc.
- Issued DLA 697-1 for bsdiff fixing an arbitrary write vulnerability.
- Issued DLA 705-1 for python-imaging correcting a number of memory overflow issues.
- Issued DLA 713-1 for sniffit where a buffer overflow allowed a specially-crafted configuration file to provide a root shell.
- Issued DLA 723-1 for libsoap-lite-perl preventing a Billion Laughs XML expansion attack.
- Issued DLA 724-1 for mcabber fixing a roster push attack.
Uploads
I performed the following QA uploads:
Finally, I also made the following non-maintainer uploads:
- redis:
- 3.2.5-2 Tighten permissions of /var/ lib,log /redis. (#842987)
- 3.2.5-3 & 3.2.5-4 Improve autopkgtest tests and install upstream's MANIFESTO and README.md documentation.
- gunicorn (19.6.0-9) Adding autopkgtest tests.
- libfiu:
- 0.94-1 Add autopkgtest tests.
- 0.95-1, 0.95-2 & 0.95-3 New upstream release and improve autopkgtest coverage.
- python-django (1.10.3-1) New upstream release.
- aptfs (0.8-3, 0.8-4 & 0.8-5) Adding and subsequently improving the autopkgtext tests.
- boxbackup (0.11.1~r2837-3) Fix compatibility with OpenSSL 1.1.0. (#828253)
- httperf (0.9.0-6) Fix compatibility with OpenSSL 1.1.0. (#828343)
- ike (2.2.1+dfsg-6) Fix compatibility with OpenSSL 1.1.0. (#828349)
- polygraph (4.3.2-4) Fix compatibility with GCC 6. (#831125)
- samdump2 (3.0.0-4) Fix compatibility with OpenSSL 1.1.0. (#828537)
- qink (0.3.5-8) Fix FTBFS. (#841572)
Debian bugs filed
- bugs.debian.org: Please provide "Content-Disposition: attachment; filename=[..]" headers
- initramfs-tools: Don't print a warning if /etc/modprobe.d is empty
- cwltool: Accesses the internet during build
RC bugs
I also filed 59 FTBFS bugs against arc-gui-clients, asyncpg, blhc, civicrm, d-feet, dpdk, fbpanel, freeciv, freeplane, gant, golang-github-googleapis-gax-go, golang-github-googleapis-proto-client-go, haskell-cabal-install, haskell-fail, haskell-monadcatchio-transformers, hg-git, htsjdk, hyperscan, jasperreports, json-simple, keystone, koji, libapache-mod-musicindex, libcoap, libdr-tarantool-perl, libmath-bigint-gmp-perl, libpng1.6, link-grammar, lua-sql, mediatomb, mitmproxy, ncrack, net-tools, node-dateformat, node-fuzzaldrin-plus, node-nopt, open-infrastructure-system-images, open-infrastructure-system-images, photofloat, ppp, ptlib, python-mpop, python-mysqldb, python-passlib, python-protobix, python-ttystatus, redland, ros-message-generation, ruby-ethon, ruby-nokogiri, salt-formula-ceilometer, spykeviewer, sssd, suil, torus-trooper, trash-cli, twisted-web2, uftp & wide-dhcpv6.
- dpdk: maintainer address bounces
- libc6-dev: static linking with stack protector fails: undefined reference to __memcpy_chk'
- libpcap: libpcap0.8-dev does not contain remote-ext.h
- libspring-java: Invalid optional dependencies in the Maven POMs
- libssl1.1: 1.1.0c broke Python
- linux, linux-2.6, linux-2.6.24: linux/atm_zatm.h change breaks time.h inclusion
- php-memcached: php-memcached must Build-depend on zlib1g-dev
- php-pecl-http: php-pecl-http must Build-depend on zlib1g-dev
- pokerth: -std=gnu++98 workaround no longer works with Qt 5.7
- pyelliptic: Does not support OpenSSL 1.1
- salt-call fails with libcrypto.so.1.1: undefined symbol: OPENSSL_no_config
- potrace: CVE-2016-8685 CVE-2016-8686
- ming: CVE-2016-9264 CVE-2016-9265 CVE-2016-9266
FTP Team
As a Debian FTP assistant I ACCEPTed 70 packages: bbqsql, coz-profiler, cross-toolchain-base, cross-toolchain-base-ports, dgit-test-dummy, django-anymail, django-hstore, django-html-sanitizer, django-impersonate, django-wkhtmltopdf, gcc-6-cross, gcc-defaults, gnome-shell-extension-dashtodock, golang-defaults, golang-github-btcsuite-fastsha256, golang-github-dnephin-cobra, golang-github-docker-go-events, golang-github-gogits-cron, golang-github-opencontainers-image-spec, haskell-debian, kpmcore, libdancer-logger-syslog-perl, libmoox-buildargs-perl, libmoox-role-cloneset-perl, libreoffice, linux-firmware-raspi3, linux-latest, node-babel-runtime, node-big.js, node-buffer-shims, node-charm, node-cliui, node-core-js, node-cpr, node-difflet, node-doctrine, node-duplexer2, node-emojis-list, node-eslint-plugin-flowtype, node-everything.js, node-execa, node-grunt-contrib-coffee, node-grunt-contrib-concat, node-jquery-textcomplete, node-js-tokens, node-json5, node-jsonfile, node-marked-man, node-os-locale, node-sparkles, node-tap-parser, node-time-stamp, node-wrap-ansi, ooniprobe, policycoreutils, pybind11, pygresql, pysynphot, python-axolotl, python-drizzle, python-geoip2, python-mockupdb, python-pyforge, python-sentinels, python-waiting, pythonmagick, r-cran-isocodes, ruby-unicode-display-width, suricata & voctomix-outcasts.
I additionally filed 4 RC bugs against packages that had incomplete debian/copyright files against node-cliui, node-core-js, node-cpr & node-grunt-contrib-concat.
There are about 15 Netfilter packages in Debian, and they are maintained
by separate people.
Yersterday, I contacted the maintainers of the main packages to propose
the creation of a pkg-netfilter team to maintain all the packages together.
The benefits of maintaining packages in a team is already known to all, and
I would expect to rise the overall quality of the packages due to this
movement.
By now, the involved packages and maintainers are:
This would be a bit long on my stay in Cape Town, South Africa after Debconf16.
Before I start, let me share the gallery works, you can see some photos that I have been able to upload to my
Another thing I would like to share is a small beginner
You might wonder why there is so high number of
FOSDEM 2016 is going to be great (again!) and you still have the chance to be one of the stars.
Have you submitted your talk to the Desktops DevRoom yet?
No?
Remember: we will only accept proposals until December 5th. After that, the Organization Team will get busy and vote and choose the talks.
Here is the full Call for Participation, in case you need to check the details on how to submit:
Since 2008 I use two monitors in my desktop. Yesterday I bought a new graphics interface and a third monitor. Some time I was looking for a low cost graphics interface. Ok, I am using GeForce GT 740 which has three output ports: VGA, DVI and HDMI. In Brazil this interface card can be found around R$ 400 (US$ 117, but my card was US$ 87 in Brazilian Black Friday). In Amazon.com, it is between US$ 51 and US$ 109. The chosen manufacturer was Zotac, but all GT 740 and 750 will work fine (I tested the GT 750 too).
The GeForce GT 740 was imediatelly recognised by Debian Jessie with kernel Linux 4.7.0 from Backports (it is my default, so I didn't test with original 3.16 kernel). The driver used was the default X.Org Nouveau. I use KDE and the management was easy.
I hope this post can help people interested in use 3 monitors. Enjoy!
This is now a little overdue, but here it is. On the 10th and 11th of November,
the 

Took me a hell of a long time to get my head out of my arse and dive again
into some Debian related work. Thanks to Nik for pushing me from time
to time.
So I've taken the time to upload LyX 2.2.2 to unstable and it's now
build with Qt5. Afterall the package is still missing a lot of love,
but I hope we've once again something for the upcoming stable release,
that is close to the latest upstream stable release. If you use LyX please
give it a try.
For myself it's now the 6th year that I stopped using LyX after maintaining
it for five years. And still I'm sponsoring the uploads and try to keep it
at least functional. Strange how we sometimes take care of stuff even if we
no longer have an active use for them.