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/
28 icecc-%{version}.tar.bz2 \
29 icecream-manpages.tar.bz2
36 DIR_APP = %{DIR_SRC}/icecc-%{version}
38 configure_options += \
43 cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/icecc-%{version}.tar.bz2
44 cd %{DIR_APP} && %{MACRO_EXTRACT} %{DIR_DL}/icecream-manpages.tar.bz2
50 mkdir -pv %{BUILDROOT}%{libdir}/icecc/bin
51 for i in gcc g++ cc c++; do
52 ln -svf ../../../bin/icecc %{BUILDROOT}%{libdir}/icecc/bin/${i}
53 ln -svf ../../../bin/icecc %{BUILDROOT}%{libdir}/icecc/bin/%{DISTRO_BUILDTARGET}-${i}
55 sed -e 's|^#!.*|#!/bin/bash|' -i %{BUILDROOT}%{libdir}/icecc/icecc-create-env
57 mkdir -pv %{BUILDROOT}/etc/profile.d
58 sed -e "s|@LIBDIR@|%{libdir}|g" \
59 < %{DIR_SOURCE}/icecream.sh > %{BUILDROOT}/etc/profile.d/icecream.sh
61 # create default working dir
62 mkdir -pv %{BUILDROOT}/var/cache/icecream
65 mkdir -pv %{BUILDROOT}/usr/share/man/man{1,7,8}
66 mv mans/scheduler.1 mans/icecc-scheduler.1
67 for i in mans/*.1 mans/*.7; do
68 install -m 644 $i %{BUILDROOT}/usr/share/man/man${i##*.}
71 # Remove unwanted symlinks.
72 rm -rvf %{BUILDROOT}/usr/bin/c++
73 rm -rvf %{BUILDROOT}/usr/bin/cc
74 rm -rvf %{BUILDROOT}/usr/bin/g++
75 rm -rvf %{BUILDROOT}/usr/bin/gcc
78 mkdir -pv %{BUILDROOT}/var/log
79 touch %{BUILDROOT}/var/log/icecc{d,-scheduler}.log
90 prerequires += systemd-units
93 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
97 /bin/systemctl --no-reload disable iceccd.service \
98 icecc-scheduler.service >/dev/null 2>&1 || :
99 /bin/systemctl stop iceccd.service \
100 icecc-scheduler.service >/dev/null 2>&1 || :
104 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
108 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
109 /bin/systemctl try-restart iceccd.service \
110 icecc-scheduler.service >/dev/null 2>&1 || :
114 package %{name}-devel
118 package %{name}-debuginfo