diff options
author | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2021-05-07 12:47:40 -0400 |
---|---|---|
committer | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2021-05-07 12:47:40 -0400 |
commit | 55b31754482699bf65629ab6f0509c6897034cd0 (patch) | |
tree | 268c76e96de9aeb1f3d75031ebf758fb44c6ae2f | |
parent | 7937ea7f4f521392f44c75971194b0684716affc (diff) | |
download | patatt-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.in | 2 | ||||
-rw-r--r-- | man/patatt.5 | 112 | ||||
-rw-r--r-- | man/patatt.5.rst | 61 | ||||
-rw-r--r-- | setup.py | 3 |
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. @@ -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', |