}
+=item signature_target
+
+ my $target = $mm->signature_target;
+
+Generate the signature target.
+
+Writes the file SIGNATURE with "cpansign -s".
+
+=cut
+
+sub signature_target {
+ my $self = shift;
+
+ return <<'MAKE_FRAG' if !$self->{SIGN};
+signature:
+ $(NOECHO) $(NOOP)
+MAKE_FRAG
+
+ return <<'MAKE_FRAG';
+signature:
+ cpansign -s
+MAKE_FRAG
+
+}
+
+
=item metafile_addtomanifest_target
my $target = $mm->metafile_addtomanifest_target
}
+=item signature_addtomanifest_target
+
+ my $target = $mm->signature_addtomanifest_target
+
+Adds the META.yml file to the MANIFEST.
+
+=cut
+
+sub signature_addtomanifest_target {
+ my $self = shift;
+
+ return <<'MAKE_FRAG' if !$self->{SIGN};
+signature_addtomanifest:
+ $(NOECHO) $(NOOP)
+MAKE_FRAG
+
+ my $add_sign = $self->oneliner(<<'CODE', ['-MExtUtils::Manifest=maniadd']);
+eval { maniadd({q{SIGNATURE} => q{Public-key signature (added by MakeMaker)}}) }
+ or print "Could not add SIGNATURE to MANIFEST: $${'@'}\n"
+CODE
+
+ return sprintf <<'MAKE_FRAG', $add_sign;
+signature_addtomanifest:
+ $(NOECHO) %s
+MAKE_FRAG
+
+}
+
+
=back
=head2 Abstract methods
my($self) = shift;
return <<'MAKE_FRAG';
-distdir : metafile metafile_addtomanifest
+distdir : metafile metafile_addtomanifest signature signature_addtomanifest
$(RM_RF) $(DISTVNAME)
$(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \
-e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"
PERL_SRC PERM_RW PERM_RWX
PL_FILES PM PM_FILTER PMLIBDIRS POLLUTE PPM_INSTALL_EXEC
PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
- SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
+ SIGN SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
XS_VERSION clean depend dist dynamic_lib linkext macro realclean
tool_autosplit
installbin subdirs
clean_subdirs clean realclean_subdirs realclean
metafile metafile_addtomanifest
+ signature signature_addtomanifest
dist_basics dist_core distdir dist_test dist_ci
install force perldepend makefile staticmake test ppd
Overridable by PREFIX
+=item SIGN
+
+When true, perform the generation and addition to the MANIFEST of
+the SIGNATURE file during 'make distdir', via 'cpansign -s'.
+
+Note that you need to install the Module::Signature module to
+perform this operation.
+
+Defaults to false.
+
=item SKIP
Arrayref. E.g. [qw(name1 name2)] skip (do not write) sections of the