dpt-salsa - manage repositories and members of the perl-team on salsa.debian.org
Contents
Configuration
dpt-salsa uses the following environment variables, set either directly or via ~/.dpt.conf / ~/.config/dpt.conf: DPT_SALSA_PRIVATE_TOKEN required, no default, obviously These tokens are created at <https://salsa.debian.org/-/profile/personal_access_tokens>. Note that the token needs api and read_user scope permissions. DPT_SALSA_API_URL optional, default: https://salsa.debian.org/api/v4 DPT_SALSA_PERL_TEAM_PATH optional, default: perl-team DPT_SALSA_PERL_TEAM_ID optional, default: 2663 DPT_SALSA_PERL_TEAM_INTERPRETER_PATH optional, default: perl-team/interpreter DPT_SALSA_PERL_TEAM_INTERPRETER_ID optional, default: 2664 DPT_SALSA_PERL_TEAM_MODULES_PATH optional, default: perl-team/modules DPT_SALSA_PERL_TEAM_MODULES_ID optional, default: 2665 DPT_SALSA_PERL_TEAM_MODULES_PACKAGES_PATH optional, default: perl-team/modules/packages DPT_SALSA_PERL_TEAM_MODULES_PACKAGES_ID optional, default: 2666 DPT_SALSA_PERL_TEAM_MODULES_ATTIC_PATH optional, default: perl-team/modules/attic DPT_SALSA_PERL_TEAM_MODULES_ATTIC_ID optional, default: 2667 DPT_SALSA_PERL_TEAM_MODULES_META_PATH optional, default: perl-team/modules/meta DPT_SALSA_PERL_TEAM_MODULES_META_ID optional, default: 13881 DPT_SALSA_PERL_TEAM_PAGES_PATH optional, default: perl-team/perl-team.pages.debian.net DPT_SALSA_PERL_TEAM_PAGES_ID optional, default: 11266 DPT_SALSA_PERL_TEAM_SCRIPTS_PATH optional, default: perl-team/scripts DPT_SALSA_PERL_TEAM_SCRIPTS_ID optional, default: 13429 DPT_PACKAGES only used by the mrconfig subcommand, no default; most probably already set for use with other dpt commands. Cf. dpt-config(5). By default, the output of some subcommands uses colors, unless STDOUT is not a tty or the environment variables CLICOLOR or NO_COLOR are set to false or true, respectively.
Copyright And License
Copyright 2018-2024, gregor herrmann <gregoa@debian.org>
Released under the same terms as Perl itself, i.e. Artistic or GPL-1+.
pkg-perl-tools 0.82 2025-02-28 dpt-salsa(1)
Description
dpt-salsa is basically a wrapper around GitLab::API::v4, similar to gitlab-api-v4(1), with various
variables regarding salsa.debian.org and the modules subgroup of the perl-team group already preset and
typical method calls encapsulated.
It offers subcommands to manage repositories and members of the modules subgroup with hopefully less
typing then calling the API manually each time.
Make sure to check the "CONFIGURATION" section below if you use dpt-salsa for the first time.
Name
dpt-salsa - manage repositories and members of the perl-team on salsa.debian.org
Options
--help
Show short help.
--man
Show complete manpage.
--all
Act on all users or repositories, not a single named one. Only for specific subcommands, as noted in
their description.
--attic
Act on archived repositories instead of active ones. Only for specific subcommands, as noted in
their description.
--json
Format output as JSON instead of human-targeted text. Only for specific subcommands, as noted in
their description.
--verbose
Print output for otherwise silent and potentially long-running commands. Only for specific
subcommands, as noted in their description.
See Also
<https://salsa.debian.org/perl-team>
GitLab::API::v4
<https://docs.gitlab.com/ce/api/>
Subcommands
formanagingrepositoriespushrepo
Creates a new repository in the modules subgroup (with createrepo() and configurerepo()) and pushes the
local repository.
createreporepositoryname
Creates a new empty repository in the modules subgroup and calls configurerepo().
Parameters:
repositoryname
Name of the repository to be added; usually the package name. Required.
configurereporepositoryid|repositoryname[--verbose]
Sets up the default webhooks and services for one repository.
Parameters:
repositoryid|repositoryname
The repository to be configured. Either its id (\d+) or name (\w+). Required.
Silent on success unless "--verbose" is given.
configurerepo--all[--attic][--verbose][--parallelN][-jN]
Sets up the default webhooks and services for all active (or, with "--attic", archived) repositories.
Silent on success unless "--verbose" is given.
With "--parallel" Parallel::ForkManager is employed for parallelism.
changereporepositoryid|repositoryname"name"|"description""parameter"
Changes the name (and the path) or the description of a repository.
Parameters:
repositoryid|repositoryname
The repository to be configured. Either its id (\d+) or name (\w+). Required.
"name"|"description"
What should be changed? The "name" or the "description" of the repository. Required.
parameter
The new name or description. Required.
deletereporepositoryid|repositoryname
Delete a repository (a.k.a project).
Parameters:
repositoryid|repositoryname
The repository to be deleted. Either its id (\d+) or name (\w+). Required.
listrepos[--json][--attic]
Show all active (or, with "--attic", archived) repositories in the modules subgroup.
If used with "--all", returns repository ids and does not output anything; for internal use.
kgbrepositoryid|repositoryname|--all[--attic]--on|--off
Install ("--on") or remove ("--off") the KGB IRC notification webhook for the given, all active
("--all"), or all archived ("--attic") repositories.
"--on" removes any legacy hooks (plain http, explicit port number) and replaces them with the canonical
one. If the repository already uses the right hook, "--on" does nothing.
Parameters:
repositoryid|repositoryname
The repository to be configured. Either its id (\d+) or name (\w+). Required unless "--all" is used.
toattic|fromatticrepositoryid|repositoryname
Moves a repository to/from the attic sub-group of the modules sub-group. Useful when a package is
removed from the archive or added back.
Probably needs appropriate permissions.
formanagingusersadduserusername|userid[access_level]
Adds a user to the modules subgroup of the perl-team group.
Parameters:
username|userid
The user to be added. Either their id (\d+) or their username (\w+). Required.
access_level
One of GitLab's access levels: no_access, guest, reporter, developer, maintainer, owner. Optional,
defaults to "maintainer".
removeuserusername|userid
Removes a user from the modules subgroup of the perl-team group.
Parameters:
username|userid
The user to be removed. Either their id (\d+) or their username (\w+). Required.
changeuseraccess_levelusername|userid|--all
Change the access level of one or all user(s) in the modules subgroup of the perl-team group.
Parameters:
access_level
One of GitLab's access levels: guest, reporter, developer, maintainer, owner. Required.
username|userid
The user whose access level is to be changed. Either their id (\d+) or their username (\w+).
Required, unless "--all" is used.
listmembers[--json]
Show all members of the modules subgroup of the perl-team group.
If used with "--all", returns user ids and does not output anything; for internal use.
othersmrconfig[--parallelN][-jN]
Helper for creating
• a .mrconfig.packages file in the local clone of "meta.git" for all active packages of the modules
subgroup of the perl-team group. Also writes to stdout which can be included from .mrconfig.
• .lastactivity/PKGNAME files in the local clone of "meta.git" for all active packages of the modules
subgroup of the perl-team group which are then used by compare-lastactivity in .mrconfig.
With "--parallel" Parallel::ForkManager is employed for parallelism.
Additionally, the option will also output a list of repositories that potentially have not been
configured with dpt-salsa.
current_user[--json]
Outputs information about the user whose GitLab token is used.
help
Same as option --help.
version[--json]
Returns the version of the GitLab instance running on salsa.debian.org.
This subcommand is pretty useless, the only excuse for its existence is the ability to test if everything
is working fine.
Synopsis
dptsalsa [--help|--man|--json|--verbose|--all|--attic] subcommand [parameters]
