GROK-PI-PIPER(1)
π GROK-PI-PIPER π
okay bestie, so this is a section 1 manual page for grok-pi-piper, and it is genuinely one of the most useful little hook scripts ever, no cap.
β¨ NAME β¨
GROK-PI-PIPER β a hook script for piping new messages from public-inbox repos π
π¦ SYNOPSIS π¦
grok-pi-piper [-h] [-v] [-d] -c CONFIG [-l PIPELAST] [--version] repo
πΈ DESCRIPTION πΈ
So here's the vibe: this is a ready-made hook script that you can call from pull.post_update_hook when you're mirroring public-inbox repositories. What does it do? It pipes all newly received messages to arbitrary commands that you define in the config file. iconic behaviour, honestly.
The simplest configuration for lore.kernel.org is literally this, bestie:
~/.config/pi-piper.conf
-----------------------
[DEFAULT]
pipe = /usr/bin/procmail
# Prune successfully processed messages
shallow = yes
~/.procmailrc
-------------
DEFAULT=$HOME/Maildir/
# Don't deliver cross-posted duplicates
:0 Wh: .msgid.lock
| formail -D 8192 .msgid.cache
~/.config/lore.conf
-------------------
[core]
toplevel = ~/.local/share/grokmirror/lore
log = ${toplevel}/grokmirror.log
[remote]
site = https://lore.kernel.org
manifest = https://lore.kernel.org/manifest.js.gz
[pull]
post_update_hook = ~/.local/bin/grok-pi-piper -c ~/.config/pi-piper.conf
include = /list-you-want/*
/another-list/*
It assumes that grokmirror was installed from pip. If you installed it some other way (respect, honestly), please check the path for the grok-pi-piper script β it might not be where you think it is. π
β οΈ Heads up: the initial clone may take a long time, even if you set shallow=yes. like, go make a snack, it's fine.
Also β see pi-piper.conf for other config options. iykyk. π
π OPTIONS π
-h,--helpβ show this help message and exit. classic.-v,--verboseβ Be verbose and tell us what you are doing (default:False). she's chatty, we love that.-d,--dry-runβ Do a dry-run and just show what would be done (default:False). pretend mode! nothing actually happens, it's giving rehearsal.-c CONFIG,--config CONFIGβ Location of the configuration file (default:None).-l PIPELAST,--pipe-last PIPELASTβ Force pipe last NN messages in the list, regardless of tracking (default:None). like, you don't care what the tracker thinks, you want those last NN messages piped, periodt.--versionβ show program's version number and exit.
π SEE ALSO π
π«Ά SUPPORT π«Ά
Email tools@linux.kernel.org. they're nice, fr fr.
π AUTHOR π
mricon@kernel.org
License: GPLv3+
β COPYRIGHT β
The Linux Foundation and contributors
and that's the whole page, bestie!! π this was version 2.0.2, dated 2020-10-07 β go forth and pipe those messages, you absolute icon π¦β¨
π¦ where this page comes from
- debian trixie: grokmirror 2.0.12-1 Β· GPL-3.0-or-later
- epel 9: python3-grokmirror 2.0.12-1.el9 Β· GPL-3.0-or-later
- fedora 43: python3-grokmirror 2.0.12-6.fc43 Β· GPL-3.0-or-later
- fedora 44: python3-grokmirror 2.0.12-7.fc44 Β· GPL-3.0-or-later
- ubuntu noble: grokmirror 2.0.11-2 Β· GPL-3.0-or-later
- ubuntu questing: grokmirror 2.0.12-1
- ubuntu resolute: grokmirror 2.0.12-1build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms