no-install install.perl install.man install.html
META.yml: Porting/makemeta Porting/Maintainers.pl Porting/Maintainers.pm
- $(LDLIBPTH) ./miniperl -Ilib Porting/makemeta META.yml
+ $(LDLIBPTH) ./miniperl -Ilib Porting/makemeta -y
META.json: Porting/makemeta Porting/Maintainers.pl Porting/Maintainers.pm
- $(LDLIBPTH) ./miniperl -Ilib Porting/makemeta META.json
+ $(LDLIBPTH) ./miniperl -Ilib Porting/makemeta -j
install-strip:
$(MAKE) STRIPFLAGS=-s install DESTDIR="$(DESTDIR)"
regen_meta regen-meta: META.yml META.json
META.yml: FORCE
- PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(RUN_PERL) -Ilib Porting/makemeta META.yml
+ PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(RUN_PERL) -Ilib Porting/makemeta -y
META.json: FORCE
- PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(RUN_PERL) -Ilib Porting/makemeta META.json
+ PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(RUN_PERL) -Ilib Porting/makemeta -j
regen_all regen-all: regen regen_meta
use strict;
use warnings;
+use Getopt::Std;
my $opts = {
'META.yml' => { version => '1.4' },
'META.json' => { version => '2' },
};
-my $file = shift;
-die "Must specify META.yml or META.json" unless $file and defined $opts->{$file};
+my %switches;
+getopts('byj', \%switches);
+
+my @metafiles;
+if ( $switches{y} ) {
+ push @metafiles, 'META.yml';
+}
+elsif ( $switches{j} ) {
+ push @metafiles, 'META.json';
+}
+else {
+ push @metafiles, keys %$opts;
+}
my ($vers, $stat ) = _determine_status();
$distmeta->{no_index}->{directory} = \@dirs;
my $meta = CPAN::Meta->create( $distmeta );
-my $fh = open_new($file);
-print $fh $meta->as_string( $opts->{$file} );
-close_and_rename($fh);
+foreach my $file ( @metafiles ) {
+ my $fh = open_new($file);
+ print $fh $meta->as_string( $opts->{$file} );
+ close_and_rename($fh);
+}
exit 0;
sub _determine_status {
$ git commit -m 'bump version to RCnnn' patchlevel.h
+=head3 run makemeta to update META files
+
+ $ perl Porting/makemeta
+
+Be sure to commit any changes (if applicable):
+
+ $ git commit -m 'Update META files' META.*
=head3 build, test and check a fresh perl
system "$^X $_ --tap";
}
-foreach ( 'META.yml', 'META.json' ) {
+foreach ( '-y', '-j' ) {
system "$^X Porting/makemeta --tap $_";
}