[Pdx-pm] Starting from scratch with Module::Build
Michael G Schwern
schwern at pobox.com
Sat Jul 2 01:52:11 PDT 2005
On Fri, Jul 01, 2005 at 09:36:06PM -0700, Eric Wilhelm wrote:
> >I've seen a lot of excellent code that was not put on CPAN because
> > either A) they thought it was a difficult thing to do or B) they
> > thought putting code on CPAN was something "special" and that nobody
> > would be interested in their module.
>
> There are conflicting opinions about this on the module-authors list.
> My personal approach since I started using subversion is to just dump
> my new stuff into my subversion repository and worry about getting it
> on CPAN when it's good enough (and when I get an automated release
> process so that publishing 17 distributions doesn't take a week (though
> that may be the case from QC anyway.))
Attached is the little release program I use. Its pretty trivial and uses
the cpan-upload program.
http://search.cpan.org/dist/cpan-upload/
There's also Module::Release which can do things like upload to PAUSE,
check into CVS, upload to SourceForge.
http://search.cpan.org/~bdfoy/release/
> >Remember, CPAN is the *Comprehensive* Perl Archive Network which means
> > you get the good and the bad. ?Often by trying to filter out the bad
> > we've lost the good. ?Its better to just gather everything together
> > and filter from there.
>
> So, let's do svn.perl.org and hook kinosearch to it right? Then all you
> need is a pause id (maybe a script could get you one of those
> automatically (or at least hold your hand and walk you through it)) and
> to run module-starter with the defaults (or a version thereof) to
> automagically have your new module published and under version control.
svn.perl.org is already available and folks can request a repository there
but I don't really see how this solves the problem of making a module.
You still need to roll releases and upload them to PAUSE. You still need
to create the Build.PL/Makefile.PL, tests and library layout.
--
Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern
Ahh email, my old friend. Do you know that revenge is a dish that is best
served cold? And it is very cold on the Internet!
-------------- next part --------------
#!/usr/bin/perl -w
use File::Copy;
sub run {
system(@_) == 0 or exit $? >> 8;
}
run("perl Makefile.PL"); # XXX Add SIGN=1 once key restored.
run("make disttest");
run("make dist");
my @tarballs = glob("*.tar.gz");
die "More than one tarball" if @tarballs > 1;
die "No tarball?" if @tarballs == 0;
my $dist = $tarballs[0];
run("cpan-upload -verbose $dist");
run("scp $dist mungus.schwern.org:~/www/src/");
move($dist, "$ENV{HOME}/releases/");
More information about the Pdx-pm-list
mailing list