l2md - lore2maildir
-------------------

Quick and dirty hack to import lore.kernel.org list archives via git,
to export them in maildir format or through a pipe, and to keep them
periodically synced.

It can then be used in whichever mail client that supports maildir
format, for example, mutt. Alternatively, it can also pipe new mails
to external MDAs like procmail and friends which then deliver it to
your favorite mail client eventually.

Essentially, it avoids the need to subscribe to any of the lore lists
via mail since all messages are now imported through git transport.

Together with a smtp client like msmtp (which you may need anyway for
git-send-email), it allows to interact on the mailing lists the usual
way.

All pretty basic and hacky at this point, patches very welcome. Please
send them to Daniel Borkmann <daniel@iogearbox.net>.

Build
-----

Links to -lgit2 which is shipped by pretty much all major distros.

Fedora: libgit2-devel
Ubuntu: libgit2-dev

To build, just type:

$ make
[...]

After setting up ~/.l2mdconfig (see below), run as:

$ ./l2md

To install, just type:

# make install

The l2md.service file contains an example systemd service deployment
for letting it run in the background ...

$ service l2md status
Redirecting to /bin/systemctl status l2md.service
● l2md.service - lore2maildir
   Loaded: loaded (/usr/lib/systemd/system/l2md.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-09-19 12:07:17 CEST; 55s ago
 Main PID: 31467 (l2md)
    Tasks: 1 (limit: 4915)
   Memory: 257.9M
   CGroup: /system.slice/l2md.service
           └─31467 /usr/bin/l2md

The muttrc file contains an example mutt config for importing the generated
maildir directories.

The procmailrc file contains an example procmail config for getting started,
there are plenty of howtos online for setting up filtering rules.

For l2md, the repository here ships with two example configs, that is,
l2mdconfig.maildir and l2mdconfig.procmail. As the name says, the former
is for exporting new mails in maildir format directly, and the latter is
one example where l2md pipes new mails via stdin to an external MDA like
procmail. Copy the one of your choice into ~/.l2mdconfig to get started.

Troubleshooting
---------------

l2md has only a single command-line parameter, which is --verbose to allow
significantly more visibility on what it is currently doing:

$ ./l2md --verbose

By default without the --verbose it will only dump the number of new mails
and commit sha's it processed to the journal and nothing else. In case l2md
is deployed through the unit file, l2md's logs can be gathered the usual way:

$ journalctl -fu l2md

Howto 1: maildir
----------------

The l2mdconfig.maildir is an example l2md config which needs to be placed
under ~/.l2mdconfig . The muttrc is an example config to get started for
reading the maildir content.

$ cat ~/.l2mdconfig
[general]
	maildir = ~/.l2md/maildir/common
	period = 30
	base = ~/.l2md/

# bpf@vger.kernel.org list
[repo bpf]
	url = https://lore.kernel.org/bpf/0
	maildir = ~/.l2md/maildir/bpf

# netdev@vger.kernel.org list
[repo netdev]
	url = https://lore.kernel.org/netdev/1
	url = https://lore.kernel.org/netdev/0
	initial_import = 1000

The general section contains a sync period in seconds where l2md refetches
all the git repos and looks for new messages to export into the configured
maildirs. The maildir under general is a path to a shared maildir where
l2md exports new mails into. This can also be specified on a per repository
basis. Specifying the maildir under general is optional. It will default
to ~/.l2md/maildir or <base-path>/maildir if the base deviates from the
default one. Specifying base is optional as well. This is the working dir
of l2md where it places its git repos and other meta data for record keeping.
The default is at ~/.l2md/.

The repo sections with subsequent name define a repository (duh!) with
one or more git urls to lore and optional maildir export path as mentioned.
If initial_import is set to >0, then it will only import first x mails upon
initial repository creation instead of the entire archive.

Howto 2: procmail
-----------------

The l2mdconfig.procmail is an example l2md config which needs to be placed
under ~/.l2mdconfig . The procmailrc is an example config to get started
with a basic config for procmail. The provided muttrc can also be used here
in order to get started for reading the maildir content preprocessed via
procmail (the folder needs to point to procmail's MAILDIR of course). Other
MDAs should work as well, but not tested at this point.

$ cat ~/.l2mdconfig
[general]
	base = ~/.l2md/
	pipe = /usr/bin/procmail
	period = 30

[repo bpf]
	url = https://lore.kernel.org/bpf/0
	initial_import = 1000

See Howto 1 for basics. Instead of maildir, the general section here has a
setting which is set to pipe. It is pointing to the /usr/bin/procmail MDA in
the example, and generally executed as the same user as l2md. Similar as with
maildir, pipe can optionally be specified on a per repository basis.
