App-tpnotify
view release on metacpan or search on metacpan
}
# get_sources($URL)
# -----------------
# Download and extract source archive.
sub get_sources {
my ($source) = @_;
$archive_file = download($source);
info("scanning $archive_file") if $verbose;
open(my $fd, '-|', "tar tf $archive_file")
or abend(EX_NOINPUT, "can't open $archive_file: $!");
while (<$fd>) {
chomp;
unless (m#^(?<dir>.+?)/(?<file>.*)$#) {
abend(EX_DATAERR, "$archive_file content suspicious: member $_");
}
if (defined($topdir)) {
unless ($+{dir} eq $topdir) {
abend(EX_DATAERR,
"$archive_file content suspicious: $+{dir} does not match $topdir");
}
# verify
# ------
# Verifies the tarball. Determines canonical package name, extracts the POT
# file and checks if it lists the correct package name in its
# "Project-Id-Version" header and that its msgids differ from the ones
# already registered on the TP.
sub verify {
my ($in, $out);
my $pid = open2($out, $in, "m4 -P - $files{'configure.ac'}")
or abend(EX_NOINPUT, "can't open $files{'configure.ac'}: $!");
print $in <<'EOT';
m4_divert(-1)
m4_changequote([,])
m4_define([AC_INIT],[m4_divert(0)$1
$2[]m4_divert(-1)])
EOT
close $in;
waitpid($pid, 0);
check_command_status("m4");
chomp(my @lines = <$out>);
domain => \$localdomain,
to => \$recipient,
add => \@add_headers,
'add-header' => \@add_headers,
'refile-method' => \$refile_method
);
sub read_config {
my $config_file = shift;
open(FILE, "<", $config_file)
or abend(EX_NOINPUT, "cannot open $config_file: $!");
my $line = 0;
my $err;
my $key;
my $val;
my $heredoc;
my $heredoc_line;
while (<FILE>) {
++$line;
if ($heredoc) {
);
read_config($config_file) if defined $config_file;
Getopt::Long::Configure(qw(gnu_getopt no_ignore_case no_pass_through));
GetOptions("keep|k" => \$keep,
"alpha|A" => sub { $release_type = 'alpha' },
"stable|S" => sub { $release_type = 'stable' },
"template|t=s" => sub {
exit(EX_NOINPUT) unless read_template_file($_[1])
},
"signature|s=s" => \$signature_file,
"no-signature" => sub { $signature_file = undef },
"verbose|v+" => \$verbose,
"dry-run|n" => \$dry_run,
"debug|d+" => \$debug,
"mailer|m=s" => sub {
exit(EX_USAGE) unless set_mailer($_[1])
},
"from|f=s" => \$sender,
( run in 0.295 second using v1.01-cache-2.11-cpan-4e96b696675 )