1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
10 maintainer = Michael Tremer <michael.tremer@ipfire.org>
11 groups = Development/Compilers
12 url = http://en.opensuse.org/Icecream
14 summary = Distributed compiler.
17 Icecream is a distributed compile system. It allows parallel compiling by
18 distributing the compile jobs to several nodes of a compile network running the
19 icecc daemon. The icecc scheduler routes the jobs and provides status and
20 statistics information to the icecc monitor. Each compile node can accept one
21 or more compile jobs depending on the number of processors and the settings of
22 the daemon. Link jobs and other jobs which cannot be distributed are executed
23 locally on the node where the compilation is started.
26 source_dl = ftp://ftp.suse.com/pub/projects/icecream/
27 sources = icecc-%{version}.tar.bz2
34 DIR_APP = %{DIR_SRC}/icecc-%{version}
36 configure_options += \
41 mkdir -pv %{BUILDROOT}%{libdir}/icecc/bin
42 for i in gcc g++ cc c++; do
43 ln -svf ../../../bin/icecc %{BUILDROOT}%{prefix}/lib/icecc/bin/${i}
44 ln -svf ../../../bin/icecc %{BUILDROOT}%{prefix}/lib/icecc/bin/%{DISTRO_BUILDTARGET}-${i}
46 ln -svf icecc %{BUILDROOT}%{bindir}/icerun
47 sed -e 's|^#!.*|#!/bin/bash|' -i %{BUILDROOT}%{prefix}/lib/icecc/icecc-create-env
49 mkdir -pv %{BUILDROOT}/etc/profile.d
50 sed -e "s|@LIBDIR@|%{prefix}/lib|g" \
51 < %{DIR_SOURCE}/icecream.sh > %{BUILDROOT}/etc/profile.d/icecream.sh
53 # create default working dir
54 mkdir -pv %{BUILDROOT}/var/cache/icecream
56 # Remove unwanted symlinks.
57 rm -rvf %{BUILDROOT}/usr/bin/c++
58 rm -rvf %{BUILDROOT}/usr/bin/cc
59 rm -rvf %{BUILDROOT}/usr/bin/g++
60 rm -rvf %{BUILDROOT}/usr/bin/gcc
63 mkdir -pv %{BUILDROOT}/var/log
64 touch %{BUILDROOT}/var/log/icecc{d,-scheduler}.log
75 prerequires += systemd-units
78 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
82 /bin/systemctl --no-reload disable iceccd.service \
83 icecc-scheduler.service >/dev/null 2>&1 || :
84 /bin/systemctl stop iceccd.service \
85 icecc-scheduler.service >/dev/null 2>&1 || :
89 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
93 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
94 /bin/systemctl try-restart iceccd.service \
95 icecc-scheduler.service >/dev/null 2>&1 || :
103 package %{name}-debuginfo