Sunday 17 March 2024

+1 maintenance report

Hi there,

I was on the +1 maintenance shift on the week of March 4th, 2024.
Most of my time was spent helping Steve move the armhf 64-bit time_t
archive rebuilds.

The following is a summary of all the packages I worked on:

## Fixed FTBFS

### `openmpi`

This package was very poorly scripted and allowed file installation
failures to present.
Multiple files were absent from the final binary packages because the
binary packages were renamed to have `t64` suffixes.
This led to `mpi4py` having strange test failures.
I have corrected the installation behaviors to install the previously
missed libraries.
The fix can be found at
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/openmpi/+git/openmpi/+merge/462375.

### `mpi4py`

This package had a documentation build failure and also a test failure
during the build.

The documentation issue was caused by the `sphinx` behaviour change
after the Python 3.12 transition (where `sphinx` was also upgraded).
This issue was addressed by removing a previous `PYTHONPATH`
overriding hack and using the InterSphinx index from the local
filesystem instead of downloading from the Internet. Unfortunately,
due to a file installation issue in the `numpy` package, the `numpy`
package lacks an InterSphinx index file, so I have to disable the
cross-module documentation indexing for `mpi4py` -> `numpy`.

The test issue was caused by the `openmpi` package not having the
correct library files installed. The details are described in the
`openmpi` section above.

You can find the documentation fix at
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/mpi4py/+git/mpi4py/+merge/462361.

### `gnuplot`

This package had a documentation build failure during the build process.

It was due to a broken documentation converter that somehow worked
fine before `glibc` was upgraded.
That documentation converter had an out-of-bound memory read when
reading `gnuplot.doc` (note that this is gnuplot format, not MS Word
format) because
the input file contained an unexpected syntactic layout. I have
provided a fix at
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/gnuplot/+git/gnuplot/+merge/462273.

### `libabigail`

This package contained a redundant `dh_makeshlibs` call in
`debian/rules`. It made the package uninstallable after the binary
packages were renamed to have `t64` suffixes.
I have submitted a patch to get this segment removed:
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/libabigail/+git/libabigail/+merge/462286.

### `jackd2`

This package was un-buildable after the Python 3.12 transition due to
its source code tree containing an outdated copy of the `waf` build
system.
I have backported the upstream fix as a distribution patch here:
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/jackd2/+git/jackd2/+merge/462267.

### `gobject-introspection`

This package was fine, but the library itself was not designed to
handle a `time_t` size that is wider than the register width. After
the `armhf` `time_t` transition,
`armhf` will have a 64-bit `time_t` type, which is 2x the size of the
register-width (32-bit).
I have proposed a fix to the upstream:
https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/451
and also kept a distribution patch to fix the
issue in Ubuntu:
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/gobject-introspection/+git/gobject-introspection/+merge/462175.
The upstream seemed to have issues with turning platform-dependent
types into platform-sized G-I primitives, so Simon McVittie from
Collabora submitted an improved patch
here: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3966.

### `hdf5`

This package had an issue with the dependency declarations, where the
non-`t64`-suffixed dependencies were used.
I have submitted a patch to address this issue:
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/hdf5/+git/hdf5/+merge/462287.

### `qt6-webengine` and `qtwebengine-opensource-src`

These two Chromiums, with different coats of Qt paints, suffered from
the Python 3.12 transition, which broke many of their build scripts.
I have to backport several batches of Chromium patches to fix the build issues.
- https://code.launchpad.net/~liushuyu-011/ubuntu/+source/qt6-webengine/+git/qt6-webengine/+merge/462543
- https://code.launchpad.net/~liushuyu-011/ubuntu/+source/qt6-webengine/+git/qt6-webengine/+merge/462529
- https://bugs.launchpad.net/bugs/2058066
- https://bugs.launchpad.net/ubuntu/+source/qtwebengine-opensource-src/+bug/2058117

There are still some issues with building on `armhf` due to several
vendored 3rdparty libraries having `time_t` allergies pending
investigations.

## Archive Bootstrapping for `armhf`

As part of the archive rebuild for `armhf`, we must start from the
dark and cold status before properly building anything clean.

