+1 maintenance report
Bryce Harrington
bryce.harrington at canonical.com
Tue Apr 5 05:17:44 UTC 2022
## +1 Maintenance Docs ##
I've collected notes about proposed migration here:
https://github.com/canonical/ubuntu-maintainers-handbook/blob/main/ProposedMigration.md
This provides some explanations of phrases on the update-excuses page
that may be unclear to new +1 maintainers, and some tips for circular
dependencies and so on. Suggestions to improve are welcome.
## Node ##
- NOT FINISHED (AA attention needed)
These fail only on i386, and should probably be hinted.
* node-domino/2.1.6~ds-4
* node-n3/1.13.0+~1.2.3+~1.10.4-1
* node-node-forge/1.2.1~dfsg-2
* node-normalize-range/0.1.2-3
* node-regenerate-unicode-properties/10.0.1+ds-2
* node-regjsgen/0.7.0+ds-1
* node-require-relative/0.8.7+~0.8.0-1
* node-urlgrey/1.0.0+~1.1.3-1
* node-which-module/2.0.0-3
* node-regenerate-unicode-properties/10.0.1+ds-2
## node-configurable-http-proxy / 4.5.0+~cs15.1.4-3
One of the errors this was encountering was fixed by Debian in the -4
package, so I sync'd it in. The remaining errors appear to be proxy
issues which I'm not certain how to resolve but filed update-excuse bug
#1967024.
## node-eslint-visitor-keys / 3.3.0+~0.0.51-1
There was a -2 version in Debian. I was not able to reproduce the error
locally, but felt the Debian update would resolve the issue. I sync'd
it in, and it did indeed resolve the issue and allowed the package to
migrate.
## node-espree / 9.3.1~dfsg-1
This was blocked by node-eslint-visitor-keys, and with that resolved
(above), this also migrated successfully.
## node-regenerate-unicode-properties / 10.0.1+ds-2
The error showed the test dependencies were out of date with the
archive. I retriggered using excuses-kicker, and all the tests
succeeded except for i386; I added this package to the above list for
getting a hint added.
## node-regexpu-core / 4.8.0-4
This is blocked by node-regenerate-unicode-properties, which now just
needs its j386 build failure hinted (above), and then should migrate.
## node-puppeteer / 13.1.0+dfsg-4
node-puppetteer has a versioned dependency on chromium and
chromium-sandbox, neither of which we carry in main or universe.
I filed LP: #1967048 to remove the binaries (thanks Christian!)
I've also forwarded to Debian a request (Deb: #1008812) to adjust the
dependencies. Depending on their response, this package may need to
have a sync block added in the future at some point.
## node-nan / 2.15.0-1 on s390x
One test case fails due to what looks to me like an endian issue with
the test's usage of node's Buffer() class. I reported the issue
upstream, filed an update-excuse bug on our end (LP: #1967589), and
disabled the test case for now.
## node-babel7 / 7.17.5+~cs214.260.190-1
- NOT SOLVED
There's several newer versions available from Debian.
Debian saw the same issue in their CI against the same version:
https://ci.debian.net/data/autopkgtest/unstable/amd64/n/node-babel7/19570001/log.gz
There seem to be only a few versions where things worked properly,
(e.g. see also Deb: #1007845) and those seem to not be cases that
included chalk so maybe the underlying issue remains unaddressed.
## bbswitch ##
Was an 'Only Unknown' failure, resolved by a basic retrigger.
## exim4 / ppc64el ##
I suspect this was just hitting a flaky test, but was blocking a dozen
other packages. A 12-package retrigger on this arch passed, and
unblocked those packages.
## apache2 ##
A lot of tests get triggered from apache2 updates, and invariably there
are some flaky tests. I did basic retriggers until all of these
succeeded and allowed apache2 to migrate.
## NBS ##
I uploaded no-change rebuilds of the 11 NBS packages to a PPA; 4 of
these build successfully, so I uploaded the no-change rebuilds to jammy:
libosmocore - 1.6.0-3build1
osmo-pcu - 0.8.0-3build3
mbedtls - 2.28.0-1build1
ncbi-vdb - 2.11.2+dfsg-4build2
libosmocore and mebdtls successfully transitioned. The other two are
still in proposed but I ran out of +1 maint time before I could
investigate, so leaving for next person and hoping they're at least
nudged forward.
The PPA used for this (and the other 7 failures) can be viewed at:
https://launchpad.net/~bryce/+archive/ubuntu/nbs-retry
----
Lastly, through the week I POC'd some code for parsing build logs,
gathering info into a more useful struct, and printing as JSON, YAML, or
text:
## Grab a build log
$ curl <build-log> --output my_buildlog.txt.gz
$ gunzip my_buildlog.txt.gz
## All data in text format
$ parse-buildlog my_buildlog.txt
...
...
## Just the metadata info, in json
$ parse-buildlog -r json -s metadata data/example-buildlog-00.txt
{
"metadata": {
"Source Version": "0.10-3",
"Distribution": "impish-proposed",
"Build Architecture": "amd64",
"Timestamp": "Thu, 27 May 2021 19:49:15 +0000",
"Build Type": "binary",
"Machine Architecture": "amd64",
"Version": "0.10-3",
"url": "https://launchpad.net/ubuntu/+source/ggcov/0.10-3/+build/21476022",
"Host Architecture": "amd64",
"Package": "ggcov"
}
}
## What version of, say, openssl was used for this build? Tell me in YAML.
$ parse-buildlog -r yaml -s in-target-update-debian-chroot -b openssl data/example-buildlog-00.txt
!!python/object/apply:collections.OrderedDict
- - - in-target-update-debian-chroot
- openssl:
arch: amd64
distribution: impish
old_version: 1.1.1j-1ubuntu3
operations:
- Get
- Upgrading
- Setting up
pocket: main
version: 1.1.1j-1ubuntu4
## Give me a list of dependencies and versions used
$ parse-buildlog -r json \
-s sbuild-package \
-b install_ggcov_build_dependencies_apt-based_resolver \
data/example-buildlog-00.txt \
| jq '.[][] | keys_unsorted[] as $k | "\($k) \(.[$k] | .version)"' \
| tr -d '\"'
libpython3.9-minimal 3.9.5-3
libexpat1 2.3.0-1
python3.9-minimal 3.9.5-3
python3-minimal 3.9.4-1
media-types 4.0.0
...
## Print out the last few lines of the actual build log
$ ./parse-buildlog -r json -s sbuild-package -b dpkg-buildpackage data/example-buildlog-00.txt | jq '.[][] | .[]' | tr -d '\"' | tail -n 10
ERROR: (test026) no output files from tggcov
ERROR: (test029) no output files from tggcov
ERROR: (test030) no output files from tggcov
ERROR: (test033) no output files from tggcov
ERROR: (test034) no output files from tggcov
Total: 1/21 tests passed
make[1]: *** [debian/rules:35: override_dh_auto_test] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:12: binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2
I only consider this about half done, but it's as far as I could get in
the week. It's been only lightly tested so probably still has many
bugs, and it needs jq a lot more than I'd like, but it's a start.
Hopefully I'll get time to work more on it some day, and meanwhile
patches of course welcomed.
bryce
More information about the ubuntu-devel
mailing list