public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/icecream] epel8: Initial import
@ 2026-07-31  6:33 Michal Schmidt
  0 siblings, 0 replies; only message in thread
From: Michal Schmidt @ 2026-07-31  6:33 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/icecream
Branch : epel8
Commit : 92794d0ecb567c1d5caa60b6ecc7876eb3bab06a
Author : Michal Schmidt <michich@fedoraproject.org>
Date   : 2007-11-08T21:37:00+00:00
Stats  : +556/-0 in 6 file(s)
URL    : https://src.fedoraproject.org/rpms/icecream/c/92794d0ecb567c1d5caa60b6ecc7876eb3bab06a?branch=epel8

Log:
Initial import

---
diff --git a/.cvsignore b/.cvsignore
index e69de29..ca2dd85 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -0,0 +1 @@
+icecream-0.8.0.tar.gz

diff --git a/icecream-add-initscripts.patch b/icecream-add-initscripts.patch
new file mode 100644
index 0000000..a691166
--- /dev/null
+++ b/icecream-add-initscripts.patch
@@ -0,0 +1,252 @@
+--- /dev/null	2007-07-09 12:29:17.910501703 +0200
++++ fedora/initscript-iceccd	2007-07-16 15:54:43.000000000 +0200
+@@ -0,0 +1,134 @@
++#!/bin/sh
++#
++# iceccd:   Distributed compiler daemon
++#
++# chkconfig: - 98 02
++# description:  This is a daemon for speeding up builds by \
++#		distributing compile jobs to several computers on a network.
++#
++
++### BEGIN INIT INFO
++# Provides: iceccd
++# Required-Start: $local_fs $remote_fs $network $named
++# Required-Stop: $local_fs $remote_fs $network $named
++# Short-Description: Start/stop Icecream distributed compiler
++# Description: Start / stop the Icecream distributed compiler daemon
++### END INIT INFO
++
++# Source function library.
++. /etc/rc.d/init.d/functions
++
++exec=/usr/sbin/iceccd
++service=iceccd
++config=/etc/sysconfig/icecream
++
++[ -e $config ] && . $config
++
++lockfile=/var/lock/subsys/iceccd
++
++start() {
++	[ -x $exec ] || exit 5
++	[ -f $config ] || exit 6
++	echo -n $"Starting distributed compiler daemon: "
++	params=""
++	if [ -n "$ICECREAM_NETNAME" ] ; then
++		params="$params -n $ICECREAM_NETNAME"
++	fi
++	if [ -n "$ICECREAM_LOG_FILE" ] ; then
++		touch $ICECREAM_LOG_FILE
++		chown icecream:icecream $ICECREAM_LOG_FILE
++		params="$params -l $ICECREAM_LOG_FILE"
++	else
++		touch /var/log/iceccd
++		chown icecream:icecream /var/log/iceccd
++	fi
++	if [ -n "$ICECREAM_NICE_LEVEL" ] ; then
++		params="$params --nice $ICECREAM_NICE_LEVEL"
++	fi
++	if [ -n "$ICECREAM_SCHEDULER_HOST" ] ; then
++		params="$params -s $ICECREAM_SCHEDULER_HOST"
++	fi
++	if [ "$ICECREAM_ALLOW_REMOTE" = "no" 2> /dev/null ] ; then
++		params="$params --no-remote"
++	fi
++	if [ -n "$ICECREAM_MAX_JOBS" ] ; then
++		if [ "$ICECREAM_MAX_JOBS" -eq 0 2> /dev/null ] ; then
++			params="$params -m 1"
++			params="$params --no-remote"
++		else
++			params="$params -m $ICECREAM_MAX_JOBS"
++		fi
++	fi
++	params="$params -b \"$ICECREAM_BASEDIR\""
++	daemon --check $service $exec -d -u icecream $params
++	RETVAL=$?
++	echo
++	[ $RETVAL -eq 0 ] && touch $lockfile
++	return $RETVAL
++}
++
++stop() {
++	echo -n $"Stopping distributed compiler daemon: "
++
++	killproc $service
++	RETVAL=$?
++	echo
++	if [ $RETVAL -eq 0 ]; then
++		rm -f $lockfile
++	fi
++	return $RETVAL
++}
++
++restart() {
++	stop
++	start
++}
++
++reload() {
++	restart
++}
++
++force_reload() {
++	restart
++}
++
++rh_status() {
++	status $service
++}
++
++rh_status_q() {
++	rh_status > /dev/null 2>&1
++}
++
++# See how we were called.
++case "$1" in
++	start)
++		rh_status_q && exit 0
++		start
++		;;
++	stop)
++		rh_status_q || exit 0
++		stop
++		;;
++	status)
++		rh_status
++		;;
++	restart)
++		restart
++		;;
++	reload)
++		rh_status_q || exit 7
++		reload
++		;;
++	force-reload)
++		force_reload
++		;;
++	condrestart|try-restart)
++		rh_status_q || exit 0
++		restart
++		;;
++	*)
++		echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}"
++		exit 2
++esac
++exit $?
+--- /dev/null	2007-07-09 12:29:17.910501703 +0200
++++ fedora/initscript-scheduler	2007-07-16 16:14:23.000000000 +0200
+@@ -0,0 +1,112 @@
++#!/bin/sh
++#
++# icecc-scheduler:   Distributed compiler scheduler
++#
++# chkconfig: - 98 02
++# description:  This is a daemon which schedules compilation jobs to \
++#		networked machines running iceccd.
++#
++
++### BEGIN INIT INFO
++# Provides: icecc-scheduler
++# Required-Start: $local_fs $remote_fs $network
++# Required-Stop: $local_fs $remote_fs $network
++# Short-Description: Start/stop Icecream scheduler
++# Description: Start / stop the scheduler for Icecream distributed compilers
++### END INIT INFO
++
++# Source function library.
++. /etc/rc.d/init.d/functions
++
++exec=/usr/sbin/icecc-scheduler
++service=icecc-scheduler
++config=/etc/sysconfig/icecream
++
++[ -e $config ] && . $config
++
++lockfile=/var/lock/subsys/icecc-scheduler
++
++start() {
++	[ -x $exec ] || exit 5
++	[ -f $config ] || exit 6
++	echo -n $"Starting distributed compiler scheduler: "
++	params=""
++	if [ -n "$ICECREAM_NETNAME" ] ; then
++		params="$params -n $ICECREAM_NETNAME"
++	fi
++	logfile=${ICECREAM_SCHEDULER_LOG_FILE:-/var/log/icecc-scheduler}
++	params="$params -l $logfile"
++	touch "$logfile"
++	chown icecream:icecream $logfile
++	daemon --user icecream --check $service $exec -d $params
++	RETVAL=$?
++	echo
++	[ $RETVAL -eq 0 ] && touch $lockfile
++	return $RETVAL
++}
++
++stop() {
++	echo -n $"Stopping distributed compiler scheduler: "
++
++	killproc $service
++	RETVAL=$?
++	echo
++	if [ $RETVAL -eq 0 ]; then
++		rm -f $lockfile
++	fi
++	return $RETVAL
++}
++
++restart() {
++	stop
++	start
++}
++
++reload() {
++	restart
++}
++
++force_reload() {
++	restart
++}
++
++rh_status() {
++	status $service
++}
++
++rh_status_q() {
++	rh_status > /dev/null 2>&1
++}
++
++# See how we were called.
++case "$1" in
++	start)
++		rh_status_q && exit 0
++		start
++		;;
++	stop)
++		rh_status_q || exit 0
++		stop
++		;;
++	status)
++		rh_status
++		;;
++	restart)
++		restart
++		;;
++	reload)
++		rh_status_q || exit 7
++		reload
++		;;
++	force-reload)
++		force_reload
++		;;
++	condrestart|try-restart)
++		rh_status_q || exit 0
++		restart
++		;;
++	*)
++		echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}"
++		exit 2
++esac
++exit $?

