[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnulib-tool: an autobuild facility
From: |
Bruno Haible |
Subject: |
gnulib-tool: an autobuild facility |
Date: |
Sun, 11 Mar 2007 13:03:46 +0100 |
User-agent: |
KMail/1.5.4 |
Simon's http://autobuild.josefsson.org/gnulib/ summary page could be more
useful (and larger :-)) if more people submit test results. To this
effect, I'm adding a facility that produces an 'autobuild' script in
"gnulib-tool --create-megatestdir".
The use of this facility is as follows:
1) On a machine with recent automake, autoconf, m4 installed and with a
gnulib cvs checkout (typically a Linux machine), use
"gnulib-tool --create-megatestdir --dir=..."
Note: The created directory uses ca. 512 MB on disk.
2) Transfer this directory to a build machine (HP-UX, Cygwin, or whatever).
3) On the build machine, run ./autobuild (or "nohup ./autobuild").
It creates a directory 'logs/' with a log file for each module.
4) Submit each log file to Simon's site, either through a
mail `echo gnulib__at__autobuild.josefsson.org | sed -e s/__at__/@/`
or through netcat
autobuild-submit logs/*
Step 1 does not do a "cvs update -dP"; you need to do that yourself.
Step 3 does not transfer the log files automatically; this is because
the build machine may not even have an internet connection, and also for
privacy reasons.
2007-03-11 Bruno Haible <address@hidden>
* gnulib-tool (func_create_megatestdir): Create also an autobuild
script, for submission to autobuild.josefsson.org.
*** gnulib-tool 10 Mar 2007 15:20:28 -0000 1.223
--- gnulib-tool 11 Mar 2007 11:45:50 -0000
***************
*** 2792,2803 ****
--- 2792,2840 ----
func_create_testdir "$megatestdir/ALL" "$allmodules"
func_append megasubdirs "ALL"
+ # Create autobuild.
+ cvsdate=`sh "$gnulib_dir/build-aux/mdate-sh" "$gnulib_dir/CVS/Entries" \
+ | sed -e 's,January,01,' -e 's,Jan,01,' \
+ -e 's,February,02,' -e 's,Feb,02,' \
+ -e 's,March,03,' -e 's,Mar,03,' \
+ -e 's,April,04,' -e 's,Apr,04,' \
+ -e 's,May,05,' \
+ -e 's,June,06,' -e 's,Jun,06,' \
+ -e 's,July,07,' -e 's,Jul,07,' \
+ -e 's,August,08,' -e 's,Aug,08,' \
+ -e 's,September,09,' -e 's,Sep,09,' \
+ -e 's,October,10,' -e 's,Oct,10,' \
+ -e 's,November,11,' -e 's,Nov,11,' \
+ -e 's,December,12,' -e 's,Dec,12,' \
+ | sed -e 's,^,00,' | sed -e 's,^[0-9]*\([0-9][0-9] \),\1,' \
+ | sed -e 's,^\([0-9]*\) \([0-9]*\) \([0-9]*\),\3\2\1,'`
+ (echo "CVSDATE=$cvsdate"
+ echo "test -d logs || mkdir logs"
+ echo "for module in $megasubdirs; do"
+ echo " echo \"Working on module \$module...\""
+ echo " safemodule=\`echo \$module | sed -e 's|/|-|g'\`"
+ echo " (echo \"To: address@hidden""
+ echo " echo"
+ echo " set -x"
+ echo " : autobuild project... \$module"
+ echo " : autobuild revision... cvs-\$CVSDATE-000000"
+ echo " : autobuild timestamp... \`date \"+%Y%m%d-%H%M%S\"\`"
+ echo " : autobuild hostname... \`hostname\`"
+ echo " cd \$module && ./configure && make && make check"
+ echo " echo rc=\$?"
+ echo " ) 2>&1 | sed -e \"\$AUTOBUILD_SUBST\" > logs/\$safemodule"
+ echo "done"
+ ) > "$megatestdir/autobuild"
+ chmod a+x "$megatestdir/autobuild"
+
# Create Makefile.am.
(echo "## Process this file with automake to produce Makefile.in."
echo
echo "AUTOMAKE_OPTIONS = 1.5 foreign"
echo
echo "SUBDIRS = $megasubdirs"
+ echo
+ echo "EXTRA_DIST = autobuild"
) > "$megatestdir/Makefile.am"
# Create configure.ac.
autobuild-submit
Description: application/shellscript
- gnulib-tool: an autobuild facility,
Bruno Haible <=