From 0fdbe7bc14be258021fe41006730e77075e7ee08 Mon Sep 17 00:00:00 2001 From: bala Date: Sun, 1 Jun 2003 23:08:19 +0000 Subject: ChangeLogTag:Sun Jun 01 18:02:24 2003 Balachandran Natarajan --- ChangeLog | 20 ++++++++++ Makefile | 14 ++++--- bin/generate_rel_manpages | 100 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 128 insertions(+), 6 deletions(-) create mode 100755 bin/generate_rel_manpages diff --git a/ChangeLog b/ChangeLog index ef7fe436b1d..7212ae5cc7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +Sun Jun 01 18:02:24 2003 Balachandran Natarajan + + * bin/generate_rel_manpages: A new script for man page + generation. This is being moved out of the release scripts for a + number of reasons. A couple of them are + + - They take a long time and beta/release process has to wait for + completion of documentation generation. + + - Any problems during documentation generation like machine + reboot or machine hang or whatever you can think off adversely + affects the beta process. The build-czar has to cleanup + numerous files and start the process all over again. + + This will help to decouple the beta cutting process and the + documentation generation process. + + * Makefile: A new target that can be used to kick of the + documentation generation. + Fri May 30 17:15:57 2003 Nanbor Wang * ace/NT_Service.cpp (insert): Fixed a compilation eror. diff --git a/Makefile b/Makefile index 6d829997045..afcff6e84d3 100644 --- a/Makefile +++ b/Makefile @@ -110,8 +110,6 @@ reverseclean: #### APPLY_NEW_TAG [enabled]: set to null to disable #### CHECK [disabled]: set to -n to see what make_release will do, but not #### do it -#### GENERATE_MAN_PAGES [enabled]: set to null to disable regeneration of -#### the ACE_wrappers/man/ hierarchy #### INSTALL_KIT [enabled]: set to null to not install in public #### ftp/http directory on host ace #### REL [beta]: set to minor or major, optionally, when applying a new tag @@ -120,7 +118,7 @@ reverseclean: #### Example creation of ACE-only kit, version ACE-5_0_1 from current #### workspace: #### make release ACE_TAG='-ta ACE-5_0_1' APPLY_NEW_TAG= \ -#### GENERATE_MAN_PAGES= INSTALL_KIT= ZIP_FILES=-z +#### INSTALL_KIT= ZIP_FILES=-z CONTROLLED_FILES = \ ACE-INSTALL.html \ @@ -205,7 +203,7 @@ ZIP_FILES = #### The release target creates the ACE (only) kit. release: $(APPLY_NEW_TAG) @$(ACE_ROOT)/bin/make_release -k ace $(ACE_TAG) \ - $(INSTALL_KIT) $(GENERATE_MAN_PAGES) $(ZIP_FILES) $(CHECK) + $(INSTALL_KIT) $(ZIP_FILES) $(CHECK) tag: @$(ACE_ROOT)/bin/make_release $(CHECK) -k ace -v $(REL) -u @@ -215,19 +213,23 @@ tag: #### creates the combined ACE-TAO kit. releasetao: @$(ACE_ROOT)/bin/make_release -k ace+tao $(ACE_TAG) $(TAO_TAG) \ - $(INSTALL_KIT) $(GENERATE_MAN_PAGES) $(ZIP_FILES) $(CHECK) + $(INSTALL_KIT) $(ZIP_FILES) $(CHECK) #### The following target is for use by the CIAO Makefile. It should not #### be called directly from the command line. The releaseciao target #### creates the combined ACE+TAO+CIAO kit. releaseciao: @$(ACE_ROOT)/bin/make_release -k ace+tao+ciao $(ACE_TAG) $(TAO_TAG) $(CIAO_TAG) \ - $(INSTALL_KIT) $(GENERATE_MAN_PAGES) $(ZIP_FILES) $(CHECK) + $(INSTALL_KIT) $(ZIP_FILES) $(CHECK) #### The releaseall target: releaseall: $(APPLY_NEW_TAG) @cd TAO && $(MAKE) -s releaseall REL=$(REL) +### Generate man pages +genmanpages: + @$(ACE_ROOT)/bin/generate_rel_manpages + .PHONY: show_controlled_files show_release_files show_release_lib_files .PHONY: show_release_tag_files diff --git a/bin/generate_rel_manpages b/bin/generate_rel_manpages new file mode 100755 index 00000000000..954e114e4e2 --- /dev/null +++ b/bin/generate_rel_manpages @@ -0,0 +1,100 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# $Id$ + +use strict; +require Cwd; + +########### +###### Sanity Checks +########## +my $perl_path = '/usr/bin/perl'; + +&can_run($perl_path.' -V') || + die "$0: perl path is incorrect, please fix the script\n"; + +my $dot_path = '/usr/bin'; +&can_run($dot_path.'/dot -V') || + die "$0: dot path is incorrect, please fix the script\n"; + +my $doxy_path = '/project/deuce/doxygen/bin'; + +my $doxy_version = '1.2.18'; + +&can_run($doxy_path.'/doxygen --version | grep '.$doxy_version.' >/dev/null') || + die "$0: doxygen path or version incorrect, please fix the script\n"; + +$ENV{'PATH'} = $ENV{'PATH'}.':'.$doxy_path; + +my $hostname; +chomp ($hostname = $ENV{'HOSTNAME'} || `uname -n`); +unless ("$hostname" eq 'deuce.doc.wustl.edu') { + #### For efficiency sake . . . + die "$0: must run on host deuce.doc.wustl.edu\n"; +} + +print "Starting doxygen document generation \n"; + +my $chgrp = 'chgrp'; +my $cpio = 'cpio'; +my $cvs = 'cvs'; +my $date = 'date'; +my $egrep = 'egrep'; +my $find = 'find'; +my $gzip = 'gzip'; +my $bzip = 'bzip2'; +my $make = 'make -s'; +my $mv = 'mv -f'; +my $rm = 'rm -f'; +my $cp = 'cp -f'; +my $md5sum = 'md5sum'; +my $shell_cd = 'cd'; +my $cksum_ext = 'md5'; +my $redirect = '>'; +my $checksum = '$md5sum'; + +my $status = 1; #### Must get set to 0 explicitly to indicate success. +$SIG{'HUP'} = $SIG{'INT'} = $SIG{'QUIT'} = $SIG{'TERM'} = 'cleanup'; + +my $release_filter = '\\( -name CVS -o -name build \\) -prune -o ' . + '! -name \'.\#*\' ! -name \'\#*\' ! -name \'*~\' ' . + '! -name \'*.MAK\' -print'; + +my $bin_files = + "\"\\.dsp|\\.dsw|\\.mak|\\.mdp|\\.ide|\\.exe\|\\.ico\|\\.gz\|\\.zip\|" . + "\\.gif|\\.vcp|\\.vcproj|\\.vcw|\\.sln\""; + +my $dest = '/project/deuce/ftp/pub/ACE+TAO-distribution'; + +######## +######## Main execution thread. +######## +&ex ("bin/generate_doxygen.pl -is_release -perl_path $perl_path -dot_path $dot_path") + && die "$0: failed to generate ACE man pages\n"; + +my $build_command = + "$find html $release_filter | $cpio -o -H tar | " . + "$gzip -9 > ACE-html.tar.gz && ". + "$find html $release_filter | $cpio -o -H tar | " . + "$bzip -9 > ACE-html.tar.bz2 && ". + "$find html $release_filter | $egrep $bin_files | " . + "zip ACE-html.zip -q9@ &&" . + "$mv ACE-html.tar.gz ACE-html.tar.bz2 ACE-html.zip $dest;"; +my $archives = "ACE-html.tar.gz ACE-html.tar.bz2 ACE-html.zip"; + +my $checksum_command = + "$shell_cd $dest; " . + "for p in $archives; do " . + "$rm \${p}.${cksum_ext}; " . + "$checksum \$p $redirect \${p}.${cksum_ext}; " . + "done"; + +&ex ($build_command) + && die "$0: failed to move ACE man pages to $dest\n"; + +&ex ($checksum_command) + && die "$0: failed to create checksum in $dest\n"; + +exit $status; -- cgit v1.2.1