### AUTOUPDATE-OFF: 1 %define userid 65425 %define groupid 65425 Name: icecc Version: 1.0.1 Release: 3mamba Summary: A distributed build system based on distcc Group: Development/Tools Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://en.opensuse.org/Icecream Source: ftp://ftp.suse.com/pub/projects/icecream/icecc-%{version}.tar.bz2 #Source1: http://pkgs.fedoraproject.org/repo/pkgs/icecream/icecream-manpages.tar.bz2/a3829775870d5b2b60b750a88ee835b7/icecream-manpages.tar.bz2 Source2: icecc-initscript Source3: icecream-sysconfig Source4: icecream-logrotate Source5: icecc-profile Source6: icecream-monitor Patch0: %{name}-0.9.7-arm_platform_map.patch Patch1: %{name}-0.9.7-x86_64-map-to-i686-for-now.patch Patch2: icecc-0.9.98.1-sysconfig-openmamba.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libcap-ng-devel BuildRequires: libgcc BuildRequires: libstdc++6-devel ## AUTOBUILDREQ-END BuildRequires: llvm-clang-devel BuildRequires: pkg-config Requires: gcc Requires: gcc-c++ Requires: gcc-cpp Requires: /usr/bin/expect BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Icecream was created by SUSE based on distcc. Like distcc, Icecream takes compile jobs from a (KDE) build and distributes it among remote machines allowing a parallel build. But unlike distcc, Icecream uses a central server that dynamically schedules the compile jobs to the fastest free server. This advantage pays off mostly for shared computers, if you're the only user on x machines, you have full control over them. %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %build %configure %make %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %makeinstall # # Install icecream init script mkdir -p %{buildroot}%{_initrddir} install -m 755 %{SOURCE2} %{buildroot}%{_initrddir}/icecream mkdir -p %{buildroot}%{_sysconfdir}/sysconfig install -m 644 suse/sysconfig.icecream %{buildroot}%{_sysconfdir}/sysconfig/icecream mkdir -p %{buildroot}/var/cache/icecream #mkdir -p %{buildroot}%{_mandir}/man{1,7} #for i in mans/*.1 mans/*.7; do # install -m 644 $i %{buildroot}%{_mandir}/man`echo $i | sed -e 's,.*\(.\)$,\1,'`/`basename $i` #done install -m 644 -D %{SOURCE4} %{buildroot}%{_sysconfdir}/logrotate.d/icecream install -D -m0755 %{SOURCE5} %{buildroot}%{_sysconfdir}/profile.d/icecream.sh install -D -m0755 %{SOURCE6} %{buildroot}%{_bindir}/icecream-monitor install -d -m0755 %{buildroot}%{_localstatedir}/log/icecream for f in c++ cc g++ gcc; do ln -s %{_bindir}/icecc %{buildroot}%{_libexecdir}/icecc/bin/%{_host}-$f done %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %pre if [ $1 -ge 1 ]; then userdel icecream 2>/dev/null || : groupdel icecream 2>/dev/null || : /usr/sbin/groupadd -r -g %{groupid} icecc 2> /dev/null || : /usr/sbin/useradd -r -g %{userid} -s /bin/false -c "Icecream Daemon" -d /var/cache/icecream icecc 2> /dev/null || : fi %post if [ $1 -eq 1 ]; then service icecream start fi if [ $1 -ge 1 ]; then chkconfig --add icecream fi : %preun if [ $1 -eq 0 ]; then service icecream stop chkconfig --del icecream fi : %postun if [ $1 -eq 0 ]; then groupdel icecc 2>/dev/null || : userdel icecc 2>/dev/null || : fi : %files %defattr(-,root,root) %{_sysconfdir}/profile.d/icecream.sh %{_sysconfdir}/logrotate.d/icecream %config(noreplace) %{_sysconfdir}/sysconfig/icecream %{_initrddir}/icecream %{_bindir}/icecc %{_bindir}/icerun %{_bindir}/icecream-monitor %{_sbindir}/iceccd %{_sbindir}/icecc-scheduler %attr(0755,icecc,icecc) %dir /var/cache/icecream %dir %{_includedir}/icecc %{_includedir}/icecc/*.h #%{_libdir}/icecc/icecc-create-env %{_libdir}/libicecc.a %{_libdir}/libicecc.la %dir %{_libexecdir}/icecc %dir %{_libexecdir}/icecc/bin %{_libexecdir}/icecc/bin/c++ %{_libexecdir}/icecc/bin/cc %{_libexecdir}/icecc/bin/clang %{_libexecdir}/icecc/bin/clang++ %{_libexecdir}/icecc/bin/g++ %{_libexecdir}/icecc/bin/gcc %{_libexecdir}/icecc/bin/%{_host}-c++ %{_libexecdir}/icecc/bin/%{_host}-cc %{_libexecdir}/icecc/bin/%{_host}-g++ %{_libexecdir}/icecc/bin/%{_host}-gcc %{_libexecdir}/icecc/compilerwrapper %{_libexecdir}/icecc/icecc-create-env %attr(-,icecc,icecc) %dir %{_localstatedir}/log/icecream %{_libdir}/pkgconfig/icecc.pc %{_mandir}/man1/icecc.1* %{_mandir}/man1/iceccd.1* %{_mandir}/man1/icecc-scheduler.1* %{_mandir}/man7/icecream.7* %doc COPYING %changelog * Tue Apr 29 2014 Silvan Calarco 1.0.1-3mamba - provide required directory /var/log/icecream * Thu Jul 25 2013 Silvan Calarco 1.0.1-2mamba - added llvm-clang-devel build requirement * Sun Jul 21 2013 Automatic Build System 1.0.1-1mamba - automatic update by autodist * Sun May 19 2013 Automatic Build System 1.0.0-1mamba - update to 1.0.0 * Sat Jan 05 2013 Automatic Build System 0.9.98.1-1mamba - automatic version update by autodist * Tue Jul 31 2012 Silvan Calarco 0.9.7-5mamba - added expect script icecream-monitor - require gcc, gcc-c++ and /usr/bin/expect * Sat Apr 07 2012 Silvan Calarco 0.9.7-4mamba - add a patch to map x86_64 as equivalent to i686 to allow exporting builds from x86_64 kernel + 32 bit o.s. machine * Fri Feb 24 2012 Silvan Calarco 0.9.7-3mamba - added default sysconfig and logrotate files * Fri Feb 24 2012 Silvan Calarco 0.9.7-2mamba - added iniscript, man pages, icecream user and group - added symlinks to icecc for platform based gcc commands * Fri Feb 24 2012 Silvan Calarco 0.9.7-1mamba - package created by autospec