SVN commit 563957 by mueller: merge with trunk
M +13 -0 NEWS M +23 -11 client/icecc-create-env M +3 -0 client/main.cpp M +12 -0 client/remote.cpp M +1 -1 configure.in M +0 -1 daemon/load.cpp M +10 -5 daemon/main.cpp M +12 -0 debian/changelog M +3 -3 debian/rules --- branches/work/icecream-make-it-cool/NEWS #563956:563957 @@ -1,3 +1,16 @@ +0.7.6 (r561764): + - report all daemon error message to the client + - fix support for biarch machines that have only one + environment installed with another environment with + the same name and different architecture being around + - work-around a bug in older libstdc++ + - ensure nobody uses -u root + +0.7.5 (r561480): + - don't block while looking for a scheduler over broadcast search. + - fix logrotate + - immediately kick broken daemon connections + 0.7.4 (r559927): - Add -fpreprocessed argument - Fix daemons getting stuck after a while with 100% CPU --- branches/work/icecream-make-it-cool/client/icecc-create-env #563956:563957 @@ -1,4 +1,4 @@ -#! /bin/sh +#! /usr/bin/env bash # icecc -- A simple distributed compiler system # # Copyright (C) 2004 by the Icecream Authors @@ -23,7 +23,9 @@ name="$2" fi test -z "$name" && return - path=$(readlink -f $path) + # ls -H isn't really the same as readlink, but + # readlink is not portable enough. + path=`ls -H $path` toadd="$name=$path" if test "$name" = "$path"; then toadd=$path @@ -33,7 +35,8 @@ target_files="$target_files $toadd" if test -x "$path"; then # Only call ldd when it makes sense - if file "$path" | grep 'ELF' > /dev/null 2>&1 ; then + if file "$path" | grep 'ELF' > /dev/null 2>&1; then + if ! file "$path" | grep 'static' > /dev/null 2>&1; then # ldd now outputs ld as /lib/ld-linux.so.xx on current nptl based glibc # this regexp parse the outputs like: # ldd /usr/bin/gcc @@ -41,13 +44,14 @@ # libc.so.6 => /lib/tls/libc.so.6 (0xb7e81000) # /lib/ld-linux.so.2 (0xb7fe8000) # covering both situations ( with => and without ) - for lib in `ldd "$path" | sed -n 's,^[^/]*\(/[^ ]*\).*,\1,p'`; do - # Check wether the same library also exists in the parent directory, - # and prefer that on the assumption that it is a more generic one. - local baselib=`echo "$lib" | sed 's,\(/[^/]*\)/.*\(/[^/]*\)$,\1\2,'` - test -f "$baselib" && lib=$baselib - add_file "$lib" - done + for lib in `ldd "$path" | tail -n +2 | sed -n 's,^[^/]*\(/[^ ]*\).*,\1,p'`; do + # Check wether the same library also exists in the parent directory, + # and prefer that on the assumption that it is a more generic one. + local baselib=`echo "$lib" | sed 's,\(/[^/]*\)/.*\(/[^/]*\)$,\1\2,'` + test -f "$baselib" && lib=$baselib + add_file "$lib" + done + fi fi fi } @@ -109,10 +113,18 @@ new_target_files="$new_target_files $target" done +md5sum=NONE +for file in /usr/bin/md5sum /bin/md5 /usr/bin/md5; do + if test -x $file; then + md5sum=$file + break + fi +done + # now sort the files in order to make the md5sums independent # of ordering target_files=`for i in $new_target_files; do echo $i; done | sort` -md5=`for i in $target_files; do md5sum $tempdir/$i; done | sed -e 's/ .*$//' | md5sum | sed -e 's/ .*$//'` || { +md5=`for i in $target_files; do $md5sum $tempdir/$i; done | sed -e 's/ .*$//' | $md5sum | sed -e 's/ .*$//'` || { echo "Couldn't compute MD5 sum." exit 2 } --- branches/work/icecream-make-it-cool/client/main.cpp #563956:563957 @@ -52,6 +52,9 @@ #include <sys/time.h> #include <comm.h> #include <sys/types.h> +#ifdef __FreeBSD__ +# include <sys/stat.h> +#endif #include <sys/wait.h> #include "client.h" --- branches/work/icecream-make-it-cool/client/remote.cpp #563956:563957 @@ -200,6 +200,15 @@ return usecs; } +static void check_for_failure( Msg *msg, MsgChannel *cserver ) +{ + if ( msg && msg->type == M_STATUS_TEXT) + { + log_error() << static_cast<StatusTextMsg*>(msg)->text << " - compiled on " << cserver->name <<endl; + throw( 23 ); + } +} + static void write_server_cpp(int cpp_fd, MsgChannel *cserver) { unsigned char buffer[100000]; // some random but huge number @@ -359,6 +368,7 @@ throw( 14 ); } + check_for_failure( msg, cserver ); if ( msg->type != M_COMPILE_RESULT ) { log_warning() << "waited for compile result, but got " << (char)msg->type << endl; delete msg; @@ -414,6 +424,8 @@ throw ( 19 ); } + check_for_failure( msg, cserver ); + if ( msg->type == M_END ) break; --- branches/work/icecream-make-it-cool/configure.in #563956:563957 @@ -4,7 +4,7 @@ AC_INIT(client/main.cpp) -AM_INIT_AUTOMAKE(icecc, "0.7.4") +AM_INIT_AUTOMAKE(icecc, "0.7.6-make-it-cool") AM_CONFIG_HEADER(config.h) AC_CANONICAL_HOST --- branches/work/icecream-make-it-cool/daemon/load.cpp #563956:563957 @@ -92,7 +92,6 @@ currSysTicks = ticks[CP_SYS]; currIdleTicks = ticks[CP_IDLE]; } - (void)(line); #else char buf[ 256 ]; --- branches/work/icecream-make-it-cool/daemon/main.cpp #563956:563957 @@ -60,11 +60,15 @@ #include <netdb.h> #ifdef __FreeBSD__ -#include <signal.h> // for kill(2) -#include <sys/time.h> -#include <sys/resource.h> -#define RUSAGE_SELF (0) -#define RUSAGE_CHILDREN (-1) +# include <signal.h> // for kill(2) +# include <sys/time.h> +# include <sys/resource.h> +# ifndef RUSAGE_SELF +# define RUSAGE_SELF (0) +# endif +# ifndef RUSAGE_CHILDREN +# define RUSAGE_CHILDREN (-1) +# endif #endif #include <deque> @@ -987,6 +991,7 @@ // they should be all in clients too assert( fd2chan.empty() ); + envmap.clear(); fd2chan.clear(); new_client_id = 0; trace() << "cleared children\n"; --- branches/work/icecream-make-it-cool/debian/changelog #563956:563957 @@ -1,3 +1,15 @@ +icecc (0.7.6-1) unstable; urgency=low + + * New upstream version. + + -- Andre Woebbeking <[EMAIL PROTECTED]> Sun, 16 Jul 2006 19:52:23 +0200 + +icecc (0.7.5-1) unstable; urgency=low + + * New upstream version. + + -- Andre Woebbeking <[EMAIL PROTECTED]> Wen, 12 Jul 2006 21:11:42 +0200 + icecc (0.7.4-1) unstable; urgency=low * New upstream version. --- branches/work/icecream-make-it-cool/debian/rules #563956:563957 @@ -67,9 +67,9 @@ $(MAKE) # generate manpages - #for i in debian/man/*.sgml; do \ - # docbook-to-man $$i > `dirname $$i`/`basename $$i .sgml`.1 ;\ - #done + for i in debian/man/*.docbook; do \ + docbook2x-man $$i; \ + done touch build-arch-stamp -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]