Contents
Salsa provides services which partially replace some features of the former Alioth service. The following hints may help you to move your packaging collaboration effort from Alioth to Salsa.
Many Alioth features are (intentionally) not provided by the Salsa platform. You may want to take a look at the related discussion during a sprint for the detailed reasons for this decision.
There is potential overlap between this section and the Alioth#Deprecation_of_Alioth documentation. Be careful to avoid adding documentation here that's already there and vice versa. Add links instead, as is already done. Also consider contributing documentation to the generic Salsa/Doc documentation instead if it can be useful for new Salsa users that don't know or care about Gitlab as well. -- TheAnarcat 2018-03-13 16:09:16
Canonical Repository URLs
See Salsa/Doc#Canonical_URLS for the new URLs.
Custom Hooks
For security reasons it is not allowed to run arbitrary custom hooks on repositories. You may want to write yourself a webhook receiver and put your custom actions into such a one.
Alternatively you may use the common webhook receiver or even enhance it with new features, see https://salsa.debian.org/salsa/webhook for details on it.
Import git repository
This is currently done by hand but Christoph Berg's wrote a handy batch import script that you can use to import your projects semi-automatically.
Once a repository is migrated, you may want to archive the repository on Alioth. One way to do this is to add a pre-receive hook that exits with a non-zero status code, for example, when logged in on Alioth (using ssh git.debian.org):
$ cat /git/collab-maint/magic-wormhole.git/hooks/pre-receive #!/bin/sh cat <<EOF Repository was moved to Salsa. https://salsa.debian.org/debian/magic-wormhole Push refused, this repository was archived. Update your remotes to use the following URL instead: git@salsa.debian.org:debian/magic-wormhole.git EOF exit 1
Make sure the file is executable (chmod +x) and also update the description similarly so the web interface shows the change as well. You can do this automatically with ~hertzog/bin/disable-repository <path-to-git-repo> <name-of-salsa-group>.
You may also want to add an HTTP redirect from the old repository on Alioth to the new one on Salsa (git:// and git+ssh:// cannot be redirected, so you should still make sure to add the pre-receive hook above). You can do this by sending a merge request for AliothRewriter.
To find repositories to migrate, you might like the following find commandline:
$ find ~/src -ipath '*.git/config' -exec grep -H 'url.*git\.debian' '{}' \;
replace ~/src by the path where you usually store your git repositories.
Import non-git version control repository
Only git repositories are supported by the Salsa platform.
You may want to take a look at the reasons for not supporting other version control systems within Salsa.
Import mailing list
Salsa does not offer any mailing list features on its own (see discussion). There are three options to replace the mailing list:
- migrate to lists.debian.org
- stay on lists.alioth.debian.org
- migrate to tracker.debian.org
- use gitlab notifications
See below for details.
lists.alioth.debian.org
A team is attempting to migrate lists previously on alioth to a new service retaining the same name @lists.alioth.debian.org; see Alioth/MailingListContinuation and the announcement.
lists.debian.org
Some mailing lists that were formerly hosted on Alioth may be eligible for being hosted on lists.debian.org. The lists eligible for migration must follow the requirements outlined on the "How to ask a mailing list" guide. The process is also the same as outlined on the guide.
The following kind of lists are probably acceptable for lists.debian.org:
- The list is expected to be useful, to have a purpose and an audience.
- Public discussion or support lists are probably OK.
Commit or bug notifications lists are not OK. You should use the dedicated features of gitlab instead. If you're interested in a package's bug, you're expected to subscribe to it using the BTS features.
Short version: file a bug on the pseudo-package lists.debian.org with the severity 'wishlist', with the following information:
- List Name
- Rationale (why do you need this list, stating that you had one on Alioth is not enough!)
- Short Description (for display in list indices)
- Long Description (targeted to people that need to decide if they want to join)
- Category
Lists migrated from Alioth are expected to be open, that is:
- Open Subscription Policy (no closed lists)
- Open Post Policy (anybody can post)
- Open Archive
- No moderation
If you do want the archive and/or the subscribers to be imported into your new mailing list, please:
on alioth, using your ssh access, run 'sudo /usr/local/bin/export-list <mailing_list_name>' to get gzipped tar archive (on stdout) containing:
- mbox file of the archive
- subscribers list in simple text file
- import the resulting mbox file in your favorite e-mail reader and clean the spam,
- attach the compressed archive and/or the list of subscribers to your request.
The export only works if the 'Is archive file source for public or private archival?' archive setting is true.
Before any migration ensure that there is consensus about the migration and that you have permission from the subscribers. For privacy reasons we expect that the migration process is done by an admin of the list or the alioth project.
Also, please understand that the requirements and features for lists on lists.debian.org are not the same as for a mailing list on Alioth, and the listmaster might reject your request. Lists.debian.org is not supposed to replace all mailing lists and aliases on Alioth.
tracker.debian.org
Smaller teams can use the mail interface of tracker.debian.org to register to package changes and reach out to other maintainers in a team. For example, commit notifications for third-party repositories can use the dispatch+<package>_vcs@tracker.debian.org email address to send notifications to maintainers. For the maintainer field, the <package>@packages.debian.org address should be used (although that needs the fix for 871575 to be deployed on ftp-master, see this discussion for details.
See also the distro tracker email interface documentation for more details.
Clarification Request / Open Questions
Can e-mail addresses of the form <package>@tracker.debian.org be used as maintainer team address in Maintainer or Uploader fields of package? No. But you can use team+foo@tracker.debian.org if you have created the "foo" team on https://tracker.debian.org/teams/ (or you can use <sourcepackage>@packages.debian.org for single packages which are not team maintained).
- Are there archives of mails to these addresses? not that we know of.
gitlab notifications
In Gitlab, anyone can subscribe to different notifications for changes in a repository. This can replace the traditionnal -commit mailing lists that are on alioth, hopefully.
Import members of a team
It is not possible to transfer the members of an Alioth team to Salsa. You will need to ask the members of your team to join your team on Salsa individually.
Host project web pages
See Salsa/Doc#Web_page_hosting.
Share a group with all Debian developers
On Alioth, some repositories were configured in such a way that all Debian developers had automatically write access regardless of their membership to the corresponding Alioth team. It is possible to do the same on Salsa by sharing a project with the Debian group, which contains all debian developers as members.
To achieve that, go to the page of the project, and under Settings -> Members, there is a tab "Share with group". Select the group Debian.
Note that doing so will clutter the list of groups of all Debian developers (see https://gitlab.com/gitlab-org/gitlab-ce/issues/43397). Also this operation is not so easy to script compared to the rest (see https://lists.debian.org/debian-perl/2018/01/msg00045.html and https://salsa.debian.org/mehdi/salsa-scripts/issues/5).
Setting Alioth git repo read-only
Setting the Alioth git repository to read-only is describe above. It is in the git import paragraph. Because I missed initially, I added this paragraph.