444 lines
15 KiB
RPMSpec
444 lines
15 KiB
RPMSpec
#
|
|
# spec file for package icecream (Version 0.7.14)
|
|
#
|
|
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
# This file and all modifications and additions to the pristine
|
|
# package are under the same license as the package itself.
|
|
#
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
# norootforbuild
|
|
# icecream 0
|
|
|
|
Name: icecream
|
|
BuildRequires: gcc-c++
|
|
License: GPL, LGPL
|
|
Group: Development/Tools/Building
|
|
Summary: For Distributed Compile in the Network
|
|
Requires: /bin/tar /usr/bin/bzip2
|
|
%if 0%{?suse_version}
|
|
PreReq: %fillup_prereq
|
|
%endif
|
|
Prereq: /usr/sbin/useradd /usr/sbin/groupadd
|
|
Requires: gcc-c++
|
|
Version: 0.7.14
|
|
Release: 1
|
|
Source0: ftp://ftp.suse.com/pub/projects/icecream/icecc-%{version}.tar.bz2
|
|
Source1: %name-manpages.tar.bz2
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
%description
|
|
icecream is the next generation distcc.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Stephan Kulow <coolo@suse.de>
|
|
Michael Matz <matz@suse.de>
|
|
Cornelius Schumacher <cschum@suse.de>
|
|
Lubos Lunak <llunak@suse.cz>
|
|
Frerich Raabe <raabe@kde.org>
|
|
|
|
%package -n libicecream-devel
|
|
Summary: For Distributed Compile in the Network
|
|
Group: Development/Tools/Building
|
|
Summary: For Distributed Compile in the Network
|
|
Requires: libstdc++-devel
|
|
|
|
%description -n libicecream-devel
|
|
icecream is the next generation distcc.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Stephan Kulow <coolo@suse.de>
|
|
Michael Matz <matz@suse.de>
|
|
Cornelius Schumacher <cschum@suse.de>
|
|
Lubos Lunak <llunak@suse.cz>
|
|
Frerich Raabe <raabe@kde.org>
|
|
|
|
%prep
|
|
%setup -q -n %name -a 1
|
|
|
|
%build
|
|
export CFLAGS="$RPM_OPT_FLAGS"
|
|
export CXXFLAGS="$RPM_OPT_FLAGS"
|
|
make -f Makefile.cvs
|
|
./configure --prefix=%_prefix --libdir=%_libdir
|
|
make
|
|
|
|
%install
|
|
rm -rf $RPM_BUILD_ROOT
|
|
make DESTDIR=$RPM_BUILD_ROOT KDEDIR=/opt/kde3 install
|
|
mkdir -p $RPM_BUILD_ROOT/opt/icecream/bin
|
|
for i in g++ gcc cc c++; do
|
|
ln -s /usr/bin/icecc $RPM_BUILD_ROOT/opt/icecream/bin/$i
|
|
rm -f $RPM_BUILD_ROOT/usr/bin/$i
|
|
done
|
|
#
|
|
# Install icecream init script
|
|
mkdir -p $RPM_BUILD_ROOT/etc/init.d/
|
|
install -m 755 suse/init.icecream $RPM_BUILD_ROOT/etc/init.d/icecream
|
|
ln -sf /etc/init.d/icecream $RPM_BUILD_ROOT%{_sbindir}/rcicecream
|
|
%if 0%{?suse_version}
|
|
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
|
|
install -m 644 suse/sysconfig.icecream $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.icecream
|
|
%endif
|
|
mkdir -p $RPM_BUILD_ROOT/var/cache/icecream
|
|
mkdir -p $RPM_BUILD_ROOT%_mandir/man{1,7}
|
|
for i in mans/*.1 mans/*.7; do
|
|
install -m 644 $i $RPM_BUILD_ROOT%_mandir/man`echo $i | sed -e 's,.*\(.\)$,\1,'`/`basename $i`
|
|
done
|
|
install -m 644 -D suse/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/icecream
|
|
|
|
%preun
|
|
%stop_on_removal icecream
|
|
|
|
%pre
|
|
/usr/sbin/groupadd -r icecream 2> /dev/null || :
|
|
/usr/sbin/useradd -r -g icecream -s /bin/false -c "Icecream Daemon" -d /var/cache/icecream icecream 2> /dev/null || :
|
|
%if 0%{?suse_version}
|
|
|
|
%post
|
|
%{fillup_and_insserv -n icecream icecream}
|
|
%endif
|
|
|
|
%postun
|
|
%restart_on_update icecream
|
|
%{insserv_cleanup}
|
|
|
|
%clean
|
|
rm -rf ${RPM_BUILD_ROOT}
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%config /etc/logrotate.d/icecream
|
|
%config /etc/init.d/icecream
|
|
%_bindir/icecc
|
|
|
|
%_sbindir/scheduler
|
|
%_libdir/icecc
|
|
|
|
%_sbindir/iceccd
|
|
|
|
%_sbindir/rcicecream
|
|
%_mandir/man*/*
|
|
/opt/icecream
|
|
%if 0%{?suse_version}
|
|
/var/adm/fillup-templates/sysconfig.icecream
|
|
%endif
|
|
%attr(-,icecream,icecream) /var/cache/icecream
|
|
|
|
%files -n libicecream-devel
|
|
%defattr(-,root,root)
|
|
%_includedir/icecc
|
|
%_libdir/libicecc.*
|
|
%_libdir/pkgconfig/icecc.pc
|
|
|
|
%changelog -n icecream
|
|
* Wed Sep 13 2006 - coolo@suse.de
|
|
- 0.7.14:
|
|
- 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
|
|
* Tue Sep 12 2006 - coolo@suse.de
|
|
- 0.7.13:
|
|
- 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
|
|
* Wed Sep 06 2006 - coolo@suse.de
|
|
- 0.7.12:
|
|
- 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
|
|
* Tue Sep 05 2006 - coolo@suse.de
|
|
- 0.7.11:
|
|
- 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
|
|
* Mon Sep 04 2006 - mls@suse.de
|
|
- converted neededforbuild to BuildRequires
|
|
* Mon Sep 04 2006 - coolo@suse.de
|
|
- 0.7.10:
|
|
- 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)
|
|
* Sun Sep 03 2006 - coolo@suse.de
|
|
- 0.7.9:
|
|
- 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
|
|
-Sat Sep 2 19:01:02 CEST 2006 - ro@suse.de
|
|
- 0.7.8:
|
|
- fd leak fix, which caused a deadlock under
|
|
certain conditions
|
|
- rework some FreeBSD patches that caused problems
|
|
- fix race between select and SIGCHILD
|
|
* Tue Aug 29 2006 - coolo@suse.de
|
|
- reverted part of the FreeBSD patch that broke x86_64 envs
|
|
* Fri Aug 25 2006 - coolo@suse.de
|
|
- 0.7.7:
|
|
- 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
|
|
* Wed Aug 23 2006 - schwab@suse.de
|
|
- Avoid race condition with slow scheduler.
|
|
* Thu Jul 13 2006 - coolo@suse.de
|
|
- 0.7.6:
|
|
- 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
|
|
* Wed Jul 12 2006 - coolo@suse.de
|
|
- 0.7.5:
|
|
- Don't block while looking for a scheduler over broadcast search.
|
|
- Fix logrotate
|
|
- immediately kick broken daemon connections
|
|
* Sat Jul 08 2006 - coolo@suse.de
|
|
0.7.4:
|
|
- 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
|
|
* Wed Jun 21 2006 - coolo@suse.de
|
|
- fix build on 64 bit archs and older kernels
|
|
* Tue Jun 20 2006 - coolo@suse.de
|
|
0.7.3:
|
|
- 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)
|
|
* Mon Jun 12 2006 - coolo@suse.de
|
|
- fix x86_64 build
|
|
* Fri Jun 09 2006 - coolo@suse.de
|
|
0.7.2:
|
|
- 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)
|
|
* Fri Jun 02 2006 - mls@suse.de
|
|
0.7.1:
|
|
- 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,
|
|
* Thu Jun 01 2006 - coolo@suse.de
|
|
0.7.0:
|
|
- 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
|
|
* Fri May 19 2006 - coolo@suse.de
|
|
- update from SVN to adapt to the new location
|
|
- some fixes for catching out of memory situations better
|
|
- package man pages
|
|
* Fri Mar 03 2006 - stbinner@suse.de
|
|
- make sure that log file exists and is writeable by icecream user
|
|
(#141534)
|
|
* Wed Jan 25 2006 - mls@suse.de
|
|
- converted neededforbuild to BuildRequires
|
|
* Tue Jan 17 2006 - coolo@suse.de
|
|
- 0.6.3: make sure the daemon does not erase environments too often
|
|
(no client change)
|
|
* Fri Jan 13 2006 - coolo@suse.de
|
|
- update to 0.6.2
|
|
* Mon Dec 19 2005 - coolo@suse.de
|
|
- remove links
|
|
* Thu Oct 13 2005 - coolo@suse.de
|
|
- update tarball to fix with gcc 4.1
|
|
* Fri Sep 02 2005 - schwab@suse.de
|
|
- Require gcc-c++.
|
|
* Wed Apr 13 2005 - coolo@suse.de
|
|
- some changes to the daemon to keep the cache size below 100MB
|
|
* Wed Apr 13 2005 - coolo@suse.de
|
|
- update tarball
|
|
* Mon Feb 21 2005 - schwab@suse.de
|
|
- create-env: try to find generic versions of libraries. Remove
|
|
LD_ASSUME_KERNEL hack.
|
|
* Sat Feb 05 2005 - schwab@suse.de
|
|
- Don't set LD_ASSUME_KERNEL in BETA.
|
|
* Fri Jan 21 2005 - coolo@suse.de
|
|
- some fixes from CVS
|
|
* Mon Jan 17 2005 - schwab@suse.de
|
|
- create-env: Add specs only if it exists as file.
|
|
* Wed Nov 17 2004 - coolo@suse.de
|
|
- fixing dead loop
|
|
* Sun Nov 14 2004 - schwab@suse.de
|
|
- Don't use icecc during build.
|
|
* Tue Nov 02 2004 - coolo@suse.de
|
|
- ignore duplicated platforms to avoid confusion between native
|
|
compiler and cross compiler
|
|
* Wed Oct 13 2004 - coolo@suse.de
|
|
- several improvements in the communication layer
|
|
- the daemon kills compiler jobs when the client exists before
|
|
awaiting the result (gcc4 feature :)
|
|
* Tue Sep 28 2004 - od@suse.de
|
|
- in create-env, use LD_ASSUME_KERNEL=2.4.21 on ppc64
|
|
* Fri Sep 10 2004 - schwab@suse.de
|
|
- Workaround cfg bug in gcc.
|
|
* Mon Sep 06 2004 - coolo@suse.de
|
|
- handle being called without _any_ environment variables correctly
|
|
(blender's use of scons)
|
|
* Mon Sep 06 2004 - coolo@suse.de
|
|
- correctly calculating output filename for -S jobs (grub's configure)
|
|
* Sun Sep 05 2004 - coolo@suse.de
|
|
- several improvements in the network code to make things more
|
|
robust on general network slowness
|
|
- speed up configure runs
|
|
* Tue Aug 31 2004 - coolo@suse.de
|
|
- do calculate the load a bit more fair for those machines that got
|
|
other niced jobs
|
|
- add time information to the log output
|
|
- track a bit more carefully the child pids
|
|
* Mon Aug 30 2004 - coolo@suse.de
|
|
- do not crash when the network goes down (again)
|
|
- some cleanup
|
|
* Sun Aug 29 2004 - coolo@suse.de
|
|
- finding quite some scheduler troubles while watching a network
|
|
with half the computers using WLAN (KDE conference)
|
|
- run everything the daemon does with client data as specific user
|
|
- changed the spec file to create that user and move the cache
|
|
dir to /var/cache/icecream
|
|
- more options for the sysconfig
|
|
* Wed Aug 18 2004 - coolo@suse.de
|
|
- avoid crashes when the connection between client and daemon
|
|
goes down (as happend at night)
|
|
* Tue Aug 17 2004 - coolo@suse.de
|
|
- fix handling of unknown paramters (failed/gsl)
|
|
* Sun Aug 15 2004 - coolo@suse.de
|
|
- bugfixes and more flag statistics
|
|
* Thu Aug 12 2004 - coolo@suse.de
|
|
- transfer debug and optimization flags to the scheduler for better
|
|
speed calculation
|
|
* Thu Aug 12 2004 - coolo@suse.de
|
|
- fixing ugly regression in the daemon. Increased protocol version
|
|
to avoid problems with these old daemons
|
|
* Wed Aug 11 2004 - coolo@suse.de
|
|
- Fixing grave performance problem and several scheduler crashes
|
|
* Wed Aug 04 2004 - coolo@suse.de
|
|
- update for new automake, let the daemon set a ulimit for memory usage
|
|
* Fri Jul 30 2004 - coolo@suse.de
|
|
- don't stress the scheduler while compiling jobs three times
|
|
- also use icecream for .c files
|
|
- fix for the init script
|
|
* Tue Jun 29 2004 - coolo@suse.de
|
|
- fixing bugs reported by prague office and ro
|
|
* Fri Jun 11 2004 - coolo@suse.de
|
|
- major update (including fix for gcc build)
|
|
* Tue May 11 2004 - coolo@suse.de
|
|
- really fixing build with several input files
|
|
* Tue May 04 2004 - coolo@suse.de
|
|
- fix build with several input files (ltp package)
|
|
* Mon May 03 2004 - coolo@suse.de
|
|
- support cross compiling
|
|
* Wed Apr 28 2004 - coolo@suse.de
|
|
- support multiple architectures in the scheduler
|
|
* Mon Apr 26 2004 - coolo@suse.de
|
|
- filter out more errors as info message trying to get binutils's
|
|
testsuite to work
|
|
* Sun Apr 25 2004 - coolo@suse.de
|
|
- adding -frandom-seed to the compilation for the jobs that compile
|
|
thee times on several hosts
|
|
* Fri Apr 23 2004 - coolo@suse.de
|
|
- fixing grave bug in the setup of the protocol version which caused
|
|
lookups
|
|
* Thu Apr 22 2004 - coolo@suse.de
|
|
- several fixes in the transport layer and the client now compiles
|
|
every 5th job three times to test the farm
|
|
* Sat Apr 17 2004 - coolo@suse.de
|
|
- splitting monitor into an extra source to simplify build
|
|
requirements for the client
|
|
* Fri Apr 16 2004 - coolo@suse.de
|
|
- new protocol version for fancier monitors
|
|
* Fri Apr 16 2004 - coolo@suse.de
|
|
- new version with revised monitor and new init script name
|
|
* Tue Apr 13 2004 - coolo@suse.de
|
|
- initial package
|