user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
From: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
To: meta@public-inbox.org
Subject: Minimalist public-inbox feed: sendmail-pi-feed
Date: Tue, 21 Jan 2020 17:29:24 -0500	[thread overview]
Message-ID: <20200121222924.ioz5ve2sg65zcuoy@chatter.i7.local> (raw)

Hi, all:

I was trying to create a "simplest possible" way to maintain a 
public-inbox developer feed, and this is the end-result:

https://git.kernel.org/pub/scm/linux/kernel/git/mricon/korg-helpers.git/tree/sendmail-pi-feed

It's written to be used with git-send-email, but can, theoretically, be 
used with any tool that accepts custom sendmail command paths (e.g.  
mutt) -- though if used in that capacity, it needs more features to make 
sure that private mail is not added to the feed. For example, there can 
be an "allowlist" of addresses to match against "to" or "cc".

At the moment, this is more of a proof of concept and I wanted to share 
it with you all for early comments. The main goal was to avoid 
introducing too many dependencies, such as perl and its many cpan 
modules, while producing valid public-inbox feeds -- so this script is 
literally 50 lines of bash. :)

From the readme section:

----
Simplest configuration is to set the following in your git config file,
either per repository, or globally in ~/.gitconfig if you want
a single developer feed for all your work.

[sendemail]
  smtpserver = /path/to/bin/sendmail-pi-feed

[sendemail "sendmail-pi-feed"]
  # the directory where to put the feed (will be created with --init)
  inboxdir = /path/to/toplevel/public-inbox-dir
  # if not set, the epoch will be 0, which is strongly suggested;
  # if you increment it for some reason, make sure you don't skip 
  # numbers
  epoch = 0
  # if defined, will pipe stdin to this command as well, in case
  # you want to actually send out the patches in addition to writing 
  # them to the public-inbox feed; leave undefined otherwise
  sendmail = /usr/sbin/sendmail

Once this is done, run "sendmail-pi-feed --init" to create the feed.
During the init process, you will be asked whether you would like to
PGP-sign the commits, which is strongly recommended if you already
have PGP-signing set up on your system.

After the --init is complete, you can use "git send-email" as you
normally would and all patches will be automatically added to the
feed. You can then publish the feed on any git hosting service by
setting a remote and performing a git push.

If you would like to auto-push the feed, you can add an appropriate
post-commit hook.
----

Thoughts?

-K

             reply	other threads:[~2020-01-21 22:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-21 22:29 Konstantin Ryabitsev [this message]
2020-01-23 23:02 ` Minimalist public-inbox feed: sendmail-pi-feed Eric Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200121222924.ioz5ve2sg65zcuoy@chatter.i7.local \
    --to=konstantin@linuxfoundation.org \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).