bug-gnulib
[Top][All Lists]
Advanced

[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.

Attachment: autobuild-submit
Description: application/shellscript


reply via email to

[Prev in Thread] Current Thread [Next in Thread]