Here is my monthly update covering what I have been doing in the free software world during September 2018 (previous month):
-
My activities as the current Debian Project Leader are covered in my "Bits from the DPL" email to the
debian-devel-announcemailing list. -
Opened a pull request in the Sphinx documentation builder to ensure ensure Python frozenset object descriptions are reproducible. [...]
-
Added an
mboxcommand to my tickle-me-email library to implement Gettings Things Done-like behaviours in an IMAP inbox. [...] -
Made a large number of updates to my django-auto-one-to-one library to automatically create child model instances when a parent class is created in the Django web development framework including hrdcoding the use of
auth.Useroverget_user_model[... and adding a.travis.ymland an (empty) testsuite [...] & [...]. -
Fixed an issue in 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) to always restore the
Dockerfileto its previous state, either present or deleted. [...] -
Opened a pull request for the OpenSnitch firewall to drop a potentially unneccessary
MimeTypedeclaration. [...] -
Updated my pull request for the sphinx-gallery extension for the Sphinx documentation builder to automatically generate an example gallery to not show the "Total running time" if
SOURCE_DATE_EPOCHis set. [...]
More hacking on the Lintian static analysis tool for Debian packages:
-
New features:
- Merge suggestion from Sven Joachim to add "practical" and "practically" as spelling corrections for "pratical" and "pratically" (#909772) then add "practically" as a correction for "practicaly" [...].
- Check for overly-indented paragraph separators in package long descriptions. (#909272)
- Warn about
debian/source/optionsspecifying custom compression settings. (#906614) - Check for packages hat build both
foo-dbgandfoo-dbgsymdebug symbol variants. (#907423) - Reclassify
xfonts-foopackages as part of thefontssection. (#907725) - Check for
.pytest_cache/foofiles in packages. (#907870) - Ensure
.changesanddebian/changelogdistributions are identical. (#906610) - Check for
invoke-rc.d --skip-systemd-nativewithout a suitable `Pre-Depends. (#907836) - Warn about packages that use an excessive (> 20) number of overrides. [...]
- Check for directories such as
.cachein Python packaging, etc. (#907870)
-
Bug fixes:
- Don't emit
udevadm-called-without-guardif the package has a dependency onudev. (#909801) - Also check
override_dh_systemd_*-{arch,indep}fordebian-rules-uses-deprecated-systemd-override. (#907845) - Don't emit
changelog-empty-entryif distribution isUNRELEASED. (#909674) - Fix a number of false-positives when checking for incomplete Creative Commons licenses. (#906284)
- Avoid false positives in
init.d-script-possible-missing-stopwhen checking in "early boot" packages. (#908185) - Expand and rename
xz-compression-level-too-highto warn about all manual adjustments to such settings. (#906611) - Refresh internal metadata allowing
dir-or-file-in-etc-optto be overridable. (#908911) - Also check the
Sourcefield when looking for repack explanations. (#909270) - Don't emit
package-contains-documentation-outside-usr-share-docfor files intemplatesdirectories. (#907734) - Don't check the
.dscforXS-Autobuild. (#907681) - Do not emit
package-does-not-install-examplesfor example directories under "vendor" or "third_party". [...] - Also add
wiH(alongsidewIH) to thespelling-error-in-binaryexceptions. [...] - Correct an edge-case when checking for missing repacked tarball explanation. [...]
- Don't emit
-
Reporting:
- Show the number of unused overrides in the "
N: 1 tag overridden..." summary line. (#909319) - Ensure
--dbgsym-migration='quoted'is correctly displayed when emitting thedebug-symbol-migration-possibly-completetag. [...]
- Show the number of unused overrides in the "
-
Misc:
Reproducible builds
Whilst anyone can inspect the source code of free software for malicious flaws almost all software is distributed pre-compiled to end users.
The motivation behind the Reproducible Builds effort is to ensure no flaws have been introduced 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 I:
-
Opened a pull request in the Sphinx documentation builder to ensure ensure Python
frozensetobject descriptions are reproducible. [...] -
Followed-up to my previous merge request against the Redis key-value database and encouraged it to be merged upstream. [...]
-
Made the following changes to diffoscope, our in-depth and content-aware diff utility that can locate and diagnose reproducibility issues:
- Fix testsuite under LLVM version
7.0+. (#908074) - Ensure "substvar" generation is deterministic regardless of installed packages. (#908072)
- Fix tests under colord version
1.4.3+. (#908900) - Disable binwalk's configuration for predictable results, etc. (#903444)
- Ensure we return bytes objects from
Command.filterto prevent LLVM tracebacks. [...] - Don't print output from GnuPG. [...]
- Drop
print()statement in PPU tests. [...] - Strip trailing whitespace from
ssconvert(1)output to support gnumeric1.12.43+. [...] - Clarify distinction between tools and packages when generating substvars. [...]
- Fix testsuite under LLVM version
-
Updated my pull request for the sphinx-gallery extension for the Sphinx documentation builder to automatically generate an example gallery to not show the "Total running time" if
SOURCE_DATE_EPOCHis set. [...] -
Within Debian:
-
I submitted 11 patches to fix specific reproducibility issues in botan, [[brohttps://bugs.debian.org/908379), coinmp, fltk1.1, gdk-pixbuf, infnoise, libgit2-glib, libhinawa, libinput, octavia, sphinxcontrib-restbuilder & taopm.
-
Uploaded
disorderfsversion0.5.4-1(our FUSE-based filesystem that deliberately introduces non-determinism) to the unstable distribution. [...] -
Uploaded version
67.0.1oftrydiffoscope, a command-line client for try.diffoscope.org. -
Kept isdebianreproducibleyet.com up to date. [...]
-
-
Categorised a large number of packages and issues in the "package classification" repository.
-
Updated our website including fixing some broken navigation [... and ensuring images were visible on all pages on the site [... as well as updated the SSL certificate for buildinfo.debian.net.
-
Worked on publishing our weekly reports. (#174, #175, #176, #177 & #178)
-
Corrected the spelling/grammar in a comment within strip-nondeterminism, our tool to remove specific non-deterministic results from a completed build. [...]
-
Escaped the package name in the "Schedule a new build" links in our Jenkins-based testing framework that powers tests.reproducible-builds.org. [...]
Debian
-
As a member of the Debian Python Module Team I pushed a large number of changes across 100s of repositories including removing empty
debian/patches/series&debian/source/optionsfiles, correcting email addresses, dropping generated.debhelperdirs, removing trailing whitespaces, respecting thenocheckbuild profile viaDEB_BUILD_OPTIONSand correcting spelling mistakes indebian/controlfiles. -
Added a missing dependency on
golang-golang-x-toolsfordigraph(1)in dh-make-golang as part of the Debian Go Packaging Team.
Debian LTS
This month I have worked 18 hours on Debian Long Term Support (LTS) and 12 hours on its sister Extended LTS project
-
"Frontdesk" duties, triaging CVEs, responding to user questions, etc.
-
Issued DLA 1492-1 fixing a string injection vulnerability in the dojo Javascript library.
-
Issued DLA 1496-1 to correct an integer overflow vulnerability in the "Little CMS 2" colour management library. A specially-crafted input file could have lead to a heap-based buffer overflow.
-
Issued DLA 1498-1 for the
curlutility to fix an integer overflow vulnerability (background). -
Issued DLA 1501-1 to fix an out-of-bounds read vulnerability in
libextractor, a tool to extract meta-data from files of arbitrary type. -
Issued DLA 1503-1 to prevent a potential denial of service and a potential arbitrary code execution vulnerability in the kamailio SIP (Session Initiation Protocol) server. A specially-crafted SIP message with an invalid
Viaheader could cause a segmentation fault and crash the server due to missing input validation. -
Issued ELA 34-1 for the Redis key-value database where the
redis-clitool could have allowed an attacker to achieve code execution and/or escalate to higher privileges via a specially-crafted command line.
Uploads
-
5:5.0~rc5-1— New upstream release.5:4.0.11-3— Prevent the (non-deterministic) upstream testsuite from breaking the build. (#908540)
-
python-django (
2:2.1.1-1) — New upstream bugfix release. -
3.0.0-1— Initial upload. (#908723)3.1.0-1— New upstream release.
-
golang-github-evilsocket-ftrace:
1.2.0-1— Initial upload. (#908883)1.2.0-2— CorrectVcs-{Git,Browser}and correct theMaintainer/Uploadersfield distinction.
-
python-grpc-tools (
1.14.1-1) — Initial upload. (#908837) -
python-grpcio (
1.15.0-1) — Initial upload. (#909304)
I also uploaded the following packages as a member of the Debian Python Module Team: django-ipware (2.1.0-1), django-adminaudit (0.3.3-2), python-openid (2.2.5-7), python-social-auth (1:0.2.21+dfsg-3). python-vagrant (0.5.15-2) & python-validictory (0.8.3-3)
Finally, I sponsored the following uploads: bm-el (201808-1), elpy (1.24.0-1), mutt-alias-el (1.5-1) & android-platform-external-boringssl (8.1.0+r23-2).
Debian bugs filed
-
ftp.debian.org: NEW package summary contains strange text. (#909252) -
ipmitool: Use Lintian override forinit.d-script-should-always-start-service. (#907832) -
Cosmetic/misc requests:
-
cowpatty: Homepage field 404s. (#909516) -
mutt-alias-el: Should obey thenodocbuild profile. (#909513) -
Intent to Package (ITP) bugs:
-
opensnitch: A port of the Little Snitch application firewall. (#909567) -
python-grpc-tools: Protocol buffer code generator for gRPC. (#908837) -
golang-github-evilsocket-ftrace: Trace Linux system calls using theftracekernel framework. (#908883)
-
FTP Team
As a Debian FTP assistant I ACCEPTed 81 packages: adios, android-platform-system-core, aom, appmenu-registrar, astroid2, black, bm-el, colmap, cowpatty, devpi-common, equinox-bundles, fabulous, fasttracker2, folding-mode-el, fontpens, ganeti-2.15, geomet, golang-github-google-go-github, golang-github-gregjones-httpcache, hub, infnoise, intel-processor-trace, its-playback-time, jsonb-api, kitinerary, kpkpass, libclass-tiny-chained-perl, libmoox-traits-perl, librda, libtwitter-api-perl, liburl-encode-perl, libwww-oauth-perl, llvm-toolchain-7, lucy, markdown-toc-el, mmdebstrap, mozjs60, mutt-alias-el, nvidia-graphics-drivers-legacy-390xx, o-saft, pass-tomb, pass-tomb-basic, pgformatter, picocli, pikepdf, pipewire, poliastro, port-for, pyagentx, pylint2, pynwb, pytest-flask, python-argon2, python-asteval, python-caldav, python-djangosaml2, python-pcl, python-persist-queue, python-rfc3161ng, python-treetime, python-x2go, python-x3dh, python-xeddsa, rust-crossbeam-deque, rust-iovec, rust-phf-generator, rust-simd, rust-spin, rustc, sentinelsat, sesman, sphinx-autobuild, sphinxcontrib-restbuilder, tao-pegtl, trojan, ufolib2, ufonormalizer, unarr, vlc-plugin-bittorrent, xlunzip & xxhash.
I additionally filed 6 RC bugs against packages that had potentially-incomplete debian/copyright files against adios, pgformatter, picocli, python-argon2, python-pcl & python-treetime.
