## +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 -- ubuntu-devel mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