diff --git a/icecream-cleanup-conffile.patch b/icecream-cleanup-conffile.patch
new file mode 100644
index 0000000..7bf7c9d
--- /dev/null
+++ b/icecream-cleanup-conffile.patch
@@ -0,0 +1,100 @@
+--- suse/sysconfig.icecream.orig	2007-04-12 10:02:33.000000000 +0200
++++ suse/sysconfig.icecream	2007-07-17 15:50:39.000000000 +0200
+@@ -1,69 +1,34 @@
+ #
+-## Type: integer(0:19)
+-## Path: Applications/icecream
+-## Description: Icecream settings
+-## ServiceRestart: icecream
+-## Default: 5
+-#
+ # Nice level of running compilers
+ #
+ ICECREAM_NICE_LEVEL="5"
+ 
+ #
+-## Type: string
+-## Path: Applications/icecream
+-## Defaut: /var/log/iceccd
+-#
+ # icecream daemon log file
+ #
+ ICECREAM_LOG_FILE="/var/log/iceccd"
+ 
+ #
+-## Type: string
+-## Path: Applications/icecream
+-## Defaut: no
+-#
+-# Start also the scheduler?
+-#
+-ICECREAM_RUN_SCHEDULER="no"
+-
+-#
+-## Type: string
+-## Path: Applications/icecream
+-## Defaut: /var/log/icecc_scheduler
+-#
+ # icecream scheduler log file
+ #
+-ICECREAM_SCHEDULER_LOG_FILE="/var/log/icecc_scheduler"
++ICECREAM_SCHEDULER_LOG_FILE="/var/log/icecc-scheduler"
+ 
+ #
+-## Type: string
+-## Path: Applications/icecream
+-## Defaut: ""
+-#
+-# Identification for the network the scheduler and daemon run on. 
++# Identification for the network the scheduler and daemon run on.
+ # You can have several distinct icecream networks in the same LAN
+ # for whatever reason.
+ #
+ ICECREAM_NETNAME=""
+ 
+ #
+-## Type: string
+-## Path: Applications/icecream
+-## Defaut: ""
+-#
+-# If the daemon can't find the scheduler by broadcast (e.g. because 
++# If the daemon can't find the scheduler by broadcast (e.g. because
+ # of a firewall) you can specify it.
+ #
+ ICECREAM_SCHEDULER_HOST=""
+ 
+ #
+-## Type: integer
+-## Path: Applications/icecream
+-## Defaut: ""
+-# 
+ # You can overwrite here the number of jobs to run in parallel. Per
+-# default this depends on the number of (virtual) CPUs installed. 
++# default this depends on the number of (virtual) CPUs installed.
+ #
+ # Note: a value of "0" is actually interpreted as "1", however it
+ # also sets ICECREAM_ALLOW_REMOTE="no".
+@@ -71,22 +36,14 @@ ICECREAM_SCHEDULER_HOST=""
+ ICECREAM_MAX_JOBS=""
+ 
+ #
+-## Type: yesno
+-## Path: Applications/icecream
+-## Defaut: "yes"
+-# 
+ # Specifies whether jobs submitted by other nodes are allowed to run on
+ # this one.
+ #
+ ICECREAM_ALLOW_REMOTE="yes"
+ 
+ #
+-## Type: string
+-## Path: Applications/icecream
+-## Default: "/var/cache/icecream"
+-#
+ # This is the directory where the icecream daemon stores the environments
+ # it compiles in. In a big network this can grow quite a bit, so use some
+ # path if your /tmp is small - but the user icecream has to write to it.
+-# 
++#
+ ICECREAM_BASEDIR="/var/cache/icecream"