With the help from Steve, Vladimir, Benjamin and Michael, I have
prepared and uploaded the following packages for bootstrapping the
archive:

- `vala`
- `gtk+2.0`
- `gtk+3.0`
- `gtk-4`
- `samba`
- `json-glib`
- `librsvg`
- `libqrtr-glib`
- `libqmi`
- `libmbim`
- `libgudev`
- `modemmanager`
- `libsoup3`
- `php8.3`
- `cups`
- `libwacom`
- `pygobject`
- `gjs`
- `xterm`
- `groff`
- `libsdl2`
- `vim`
- `graphviz`
- `ghostscript`
- `avahi`
- `poppler`
- `libdbusmenu`
- `gssdp`
- `gupnp`
- `neatvnc`
- `freerdp2`
- `gupnp-igd`
- `weston`
- `libnice`
- `tesseract`
- `colord`
- `sane-backends`
- `enchant-2`
- `gdal`
- `leptonlib`
- `ffmpeg`
- `ogre-1.12`
- `nodejs`

I will still check the `armhf` bootstrapping progress in the coming
weeks to help accelerate the rebuild process.

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

+1 maintenance report

Hi,

I was on +1 rotation this past week, aiming mainly to help move the
64-bit time_t transition further along. Being a DD but not yet having
full upload rights to Ubuntu directly, I did most of my work upstream
in Debian and Steve kindly synced my changes into noble - thanks!
Also, for the same reason, Steve kindly kicked off some no-change
rebuilds for me to fix a few FBTFS.

libdmtx
-------

A leftover reference in debian/rules to the old shared library name
was causing FTBFS. I NMU'd a fix.

https://bugs.debian.org/1066810

nsync
-----

A symbols file needed updating to reflect the 64-bitness of time_t
on the relevant arches. Did a QA upload with the fix.

https://bugs.debian.org/1065979

lirc
----

FTBFS on 32-bit arches with 64-bit time_t, due to reliance on the
kernel's timeval, which is not y2038-safe and being phased out.
NMU'd upstream patch to fix build.

https://bugs.debian.org/1066905

ulfius
------

Also FTBFS on 32-bit arches with 64-bit time_t. NMU'd upstream patch.

https://bugs.debian.org/1066944

accountsservice
---------------

Lastly, not time_t-related and not truly +1 (since I'm on the Desktop
team and this is a desktop package), but I did review and sponsor an
accountsservice upload by fossfreedom with an upstream patch to fix
FTBFS across all arches in noble due to removal of the 'assertEquals'
method alias in unittest in Python 3.12, deprecated in Python 3.2.

https://launchpad.net/bugs/2057710


I'll check back in on the excuses page this week as well,
for any other potential fixes I may be able to help with.

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Thursday 14 March 2024

Re: Latest features in autopkgtest-cloud

Hi Florent,

A JSON API would be awesome! 

> May I suggest that you fill a bug here [1] with some details on your use-case and requirements

We haven't really scoped out exactly what we'll be doing on our side with respect to our dashboard integration quite yet, so I'm not ready to file a formal request with your team at this moment. However, once we've discussed it more internally and have a better idea of that, I'll definitely fill out a request.

Thanks!

-Mitchell Augustin
Ubuntu Partner Engineering

On Thu, Mar 14, 2024 at 11:20 AM Florent 'Skia' Jacquet <florent.jacquet@canonical.com> wrote:
Le 14/03/2024 à 16:51, Mitchell Augustin a écrit :
>  > the page is absolutely **not** dynamic
>
> Thanks for pointing that out! Interestingly enough, @dann frazier
> <mailto:dann.frazier@canonical.com> and I were just recently considering
> querying autopkgtest.ubuntu.com <http://autopkgtest.ubuntu.com> as one
> part of the update process for one of our internal dashboards, so this
> is very relevant info for us. Is it safe to assume that this means it
> will stay that way? (one query method we were considering is scraping
> the HTML as long as the format does not change frequently, as this would
> allow us to query for a single package as opposed to downloading the
> entire multiple GB database and querying that instead)
>

I guess it could be not too hard for us to implement for example a
`?json` argument for those pages. At least for the
`/packages/<name>/<release>/<arch>` page, I could see a quick way to do
so, since we already compute everything in a single data structure to
fill up the table. The `/packages/<name>` page doesn't have this
computing yet, so it's a bit harder.

