aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Ryabitsev <konstantin@linuxfoundation.org>2021-05-07 12:47:40 -0400
committerKonstantin Ryabitsev <konstantin@linuxfoundation.org>2021-05-07 12:47:40 -0400
commit55b31754482699bf65629ab6f0509c6897034cd0 (patch)
tree268c76e96de9aeb1f3d75031ebf758fb44c6ae2f
parent7937ea7f4f521392f44c75971194b0684716affc (diff)
downloadpatatt-55b31754482699bf65629ab6f0509c6897034cd0.tar.gz
Add manpages and prepare for 0.1.0 releasev0.1.0
It's time to cut the first release, I think. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
-rw-r--r--MANIFEST.in2
-rw-r--r--man/patatt.5112
-rw-r--r--man/patatt.5.rst61
-rw-r--r--setup.py3
4 files changed, 177 insertions, 1 deletions
diff --git a/MANIFEST.in b/MANIFEST.in
index e72662c..b62d6b7 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,2 +1,4 @@
include COPYING
+include DCO
include README.rst
+include man/*.rst
diff --git a/man/patatt.5 b/man/patatt.5
new file mode 100644
index 0000000..5e97753
--- /dev/null
+++ b/man/patatt.5
@@ -0,0 +1,112 @@
+.\" Man page generated from reStructuredText.
+.
+.TH PATATT 5 "2021-05-07" "0.1.0" ""
+.SH NAME
+PATATT \- DKIM-like cryptographic patch attestation
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH SYNOPSIS
+.sp
+patatt {sign,validate,genkey} [options]
+.SH DESCRIPTION
+.sp
+This tools allows cryptographically signing patches sent via email
+by using DKIM\-like message headers. This approach is both effective and
+doesn\(aqt interfere with other code review tools the way inline or
+detached PGP signatures do. For a full overview of core concepts and
+considerations, please see README.
+.sp
+If you already have a PGP key configured for signing git tags or
+commits, then you should be able to use patatt without any additional
+configuration. Try running the following in any git repository:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+git format\-patch \-1 \-\-stdout | patatt sign
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If patatt is not finding your PGP key, try adding the following to your
+~/.gitconfig:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+[user]
+ signingkey = [yourkeyid]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+To find out your keyid, run \fBgpg \-\-list\-secret\-keys\fP\&. If you want to
+use a specific subkey, you can specify the subkey ID with a \fB!\fP at the
+end.
+.SH USING AS A GIT HOOK
+.sp
+If you use \fBgit\-send\-email\fP for sending patches, then you can get
+them automatically signed via the \fBsendemail\-validate\fP hook:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ echo \(aqpatatt sign \-\-hook "${1}"\(aq >> .git/hooks/sendemail\-validate
+$ chmod a+x .git/hooks/sendemail\-validate
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH SUBCOMMANDS
+.INDENT 0.0
+.IP \(bu 2
+\fIpatatt sign\fP: sign stdin or RFC2822 files passed as arguments
+.IP \(bu 2
+\fIpatatt validate\fP: basic validation for signed messages
+.IP \(bu 2
+\fIpatatt genkey\fP: generate a new ed25519 keypair
+.UNINDENT
+.sp
+You can run \fBpatatt [subcommand] \-\-help\fP to see a summary of flags for
+each subcommand.
+.SH SUPPORT
+.sp
+Please email \fI\%tools@linux.kernel.org\fP with support requests.
+.SH AUTHOR
+mricon@kernel.org
+
+License: MIT-0
+.SH COPYRIGHT
+The Linux Foundation and contributors
+.\" Generated by docutils manpage writer.
+.
diff --git a/man/patatt.5.rst b/man/patatt.5.rst
new file mode 100644
index 0000000..f607ed9
--- /dev/null
+++ b/man/patatt.5.rst
@@ -0,0 +1,61 @@
+PATATT
+======
+-----------------------------------------
+DKIM-like cryptographic patch attestation
+-----------------------------------------
+
+:Author: mricon@kernel.org
+:Date: 2021-05-07
+:Copyright: The Linux Foundation and contributors
+:License: MIT-0
+:Version: 0.1.0
+:Manual section: 5
+
+SYNOPSIS
+--------
+patatt {sign,validate,genkey} [options]
+
+DESCRIPTION
+-----------
+This tools allows cryptographically signing patches sent via email
+by using DKIM-like message headers. This approach is both effective and
+doesn't interfere with other code review tools the way inline or
+detached PGP signatures do. For a full overview of core concepts and
+considerations, please see README.
+
+If you already have a PGP key configured for signing git tags or
+commits, then you should be able to use patatt without any additional
+configuration. Try running the following in any git repository::
+
+ git format-patch -1 --stdout | patatt sign
+
+If patatt is not finding your PGP key, try adding the following to your
+~/.gitconfig::
+
+ [user]
+ signingkey = [yourkeyid]
+
+To find out your keyid, run ``gpg --list-secret-keys``. If you want to
+use a specific subkey, you can specify the subkey ID with a ``!`` at the
+end.
+
+USING AS A GIT HOOK
+-------------------
+If you use ``git-send-email`` for sending patches, then you can get
+them automatically signed via the ``sendemail-validate`` hook::
+
+ $ echo 'patatt sign --hook "${1}"' >> .git/hooks/sendemail-validate
+ $ chmod a+x .git/hooks/sendemail-validate
+
+SUBCOMMANDS
+-----------
+* *patatt sign*: sign stdin or RFC2822 files passed as arguments
+* *patatt validate*: basic validation for signed messages
+* *patatt genkey*: generate a new ed25519 keypair
+
+You can run ``patatt [subcommand] --help`` to see a summary of flags for
+each subcommand.
+
+SUPPORT
+-------
+Please email tools@linux.kernel.org with support requests.
diff --git a/setup.py b/setup.py
index 3eb5a8f..7fa6809 100644
--- a/setup.py
+++ b/setup.py
@@ -33,8 +33,9 @@ setup(
author_email='mricon@kernel.org',
packages=['patatt'],
license='MIT-0',
- long_description=read('README'),
+ long_description=read('README.rst'),
long_description_content_type='text/x-rst',
+ data_files = [('share/man/man5', ['man/patatt.5'])],
keywords=['git', 'patches', 'attestation'],
install_requires=[
'pynacl',