diff --git a/icecream-rename-scheduler.patch b/icecream-rename-scheduler.patch
new file mode 100644
index 0000000..0f8c9bc
--- /dev/null
+++ b/icecream-rename-scheduler.patch
@@ -0,0 +1,42 @@
+--- services/Makefile.am.orig	2007-05-08 21:09:41.000000000 +0200
++++ services/Makefile.am	2007-07-15 19:18:41.000000000 +0200
+@@ -11,9 +11,9 @@ ice_HEADERS = job.h comm.h
+ noinst_HEADERS = bench.h exitcode.h getifaddrs.h logging.h tempfile.h platform.h
+ icedir = $(includedir)/icecc
+ 
+-sbin_PROGRAMS = scheduler
+-scheduler_SOURCES = scheduler.cpp
+-scheduler_LDADD = libicecc.la
++sbin_PROGRAMS = icecc-scheduler
++icecc_scheduler_SOURCES = scheduler.cpp
++icecc_scheduler_LDADD = libicecc.la
+ 
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = icecc.pc
+--- doc/man-scheduler.1.docbook.orig	2005-04-25 15:21:14.000000000 +0200
++++ doc/man-scheduler.1.docbook	2007-07-16 13:53:44.000000000 +0200
+@@ -23,13 +23,13 @@
+ </refmeta>
+ 
+ <refnamediv>
+-	<refname>scheduler</refname>
++	<refname>icecc-scheduler</refname>
+ 	<refpurpose>Icecream scheduler</refpurpose>
+ </refnamediv>
+ 
+ <refsynopsisdiv>
+ <cmdsynopsis>
+-<command>scheduler</command>
++<command>icecc-scheduler</command>
+ <group>
+   <arg choice="opt">
+     <option>-n</option>
+@@ -151,7 +151,7 @@ need to run the scheduler with root righ
+ 
+ <refsect1>
+ <title>See Also</title>
+-<para>icecream, scheduler, iceccd, icemon</para>
++<para>icecream, icecc-scheduler, iceccd, icemon</para>
+ </refsect1>
+ 
+ <refsect1>

