.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "dpt-salsa 1" .TH dpt-salsa 1 "2019-03-01" "pkg-perl-tools 0.51" "Debian Perl packaging Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" dpt\-salsa \- manage repositories and members of the perl\-team on salsa.debian.org .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBdpt salsa\fR [\-\-help|\-\-man|\-\-json|\-\-all|\-\-attic] \fIsubcommand\fR [parameters] .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBdpt-salsa\fR is basically a wrapper around GitLab::API::v4, similar to \&\fBgitlab\-api\-v4\fR\|(1), with various variables regarding \fIsalsa.debian.org\fR and the \fImodules\fR subgroup of the \fIperl-team\fR group already preset and typical method calls encapsulated. .PP It offers subcommands to manage repositories and members of the \fImodules\fR subgroup with hopefully less typing then calling the \s-1API\s0 manually each time. .PP Make sure to check the \*(L"\s-1CONFIGURATION\*(R"\s0 section below if you use \&\fBdpt-salsa\fR for the first time. .SH "SUBCOMMANDS" .IX Header "SUBCOMMANDS" .SS "for managing repositories" .IX Subsection "for managing repositories" \fI\fIpushrepo\fI\fR .IX Subsection "pushrepo" .PP Creates a new repository in the \fImodules\fR subgroup (with \f(CW\*(C`createrepo()\*(C'\fR and \&\f(CW\*(C`configurerepo()\*(C'\fR) and pushes the local repository. .PP \fI\fIcreaterepo\fI \fIrepositoryname\fI\fR .IX Subsection "createrepo repositoryname" .PP Creates a new empty repository in the \fImodules\fR subgroup and calls \f(CW\*(C`configurerepo()\*(C'\fR. .PP Parameters: .IP "repositoryname" 4 .IX Item "repositoryname" Name of the repository to be added; usually the package name. Required. .PP \fI\fIconfigurerepo\fI \fIrepositoryid|repositoryname\fI\fR .IX Subsection "configurerepo repositoryid|repositoryname" .PP Sets up the default webhooks and services for one repository. .PP Parameters: .IP "repositoryid|repositoryname" 4 .IX Item "repositoryid|repositoryname" The repository to be configured. Either its id (\ed+) or name (\ew+). Required. .PP \fI\fIconfigurerepo\fI \fI\-\-all\fI [\-\-attic]\fR .IX Subsection "configurerepo --all [--attic]" .PP Sets up the default webhooks and services for all active (or, with \&\f(CW\*(C`\-\-attic\*(C'\fR, archived) repositories. .PP \fI\fIchangerepo\fI \fIrepositoryid|repositoryname\fI \fI\*(L"name\*(R"|\*(L"description\*(R"\fI \f(CI"parameter"\fI\fR .IX Subsection "changerepo repositoryid|repositoryname name|description ""parameter""" .PP Changes the name (and the path) or the description of a repository. .PP Parameters: .IP "repositoryid|repositoryname" 4 .IX Item "repositoryid|repositoryname" The repository to be configured. Either its id (\ed+) or name (\ew+). Required. .ie n .IP """name""|""description""" 4 .el .IP "``name''|``description''" 4 .IX Item "name|description" What should be changed? The \*(L"name\*(R" or the \*(L"description\*(R" of the repository. Required. .IP "parameter" 4 .IX Item "parameter" The new name or description. Required. .PP \fI\fIlistrepos\fI [\-\-json] [\-\-attic]\fR .IX Subsection "listrepos [--json] [--attic]" .PP Show all active (or, with \f(CW\*(C`\-\-attic\*(C'\fR, archived) repositories in the \&\fImodules\fR subgroup. .PP If used with \f(CW\*(C`\-\-all\*(C'\fR, returns repository ids and does not output anything; for internal use. .PP \fI\fIkgb\fI \fIrepositoryid|repositoryname\fI|\fI\-\-all\fI [\-\-attic] \fI\-\-on|\-\-off\fI\fR .IX Subsection "kgb repositoryid|repositoryname|--all [--attic] --on|--off" .PP Install (\f(CW\*(C`\-\-on\*(C'\fR) or remove (\f(CW\*(C`\-\-off\*(C'\fR) the \s-1KGB IRC\s0 notification webhook for the given, all active (\f(CW\*(C`\-\-all\*(C'\fR), or all archived (\f(CW\*(C`\-\-attic\*(C'\fR) repositories. .PP If a \s-1KGB\s0 notification webhook is already present, \f(CW\*(C`\-\-on\*(C'\fR does nothing. .PP Parameters: .IP "repositoryid|repositoryname" 4 .IX Item "repositoryid|repositoryname" The repository to be configured. Either its id (\ed+) or name (\ew+). Required unless \f(CW\*(C`\-\-all\*(C'\fR is used. .PP \fI\fItoattic|fromattic\fI \fIrepositoryid|repositoryname\fI\fR .IX Subsection "toattic|fromattic repositoryid|repositoryname" .PP Moves a repository to/from the \fBattic\fR sub-group of the \fBmodules\fR sub-group. Useful when a package is removed from the archive or added back. .PP Probably needs appropriate permissions. .SS "for managing users" .IX Subsection "for managing users" \fI\fIadduser\fI \fIusername|userid\fI [access_level]\fR .IX Subsection "adduser username|userid [access_level]" .PP Adds a user to the \fImodules\fR subgroup of the \fIperl-team\fR group. .PP Parameters: .IP "username|userid" 4 .IX Item "username|userid" The user to be added. Either their id (\ed+) or their username (\ew+). Required. .IP "access_level" 4 .IX Item "access_level" One of \fIGitLab\fR's access levels: no_access, guest, reporter, developer, maintainer, owner. Optional, defaults to \f(CW\*(C`maintainer\*(C'\fR. .PP \fI\fIremoveuser\fI \fIusername|userid\fI\fR .IX Subsection "removeuser username|userid" .PP Removes a user from the \fImodules\fR subgroup of the \fIperl-team\fR group. .PP Parameters: .IP "username|userid" 4 .IX Item "username|userid" The user to be removed. Either their id (\ed+) or their username (\ew+). Required. .PP \fI\fIchangeuser\fI \fIaccess_level\fI \fIusername|userid\fI|\fI\-\-all\fI\fR .IX Subsection "changeuser access_level username|userid|--all" .PP Change the access level of one or all user(s) in the \fImodules\fR subgroup of the \&\fIperl-team\fR group. .PP Parameters: .IP "access_level" 4 .IX Item "access_level" One of \fIGitLab\fR's access levels: guest, reporter, developer, maintainer, owner. Required. .IP "username|userid" 4 .IX Item "username|userid" The user whose access level is to be changed. Either their id (\ed+) or their username (\ew+). Required, unless \f(CW\*(C`\-\-all\*(C'\fR is used. .PP \fI\fIlistmembers\fI [\-\-json]\fR .IX Subsection "listmembers [--json]" .PP Show all members of the \fImodules\fR subgroup of the \fIperl-team\fR group. .PP If used with \f(CW\*(C`\-\-all\*(C'\fR, returns user ids and does not output anything; for internal use. .SS "others" .IX Subsection "others" \fI\fImrconfig\fI [\-\-parallel N] [\-j N]\fR .IX Subsection "mrconfig [--parallel N] [-j N]" .PP Helper for creating .IP "\(bu" 4 a \fI.mrconfig.packages\fR file in the local clone of \&\f(CW\*(C`meta.git\*(C'\fR for all active packages of the \fImodules\fR subgroup of the \&\fIperl-team\fR group. Also writes to stdout which can be included from \&\fI.mrconfig\fR. .IP "\(bu" 4 \&\fI.lastactivity/PKGNAME\fR files in the local clone of \&\f(CW\*(C`meta.git\*(C'\fR for all active packages of the \fImodules\fR subgroup of the \&\fIperl-team\fR group which are then used by \fBcompare-lastactivity\fR in \fI.mrconfig\fR. .PP With \f(CW\*(C`\-\-parallel\*(C'\fR Parallel::ForkManager is employed for parallelism. .PP \fI\fIcurrent_user\fI [\-\-json]\fR .IX Subsection "current_user [--json]" .PP Outputs information about the user whose \fIGitLab\fR token is used. .PP \fI\fIhelp\fI\fR .IX Subsection "help" .PP Same as option \fB\-\-help\fR. .PP \fI\fIversion\fI [\-\-json]\fR .IX Subsection "version [--json]" .PP Returns the version of the \fIGitLab\fR instance running on \fIsalsa.debian.org\fR. .PP This subcommand is pretty useless, the only excuse for its existence is the ability to test if everything is working fine. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\-\-help" 4 .IX Item "--help" Show short help. .IP "\-\-man" 4 .IX Item "--man" Show complete manpage. .IP "\-\-all" 4 .IX Item "--all" Act on all users or repositories, not a single named one. Only for specific subcommands, as noted in their description. .IP "\-\-attic" 4 .IX Item "--attic" Act on archived repositories instead of active ones. Only for specific subcommands, as noted in their description. .IP "\-\-json" 4 .IX Item "--json" Format output as \s-1JSON\s0 instead of human-targeted text. Only for specific subcommands, as noted in their description. .SH "CONFIGURATION" .IX Header "CONFIGURATION" \&\fBdpt-salsa\fR uses the following environment variables, set either directly or via \fI~/.dpt.conf\fR / \fI~/.config/dpt.conf\fR: .IP "\s-1DPT_SALSA_PRIVATE_TOKEN\s0" 4 .IX Item "DPT_SALSA_PRIVATE_TOKEN" required, no default, obviously .Sp These tokens are created at . .IP "\s-1DPT_SALSA_API_URL\s0" 4 .IX Item "DPT_SALSA_API_URL" optional, default: https://salsa.debian.org/api/v4 .IP "\s-1DPT_SALSA_PERL_TEAM_PATH\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_PATH" optional, default: perl-team .IP "\s-1DPT_SALSA_PERL_TEAM_ID\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_ID" optional, default: 2663 .IP "\s-1DPT_SALSA_PERL_TEAM_INTERPRETER_PATH\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_INTERPRETER_PATH" optional, default: perl\-team/interpreter .IP "\s-1DPT_SALSA_PERL_TEAM_INTERPRETER_ID\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_INTERPRETER_ID" optional, default: 2664 .IP "\s-1DPT_SALSA_PERL_TEAM_MODULES_PATH\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_MODULES_PATH" optional, default: perl\-team/modules .IP "\s-1DPT_SALSA_PERL_TEAM_MODULES_ID\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_MODULES_ID" optional, default: 2665 .IP "\s-1DPT_SALSA_PERL_TEAM_MODULES_PACKAGES_PATH\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_MODULES_PACKAGES_PATH" optional, default: perl\-team/modules/packages .IP "\s-1DPT_SALSA_PERL_TEAM_MODULES_PACKAGES_ID\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_MODULES_PACKAGES_ID" optional, default: 2666 .IP "\s-1DPT_SALSA_PERL_TEAM_MODULES_ATTIC_PATH\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_MODULES_ATTIC_PATH" optional, default: perl\-team/modules/attic .IP "\s-1DPT_SALSA_PERL_TEAM_MODULES_ATTIC_ID\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_MODULES_ATTIC_ID" optional, default: 2667 .IP "\s-1DPT_SALSA_PERL_TEAM_MODULES_META_PATH\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_MODULES_META_PATH" optional, default: perl\-team/modules/meta .IP "\s-1DPT_SALSA_PERL_TEAM_MODULES_META_ID\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_MODULES_META_ID" optional, default: 13881 .IP "\s-1DPT_SALSA_PERL_TEAM_PAGES_PATH\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_PAGES_PATH" optional, default: perl\-team/perl\-team.pages.debian.net .IP "\s-1DPT_SALSA_PERL_TEAM_PAGES_ID\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_PAGES_ID" optional, default: 11266 .IP "\s-1DPT_SALSA_PERL_TEAM_SCRIPTS_PATH\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_SCRIPTS_PATH" optional, default: perl\-team/scripts .IP "\s-1DPT_SALSA_PERL_TEAM_SCRIPTS_ID\s0" 4 .IX Item "DPT_SALSA_PERL_TEAM_SCRIPTS_ID" optional, default: 13429 .IP "\s-1DPT_PACKAGES\s0" 4 .IX Item "DPT_PACKAGES" only used by the \fBmrconfig\fR subcommand, no default; most probably already set for use with other \fBdpt\fR commands. .PP Cf. \fBdpt\-config\fR\|(5). .SH "SEE ALSO" .IX Header "SEE ALSO" .PP GitLab::API::v4 .PP .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright 2018\-2019, gregor herrmann .PP Released under the same terms as Perl itself, i.e. Artistic or \s-1GPL\-1+.\s0