The aim of this article is to collect the needed steps/tips (a little more then what's in the DSA email) once you finally reach the state of DD. A similar collection is DebianServiceForDD.

This article should probably be merged into a new section in the first chapter of the developers-reference.

Initial Steps

So first go and update your information at https://db.debian.org/

Then, a really nice feature is using ssh key authentication, as written at https://db.debian.org/doc-mail.html and https://db.debian.org/password.html

Then update your DEBEMAIL shell variable, and all other configuration files where your previous email address was written (to name one, ~/.reportbugrc)

DDPO Pages

All your previous uploads are under a DDPO page (let's take the example from my own) but now you (probably) start using your @debian.org account for future upload (like me).

Since uploading just to change the email address is damn wrong, it would be helpful to merge the old account into the new one.

Currently there is a way, described on DDPO main page: send an email to ddpo@qa.debian.org and issue a subscribe <source package name> [<section>] command (even more in the same email).

As explained in this bug 499638 (where I asked to provide a way to do it a single command), there is another way: keep looking at the old DDPO page but adding the @debian.org address as uploader, to show packages sponsored by that id.

Maybe, the best solution is to use names instead of emails, Sandro Tosi, that groups up all the info for that guy (of course if you don't have an homonyms ;) )

Bugs

All the bugs you submitted were filed with a different address, you can use the link on the BTS page to see them and use bts submitter <bugnr> ! commands to change the bugsubmitter (on unarchived bugs) when you changed the DEBEMAIL shell variable.

If you want to change the bugsubmitter and owner of all bugs in a list of e-mails, archived and unarchived, you can use this shell script:

#!/bin/sh

# USAGE:
# export MAIL=foo@debian.org
# ./bts-submitter email1@example.com ... | mail control@bugs.debian.org

set -e

for field in submitter owner
do
    bugs=""
    for email in $@
    do
        echo "# bugs with $field $email"
        for bug in `bts select $field:$email`
        do
            echo $field $bug !
        done
    done
done
echo thanks

GPG Key Sign Offering

Consider adding yourself to Debian GPG Signing Coordination page, so that other in need for a sign on their key by a DD could leverage your brand new status :)

Alioth

Account migration

Start looking at this faq and request a password for your new account.

Then "Request to join", with your new account, all your previous teams (except collab-maint where all DD have write access by default) and remove the old account from all the team/mailing list/notification you're subscribed (the small trash icon next to team name on the home page). When you're done, ask the alioth admins to remove your unused -guest account.

VCS Update

If you have chosen to use a proper setup, there is not much to do here at all. You just edit your ~/.ssh/config file to replace the User entry for alioth to change it to read myuser instead of myuser-guest. The entry propably should look similar to this after your change:

Host alioth.debian.org svn.debian.org git.debian.org cvs.debian.org
User myuser

If you on the other hand have chosen to put the user into the checkout URL, feel encouraged to switch to using a single-point to store the username for the hosts instead of duplicating it loads of time, making it a maintenance hell.

SVN

I have checked out many packages with ssh+svn://<user>@svn.debian.org/..., so how I have to change that username. For svn you can use:

svn switch --relocate <current URL> <new URL>

so, just to automate it a little use this (to be run in the working dir):

URL=$(svn info | awk '/URL/{ print $2 }') ; svn switch --relocate $URL $(echo $URL | sed 's/myuser-guest@//')

that parse the URL from the svn info command and switch to a new one (you might need to change the sed command to adapt to your needs). A real example:

$ svn info | grep URL
URL: svn+ssh://morph-guest@svn.debian.org/svn/reportbug/trunk

$ URL=$(svn info | awk '/URL/{ print $2 }') ; svn switch --relocate $URL $(echo $URL | sed 's/morph-guest@//')

$ svn info | grep URL
URL: svn+ssh://svn.debian.org/svn/reportbug/trunk

If you use SVK, you can use

svk mirror --list
svk mirror --relocate //mirror/$repo svn+ssh://<user>@svn.debian.org/svn/$repo

GIT

For example, I worked on libpqxx with my jackyf-guest account. A replacement procedure follows:

$ git remote -v
origin  ssh://jackyf-guest@git.debian.org/git/collab-maint/libpqxx.git
$ git remote rm origin
$ git remote add origin ssh://git.debian.org/git/collab-maint/libpqxx.git

CVS

For example, I worked on webwml with my user-guest account and now my DD account is user. A replacement procedure follows, from the root of your CVS local copy:

$  find . -path '*/CVS/Root' -exec sed -i 's/user-guest/user/' '{}' \;

E-Mail Setup in General

Many DDs prefer to use their @debian.org address when communicating with or via Debian or derivatives. Some mail programs allow to automate this:

Mutt

Use send-hooks in your .muttrc:

# Default value to reset the value on the next mail
send-hook . 'my_hdr From: Axel Beckert <abe@deuxchevaux.org>'
send-hook . 'unmy_hdr Organization'
send-hook . 'set signature="~/.mutt/signatures/default"'

# Use debian.org address when sending to Debian or Ubuntu related addresses
send-hook '~C "@(.*\.)?(debian|ubuntu|launchpad)\."' 'my_hdr From: Axel Beckert <abe@debian.org>'
send-hook '~C "@(.*\.)?(debian|ubuntu|launchpad)\."' 'my_hdr Organization: The Debian Project'
send-hook '~C "@(.*\.)?(debian|ubuntu|launchpad)\."' 'set signature="~/.mutt/signatures/debian"'

That way your @debian.org address is always used if one of the recipients' e-mail address (including the BTS) contain the strings debian, ubuntu or launchpad (followed bny a dot).