Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
RELEASE(1)            User Contributed Perl Documentation           RELEASE(1)

NAME
       release - give your Perl distros to the world

SYNOPSIS
               release [OPTIONS] [ LOCAL_FILE [ REMOTE_FILE ] ]

               # try a dry run without uploading anything
               release -t
               # skip dist while checking
               release -D

               # print a help message and exit
               release -h

               # skip kwalitee testing (e.g. a script distro)
               release -k

               # print debugging information
               release -d

               # print release number and exit
               release -v

               # set $ENV{AUTOMATED_TESTING} to a true value
               release -a

DESCRIPTION
       This is the prototype program for using "Module::Release". You should
       modify it to fit your needs. If it doesn't do what you want, you can
       change it however you like. This is how I like to release my modules,
       and I'm happy to add features that do not get in my way. Beyond that,
       you should write your own script to match your process.

       This program automates Perl module releases. It makes the distribution,
       tests it, checks that source control is up to date, tags source
       control, uploads it to the PAUSE anonymous FTP directory and claims it
       on PAUSE.

       By default this script assumes that you use CVS, but recognizes SVN and
       git and switches when appropriate.

   Process
       The release script checks many things before it actually releases the
       file.  Some of these are annoying, but they are also the last line of
       defense against releasing bad distributions.

       Read the configuration data
           Look in the current working directory for ".releaserc".  See the
           Configuration section.  If release cannot find the configuration
           file, it dies.

       Test and make the distribution
           Run make realclean, perl Makefile.PL, make test, make dist, make
           disttest.  If testing fails, release dies.  make dist provides the
           name of the distribution if LOCAL_FILE is not provided on the
           command line. Too test the distribution against several perl
           binaries, see the "perls" configuration setting.

       Check that source control is up-to-date
           If there are modified files, added files, or extra files so that
           source control complains, fail.

       Upload to PAUSE
           This program used to use FTP uploads, but PAUSE has turned that
           feature.  Now it uploads through the web form.

       Tag the repository
           Use the version number (in the distribution name) to tag the
           repository.  You should be able to checkout the code from any
           release.

   Command-line switches
       -a  Set $ENV{AUTOMATED_TESTING} to true. You can also set
           automated_testing in the configuration file.

       -d  Show debugging information

       -h  Print a help message then exit

       -k  Skip the kwalitee checks. You can also set the skip_kwalitee
           directive to a true value in the configuration file.

           Have you considered just fixing the kwalitee though? :)

       -p  Skip the prereq checks. You can also set the skip_prereqs directive
           to a true value in the configuration file.

           Have you considered just fixing the prereqs though? :)

       -t  Run all checks then stop. Do not change any files or upload the
           distribution.

       -T  Skip the tests. This is useful when you just want to upload.

       -v  Print the program name and version then exit

   Configuration
       The release script uses a configuration file in the current working
       directory.  The file name is .releaserc.

       release's own .releaserc looks like this:

           cpan_user BDFOY

       If you would like to test with multiple perl binaries (version 1.21 and
       later), list them as a colon-separated list in the "perls" setting:

               perls /usr/local/bin/perl5.6.2:/usr/local/bin/perl5.10.0

       release does not test the perls in any particular order.

       automated_testing
           Set "automated_testing" to the value you want for the
           $ENV{AUTOMATED_TESTING} setting. By default this is 0, so testing
           is started in interactive mode.

       cpan_user
           The PAUSE user

       passive_ftp
           Set "passive_ftp" to "y" or "yes" for passive FTP transfers.
           Usually this is to get around a firewall issue. Note that PAUSE has
           turned off FTP uploads, so this setting is useless now.

       perls
           A colon-separated list of perls to test with. If
           "allow_glob_in_perls" is a true value, globs in paths will expand
           to their paths so you can specify many perls.

           Default: the perl that's running "release".

       allow_glob_in_perls
           If true, expand globs in the "perls" configuration.

           Default: 0

       skip_kwalitee
           Set to a false value to skip kwalitee checks (such as for a script
           distribution with no modules in it).

       skip_prereqs
           Set "skip_prereqs" to 1 if you don't want to run the Test::Prereq
           checks. By default this is 0 and "release" will try to check
           prerequisites.

       release_subclass
           DEPRECATED AND REMOVED. You should really just write your own
           release script. Fork this one even!

   Environment
       o   AUTOMATED_TESTING

           Module::Release doesn't do anything with this other than set it for
           Test::Harness.

       o   CPAN_PASS

           release reads the "CPAN_PASS" environment variable to set the
           password for PAUSE.  Of course, you don't need to set the password
           for a system you're not uploading to.

       o   RELEASE_DEBUG

           The "RELEASE_DEBUG" environment variable sets the debugging value,
           which is 0 by default.  Set "RELEASE_DEBUG" to a true value to get
           debugging output.

       o   PERL

           The "PERL" environment variable sets the path to perl for use in
           the make; otherwise, the perl used to run release will be used.

       o   RELEASE_OPTS

           A string representing options to add to the command line.

TO DO
       o   break out functional groups into modules.

       o   more plugins!

SOURCE AVAILABILITY
       This source is in Github as part of the Module::Release project:

               https://github.com/briandfoy/module-release

AUTHOR
       brian d foy, "<bdfoy@cpan.org>"

COPYRIGHT AND LICENSE
       Copyright 2002-2014, brian d foy, All rights reserved.

       You may use this software under the same terms as Perl itself.

CREDITS
       Ken Williams turned the original release(1) script into a module.

       Andy Lester contributed to the module and script.

       H. Merijn Brand submitted patches to work with 5.005 and to create the
       automated_testing feature.

perl v5.20.3                      2014-09-14                        RELEASE(1)

NAME | SYNOPSIS | DESCRIPTION | TO DO | SOURCE AVAILABILITY | AUTHOR | COPYRIGHT AND LICENSE | CREDITS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=release&manpath=FreeBSD+10.3-RELEASE+and+Ports>

home | help