All,

cosign 2.4.2 (pending upload) changed to use
gitlab.com/gitlab-org/api/client-go instead of the old
github.com/xanzy/go-gitlab namespace.

As far as I can tell from https://github.com/xanzy/go-gitlab the new
home at gitlab.com should be considered a continuation of the github.com
project.

What is the right way to do a namespace migration like this?

- Changing Debian source package names is a lot of work, and there is no
  gain here.  So it should continue to be
  'golang-github-xanzy-go-gitlab'.

- There ought to be a new 'golang-gitlab-gitlab-org-api-client-go-dev'
  binary package added to 'golang-github-xanzy-go-gitlab', corresponding
  to the new namespace.

- Packages that (build-)depend on 'golang-github-xanzy-go-gitlab-dev'
  should continue to work, through the old namespace.

- As far as I can tell 'cosign' and 'glab' are the only reverse
  dependencies for 'golang-github-xanzy-go-gitlab'.

I think there are two ways forward here:

1) Look into if the Debian 'glab' package can be updated to use the new
'gitlab.com/gitlab-org/api/client-go' namespace.  As far as I can tell,
upstream did this one month ago:

https://gitlab.com/gitlab-org/cli/-/commit/09771336ce970922c6bea161167a2aa88e8f4331

Which is part of the 'v1.52.0 release.  If new 'glab' release builds in
Debian (without new build dependencies..) the process may be like this:

A) Upload a new version of 'golang-github-xanzy-go-gitlab' with a new
binary package 'golang-gitlab-gitlab-org-api-client-go-dev', going
through NEW queue.  Add a symlink in 'golang-github-xanzy-go-gitlab-dev'
so that the code is accessible both via the old+new namespace.

B) Upload a new version of 'glab' upgrading it to the latest version,
dropping 'golang-github-xanzy-go-gitlab-dev' in favor of
'golang-gitlab-gitlab-org-api-client-go-dev'.

C) Upload a new version of 'cosign', dropping
'golang-github-xanzy-go-gitlab-dev' in favor of
'golang-gitlab-gitlab-org-api-client-go-dev'.

D) Upload a new version of 'golang-github-xanzy-go-gitlab' that simply
drop the old no longer used 'golang-github-xanzy-go-gitlab-dev' package.
This isn't important, and can be done much later if anyone see a point
in retaining 'golang-github-xanzy-go-gitlab-dev' for some time.

2) If 'glab' cannot easily be upgraded to the latest version, how about
doing an upload of the current 'glab' version with a small patch to use
'golang-github-xanzy-go-gitlab-dev' and its new namespace?  Replacing
step B) above, but keeping A+C+D.

This all depends on that the API of the latest version of
gitlab.com/gitlab-org/api/client-go actually satisfy the needs of either
the old or new version of 'glab'.  Otherwise there is trouble.

/Simon

Attachment: signature.asc
Description: PGP signature

Reply via email to