Date | Commit message (Collapse) |
|
|
|
I didn't wait until September to do it, this year!
|
|
There's no need to keep Xapian manpage renderings in a separate
subdirectory, after all.
Eliminating this difference between the local FS and URL path
will allow relative URLs to the Xapian manpages in our local
HTML documentation to work smoothly, since there was never any
".x/" path component for files served from public-inbox.org
|
|
Maybe this can make it easier for new and potential
users to understand what's going on.
|
|
We don't need to clutter the website with unnecessary technical
information. Anybody who reads the technical/ directory should
be looking at our source code, anyways; and we also have cgit
and gitweb mirrors.
|
|
I noticed the TODO was out-of-date on the website, among some
other things. This was broken in moving GNU-isms in the
Makefile to Perl.
|
|
Repeatedly rebuilding `NEWS' because the mtime of `NEWS'
is synched to the latest release .eml is a bit annoying,
but necessary to save bandwidth for the website.
So we'll also update the mtime of the source .eml file when
reading them. It's kinda gross to be setting mtimes of source
.eml files in Documentation/RelNotes/, but I can't think of
anything better at the moment...
|
|
It's only used by us in public-inbox-watch, and maybe not
for long. It's in most installations because Plack pulls it
in though, but Plack is no longer required.
|
|
Some users just want to run -mda, -watch, and/or -nntpd.
Let them run just those without forcing them to pull in a
bunch of dependencies.
|
|
There's a bunch of leftover "require" and "use" statements we no
longer need and can get rid of, along with some excessive
imports via "use".
IO::Handle usage isn't always obvious, so add comments
describing why a package loads it. Along the same lines,
document the tmpdir support as the reason we depend on
File::Temp 0.19, even though every Perl 5.10.1+ user has it.
While we're at it, favor "use" over "require", since it it gives
us extra compile-time checking.
|
|
Some people will place the contents of an unpacked tarball
inside another directory controlled by git (e.g. a ports tree
or even git-versioned home directory). "git ls-files" will
succeed in those cases, so we must check for the existence
of a ".git" dir, instead.
|
|
extman.perl requires the name of its target
|
|
Spawning a new Perl interpreter for every test case
means Perl has to reparse and recompile every single file
it needs, costing us performance and development time.
Now that we've modified our code to avoid global state,
we can preload everything we need.
The new "check-run" test target is now 20-30% faster
than the original "check" target.
|
|
Sorting makes it easier to review the generated result.
|
|
Development versions of Perl install "prove$VERSION"
where $VERSION is something like "5.31.7". This makes
it easier to test everything we have against development
versions of Perl5.
Note: I could not find a way to get quoting right to use the
"--exec $(PERL)" option of prove(1), but that would be the best
option for working transparently after running:
perl5.31.7 Makefile.PL
|
|
The "dsyn" target needs to remain working, despite still
being dependent on GNU-isms at the moment.
Fixes: 73fe3421f1ecbdc8 ("build: support doc generation w/o GNU make")
|
|
-mda should not be dealing with broken Date: headers
nowadays, and deprioritize it in our documentation and
internal checks.
|
|
We can replace the GNU-isms for building docs with Perl5
equivalents. The only downside is the resulting Makefile
gets larger, but that's the price of portability.
|
|
We need to force an update to Makefile (not Makefile.PL) when
MANIFEST changes. Since "Makefile" (aka. "$(FIRST_MAKEFILE)")
is already a single-colon make target; we can't create a
double-colon rule to augment it. So we'll continue using a
"Makefile.PL" rule, but have it recreate the resulting Makefile
Finally, change the "check" target to use "prove -b" instead of
"prove -l" so we test against "blib/lib", since what's in the
"blib" dir will be installed.
Fixes: 4c20de0694d06ff3 ("Makefile.PL: add dependency on MANIFEST contents")
|
|
This is distributed with Perl 5.10.1 and onwards, so it should
not be an installation burden for any users. I'm planning to
move away from tempdir() entirely and use File::Temp->newdir to
remove dependencies on END{} blocks.
|
|
|
|
This is a plugin for SpamAssassin that happens to be quite
useful in keeping spam off lists I mirror. Hopefully more
people can find it useful now that it has a manpage.
|
|
This prevents breakage when running installed scripts when a
user fetches from git and forgets to run "perl Makefile.PL"
before "make install".
|
|
|
|
IO::KQueue isn't easily installable on Linux systems.
|
|
I make syntax errors all the time :x
|
|
We have lots of files and syntax-checking every single one of
them is slow. Enable "perl -w" in the existing syntax check
while we're at it.
|
|
Digest::SHA is the most notable missing package at runtime
for a minimal system.
Tests don't run at all without Test::Simple (or Test::More).
Plack::Test is also a separate package, too...
Also, the package for IO::Compress::Gzip should be IO::Compress;
as perl-PerlIO-gzip is a different thing entirely which is not
relevant to our needs.
Test::HTTP::Server::Simple doesn't seem required at all for Plack
tests.
ExtUtils::MakeMaker needs to be documented as a install dependency
for people installing this, too; since AFAIK public-inbox is not
yet in any distros.
|
|
We already "use warnings" everywhere, but could miss some spots.
This ought to cover that, and usually Perl module authors are
consistent about avoiding warnings that we won't clutter our
test outputs.
|
|
This can useful for limiting test resource use without relying
on remembering the variable command-line.
|
|
It's only useful for a corner case in long-running daemons when
an admin decides to compact or vacuum a Xapian or SQLite DB.
As a result, other scripts should run slightly faster. For
instance, this saves about 80ms (2.710s => 2.630s) in t/mda.t
on my remote workstation.
While we're at it, make sure EvCleanup is properly require'd
in Daemon.pm and HTTP.pm and document our use of Devel::Peek.
|
|
The `shell' function appears missing, so we'll rely on Bourne
shell expansioN, instead.
Use "$?" instead of "$<" since the latter is only specified
for inference and .DEFAULT rules, not target rules.
Tested on FreeBSD make(1) and bmake(1) on Debian.
|
|
Email::MIME uses Encode::MIME::Header and depends on that
appropriately; however we depend on other parts of the Encode
distribution, but that's bundled with Perl by upstream, anyways;
and should place no additional burden on users.
|
|
Fortunately, there is a pattern to most of these package names
in all distros I've tested (and hopefully other BSDs have them,
too).
Then, reorder the INSTALL document to mention the top-level
modules, first, so users can avoid needing to type extra
dependencies. However, we still list some implicit dependencies
in case the upstream package drops dependencies independently of
us.
Finally, Devel::Peek is not a dependency worth making optional
since it's bundled by Perl upstream. Fedora/RH-based distros
are the only one which turn it into a non-standard package when
Perl5 is installed.
|
|
We don't need to increase our install footprint with
documentation from our internals (which will surely
change).
|
|
Since we now support more CSS classes for coloring,
give this feature more visibility.
|
|
They really shouldn't be... Also, it seems like eliminating IPC::Run
is not going to be worth the effort.
|
|
Otherwise, things do not work from a tarball distribution.
Reported-by: Leah Neukirchen <leah@vuxu.org>
https://public-inbox.org/meta/871sdfzy80.fsf@gmail.com/
|
|
Pre-release for v2 repository support. Thanks to
The Linux Foundation for supporting this work!
|
|
Might as well, this release is mostly to serve as a checkpoint
for the start of new development on v2 stuff mentioned in the
TODO.
|
|
Using update-copyrights from gnulib
While we're at it, use the SPDX identifier for AGPL-3.0+ to
ease mechanical processing.
|
|
Introduce our own SearchThread class for threading messages.
This should allow us to specialize and optimize away objects
in future commits.
|
|
And add a check-manifest target to the Makefile to
ensure we're up-to-date with git (but do not depend on
git).
|
|
We no longer depend on it for the core code, and tests
are optional for users. Hopefully this makes this
easier-to-install.
|
|
This removes the Email::Filter dependency as well as the
signature-breaking scrubber code. We now prefer to
reject unacceptable messages and grudgingly (and blindly)
mirror messages we're not the primary endpoint for.
|
|
We still pull it in via Email::LocalDelivery, but that
dependency will go away, soon.
|
|
Relying on the number of processors isn't a great idea
since some of our tests rely on delays to test blocking
and slow client behavior.
|
|
git has stricter requirements for ident names (no '<>')
which Email::Address allows.
Even in 1.908, Email::Address also has an incomplete fix for
CVE-2015-7686 with a DoS-able regexp for comments. Since we
don't care for or need all the RFC compliance of Email::Address,
avoiding it entirely may be preferable.
Email::Address will still be installed as a requirement for
Email::MIME, but it is only used by the
Email::MIME::header_str_set which we do not use
|
|
Unfortunately, most users still prefer their mail delivered
over SMTP; so we'll at least document mlmmj integration for now
until we can popularize pull-based reading over POP3/NNTP/ssoma.
|
|
This should help poor developers who still use rotating disks on
cheap netbooks.
|