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-ng
documentationdcut
manpage- Current DM permissions