Update of /cvsroot/mhonarc/devtools/bin
In directory subversions:/tmp/cvs-serv6114/bin
Modified Files:
release
Log Message:
bin/release:
+ Added -notest option for skipping the test build phase.
+ Added check for .dep and .rpm files when copying project built
distribution bundles.
+ Some documentation updates.
Index: release
===================================================================
RCS file: /cvsroot/mhonarc/devtools/bin/release,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -r1.21 -r1.22
*** release 31 Oct 2002 06:20:08 -0000 1.21
--- release 20 Jul 2003 00:05:47 -0000 1.22
***************
*** 75,78 ****
--- 75,79 ----
'n', # Just echo what would be done.
'news=s', # News file to include mail sent out
+ 'notest', # Skip the test build
'notlatest', # Not latest release, so do not update latest link
'noversion-check', # Bypass version check
***************
*** 255,258 ****
--- 256,261 ----
## Run a test build
TEST: {
+ last TEST if $opt{'notest'};
+
if ( -e $testdir ) {
die qq/Error: Test build directory already exists, "$testdir".\n/,
***************
*** 283,288 ****
}
ch_dir($reldir) || die qq/Error: Unable to chdir to "$reldir": $!\n/;
}
- run_prg('/bin/rm', '-rf', $testroot) if ($TEST_ONLY || !$snapmode);
## If only testing, we are done.
--- 286,292 ----
}
ch_dir($reldir) || die qq/Error: Unable to chdir to "$reldir": $!\n/;
+
+ run_prg('/bin/rm', '-rf', $testroot) if ($TEST_ONLY || !$snapmode);
}
## If only testing, we are done.
***************
*** 546,550 ****
my @files = grep { /\.tar$/ ||
/\.tar\.(?:gz|bz2|Z)$/ ||
! /\.zip$/
} readdir(DIR);
closedir(DIR);
--- 550,556 ----
my @files = grep { /\.tar$/ ||
/\.tar\.(?:gz|bz2|Z)$/ ||
! /\.zip$/ ||
! /\.dep$/ || # Debian package
! /\.rpm$/ # RPM package
} readdir(DIR);
closedir(DIR);
***************
*** 682,697 ****
can affect the release process.
=item *
! Automatic tagging of the project in CVS (if C<-create> option specified)
! to allow source code recovering for a specified release version.
=item *
! Export of project into project release directory.
=item *
! Tar-gzipping of the built project.
=item *
--- 688,709 ----
can affect the release process.
+ The test build can be skipped by using the C<-notest> option.
+
=item *
! Automatic tagging of the project in CVS -- if C<-create> option
! specified -- to allow source code recovering for a specified release
! version. If C<-create> is not specified, the project must already
! be tagged for the specified version.
=item *
! Export of project into project release directory. This provides
! a browsable version of files for a release.
=item *
! Tar-gzipping of the built project, unless the project itself creates
! its own distribution bundles (see L<NOTES|NOTES>).
=item *
***************
*** 710,714 ****
Version numbers must conform to the following Perl regular expression:
C</^\d+\.\d+(?:\.\d+)?$/>.
! Examples: C<1.0>, C<0.10.4>, C<23.0.1>.
=head1 OPTIONS
--- 722,727 ----
Version numbers must conform to the following Perl regular expression:
C</^\d+\.\d+(?:\.\d+)?$/>.
! Examples: C<1.0>, C<0.10.4>, C<23.0.1>. Arbitrary version number
! formats can be done by use the C<-noversion-check> option.
=head1 OPTIONS
***************
*** 833,836 ****
--- 846,853 ----
Name of project to release. This is a required option.
+ =item C<-notest>
+
+ Skip performing a test build.
+
=item C<-notlatest>
***************
*** 923,931 ****
# Pathname to CVS respository: Overridden by -cvsroot option
! # or CVSROOT envariable.
CVS_ROOT => '/home/cvs/root',
# Name of directory under a project's directory containing releases of
! # the project
DIST_DIRNAME => 'tar',
--- 940,949 ----
# Pathname to CVS respository: Overridden by -cvsroot option
! # or CVSROOT envariable. The value can be any legal cvs root
! # specification, including external repositories like ":ext:..."
CVS_ROOT => '/home/cvs/root',
# Name of directory under a project's directory containing releases of
! # the project.
DIST_DIRNAME => 'tar',
***************
*** 933,943 ****
MAIL_PRG => '/usr/lib/sendmail -t',
! # make program: Overridden by -makeprg option or MAKE envariable.
MAKE_PRG => 'gmake',
! # make target name to invoke.
MK_TARGET_RELEASE => 'release',
! # Program search path to use when performing release.
PATH => join(':',
'/usr/local/bin',
--- 951,962 ----
MAIL_PRG => '/usr/lib/sendmail -t',
! # Make program: Overridden by -makeprg option or MAKE envariable.
MAKE_PRG => 'gmake',
! # Make target name to invoke to create a release.
MK_TARGET_RELEASE => 'release',
! # Program search path to use when performing release. This
! # should contain the absolute minimum required to build a project.
PATH => join(':',
'/usr/local/bin',
***************
*** 953,957 ****
# Remote shell program (for multi-architecture releases): Overridden
! # by RSHELL envariable.
RSH_PRG => 'rsh',
--- 972,976 ----
# Remote shell program (for multi-architecture releases): Overridden
! # by RSHELL envariable. Use ssh if security is a concern.
RSH_PRG => 'rsh',
***************
*** 1067,1070 ****
--- 1086,1090 ----
the project root. Any filename that ends in the following
extensions, C<.tar>, C<.tar.gz>, C<.tar.bz2>, C<.tar.Z>, C<.zip>,
+ C<.dep>, C<.rpm>,
will be copied into C</home/projects/release/I<E<lt>projectE<gt>>/tar>.
The C<dist> directory will then be removed once the files are
***************
*** 1086,1089 ****
--- 1106,1118 ----
override release is to be done for the specified version, the backup
directory must be manually removed.
+
+ =item *
+
+ If ssh is the prefered, or required, mode for communicating with a
+ remote repository, performing automated snapshots can be a problem
+ since a password is required, unless you decide to use passwordless
+ key authentication. An option is to utilize ssh-agent(1). B<release>
+ preserves ssh-agent related environment variables when creating the
+ clean environment.
=back
---------------------------------------------------------------------
To sign-off this list, send email to majordomo(_at_)mhonarc(_dot_)org with the
message text UNSUBSCRIBE MHONARC-DEV