[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

branches/work/icecream-make-it-cool



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 <Woebbeking@web.de>  Sun, 16 Jul 2006 19:52:23 +0200
+
+icecc (0.7.5-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Andre Woebbeking <Woebbeking@web.de>  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
 



Reply to: