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