May I suggest that you fill a bug here [1] with some details on your
use-case and requirements, it would probably be easier to track down
this topic rather than through a mailing list thread :-)

Thanks

[1]: https://bugs.launchpad.net/auto-package-testing/

Re: Latest features in autopkgtest-cloud

Le 14/03/2024 à 16:51, Mitchell Augustin a écrit :
> > the page is absolutely **not** dynamic
>
> Thanks for pointing that out! Interestingly enough, @dann frazier
> <mailto:dann.frazier@canonical.com> and I were just recently considering
> querying autopkgtest.ubuntu.com <http://autopkgtest.ubuntu.com> as one
> part of the update process for one of our internal dashboards, so this
> is very relevant info for us. Is it safe to assume that this means it
> will stay that way? (one query method we were considering is scraping
> the HTML as long as the format does not change frequently, as this would
> allow us to query for a single package as opposed to downloading the
> entire multiple GB database and querying that instead)
>

I guess it could be not too hard for us to implement for example a
`?json` argument for those pages. At least for the
`/packages/<name>/<release>/<arch>` page, I could see a quick way to do
so, since we already compute everything in a single data structure to
fill up the table. The `/packages/<name>` page doesn't have this
computing yet, so it's a bit harder.

May I suggest that you fill a bug here [1] with some details on your
use-case and requirements, it would probably be easier to track down
this topic rather than through a mailing list thread :-)

Thanks

[1]: https://bugs.launchpad.net/auto-package-testing/

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Re: Latest features in autopkgtest-cloud

> the page is absolutely **not** dynamic

Thanks for pointing that out! Interestingly enough, @dann frazier and I were just recently considering querying autopkgtest.ubuntu.com as one part of the update process for one of our internal dashboards, so this is very relevant info for us. Is it safe to assume that this means it will stay that way? (one query method we were considering is scraping the HTML as long as the format does not change frequently, as this would allow us to query for a single package as opposed to downloading the entire multiple GB database and querying that instead)

-Mitchell Augustin
Ubuntu Partner Engineering

On Thu, Mar 14, 2024 at 10:29 AM Florent 'Skia' Jacquet <florent.jacquet@canonical.com> wrote:
Le 11/03/2024 à 19:55, dann frazier a écrit :
> On Mon, Mar 11, 2024 at 11:23 AM Florent 'Skia' Jacquet
> <florent.jacquet@canonical.com> wrote:
>>
>> Hello there,
>>
>> Here is a summary of the latest features that just landed in the
>> autopkgtest-cloud web UI, just for you to enjoy:
>>
>> * All the pages under
>> https://autopkgtest.ubuntu.com/packages/$package_name now have links to
>> both Launchpad and the excuses for that given package. Of course, if you
>> go down to the https://a.u.c/packages/$package_name/$release/$arch page,
>> the links will adapt and point you to the right release page variant for
>> Launchpad and excuses.
>> Please let me know if you think additional links in this section would
>> be useful.
>>
>> * On that same https://a.u.c/packages/$package_name page, you will now
>> find the list of running and queued tests for that package. It's the
>> same form as the a.u.c/running page, but filtered, so easier on memory
>> footprint, both for the computer and the brain cells. You may find this
>> useful to quickly search if a particular trigger for that package has
>> already been queued, no matter the release/architecture.
>>
>> * Finally on the a.u.c/packages/$package_name/$release/$arch page, you
>> will now also find the queued and running jobs, but with a more compact
>> form, added in the results table. Obviously, some data is lacking in
>> that table, thus the many "N/A", but we have no way of finding that
>> right now to fill up the gaps, sorry. Also, with the queues being
>> absolutely huge right now, you may find that for some packages, you need
>> to scroll once or twice to get to the finished results. I hope this will
>> not be too disturbing, but if it is for too many people, we may study
>> some solutions to offer the choice of hiding those lines, although our
>> dynamic web frontend developer skill set is very limited in the team (as
>> in "we don't speak JS").
>>
>> Please find attached a screenshot of the current "glance/noble/ppc64el"
>> page as an example. Non-contractual color scheme, as I run dark reader.
>>
>> Any positive feedback will be most welcome, and for negative feedback,
>> let us remind you that we have a bug tracker where you can submit your
>> wishlist here: https://bugs.launchpad.net/auto-package-testing
>
> As someone who has spent a lot of time lately monitoring different
> pages to get the full view of a package, I can say I find these
> improvements very welcome! Thanks for the update!

You're welcome! :-)


As I've been asked already, better explicit that for everyone: the page
is absolutely **not** dynamic, meaning you need to refresh it if you
want to see the latest status. The lovely moving icons for queued and
running tests are just pure CSS animations, but there is no refresh
mechanism in that table. It looks as nice, polished and dynamic as any
other modern JS-powered application thanks to bootstrap, but it's just
pure server-side rendering of plain HTML.

TL;DR: just hit F5 for latest data!

Skia

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Re: Latest features in autopkgtest-cloud

On Mon, Mar 11, 2024 at 2:23 PM Florent 'Skia' Jacquet
<florent.jacquet@canonical.com> wrote:
> Any positive feedback will be most welcome, and for negative feedback,
> let us remind you that we have a bug tracker where you can submit your
> wishlist here: https://bugs.launchpad.net/auto-package-testing

Thanks for the improvements on additional context and status per
package/release/arch -- that's very helpful!


--
Mauricio Faria de Oliveira

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Re: Latest features in autopkgtest-cloud

Le 11/03/2024 à 19:55, dann frazier a écrit :
> On Mon, Mar 11, 2024 at 11:23 AM Florent 'Skia' Jacquet
> <florent.jacquet@canonical.com> wrote:
>>
>> Hello there,
>>
>> Here is a summary of the latest features that just landed in the
>> autopkgtest-cloud web UI, just for you to enjoy:
>>
>> * All the pages under
>> https://autopkgtest.ubuntu.com/packages/$package_name now have links to
>> both Launchpad and the excuses for that given package. Of course, if you
>> go down to the https://a.u.c/packages/$package_name/$release/$arch page,
>> the links will adapt and point you to the right release page variant for
>> Launchpad and excuses.
>> Please let me know if you think additional links in this section would
>> be useful.
>>
>> * On that same https://a.u.c/packages/$package_name page, you will now
>> find the list of running and queued tests for that package. It's the
>> same form as the a.u.c/running page, but filtered, so easier on memory
>> footprint, both for the computer and the brain cells. You may find this
>> useful to quickly search if a particular trigger for that package has
>> already been queued, no matter the release/architecture.
>>
>> * Finally on the a.u.c/packages/$package_name/$release/$arch page, you
>> will now also find the queued and running jobs, but with a more compact
>> form, added in the results table. Obviously, some data is lacking in
>> that table, thus the many "N/A", but we have no way of finding that
>> right now to fill up the gaps, sorry. Also, with the queues being
>> absolutely huge right now, you may find that for some packages, you need
>> to scroll once or twice to get to the finished results. I hope this will
>> not be too disturbing, but if it is for too many people, we may study
>> some solutions to offer the choice of hiding those lines, although our
>> dynamic web frontend developer skill set is very limited in the team (as
>> in "we don't speak JS").
>>
>> Please find attached a screenshot of the current "glance/noble/ppc64el"
>> page as an example. Non-contractual color scheme, as I run dark reader.
>>
>> Any positive feedback will be most welcome, and for negative feedback,
>> let us remind you that we have a bug tracker where you can submit your
>> wishlist here: https://bugs.launchpad.net/auto-package-testing
>
> As someone who has spent a lot of time lately monitoring different
> pages to get the full view of a package, I can say I find these
> improvements very welcome! Thanks for the update!

You're welcome! :-)


As I've been asked already, better explicit that for everyone: the page
is absolutely **not** dynamic, meaning you need to refresh it if you
want to see the latest status. The lovely moving icons for queued and
running tests are just pure CSS animations, but there is no refresh
mechanism in that table. It looks as nice, polished and dynamic as any
other modern JS-powered application thanks to bootstrap, but it's just
pure server-side rendering of plain HTML.

TL;DR: just hit F5 for latest data!

Skia

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel