Package: maint-guide
Version: 1.2.31
Severity: normal
Tags: patch

Since devscripts 2.13.3 (see #610712), uscan has supported the ability
to automatically verify upstream's cryptographic signatures if the
signing key and URL to the signature is well-known.
 
The maint-guide should recommend that package maintainers regularly
verify these signatures for new versions, and mention the files used.

A proposed patch for maint-guide is attached.

Regards,

        --dkg

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (500, 'testing'), (200, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.11-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

maint-guide depends on no packages.

maint-guide recommends no packages.

Versions of packages maint-guide suggests:
ii  debian-policy         3.9.5.0
pn  developers-reference  <none>
ii  devscripts            2.13.8
pn  dh-make               <none>
pn  doc-base              <none>
ii  dput-ng [dput]        1.7
ii  dupload               2.7.0
ii  fakeroot              1.18.4-2
ii  lintian               2.5.20
pn  pbuilder              <none>
ii  quilt                 0.60-10

-- debconf-show failed
Index: maint-guide.en.dbk
===================================================================
--- maint-guide.en.dbk	(revision 10346)
+++ maint-guide.en.dbk	(working copy)
@@ -3902,7 +3902,47 @@
 <literal>&sf-net;/<replaceable>project</replaceable>/<replaceable>tar-name</replaceable>-(.+)\.tar\.gz</literal>.
 This solves issues related to periodically changing SourceForge URLs.
 </para>
+<para>If upstream offers cryptographic signatures of their tarballs in
+a detached file with a similar name to the tarball, you can identify
+the tarball using the <literal>pgpsigurlmangle</literal> option.
+</para>
+<para>
+For example, enigmail source tarballs are signed with a detached
+signature named the same as the tarball, but with a
+<filename>.asc</filename> suffix.  So enigmail's
+<filename>debian/watch</filename> file looks like:
+</para>
+<screen>
+version=3
+opts=pgpsigurlmangle=s/$/.asc/ http://enigmail.mozdev.org/download/source.php.html .*/enigmail-([\d\.]*).tar.gz
+</screen>
+<para>
+You'll also want to indicate which key(s) you expect upstream to use
+to sign their source code with in <xref
+linkend="upstreamsigningkey"/>.
+</para>
 </section>
+<section id="upstreamsigningkey"><title><filename>upstream-signing-key.pgp</filename></title>
+<para>
+If the package's upstream developers use an OpenPGP key to sign their
+releases, you probably want to verify those signatures, and make sure
+they come from the right people.  You can do this by exporting the
+signing key (or keys) used by upstream into
+<filename>debian/upstream-signing-key.pgp</filename>, as a standard
+OpenPGP keyring.
+</para>
+<para>
+For example, if you know that the upstream signs their releases with a
+key with fingerprint 0123456789ABCDEF0123456789ABCDEF01234567, you
+could do:
+</para>
+<screen>
+gpg --export 0123456789ABCDEF0123456789ABCDEF01234567 > debian/upstream-signing-key.pgp
+</screen>
+<para>
+This can be used by <command>uscan</command> as described in <xref linkend="watch"/>.
+</para>
+</section>
 <section id="sourcef"><title><filename>source/format</filename></title>
 <para>
 In the <filename>debian/source/format</filename> file, there should be a single

Reply via email to