diff --git a/icecream.spec b/icecream.spec
new file mode 100644
index 0000000..69d347c
--- /dev/null
+++ b/icecream.spec
@@ -0,0 +1,160 @@
+Name:		icecream
+Version:	0.8.0
+Release:	2.20071101svn%{?dist}
+Summary:	Distributed compiler
+
+Group:		Development/Tools
+License:	GPLv2
+URL:		http://en.opensuse.org/Icecream
+# The source was pulled from upstream's SVN repository:
+# svn export -r 731514 svn://anonsvn.kde.org/home/kde/trunk/icecream icecream-0.8.0
+# tar -czvf icecream-0.8.0.tar.gz icecream-0.8.0
+Source0:	icecream-0.8.0.tar.gz
+Patch0:		icecream-rename-scheduler.patch
+Patch1:		icecream-add-initscripts.patch
+Patch2:		icecream-cleanup-conffile.patch
+BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires:	automake autoconf libtool symlinks
+# To build manpages from KDE-style Docbook sources:
+BuildRequires:	kdelibs kdelibs-devel
+
+%bcond_without	fedora
+BuildRequires:	fedora-usermgmt-devel
+%{?FE_USERADD_REQ}
+Requires(post):		chkconfig
+Requires(preun):	chkconfig
+Requires(preun):	initscripts
+Requires(postun):	initscripts
+
+Provides:	group(icecream) = 44
+Provides:	user(icecream)  = 44
+
+# description copied from Debian icecc package
+%description
+Icecream is a distributed compile system. It allows parallel compiling by
+distributing the compile jobs to several nodes of a compile network running the
+icecc daemon. The icecc scheduler routes the jobs and provides status and
+statistics information to the icecc monitor. Each compile node can accept one
+or more compile jobs depending on the number of processors and the settings of
+the daemon. Link jobs and other jobs which cannot be distributed are executed
+locally on the node where the compilation is started.
+
+%package	devel
+Summary:	Development files for %{name}
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description	devel
+This package contains development files for %{name}.
+
+%prep
+%setup -q
+%patch0 -p0
+%patch1 -p0
+%patch2 -p0
+make -f Makefile.cvs
+
+%build
+%configure --disable-static --enable-shared
+make %{?_smp_mflags}
+pushd doc
+for i in man-*.docbook; do
+	meinproc --stylesheet %{_datadir}/apps/ksgmltools2/customization/kde-man.xsl $i
+	manfile=${i#man-}
+	manfile=${manfile%.docbook}
+	mv manpage.troff $manfile
+done
+popd
+
+%install
+rm -rf %{buildroot}
+make install DESTDIR=%{buildroot}
+rm -f %{buildroot}/%{_libdir}/libicecc.la
+
+# move the symlinks elsewhere
+mkdir -p %{buildroot}/%{_libdir}/icecc/bin
+for i in cc gcc c++ g++; do
+	ln -s %{buildroot}/%{_bindir}/icecc %{buildroot}/%{_libdir}/icecc/bin/$i
+	rm -f %{buildroot}/%{_bindir}/$i
+done
+
+# relativize the symlinks
+symlinks -cs %{buildroot}/%{_libdir}/icecc/bin
+
+# install manpages
+mkdir -p %{buildroot}/%{_mandir}/man{1,7,8}
+mv doc/scheduler.1 doc/icecc-scheduler.1
+for i in doc/*.1 doc/*.7; do
+	install -m 644 $i %{buildroot}/%{_mandir}/man${i##*.}
+done
+
+# install config file and initscripts
+install -D -m 644 suse/sysconfig.icecream %{buildroot}/%{_sysconfdir}/sysconfig/icecream
+install -D -m 755 fedora/initscript-iceccd %{buildroot}/%{_sysconfdir}/rc.d/init.d/iceccd
+install -D -m 755 fedora/initscript-scheduler \
+	%{buildroot}/%{_sysconfdir}/rc.d/init.d/icecc-scheduler
+
+# create default working dir
+mkdir -p %{buildroot}/%{_localstatedir}/cache/icecream
+
+%pre
+# https://fedoraproject.org/wiki/PackageUserRegistry
+%__fe_groupadd 44 -r icecream &>/dev/null || :
+%__fe_useradd  44 -r -s /sbin/nologin -d %{_localstatedir}/cache/icecream -M \
+	-c 'Icecream distributed compiler' -g icecream icecream &>/dev/null || :
+
+%post
+/sbin/ldconfig
+/sbin/chkconfig --add iceccd
+/sbin/chkconfig --add icecc-scheduler
+
+%preun
+if [ "$1" -eq 0 ] ; then
+	/sbin/service iceccd stop > /dev/null 2>&1
+	/sbin/service icecc-scheduler stop > /dev/null 2>&1
+	/sbin/chkconfig --del iceccd
+	/sbin/chkconfig --del icecc-scheduler
+fi
+exit 0
+
+%postun
+/sbin/ldconfig
+if [ "$1" -ge 1 ]; then
+	/sbin/service iceccd condrestart > /dev/null 2>&1
+	/sbin/service icecc-scheduler condrestart > /dev/null 2>&1
+fi
+exit 0
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root,-)
+%doc COPYING ChangeLog README BENCH NEWS TODO
+%{_bindir}/icecc
+%{_libdir}/icecc/bin/cc
+%{_libdir}/icecc/bin/gcc
+%{_libdir}/icecc/bin/c++
+%{_libdir}/icecc/bin/g++
+%{_libdir}/icecc/icecc-create-env
+%{_libdir}/libicecc.so.*
+%{_sbindir}/iceccd
+%{_sbindir}/icecc-scheduler
+%{_mandir}/man*/*
+%config(noreplace) %{_sysconfdir}/sysconfig/icecream
+%{_sysconfdir}/rc.d/init.d/iceccd
+%{_sysconfdir}/rc.d/init.d/icecc-scheduler
+%{_localstatedir}/cache/icecream
+
+%files devel
+%{_includedir}/icecc/*.h
+%{_libdir}/libicecc.so
+%{_libdir}/pkgconfig/icecc.pc
+
+%changelog
+* Tue Nov  6 2007 Michal Schmidt <mschmidt@redhat.com> - 0.8.0-2.20071101svn
+- Use the _datadir macro instead of hardcoded /usr/share
+
+* Thu Nov 01 2007 Michal Schmidt <mschmidt@redhat.com> - 0.8.0-1.20071101svn
+- Initial package for Fedora.

diff --git a/sources b/sources
index e69de29..ab43331 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+1f2cd40b8efb646df7cd4bbd5f411308  icecream-0.8.0.tar.gz

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-31  6:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-31  6:33 [rpms/icecream] epel8: Initial import Michal Schmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox