diff options
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 314 |
1 files changed, 314 insertions, 0 deletions
@@ -0,0 +1,314 @@ +0.9.7 (1232780) +- bug fix for -MD and -MF +- bug fix for gcc 4.6 plugins + +0.9.6 (1158638) +- fix installation issues +- add a value type of ticks in /proc - and make it long long +- fix kFreeBSD build +- fix run-failure with glibc 2.11 +- allow tgz as extension +- support more local args (bnc#625621) + +0.9.5 (1083362) +- fix: close the file descriptor (novell bug 525799) +- log PID even if no prefix is specified +- allow get_msg() to fetch data from the kernel even if timeout is 0. +- clean up event loop of gcc invocation +- Install an "icerun" symlink that will serialize commands through + icecream's local daemon + +0.9.4 (961598): +- fix compilation warnings +- don't leak file descriptor to create-env +- don't use the shell to call simple commands +- assert current_kids is > 0 before decrementing (it's unsigned) +- also check for EAGAIN (needed on OS X) +- add ICECC_LOGFILE to get trace() output into a file +- Fix compilation when using -Wformat -Werror=format-security flags +- make a special exception for - in rest args (bnc#495786) +- Fix way icecream changes permissions of /var/cache/icecream + +0.9.3 (926474): + - Fix FTBFS with GCC 4.4 + - Explicitly set group ownership and permissions on the base cache + dir and target dir in case root has a umask of e.g. 0077. + Otherwise nobody user won't be ableto untar. + - make sure that a too strict umask doesn't ruin the game + fixes https://bugzilla.novell.com/show_bug.cgi?id=446329 + - some create-env fixes for fedora + +0.9.2 (879112): + - On OS X, append the release number to Darwin (Darwin8 for Tiger, Darwin9 for Leopard) + as their icecream environments are not compatible + - Add accessor for the hostname of the scheduler, so that we can show it in a tooltip in + icemon in the future. + - Only localize job if we find -Wa,.*-a[a-z]*= in an argument + - also add accessor for network name + - if called as "icecc" (i.e., not through a symlink) and the first argument starts with a slash, + use that as the command to run. + +0.9.1 (822102): + - trying to support gentoo x86_64 + - -mcpu=native has to compile locally (gentoo bug 183586#c13) + - don't compile C files with C++ compile if ICECC_CXX is set + +0.9.0 (807014): + - create a working env on OS X + - don't hardcode tar path + - implement load informations on OS X + - make it work again on non-Linux platforms: Jobs still reported their + environment platform as i386 etc, even if they came from Darwin or + BSD (thus the scheduler never finds a matching compile server, or + wrongly directs a non-Linux client to use a Linux compile server) + - fixing the init script + - patch by Tais M. Hansen to ignore directories + - compile on OS X 10.5 + - some preparations for rsync support + - fix valgrind warning + - add configure check for librsync + - don't kick daemons that run as user, just don't give them + any jobs. this helps the people that just don't trust the + daemon to be able to at least send out jobs + - remove the now pointless "runasuser" option. it will just + not accept any jobs then + - add log message when the local daemon hangs again + - accept TERM=dumb as well + - implement support for scheduling local non-compile jobs. + + For example: you can add a symlink named "meinproc4" pointing + to icecc to your path, and it will automatically schedule + the job and then invoke meinproc4 on it locally. + + the advantage is that you can use cmake -j50 without having + to worry that there are going to be 50 meinproc jobs killing + your machine. + - do an asynchronous connection to the scheduler: + * helps when the scheduler is down, as the daemon + is otherwise locked up then and can't schedule + local jobs + * helps when the scheduler is flaky and blocked + itself on network (like in the suse network). + - fix connect if scheduler is known + - send jobs to a monitor non-blocking + - implement host blocking + - switch monitor connections to bulk transfer + - fix double deletion when control connection disconnects + - add greeting banner that gives a rough statistic (for pretty + monitoring graphs :) + - protocol cleanup + - fix error handling + - adding more API for better monitor behaviour + - various protections against malicious requests + - add a try-restart target for the rpm package + - always read the scheduler message in complete before trying + to fetch a message. fixes a daemon hangup (surprising noone noticed + this before) + - various code cleanups + - don't flood the scheduler + - implement bulk sending + - reduce overhead by not sending a full path + - implement much shorter monitor messages + - reenable cork handling on linux only. helps a lot + - fix job statistics in monitor + - check if the compile server sent us a message before die'ing another + death + - avoid killing the daemon on protocol errors + - support "quit" on the normal daemon port as well + - ext/hash_set is not needed and does not exist anymore + - DoS protection for the scheduler + - avoid that daemons hang around in environment installation + state forever + - fix daemons being overrun by wrongly assigned jobs + while they're busy installing + - add a segfault catcher + - don't allow tiny environments - they are very likely broken + - always relogin to the scheduler even if environment + transfer failed + - implement proper handling for PCH files for e.g. Qt compilation + - fix compilation with glibc 2.8 + +0.8.0 (657903): + - Find md5 on FreeBSD + - apply patch to support cygwin a bit better + - write a pid file. patch by Ismail Doenmez + - precompiled header support, needed for compiling Qt 4.3 + - add support for --no-remote. patch by Matt Gruenke + - Make it work on DragonFlyBSD. + - provide SuSEfirewall2 information + - Make the result of make dist-gzip usable. + - update node name each time we login to the scheduler. + - treat -combine and -fdump* as always local + - Merged make-it-cool branch: + * implement job preloading + * asynchronous install of new environments + * uses tcp keepalive for network connection tracking + - make it work on OS X + * don' hardcode tar path + * create environments correctly on OS X + * report load correctly on mach kernels (Darwin) + * prepend os to the machine type if it's not linux + (resulting in e.g. Darwin_PowerMacintosh) + +0.7.14 (583722): + - fix current_kids getting out of sync if send_scheduler + failes in an unfortunate moment + - fix reporting the error + - add more to the internals dump + - trying to make the scheduler kicks a little bit less frequent + - if the compiler is supposed to keep temp files, then we + have to do it locally + +0.7.13 (583347): + - use file -L to follow symlinks in create-env + - fix an easy valgrind error + - make handling of the return values consistent + - if the client is in WAITCOMPILE then it's waiting for some + other host to compile, not this one. So job == 0 -> crash + - fix crash if the scheduler goes away while daemon transfers + environment + - apparently sometimes gcc can hang forever in some + cases. By the time the client disconects, we know + we don't have to wait any longer, because there is + nobody left caring about the result. + - update node name each time we login to the scheduler. + Fixes tons of "linux" hosts appearing in the icecream + monitor + +0.7.12 (r581454): + - fixing error handling when scheduler restarts + - do not waitpid before we're sure we read all of g++'s + output otherwise g++ waits for us to read and we're + waiting for g++ to finish -> deadlock + +0.7.11 (r581076): + - fix a crash in the daemon when the scheduler was gone while + local jobs were waiting for finishing + - separate stat handling from ping handling + to avoid excessive stat/ping loops + (increases internal version number) + - only reset scheduler ping time if the scheduler ping'ed us + - even when we can't determine native environment, we + can still use the daemon for inter-process locking + instead of falling back to file locking. + - quicker reap of dead daemons + - improved load guessing + - fix stupid logic bug in ping tracking + +0.7.10 (r580794): + - handle errors in installing environments correctly + - block daemons that have full discs + - add -pipe to the command line to reduce disk usage + - fix cancelling of jobs awaiting a remote job (were hanging + in scheduler forever) + - if ICECC=no is set, don't try to be clever + - adding two more flags for local compilation (profile + feedback related) + - flush debug files before every fork to avoid dups in + log output + - be stricter in what messages are required to keep the + daemon<->scheduler communication intact (network drops + again) + +0.7.9 (r580498): + - scheduler will ping the daemon periodically, + daemon will disconnect if not pinged from time + to time (to avoid network drops being unnoticed) + - removed some debug output + - make logging more consistent + - increased internal protocol version (still compatible) + - try even harder to avoid races in daemon + - rework how clients are catched + - some random cleanup + - remove the "this should be an exception" output to + avoid failing configure checks for nothing + - make sure the assembler is dead before we cleanup object + files + +0.7.8 (r579795): + - fd leak fix, which caused a deadlock under + certain conditions + - rework some FreeBSD patches that caused problems + - fix race between select and SIGCHILD + +0.7.7 (r574260): + - clear all internal maps + - patches by Frerich to support FreeBSD + - avoid busy loop in bizarre conditions + - found another case of endless hanging jobs + - some process fixes + +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 + - fix for kubuntu where libs are deeply nested + such as /lib/tls/i686/cmov/libc.so.6 + - find the compiler even though icecc wasn't in the path + - fix deletion of old environments + - a lot more error handling + - fix assertion failures in daemon upon sigchild delivery + - use -fPIC also for C files + - avoid race between local and remote daemon about who has + the right exit status + - rename the package to icecc + +0.7.3 (r552930): + - more work on error handling + - corrected icecc --help output + - handle local icecream load correctly + - reduce the number of load updates from daemon to scheduler + - early launch the compiler even before the whole preprocessed + file has been received + - handle low-latency networks better + - builtin colorgcc + - let the daemon schedule local load even without scheduler (important + for multi processor machines) + +0.7.2 (r549574): + - split out libicecream-devel for the monitor + - introducing ICECC_PREFERRED_HOST (=mybigfathost) to let the scheduler + ignore all rules - this is meant to be a debugging aid + - fix network performance between client and local daemon + - replaced create-env with icecc --build-native (respecting the user's + $PATH by default) + +0.7.1 (r548846): + - Monitor is an extra package now + - don't make non-existant cross compilers fatal, but just use + the other environments in ICECC_VERSION + - always handle aborted syscalls + - update minilzo + - never exit() or return from fork()'ed code paths, + +0.7.0 (r547196): + - WARNING: the protocol is not compatible with earlier versions, old clients + will refuse to connect, so update the full farm + + - protocol reworked to no longer require a client->scheduler connection + (the daemon will proxy it all) + - all local jobs are now scheduled by the local daemon to make sure + multiprocessor machines are handling as many jobs as they have jobs + configured (# processors). They used to be "scheduled" by lock file + - fixed grave bug that removed all daemon environments when the cache + grew over limit + - new telnet interface command: internals to output daemon states + - stricter error handling to avoid suprises + - SIGHUP to daemon and scheduler will reopen the log file to allow logrotate + - a restart of the daemon and scheduler won't flush the log file, but append + to it + - create-env will create .tar.gz now - the client allows environments to be + .tar, .tar.bz2 and .tar.gz + |