# All Perl installs I know about have these, but RH-based
# distros make them separate even though 'perl' pulls them in
'File::Path' => 0,
- 'File::Temp' => '0.19',
+ 'File::Temp' => '0.19', # for ->tmpdir support
'Getopt::Long' => 0,
'Exporter' => 0,
# ExtUtils::MakeMaker # this file won't run w/o it...
'wbuf_off', # offset into first element of wbuf to start writing at
);
-use Errno qw(EAGAIN EINVAL);
-use Carp qw(croak confess carp);
-require File::Spec;
+use Errno qw(EAGAIN EINVAL);
+use Carp qw(confess carp);
my $nextq; # queue for next_tick
my $WaitPids; # list of [ pid, callback, callback_arg ]
use strict;
use warnings;
use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/;
-use IO::Handle;
+use IO::Handle; # ->autoflush
use IO::Socket;
use POSIX qw(WNOHANG :signal_h);
use Socket qw(IPPROTO_TCP SOL_SOCKET);
use warnings;
use Fcntl qw(:DEFAULT SEEK_SET);
use Sys::Hostname qw(hostname);
-use IO::Handle;
+use IO::Handle; # ->flush, ->autoflush
sub new {
my ($class, $dir) = @_;
use strict;
use warnings;
use PublicInbox::Hval qw(ascii_html prurl);
-use PublicInbox::MID qw/mid2path/;
use PublicInbox::WwwStream;
our $MIN_PARTIAL_LEN = 16;
$altid ||= $ibx->{altid}->[0];
}
if ($altid) {
- require PublicInbox::MID; # mid_clean
require PublicInbox::AltId;
$self->{-altid} = PublicInbox::AltId->new($ibx, $altid, 1);
}
use strict;
use warnings;
use POSIX qw(dup2);
-require IO::Handle;
+use IO::Handle; # ->autoflush
use PublicInbox::Spawn qw(spawn popen_rd);
use PublicInbox::Tmpfile;
use base qw(Exporter);
use strict;
use warnings;
use Fcntl qw(:seek);
-use IO::Handle;
+use IO::Handle; # ->flush
use HTTP::Date qw(time2str);
use PublicInbox::Qspawn;
use PublicInbox::Tmpfile;
use bytes (); # only for bytes::length
use Fcntl qw(:seek);
use Plack::HTTPParser qw(parse_http_request); # XS or pure Perl
+use Plack::Util;
use HTTP::Status qw(status_message);
use HTTP::Date qw(time2str);
-use IO::Handle;
+use IO::Handle; # ->write
use PublicInbox::DS qw(msg_more);
use PublicInbox::Syscall qw(EPOLLIN EPOLLONESHOT);
use PublicInbox::Tmpfile;
use strict;
use warnings;
use Plack::Util;
-require PublicInbox::HTTPD::Async;
-require PublicInbox::Daemon;
+use PublicInbox::HTTPD::Async;
+use PublicInbox::Daemon;
sub pi_httpd_async { PublicInbox::HTTPD::Async->new(@_) }
use warnings;
use base qw(PublicInbox::Lock);
use PublicInbox::Spawn qw(spawn);
-use PublicInbox::MID qw(mids mid_mime mid2path);
+use PublicInbox::MID qw(mids mid2path);
use PublicInbox::Address;
use PublicInbox::MsgTime qw(msg_timestamp msg_datestamp);
use PublicInbox::ContentId qw(content_digest);
use base 'PublicInbox::DS';
use Socket qw(SOL_SOCKET SO_KEEPALIVE IPPROTO_TCP TCP_NODELAY);
use fields qw(post_accept);
-require IO::Handle;
+use IO::Handle;
use PublicInbox::Syscall qw(EPOLLIN EPOLLEXCLUSIVE EPOLLET);
use Errno qw(EAGAIN ECONNABORTED EPERM);
use Email::Simple;
use PublicInbox::Hval qw/to_filename/;
use PublicInbox::Mbox;
-use IO::Compress::Gzip;
use Compress::Raw::Zlib qw(Z_FINISH Z_OK);
my %OPT = (-WindowBits => 15 + 16, -AppendOutput => 1);
use strict;
use warnings;
use Sys::Hostname;
-require PublicInbox::Config;
+use PublicInbox::Config;
sub new {
my ($class) = @_;
use constant DT => 2; # Date: YYYYMMDDHHMMSS
use PublicInbox::SearchMsg;
-use PublicInbox::MIME;
-use PublicInbox::MID qw/id_compress/;
use PublicInbox::Over;
my $QP_FLAGS;
our %X = map { $_ => 0 } qw(BoolWeight Database Enquire
use base qw(PublicInbox::Search PublicInbox::Lock);
use PublicInbox::MIME;
use PublicInbox::InboxWritable;
-use PublicInbox::MID qw/mid_clean id_compress mid_mime mids_for_index/;
+use PublicInbox::MID qw/mid_clean mid_mime mids_for_index/;
use PublicInbox::MsgIter;
use Carp qw(croak);
use POSIX qw(strftime);
use PublicInbox::Hval qw/ascii_html obfuscate_addrs/;
use PublicInbox::View;
use PublicInbox::WwwAtomStream;
-use PublicInbox::MID qw(MID_ESC);
-use PublicInbox::MIME;
-require PublicInbox::Git;
-require PublicInbox::SearchThread;
+use PublicInbox::SearchThread;
our $LIM = 200;
my %rmap_inc;
use strict;
use warnings;
use URI::Escape qw(uri_escape);
-use PublicInbox::Hval;
use PublicInbox::MID qw(MID_ESC);
sub new {
use strict;
use warnings;
use 5.010_001;
-use File::Temp 0.19 ();
+use File::Temp 0.19 (); # 0.19 for ->newdir
use Fcntl qw(SEEK_SET);
use PublicInbox::Git qw(git_unquote git_quote);
use PublicInbox::MsgIter qw(msg_iter msg_part_text);
use warnings;
use base qw(Exporter);
use Symbol qw(gensym);
-use IO::Handle;
use PublicInbox::ProcessPipe;
our @EXPORT_OK = qw/which spawn popen_rd/;
sub RLIMITS () { qw(RLIMIT_CPU RLIMIT_CORE RLIMIT_DATA) }
package PublicInbox::TLS;
use strict;
use IO::Socket::SSL;
-require Carp;
-use Errno qw(EAGAIN);
use PublicInbox::Syscall qw(EPOLLIN EPOLLOUT);
sub err () { $SSL_ERROR }
our @EXPORT = qw(tmpfile);
use Fcntl qw(:DEFAULT);
use Errno qw(EEXIST);
-require File::Spec;
+use File::Spec;
# use tmpfile instead of open(..., '+>', undef) so we can get an
# unlinked filename which makes sense when viewed with lsof
use PublicInbox::Msgmap;
use PublicInbox::Spawn qw(spawn);
use PublicInbox::SearchIdx;
-use IO::Handle;
+use IO::Handle; # ->autoflush
use File::Temp qw(tempfile);
# an estimate of the post-packed size to the raw uncompressed size
use base qw(Exporter);
our @EXPORT_OK = qw(flush_diff);
use URI::Escape qw(uri_escape_utf8);
-use PublicInbox::Hval qw(ascii_html to_attr from_attr);
+use PublicInbox::Hval qw(ascii_html to_attr);
use PublicInbox::Git qw(git_unquote);
# keep track of state so we can avoid redundant HTML tags for
use PublicInbox::MIME;
use PublicInbox::Spawn qw(spawn);
use PublicInbox::InboxWritable;
-use File::Temp 0.19 ();
+use File::Temp 0.19 (); # 0.19 for ->newdir
use PublicInbox::Filter::Base qw(REJECT);
use PublicInbox::Spamcheck;
*maildir_path_load = *PublicInbox::InboxWritable::maildir_path_load;
use Digest::SHA qw(sha1_hex);
use PublicInbox::Address;
use PublicInbox::Hval qw(ascii_html);
-use PublicInbox::MID qw/mid_clean mid_escape/;
+use PublicInbox::MID qw(mid_escape);
use PublicInbox::MsgTime qw(msg_timestamp);
# called by PSGI server after getline:
use PublicInbox::Spawn qw(which spawn);
use PublicInbox::Over;
use PublicInbox::SearchIdx;
-use File::Temp ();
+use File::Temp 0.19 (); # ->newdir
use File::Path qw(remove_tree);
use File::Basename qw(dirname);
use POSIX ();
use strict;
use warnings;
use Getopt::Long qw(:config gnu_getopt no_ignore_case auto_abbrev);
-use PublicInbox::MIME;
use PublicInbox::InboxWritable;
use PublicInbox::Config;
use PublicInbox::V2Writable;
-use PublicInbox::Import;
use PublicInbox::Spawn qw(spawn);
use Cwd 'abs_path';
use File::Copy 'cp'; # preserves permissions:
use warnings;
use Getopt::Long qw(:config gnu_getopt no_ignore_case auto_abbrev);
use PublicInbox::AdminEdit;
-use File::Temp 0.19 ();
+use File::Temp 0.19 (); # 0.19 for TMPDIR
use PublicInbox::ContentId qw(content_id);
use PublicInbox::MID qw(mid_clean mids);
PublicInbox::Admin::check_require('-index');
-require PublicInbox::MIME;
-require PublicInbox::InboxWritable;
-require PublicInbox::Import;
+use PublicInbox::MIME;
+use PublicInbox::InboxWritable;
+use PublicInbox::Import;
my $usage = "$0 -m MESSAGE_ID [--all] [INBOX_DIRS]";
my $opt = { verbose => 1, all => 0, -min_inbox_version => 2, raw => 0 };
use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/;
use PublicInbox::Admin;
PublicInbox::Admin::require_or_die('-base');
-require PublicInbox::Config;
-require PublicInbox::InboxWritable;
+use PublicInbox::Config;
+use PublicInbox::InboxWritable;
use File::Temp qw/tempfile/;
use PublicInbox::Lock;
use File::Basename qw/dirname/;
# Standalone NNTP server for public-inbox.
use strict;
use warnings;
-require PublicInbox::Daemon;
+use PublicInbox::Daemon;
use PublicInbox::NNTP; # need to call import
-require PublicInbox::NNTPD;
+use PublicInbox::NNTPD;
my $nntpd = PublicInbox::NNTPD->new;
PublicInbox::Daemon::run('0.0.0.0:119',
sub { $nntpd->refresh_groups }, # refresh
close $fh or die "close: $!\n";
}
-use_ok 'PublicInbox::Git';
-use_ok 'PublicInbox::Import';
use_ok 'PublicInbox::Inbox';
use_ok 'PublicInbox::InboxWritable';
use_ok 'PublicInbox::Config';
use Test::More;
use Email::MIME;
use PublicInbox::Feed;
-use PublicInbox::Git;
use PublicInbox::Import;
-use PublicInbox::Config;
use PublicInbox::Inbox;
my $have_xml_feed = eval { require XML::Feed; 1 };
use PublicInbox::TestCommon;