I run the Debian Clojure Team, which means that occasionally folks volunteer to help out with Clojure packaging. This is awesome! Since I'm lazy, I don't want to have to sponsor every package upload for folks who have proven their aptitude at packaging. Hence, sometimes I need to grant Debian Maintainers upload access to team packages.
Folks typically point at this email as documentation of how to grant
DM access on packages. However, I have zero desire to hand-craft artisanal
dak commands. So, I try to leverage some existing tools I already have
installed on my system to help me out—namely, the dcut tool
from the dput-ng package.
The commands
Tom Marble wanted DM access to the libjava-jdbc-clojure package,
after I suggested he try doing a new version upload for it. I previously gave
him DM access to maintain shimdandy and com-hypirion-io-clojure. But I
couldn't remember exactly how I did it...
According to the dcut manpage, this should be as simple as running
dcut dm --uid "Tom Marble" --allow libjava-jdbc-clojure
However, there is a slight problem: I don't normally run dput (or dcut) on
a machine with my Debian key present, since I keep my only copy on my laptop.
For various reasons (mostly related to intertia, external monitors, and wifi
drivers), I run Linux Mint on my laptop, and the version of dcut available
there doesn't actually work properly, so I can't just run dcut locally...
What to do about this?
It turns out that there is an undocumented flag, -S or --save, that will
save the generated commands locally.
dcut -s -S dm --uid "Tom Marble" --allow libjava-jdbc-clojure
The -s flag, or --simulate, ensures that we don't try to upload the file to
the archive just yet. This will produce a file in the current directory with a
name similar to ehashman-1564016122.dak-commands. Take a look:
ehashman@corn-syrup:~$ cat ehashman-1564016122.dak-commands
Archive: ftp.upload.debian.org
Uploader: Elana Hashman <ehashman@debian.org>
Action: dm
Fingerprint: 884A52C4AC8ABB931D158FA840BFEE868B055D9A
Allow: libjava-jdbc-clojure
Now is a good time to verify that the key and package is correct. You can then sign this file:
gpg --sign --armour --clearsign ehashman-1564016122.dak-commands
And use dcut to upload it:
dcut upload -f ehashman-1564016122.dak-commands
Once the file has been processed, check the FTP Master DM log to make sure your DM changes have been set correctly.
See you on the next episode of "me creating problems for myself with scary Debian tools" 👋
References
dput-ngdocumentationdcutmanpage- Current DM permissions