[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: scripts for DEP-14 migration



Moving to the Debian Go list...

See quote below for what Lucas did for the Ruby team to harmonize Salsa
git repositories.  Having worked on a couple of Go packages, I would
appreciate mass-update like this one, to get consistency.  What do
others think?

Maybe we can reach a similar decision like this one?
https://lists.debian.org/debian-ruby/2025/08/msg00019.html

I think that pristine-tar is controversial in the Go team, or maybe even
more strongly that there is even a concensus to not use it.  Otherwise I
think all changes that Lucas did for the Ruby team would apply to the Go
team too.  Here is what I would like to happen for all Go packages:

# - Renames the default branch to 'debian/latest' and sets it as the default branch.
# - Renames 'upstream' to 'upstream/latest'.
# - Automatically maps Debian suite branches (e.g., 'buster') to the new
#   layout (e.g., 'debian/buster'). Handles 'trixie', 'bookworm', 'bullseye',
#   'buster', and 'stretch', including their backports branches.
# - Doesn't affect presence or absence of 'pristine-tar' branch.
# - Updates 'debian/gbp.conf' with the new branch names, preserving existing
#   content (but not comments, due to a library limitation).
# - Verifies all branches are mapped before starting to prevent errors.
# - Includes options to specify custom branch renames and to delete branches.

And going further:

# - Update to Standards-Version
# - Use dh-sequence-golang instead of dh-golang
# - Flag any dh-compat < 13
# - Add a debian/salsa-ci.yml based on the normal Salsa CI pipeline.
# - Set the Gitlab CI configuration file to debian/salsa-ci.yml.
# - Remove the Go-specific debian/gitlab-ci.yml file.

Perhaps the debian/salsa-ci.yml should contain something like this:

include:
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
- https://salsa.debian.org/go-team/infra/pkg-go-tools/-/raw/master/pipeline/team.yml

So we could add the "test_the_archive" job to all Go packages, on top of
the normal Salsa CI pipeline.

/Simon

Lucas Nussbaum <lucas@debian.org> writes:

> On 26/08/25 at 09:33 +0200, Simon Josefsson wrote:
>> Are your scripts to do these mass-commits available somewhere?
>> 
>> I've often wanted to apply the same kind of fix to many packages at the
>> same time, but I mentally queue them and apply them when updating a
>> particular package once it is time to work on that package.  This can
>> take months to complete, and probably leads to mistakes.
>
> Yes
>
> the main script to migrate a given project to DEP-14 is
> https://salsa.debian.org/ruby-team/meta/-/blob/master/dep14-migrate?ref_type=heads
>
> there's another script to add a branch rule to protect *master*:
> https://salsa.debian.org/ruby-team/meta/-/blob/master/dep14-protect-branches?ref_type=heads
>
> As the source for packages to process, I use UDD's Salsa dashboard:
> https://udd.debian.org/salsa/
> There's a JSON export so it's easy to process it and identify candidate
> packages based on their default branch, other branches, debian/gbp.conf,
> etc.
>
> Other than the issue with Salsa CI load, everything went smoothly when
> migrating around 1200 packages.
>
> The mailing list discussion, for context:
> https://lists.debian.org/debian-ruby/2025/08/msg00019.html
>
> Both scripts should be largely applicable to other teams, and I can help
> if needed.
>
> Lucas

Attachment: signature.asc
Description: PGP signature


Reply to: