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: