+1 Maintenance Report

William Wilson william.wilson at canonical.com
Fri Jul 1 17:33:11 UTC 2022


Bryce,

Thanks for replying here and in IRC. it does appear g-g-j-pgtype does
successfully build with g-g-j-pgx 3.6.2-2. I'm about to EOW but will
contact an AA next week about the next steps.

Thanks again!

William

On Fri, Jul 1, 2022 at 12:08 PM Bryce Harrington <
bryce.harrington at canonical.com> wrote:

> On Fri, Jul 01, 2022 at 11:34:13AM -0500, William Wilson wrote:
> > Greetings ubuntu-devel,
> >
> > This week I was on +1 maintenance and I noticed an odd circular
> dependency
> > between two packages.
> >
> >    - Package golang-github-jackc-pgtype is in NEW and is dependency wait
> on
> >    golang-github-jackc-pgx-v4-dev.
> >    - Package golang-github-jackc-pgx-v4-dev is a new binary package to be
> >    built from src:golang-github-jackc-pgx as it migrates from major
> version v3
> >    to v4.
> >    - src:golang-github-jackc-pgx can not build any v4 binaries without
> >    golang-github-jackc-pgtype-dev, which is built from
> >    src:golang-github-jackc-pgtype
> >
> >
> > The TL;DR of this is that src:golang-github-jackc-pgtype cannot build
> > without binaries from src:golang-github-jackc-pgx, which cannot build
> > without binaries from src:golang-github-jackc-pgtype, and thus there is a
> > circular dependency.
> >
> > Are there any methods for dealing with this type of circular dependency?
> In
> > Debian I can see they did a binary-only upload to fix this, but as far
> as I
> > know there is no such thing in Ubuntu.
>
> Right, that's not generally an available option for us.  The two
> approaches I've had success with are a) bypassing test-during-build, and
> b) bootstrapping from earlier versions.  Towards the end of this page is
> a section on handling circular dependencies that explain these two:
>
>
> https://github.com/canonical/ubuntu-maintainers-handbook/blob/main/ProposedMigration.md1
>
> In this case, it doesn't look like the dependency is due to testing so
> option (b) may be worth looking at.  It appears that g-g-j-pgtype
> used to depend on g-g-j-pgx-dev, at version 1.10.0-3, which is currently
> available in kinetic.
>
> So, I think the bootstrap solution might be:
>
>   1. Verify that g-g-j-pgtype (1.10.0-3) actually does build
>      successfully against g-g-j-pgx-dev (3.6.2-2).  (This is probably
>      best to verify in a PPA.)  If so, then...
>
>   2. Request an Archive Admin to delete from -proposed:
>      - golang-github-jackc-pgtype (1.10.0-4) source & binary
>      - golang-github-jackc-pgx (4.15.0-4) source & binary
>
>   3. Prepare and upload g-g-j-pgtype (1.10.0-3), and verify it
>      builds ok.  Then proceed with syncpackage on both packages to pull
>      in the newer versions.
>
> If step #1 does *not* work, then the problem is more complex.  It might
> be worth checking in with the Debian maintainer for ideas at that point.
>
> Bryce
>
> > I briefly thought about combining the packages, but that is not idea
> > for a few reasons:
> >
> >    1. It breaks our golang-github-<username>-<repo> packaging convention.
> >    2. It would install possibly un-needed source code on people's
> machines
> >    if they install the combined package but really only needed one.
> >
> > Now for the report of things I was able to solve: I usually focus mainly
> on
> > failed tests, but I noticed there were quite a few FTBFS packages, so I
> > decided to focus on those.
> >
> > libdigidoc - openssl v3 related regression. This is fixed in Ubuntu and I
> > have created a QA upload for Debian. This will be sponsored by ginggs.
> >
> > rinutils - filed https://launchpad.net/bugs/1980243 and
> > https://bugs.debian.org/1014169 to explain that it needs new
> dependencies
> > packaged
> >
> > golang-github-masterminds-sprig - I fixed a regression in this package
> > which unblocked:
> >     * golang-step-crypto
> >     * golang-step-cli-utils
> >     * golang-github-smallstep-certificates
> > Thanks to seb128 for helping shepherd some of these binary packages
> through
> > the NEW queue
> >
> > golang-oras-oras-go - Fixed a regression in Ubuntu and forwarded to
> Debian
> >
> > golang-mongodb-mongo-driver - Fixed a regression in Ubuntu (and forwarded
> > to Debian) which unblocks:
> >     * golang-github-go-openapi-strfmt
> >     * golang-github-go-openapi-validate
> >     * golang-github-go-openapi-runtime
> >
> > golang-github-openshift-imagebuilder: Fixed regression in Ubuntu and
> > forwarded to Debian
> >
> > scamper - Fixed a regression in Ubuntu and forwarded to Debian
> >
> > Thank you for reading,
> >
> > William 'jawn-smith' Wilson
>
> > --
> > ubuntu-devel mailing list
> > ubuntu-devel at lists.ubuntu.com
> > Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20220701/48c64eef/attachment-0001.html>


More information about the ubuntu-devel mailing list