Thread: vip-manager and vip-manager2 FTBFS

vip-manager and vip-manager2 FTBFS

From
Bradford Boyle
Date:
Hi All,

The package golang-etcd-server-dev was updated from 3.4.30 to to 3.5.15
at the end of July. This version of etcd introduced a couple of changes
to import paths that caused vip-manager and vip-manager2 to FTBFS in sid
[1, 2]. I've prepared patches for both packages to update the import
paths [3, 4]. With these patches, both packages build on sid and
autopkgtests pass.

However, bookworm has etcd 3.4.23 and noble has 3.4.30 so the patches
break the build on older distributions. I don't believe this is an issue
for vip-manager since this pakcage provides vip-manager 1.x which hasn't
had a new release since 2022. vip-manager2 has had a release as recently
as three weeks ago. If we want to build updated packages of vip-manager2
for both bookworm and trixie on pgdg, we would need to apply different
patches for etcd 3.4 and 3.5.

I suppose we could also just disable vip-manager2 for any distribution
besides sid and trixie but I don't have a sense of how popular this
package is and if that is a viable solution for this particular package.

Before updating these packages, I wanted to see if there was any input
on how to handle these packages on older distributions.

Thanks,
-- Bradford

[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1078322
[2]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1078323
[3]: https://salsa.debian.org/postgresql/vip-manager/-/commit/ac57eaba565013c462da95276db4824af3069beb
[4]: https://salsa.debian.org/postgresql/vip-manager2/-/commit/244ba273f40125861603403064171e2736a2978d



Re: vip-manager and vip-manager2 FTBFS

From
Christoph Berg
Date:
Re: Bradford Boyle
> I suppose we could also just disable vip-manager2 for any distribution
> besides sid and trixie but I don't have a sense of how popular this
> package is and if that is a viable solution for this particular package.
> 
> Before updating these packages, I wanted to see if there was any input
> on how to handle these packages on older distributions.

etcd is often run independently on the network, so might be a version
unrelated to the local OS. Supporting v1 and v2 APIs in parallel make
sense to some degree.

And then there's the problem of different etcd-client module versions
on top. I was talking to Pavlo about this yesterday and he suggested
"go replace":
https://thewebivore.com/using-replace-in-go-mod-to-point-to-your-local-module/
But I think this solves a different problem than we have.

The way to go is probably still patches for the respective etcd-client
versions, and enabling them in debian/patches/series from
generate-pgdg-source depending on the distribution targeted.

Or we might try "go get" on that module if a distribution other than
sid/testing is being built. (Unsure how to best hook that into the
build process, possibly via logic in debian/rules.)

Christoph



Re: vip-manager and vip-manager2 FTBFS

From
Christoph Berg
Date:
Re: Bradford Boyle
> I've pushed my changes for vip-manager and vip-manager2 packages to
> salsa and attached is patch for gnerate-pgdg-source that selectively
> enable/disable the patches depending on the distributions. I have
> manually tested the sed commands and that the resulting source package
> builds on sid and bookworm.

Thanks!

Unfortunately, Go is a mess, and there was still a build problem on
jammy where it worked before and is now broken for whatever reason:

11:52:57 src/github.com/cybertec-postgresql/vip-manager/checker/etcd_leader_checker.go:15:2: cannot find package
"go.etcd.io/etcd/client/v2"in any of:
 
11:52:57     /usr/lib/go-1.18/src/go.etcd.io/etcd/client/v2 (from $GOROOT)
11:52:57     /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/go.etcd.io/etcd/client/v2 (from $GOPATH)

I gave up and just copied the binaries from bullseye to jammy, which
is already done for buster and focal anyway.

Christoph