joes 2003/11/07 12:05:20
Modified: . CHANGES Makefile.PL Makefile.am RELEASE
acinclude.m4
build version_check.pl
env Makefile.am
Log:
Updates to build system:
perl build/version_check.pl --version=2.XX generates a META.yml file for
CPAN, which will be incorporated into future releases.
perl build/version_check.pl generates a nicer prerequisite list, with
sections that show how the prereqs relate to the build type.
Apache::Test is no longer a requirement for the C API (although the env/
tests will not run during % make test).
Revision Changes Path
1.18 +6 -0 httpd-apreq-2/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/httpd-apreq-2/CHANGES,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- CHANGES 7 Nov 2003 19:55:47 -0000 1.17
+++ CHANGES 7 Nov 2003 20:05:19 -0000 1.18
@@ -2,6 +2,12 @@
@section v2_01_dev Changes with libapreq2-2.01-dev
+- November 7, 2003 - build system [joes]
+
+Skip Apache::Test tests in env/ when Apache::Test is unavailable.
+This allows the C API to be build and installed without requiring
+Apache::Test (it is still a requirement for compiling the perl glue).
+
- November 7, 2003 - C API mod_apreq.c [joes]
Parser errors were creeping into the return value of apreq_filter,
1.8 +8 -5 httpd-apreq-2/Makefile.PL
Index: Makefile.PL
===================================================================
RCS file: /home/cvs/httpd-apreq-2/Makefile.PL,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Makefile.PL 31 Oct 2003 21:38:35 -0000 1.7
+++ Makefile.PL 7 Nov 2003 20:05:19 -0000 1.8
@@ -11,12 +11,10 @@
sub test_prereq {
system (PERL_PATH, "build/version_check.pl", @_) == 0
- or die "Please upgrade $_[0] first.";
+ or die "Please upgrade $_[0] first.\n";
}
test_prereq perl => PERL_PATH;
-test_prereq "apache_test";
-test_prereq "mp2";
if (WIN32) {
push @ARGV, '--with-perl=' . PERL_PATH;
@@ -30,13 +28,18 @@
my @flags = qw/enable-maintainer-mode enable-perl-glue
disable-perl-glue/;
my %opts;
-# grab from @ARGV only the options that we expect
+ # grab from @ARGV only the options that we expect
GetOptions(\%opts, (map "$_=s", @opts), @flags);
$opts{"with-perl"} = PERL_PATH;
my $opts = "";
$opts .= "--enable-maintainer-mode " if $opts{"enable-maintainer-mode"};
- $opts .= "--enable-perl-glue " unless exists $opts{"disable-perl-glue"};
+
+ unless (exists $opts{"disable-perl-glue"}) {
+ $opts .= "--enable-perl-glue ";
+ test_prereq "mod_perl";
+ test_prereq "Apache::Test";
+ }
delete @[EMAIL PROTECTED];
$opts{"with-apache2-apxs"} = delete $opts{apxs}
1.20 +1 -0 httpd-apreq-2/Makefile.am
Index: Makefile.am
===================================================================
RCS file: /home/cvs/httpd-apreq-2/Makefile.am,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- Makefile.am 30 Oct 2003 04:49:16 -0000 1.19
+++ Makefile.am 7 Nov 2003 20:05:19 -0000 1.20
@@ -21,6 +21,7 @@
release: reconfig docs_clean docs distdir
@PERL@ build/version_check.pl > $(distdir)/PREREQUISITES
+ @PERL@ build/version_check.pl [EMAIL PROTECTED]@ > $(distdir)/META.yml
echo MANIFEST > $(distdir)/MANIFEST
@cd $(distdir); @PERL@ -M$(EUM) -e "$(EUM)::mkmanifest"
@PERL@ -ple '$$_="$(distdir)/$$_"' $(distdir)/MANIFEST | tar -czf
$(distdir).tar.gz -T -
1.3 +25 -12 httpd-apreq-2/RELEASE
Index: RELEASE
===================================================================
RCS file: /home/cvs/httpd-apreq-2/RELEASE,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RELEASE 1 Nov 2003 19:25:08 -0000 1.2
+++ RELEASE 7 Nov 2003 20:05:19 -0000 1.3
@@ -25,28 +25,40 @@
(three +1 and more +1s than -1s) among the committers, the RM
may proceed with the release.
-5. Tag the tree, s/./_/g in the version number
+5. Edit STATUS, marking the release date
- % cvs tag v2_XX_dev
+ /** @page STATUS
-6. Sign the release via gpg:
+ 2.XX-dev tagged and rolled for release on <today's date>
- % gpg --detach-sign --armor libapreq2-2.XX-dev.tar.gz
+ Commit the change and tag the tree (tr/0-9a-zA-Z/_/c in the
+ version number)
+
+ % cvs commit -m "2.XX-dev to be released" STATUS
+ % cvs tag v2_XX_dev
+
+6. Regenerate the release
+
+ % make release && make release_test
+
+ Then test and sign it via gpg:
+
+ % gpg --detach-sign --armor libapreq2-2.XX-dev.tar.gz
or pgp:
- % pgp -sba libapreq2-2.XX-dev.tar.gz
+ % pgp -sba libapreq2-2.XX-dev.tar.gz
7. Upload (scp) the package and signature to www.apache.org
for distribution:
- % scp libapreq2-2.XX-dev.tar.gz* \
- <username>@www.apache.org:/www/www.apache.org/dist/httpd/libapreq/
+ % scp libapreq2-2.XX-dev.tar.gz* \
+ <username>@www.apache.org:/www/www.apache.org/dist/httpd/libapreq/
Ask another developer to confirm the uploaded signature is ok.
- % gpg --verify libapreq2-2.XX-dev.tar.gz.asc
- % pgp libapreq2-2.XX-dev.tar.gz.asc
+ % gpg --verify libapreq2-2.XX-dev.tar.gz.asc
+ % pgp libapreq2-2.XX-dev.tar.gz.asc
Check that your public key is among those listed in the
/www/www.apache.org/dist/httpd/KEYS file.
@@ -54,9 +66,10 @@
8. Upload the package to CPAN. Doublecheck that the md5 checksum
received from PAUSE is correct.
-9. Update the libapreq homepage to list the new release in
- the News section. For instructions on updating the httpd website,
- see build/WEBSITE.
+9. Wait ~12-24 hours for the ASF mirrors to pick up the new package, then
+ update the apreq homepage to list the new release in the News section
+ Be sure to update the libapreq2 documentation. For instructions on
updating
+ the httpd website, see build/WEBSITE.
10. Post a final announcement to the modperl@ and apreq-dev@ lists:
1.14 +14 -8 httpd-apreq-2/acinclude.m4
Index: acinclude.m4
===================================================================
RCS file: /home/cvs/httpd-apreq-2/acinclude.m4,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- acinclude.m4 30 Oct 2003 00:12:49 -0000 1.13
+++ acinclude.m4 7 Nov 2003 20:05:19 -0000 1.14
@@ -13,6 +13,8 @@
AC_HELP_STRING([--with-apache2-src],[path to httpd-2
source]),
[APACHE2_SRC=$withval],[APACHE2_SRC=""])
+ prereq_check="$PERL build/version_check.pl"
+
if test -n "$APACHE2_SRC"; then
APACHE2_SRC=`cd $APACHE2_SRC;pwd`
@@ -34,7 +36,7 @@
APR_CONFIG=`$APACHE2_APXS -q APR_BINDIR`/apr-config
APU_CONFIG=`$APACHE2_APXS -q APU_BINDIR`/apu-config
- if test -z "`$PERL build/version_check.pl apache2
$APACHE2_HTTPD`"; then
+ if test -z "`$prereq_check apache2 $APACHE2_HTTPD`"; then
AC_MSG_ERROR([Bad apache2 version])
fi
fi
@@ -42,26 +44,29 @@
AC_CHECK_FILE([$APR_CONFIG],,
AC_MSG_ERROR([invalid apr-config location- did you forget to
configure apr?]))
- if test -z "`$PERL build/version_check.pl apr $APR_CONFIG`"; then
+ if test -z "`$prereq_check apr $APR_CONFIG`"; then
AC_MSG_ERROR([Bad libapr version])
fi
AC_CHECK_FILE([$APU_CONFIG],,
AC_MSG_ERROR([invalid apu-config location- did you forget to
configure apr-util?]))
- if test -z "`$PERL build/version_check.pl apu $APU_CONFIG`"; then
+ if test -z "`$prereq_check apu $APU_CONFIG`"; then
AC_MSG_ERROR([Bad libaprutil version])
fi
if test "x$PERL_GLUE" != "xno"; then
- if test -z "`$PERL build/version_check.pl perl $PERL`"; then
+ if test -z "`$prereq_check perl $PERL`"; then
AC_MSG_ERROR([Bad perl version])
fi
- if test -z "`$PERL build/version_check.pl xsbuilder`"; then
- AC_MSG_ERROR([Bad xsbuilder version])
+ if test -z "`$prereq_check ExtUtils::XSBuilder`"; then
+ AC_MSG_ERROR([Bad ExtUtils::XSBuilder version])
+ fi
+ if test -z "`$prereq_check mod_perl`"; then
+ AC_MSG_ERROR([Bad mod_perl version])
fi
- if test -z "`$PERL build/version_check.pl mp2`"; then
- AC_MSG_ERROR([Bad modperl-2 version])
+ if test -z "`$prereq_check Apache::Test`"; then
+ AC_MSG_ERROR([Bad Apache::Test version])
fi
fi
@@ -71,6 +76,7 @@
AM_CONDITIONAL(BUILD_PERL_GLUE, test "x$PERL_GLUE" != "xno")
+ AM_CONDITIONAL(HAVE_APACHE_TEST, test -b "`$prereq_check
Apache::Test`")
AM_CONDITIONAL(BUILD_HTTPD, test -n "$APACHE2_SRC")
AM_CONDITIONAL(BUILD_APR, test "x$APR_CONFIG" = x`$APR_CONFIG
--srcdir`/apr-config)
AM_CONDITIONAL(BUILD_APU, test "x$APU_CONFIG" = x`$APU_CONFIG
--srcdir`/apu-config)
1.6 +55 -10 httpd-apreq-2/build/version_check.pl
Index: version_check.pl
===================================================================
RCS file: /home/cvs/httpd-apreq-2/build/version_check.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- version_check.pl 29 Oct 2003 17:58:00 -0000 1.5
+++ version_check.pl 7 Nov 2003 20:05:20 -0000 1.6
@@ -1,7 +1,8 @@
# version_check.pl tool version
use strict;
use warnings 'FATAL';
-
+use Getopt::Long qw/GetOptions/;
+GetOptions(\my %opts, "version=s"),
my ($tool, $path) = @ARGV;
$path = $tool unless defined $path;
@@ -30,25 +31,69 @@
};
}
-my %prereq = (
+my %cvs = (
libtool => { test => \&gnu_version, version => "1.4.2" },
autoconf => { test => \&gnu_version, version => "2.53" },
automake => { test => \&gnu_version, version => "1.6.3" },
+ doxygen => { test => \&gnu_version, version => "1.3" },
+ );
+
+my %build = (
apache2 => { test => \&exe_version, version => "2.0.46"},
- apr => { test => \&gnu_version, version => "0.9.4" },
- apu => { test => \&gnu_version, version => "0.9.4" },
+ apr => { test => \&gnu_version, version => "0.9.4",
+ comment => "bundled with apache2 2.0.46"},
+ apu => { test => \&gnu_version, version => "0.9.4",
+ comment => "bundled with apache2 2.0.46"},
perl => { test => \&gnu_version, version => "5.6.1" },
- xsbuilder => { test => \&xsb_version, version => "0.23" },
- mp2 => { test => \&mp2_version, version => "1.99_09"},
- doxygen => { test => \&gnu_version, version => "1.3" },
- apache_test => { test => \&a_t_version, version => "1.03" },
- );
+ );
+
+my %perl_glue = (
+ "Apache::Test" => { test => \&a_t_version, version => "1.04",
+ comment => "bundled with mod_perl 1.99_09"},
+ "ExtUtils::XSBuilder" => { test => \&xsb_version, version => "0.23" },
+ mod_perl => { test => \&mp2_version, version => "1.99_09"},
+ );
+
+sub print_prereqs ($$) {
+ my ($preamble, $prereq) = @_;
+ print $preamble, "\n";
+ for (sort keys %$prereq) {
+ my ($version, $comment) = @{$prereq->{$_}}{qw/version comment/};
+ if ($opts{version} or not defined $comment) {
+ $comment = "";
+ }
+ else {
+ $comment = " ($comment)";
+ }
+
+ printf "%30s: %s$comment\n", $_, $version;
+ }
+ print "\n";
+}
if (@ARGV == 0) {
- printf "%12s: %s\n", $_, $prereq{$_}->{version} for sort keys %prereq;
+ if ($opts{version}) {
+ print <<EOT;
+name: libapreq2
+version: $opts{version}
+installdirs: site
+distribution_type: module
+generated_by: $0
+EOT
+ print_prereqs "requires:", \%perl_glue;
+ }
+ else {
+ print "=" x 50, "\n";
+ print_prereqs "Build system (core C API) prerequisites\n", \%build;
+ print "=" x 50, "\n";
+ print_prereqs "Perl glue (Apache::Request) prerequisites\n",
\%perl_glue;
+ print "=" x 50, "\n";
+ print_prereqs "Additional prerequisites for httpd-apreq-2 cvs
builds\n",\%cvs;
+ }
exit 0;
}
+my %prereq = (%cvs, %build, %perl_glue);
die "$0 failed: unknown tool '$tool'.\n" unless $prereq{$tool};
my $version = $prereq{$tool}->{version};
my @version = split /\./, $version;
1.18 +8 -0 httpd-apreq-2/env/Makefile.am
Index: Makefile.am
===================================================================
RCS file: /home/cvs/httpd-apreq-2/env/Makefile.am,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- Makefile.am 28 Oct 2003 14:00:06 -0000 1.17
+++ Makefile.am 7 Nov 2003 20:05:20 -0000 1.18
@@ -38,9 +38,17 @@
endif
+if HAVE_APACHE_TEST
+
run_tests : t/TEST
-cp -f test_cgi t/cgi-bin
@PERL@ t/TEST
+else
+
+run_tests:
+ @echo "Apache::Test not available, skipping env/ tests."
+
+endif
test :: all check run_tests