Tuesday, 11 April 2023

Re: +1 Maintenance Report

Congratulations on your first +1 maintenance rotation!

On Mon, Apr 10, 2023 at 12:45:49AM -0600, Zixing Liu wrote:
> rust-criterion (0.3.6-3 to 0.4.0-2)
> Due to the `rustc` version discrepancy between Ubuntu and Debian,
> `rust-criterion` failed to compile in Ubuntu.
> I have backported an upstream patch to `rust-criterion/0.4.0-2`, which
> fixed the compiler error by covering all
> the possible enumeration variants (missing `match` cases in Rust is an
> error).
> You can find the fix I proposed at
> https://code.launchpad.net/~liushuyu-011/ubuntu/+source/rust-criterion/+git/rust-criterion/+merge/440546

Sponsored, thanks.

> hg-git (0.10.4-5 to 1.0.1-1)
> The UI test failed with one mismatched output of `remote: found 0 deltas to
> reuse` due to the test corpus
> did not account for an updated version of Git.
> The fix was simply to add this line to the expected output corpus.
> You can find the fix I proposed at
> https://code.launchpad.net/~liushuyu-011/ubuntu/+source/hg-git/+git/hg-git/+merge/440545

Also sponsored.

Please make sure to forward this fix to Debian as well.

> === Investigated but Not Fixed
>
> cataclysm-dda (0.F-3-5 to 0.F-3-9)
> We are using GCC 13, which introduced a stricter array out-of-bound (OOB)
> access check.
> This game used `-Werror` in the `CFLAGS`, which failed to compile due to
> the stricter check.

Looks like this has since been fixed by a manual sync by Graham from
unstable.

> git-annex (8.20210223-2ubuntu2 to 8.20210223-2ubuntu3)
> This Haskell package failed to sync with Debian upstream due to Ubuntu
> deltas.
> Please see this sync bug for more information:
> https://bugs.launchpad.net/ubuntu/+source/git-annex/+bug/2003918

Synced now, after confirming the delta was no longer needed. However, the
new version also FTBFS.
https://launchpad.net/ubuntu/+source/git-annex/10.20230126-3 (I think I may
have tested this locally previously, though I can't be recall for sure.)

> libs3 (2.0-3.1 to 2.0-4)
> The package failed to compile on `ppc64el` because of the stricter array
> boundary checks.

This looks like the same bug as
https://bugs.launchpad.net/ubuntu/+source/gcc-12/+bug/2013140. It's
appropriate to work around this by setting
DEB_CFLAGS_MAINT_STRIP=-Werror=stringop-overread on ppc64el.

> sccache (0.4.0~~pre6-1 to 0.4.0~~pre7-1)
> The package failed to compile on `armhf` due to an out-of-memory situation.
> Retry did not help.
> The angle of attack would be turning off LTO and/or increasing the
> `codegen-unit` parameter in the `[profile.release]`
> section of the `Cargo.toml` file.
> Rust compiler is memory hungry when LTO is turned on because all the
> translation units need to be
> read into the memory for the Whole Program Analysis (WPA) or the
> Inter-Procedural Optimization (IPO) passes.

For comparison, we do not enable LTO by default for gcc targets on armhf.

> toybox (0.8.8+dfsg-2 to 0.8.9+dfsg-1)
> This package lacks several dependencies, including `libssl-dev`,
> `zlib1g-dev`. After adding those dependencies,
> more dependencies are found to be missing. Not quite sure how Debian
> managed to get this to compile.

Looking closely at this, I don't think these are missing build-dependencies.
Despite being presented as errors in the logs, it looks to me like these are
optional libraries that are being probed for availability; they shouldn't
have been available in the Debian build either but for some reason there's a
difference in verbosity of output?

Indeed, it appears Launchpad exports V=1 in the build environment.

And if I try to build toybox locally, it succeeds WITHOUT $V, but fails WITH
V=1.

So a fix for this is to unset V in the build environment. I've uploaded a
fix and forwarded to Debian.

> ruby-foreman (0.85.0-2 to 0.87.2-1)
> The build failed with `No entry for terminal type "unknown"`.
> This package probably needs a proper `$TERM` environment variable to be set.

Yes.

> php-dompdf (0.6.2+dfsg-4 to 2.0.3+dfsg-1)
> The dependency package `php-dompdf-svg-lib` was not synced into Ubuntu.

$ syncpackage php-dompdf-svg-lib
Source package php-dompdf-svg-lib is blacklisted.
If this package needs a fakesync, use --fakesync
If you think this package shouldn't be blacklisted, please file a bug
explaining your reasoning and subscribe ~ubuntu-archive.
Blacklist Comments:
From sync-blacklist.txt:
# vorlon, 2023-03-28, requires horde
php-dompdf-svg-lib
$

So, removing php-dompdf as well.

> ruby-jekyll-remote-theme (0.4.3-2 to 0.4.3-3)
> The tests in this package need network access (connects to GitHub).
> The sole purpose of this package is to load Jekyll themes from a remote
> source.

Then it would be appropriate to disable the tests at build-time.

> giara (0.3-3 to 1.0.1-2)
> `s390x` support removed in 1.0.1-2 (from Debian)

Confirmed, binary removed now in Ubuntu.

> byte-buddy (1.11.4-1 to 1.12.21-1)
> This package needs a newer version of `libbyte-buddy-java (>= 1.12.22)` to
> be synchronized into Ubuntu.

This seems to not be the case as byte-buddy 1.12.21-1 has now migrated?

> tinyssh (20190101-1ubuntu1 to 20230101-1)
> The directory is world-writable by group or others: /home/ubuntu/.ssh/,
> which causes the sanity check to fail.
> We probably want to `chmod` the directory before the test.

Nothing should be touching the user's home directory as part of a test.
It's wrong for /home/ubuntu/.ssh to be writable by anyone but the user, but
tinyssh autopkgtests shouldn't be rummaging around in the inherited $HOME -
they need to set HOME to a temp directory!

Overall, it seems that you looked at a large number of packages in
-proposed, but that for most of them you stopped at analysis (which is
useful) without preparing and submitting fixes for the issues identified.
In the future, please focus more on the latter, as that's what's actually
required to resolve the issues - few will read your email on ubuntu-devel in
depth, fewer will remember what your analysis was (or be able to find it
later). As a result, it's more efficient overall to work deeply on a small
number of packages to drive them to completion, than to shallowly touch a
large number of packages.

Thanks!

--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org