about summary refs log tree commit homepage
path: root/Makefile.PL
DateCommit message (Collapse)
2021-10-02doc: lei-daemon: new manpage
In case users see "lei-daemon" in ps(1) or syslog and wonder. Helped-by: Kyle Meyer <kyle@kyleam.com>
2021-09-25doc: lei: manpages for export-kw and refresh-mail-sync
Something is better than nothing.
2021-09-17doc: add lei-security(7) manpage
It seems like a good idea to have a manpage where somebody can quickly look up and address their concerns as to what to put on encrypted device/filesystem. And I probably would've designed lei around make(1) for parallelization if I didn't have to keep credentials off the FS :P
2021-09-10INSTALL: depend on URI rather than URI::Escape
As far as I can tell, URI::Escape has always been a part of the `URI' package (aka "distribution" on CPAN) and not distributed separately (unlike URI::Escape::XS). So avoid confusing users with `URI::Escape' and just document `URI' instead. Along the same lines, we depend on the `Plack' package rather than Plack::Util or Plack::Builder, after all.
2021-09-10doc: lei-index manpage
It's a pretty incomplete command, so it's important to document its incompleteness.
2021-09-09lei-rm: add man page, support LeiInput args
-F/--in-format and --lock=TYPE(S) are easily supported by all classes using LeiInput.
2021-05-17doc lei: add manpages for new commands
[ew: MANIFEST: s/lei-cat/lei-lcat/]
2021-05-17doc lei: add manpage for convert
Link: https://public-inbox.org/meta/20210429015738.GA30172@dcvr/
2021-05-17doc lei: resort lei-tag entries
The command was renamed in 54da988cfb049ea2 (lei tag: rename from "lei mark", 2021-03-30). Relocate its entries in txt2pre and Makefile.PL to restore alphabetical sorting.
2021-05-04doc: ignore onion URLs for 80-column check
This failure was also passing under FreeBSD make + /bin/sh; so we also avoid the '&&' chain is avoided and use '>$@' as a separate line in the Makefile.
2021-04-21doc: add lei_design_notes.txt and lei-store-format(5)
lei itself is a somewhat weird design, but lei/store is a fairly normal hybrid of extindex with v2-style storage.
2021-04-01build: generate PublicInbox.pm with $VERSION
Thanks to git-describe, we can generate and update this file to aid users in bug reporting.
2021-03-31doc: add lei-mail-formats(5) manpage
While plenty of online documentation exists, it's good to have a locally-available summary for users to look at offline. Fix a URL in Watch.pm while we're at it, too.
2021-03-30lei tag: rename from "lei mark"
I've decided "tag" is a better verb since it seems more widely-used term for associating metadata with data. Not only is it analogous to the "notmuch tag" command, but also makes sense when compared to tooling for manipulating metadata for non-mail data (e.g. audio metadata tags). There's even a Wikipedia entry for it: https://en.wikipedia.org/wiki/Tag_(metadata) whereas "mark" is used in the description, but has no entry of its own with regards to metadata.
2021-03-29doc lei: add manpages for new commands
2021-03-15test_common: add create_inbox helper sub
This saves over 100ms in t/lei-q-remote-import.t so far when TMPDIR is on an SSD. If we can memoize inbox creation to save a few dozen milliseconds every test, this could add up to noticeable savings across our entire test suite.
2021-03-10doc: start glossary for overlapping concepts
This is intended to keep track of concepts with different terms between NNTP, IMAP, config file, lei storage, and upcoming JMAP support.
2021-02-22tests: clean up t/home* consistently
And update t/home2/README while we're at it. Followup-to: 4ea3975dbed0a533 ("tests: setup_public_inboxes: use IMAP-friendly newsgroups")
2021-02-11doc: add lei-import(1)
2021-02-08INSTALL: depend on Text::ParseWords
It's been distributed with Perl since 1994, and we use it for both -imapd and lei. It's split out as a separate package in CentOS 7.x, so we'll depend on it to avoid surprising users of RPM-based distros.
2021-02-07Makefile.PL: depend on IO::Uncompress::Gunzip
It's another part of the Perl standard library and rarely split out from Perl (though we can't depend on that fact).
2021-02-07t/tests: split out setup_public_inboxes sub
We'll probably use this in many more existing places and likely change non-lei tests to use it.
2021-02-04doc: update dependencies (+Storable, Data::Dumper)
The new IPC stuff doesn't work without Storable or Sereal. Storable is part of the standard library since Perl 5.8, so we'll put a hard dependency on it for distros that package it separately. Data::Dumper is also part of the standard library, and PublicInbox::MboxReader uses it, and it's frequently useful during development. We'll also trim down INSTALL for standard library modules so it's hopefully less daunting for new users. Development dependencies are noted in HACKING, now. Email::MIME is only used for maintainer tests, so it's only documented in HACKING.
2021-02-01doc: add lei-overview(7)
[ew: s/mboxrd/mboxcl2/ since that's what mutt uses]
2021-02-01doc: start manpages for lei commands
Add manpages for lei and the currently implemented subcommands. The included options and their descriptions follow to a large degree the --help output, dropping some options that are not currently wired up.
2021-01-26build: check with lexgrog(1) if available
This will make life easier for Debian package maintainers running lintian. cf. commit 1350f5ab09f72c75ac2cd6c88f6a2b9e198fef55 ("public-inbox-v[12]-format.pod: make lexgrog happy")
2021-01-25doc: re-add missing 1.6 release notes
I missed these during the merge :x
2021-01-01Makefile.PL: add update-copyrights target
It might save me a few cycles every year to not have to scroll through git history to see how it's run.
2020-12-31public-inbox 1.6.1 - minor bugfix release v1.6.1
2020-12-26Fix manpage section of perl module documentation
On Debian (at least) perl documentation is supposed to be installed in section 3pm. With the build system hardcoding this to 3 instead this results in a warning by the Debian package linter: W: public-inbox: wrong-manual-section usr/share/man/man3/PublicInbox::Git.3.gz:74 3 != 3pm W: public-inbox: wrong-manual-section usr/share/man/man3/PublicInbox::Import.3.gz:74 3 != 3pm W: public-inbox: wrong-manual-section usr/share/man/man3/PublicInbox::SaPlugin::ListMirror.3.gz:74 3 != 3pm W: public-inbox: wrong-manual-section ... use --no-tag-display-limit to see all (or pipe to a file/program) So use "$(MAN3EXT)" instead of "3". (cherry picked from commit cd12cf22c4d161b7aec819f45628b983f0bd675d)
2020-12-26doc: post-1.6 updates, start 1.7
I should've dropped "PENDING" notes before the 1.6 release; they're dropped now, and a note is added to remind my future self to drop them before 1.7. (cherry picked from commit 3b5d3d1910f1db526a488142c01f42db5255ac72)
2020-12-19build: add lei.sh + "make symlink-install" target
This could've been done ages ago, but I rarely invoked public-inbox-* commands from an interactive terminal like I would with lei.
2020-12-18Fix manpage section of perl module documentation
On Debian (at least) perl documentation is supposed to be installed in section 3pm. With the build system hardcoding this to 3 instead this results in a warning by the Debian package linter: W: public-inbox: wrong-manual-section usr/share/man/man3/PublicInbox::Git.3.gz:74 3 != 3pm W: public-inbox: wrong-manual-section usr/share/man/man3/PublicInbox::Import.3.gz:74 3 != 3pm W: public-inbox: wrong-manual-section usr/share/man/man3/PublicInbox::SaPlugin::ListMirror.3.gz:74 3 != 3pm W: public-inbox: wrong-manual-section ... use --no-tag-display-limit to see all (or pipe to a file/program) So use "$(MAN3EXT)" instead of "3".
2020-12-12doc: add public-inbox-extindex-format(5) manpage
The CLI tool still needs usability work, and "misc" is still in flux, but the core message indexing part is stable (since it's stolen from v2 :P).
2020-11-07Makefile.PL: do not build manpage if POD is missing
But warn on it, this lets us test new or throwaway commands more easily if we don't have to start a new POD for everything we want to dump in script/.
2020-09-20doc: post-1.6 updates, start 1.7
I should've dropped "PENDING" notes before the 1.6 release; they're dropped now, and a note is added to remind my future self to drop them before 1.7.
2020-09-19gcf2: wire up read-only daemons and rm -gcf2 script
It seems easiest to have a singleton Gcf2Client client object per daemon worker for all inboxes to use. This reduces overall FD usage from pipes. The `public-inbox-gcf2' command + manpage are gone and a `$^X' one-liner is used, instead. This saves inodes for internal commands and hopefully makes it easier to avoid mismatched PERL5LIB include paths (as noticed during development :x). We'll also make the existing cat-file process management infrastructure more resilient to BOFHs on process killing sprees (or in case our libgit2-based code fails on us). (Rare) PublicInbox::WWW PSGI users NOT using public-inbox-httpd won't automatically benefit from this change, and extra configuration will be required (to be documented later).
2020-09-19add gcf2 client and executable script
This should be able to replace multiple `git cat-file' for blob retrieval, but adjustments may be needed.
2020-09-16public-inbox 1.6.0 v1.6.0
2020-08-28Makefile.PL: run check-man for <= 80 columns on check-run, too
I mostly use "make check-run" instead of the slower "make check" target, nowadays, so add this check to ensure the rendered manpage is always be visible to more users who need big fonts.
2020-08-16doc: add public-inbox-tuning(7) manpage
Determining storage device speed and latencies doesn't seem portable or even possible with the wide variety of storage layers in use. This means we need to write a tuning document and hope users read and improve on it :P
2020-08-09favor `getconf _NPROCESSORS_ONLN` over GNU nproc
getconf(1) itself is POSIX, while `_NPROCESSORS_ONLN' is not. However, FreeBSD (tested 11.4 and 12.1) and glibc (tested CentOS 7.x and Debian 10.x) both support `getconf _NPROCESSORS_ONLN'. GNU coreutils (and thus `nproc' or `gnproc') are not installed by default on the *BSDs, so we'll try the option most likely to exist on both glibc and *BSDs out-of-the-box.
2020-06-28watch: remove Filesys::Notify::Simple dependency
Since we already use inotify and EVFILT_VNODE (kqueue) in -imapd, we might as well use them directly in -watch, too. This will allow public-inbox-watch to use PublicInbox::DS for timers to watch newsgroups/mailboxes and have saner signal handling in future commits.
2020-05-10build: check-manifest runs after tests
And just treat it as a non-fatal nag when checking the rest of the codebase. Calling it "check-manifest" as a `make' target preserves the old behavior, which causes the check to fail if a file were added to the worktree without changing the MANIFEST.
2020-05-10public-inbox 1.5.0 v1.5.0
2020-05-09remove most internal Email::MIME usage
We no longer load or use Email::MIME outside of comparison tests.
2020-05-09EmlContentFoo: relax Encode version requirement
We want to support Perl v5.10.1 out-of-the-box with minimal download/installation time. Installing Encode from CPAN requires a compiler and lengthy build+install time. So mimic find_mime_encoding() using what Perl v5.10.1 provides out-of-the box.
2020-04-22make zlib-related modules a hard dependency
This allows us to simplify some of our existing code and make future changes easier. I doubt anybody goes through the trouble to have a Perl installation without zlib support. The zlib source code is even bundled with Perl since 5.9.3 for systems without existing zlib development headers and libraries. Of course, zlib is also a requirement of git, too; and we're not going to stop using git :) [squashed: "wwwaltid: use gzipfilter up front"]
2020-04-17public-inbox 1.4.0
2020-02-10public-inbox 1.3.0 v1.3.0