add basic project files
Chris Nehren [Mon, 21 Jun 2010 19:28:44 +0000 (15:28 -0400)]
MANIFEST [new file with mode: 0644]
Makefile.PL [new file with mode: 0644]
lib/Promulger.pm [new file with mode: 0644]

diff --git a/MANIFEST b/MANIFEST
new file mode 100644 (file)
index 0000000..314baa9
--- /dev/null
+++ b/MANIFEST
@@ -0,0 +1,24 @@
+bin/mm2pmg
+bin/pmg
+inc/Module/Install.pm
+inc/Module/Install/Base.pm
+inc/Module/Install/Can.pm
+inc/Module/Install/Fetch.pm
+inc/Module/Install/Makefile.pm
+inc/Module/Install/Metadata.pm
+inc/Module/Install/Win32.pm
+inc/Module/Install/WriteAll.pm
+lib/App/Promulger.pm
+lib/App/Promulger/Command.pm
+lib/App/Promulger/Command/msg.pm
+lib/App/Promulger/Command/newlist.pm
+lib/App/Promulger/Command/rmlist.pm
+lib/Promulger.pm
+lib/Promulger/Config.pm
+lib/Promulger/Dispatch.pm
+lib/Promulger/List.pm
+Makefile.PL
+MANIFEST                       This list of files
+META.yml
+README
+TODO
diff --git a/Makefile.PL b/Makefile.PL
new file mode 100644 (file)
index 0000000..1fedc44
--- /dev/null
@@ -0,0 +1,29 @@
+use inc::Module::Install;
+use strict;
+use warnings;
+
+name 'Promulger';
+all_from 'lib/Promulger.pm';
+
+requires 'App::Cmd';
+requires 'Carp';
+requires 'Config::General';
+requires 'Email::Simple';
+requires 'Email::Address';
+requires 'Email::Sender';
+requires 'Fcntl';
+requires 'IPC::Run3';
+# requires 'Mail::Verp'; # not yet
+requires 'Moose';
+requires 'MooseX::Storage';
+requires 'Path::Class';
+requires 'Tie::File';
+requires 'autodie';
+requires 'parent';
+
+resources 'IRC'         => 'irc://irc.perl.org/#promulger';
+resources 'license'     => 'http://dev.perl.org/licenses/';
+resources 'repository'  => 'git://git.shadowcat.co.uk/p5sagit/Promulger.git';
+
+WriteAll();
+
diff --git a/lib/Promulger.pm b/lib/Promulger.pm
new file mode 100644 (file)
index 0000000..9abf3dd
--- /dev/null
@@ -0,0 +1,79 @@
+package Promulger;
+use strict;
+use warnings;
+
+our $VERSION = '0.000001'; # 0.0.1
+
+=pod
+
+=head1 NAME
+
+Promulger -- Simple, Unixy mailing list manager
+
+=head1 SYNOPSIS
+
+  # In a config file somewhere:
+  aliases = /path/to/etc/aliases
+  list_home = /path/your/mta/can/write/to/lists
+  bin_root = /path/to/pmg/bin # like /usr/local/bin
+
+  # then
+  /path/to/pmg/bin/pmg newlist -c /path/to/config/pmg.conf mylist
+
+  # then
+  mail -s subscribe mylist-request@yourhost < /dev/null
+  mail -s post mylist@yourhost < first_post
+
+  # cleanup
+  /path/to/pmg/bin/pmg rmlist -c /path/to/config/pmg.conf rmlist
+
+=head1 DESCRIPTION
+
+Promulger is a simple, lightweight mailinglist manager (mlm) that subscribes to
+the Unix philosophy and aims to be sysadmin-friendly. Plaintext configuration
+and data files are favored over opaque binary files. The simplest possible thing
+that can work is the preferred approach. Simple algorithms, simple tools that do
+one thing well. An administrator should be able to read the config files and the
+data files without reading these docs and understand what's going on.
+
+=head1 LIMITATIONS
+
+Consider this section a TODO list.
+
+Presently, Promulger doesn't support VERP, and as a result doesn't support
+bounce parsing. It's being released to be tested on small, closed networks with
+clueful admins. If fishing messages out of your MTA's queue isn't something you
+feel comfortable doing, Promulger isn't for you right now.
+
+Another thing Promulger lacks is an archive. This is coming, but in the
+meantime, you're on your own. 
+
+There's no support for the standard mailing list headers. This means that
+filtering will need to work on the mailing list sender address for now. 
+
+It's not very customizable--in fact, it has no flexibility at all.
+
+=head1 ENVIRONMENT
+
+Promulger doesn't read any environment variables.
+
+=head1 AUTHOR
+
+Chris Nehren
+
+=head1 CONTRIBUTORS
+
+No one, yet. Patches welcome!
+
+=head1 COPYRIGHT
+
+Copyright (c) 2010 Chris Nehren and the CONTRIBUTORS above.
+
+=head1 LICENSE
+
+This library is free software and may be distributed under the same terms
+as perl itself.
+
+=cut
+
+1;