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 @@
+
+
+
+- scheduler
++ icecc-scheduler
+ Icecream scheduler
+
+
+
+
+-scheduler
++icecc-scheduler
+
+
+
+@@ -151,7 +151,7 @@ need to run the scheduler with root righ
+
+
+ See Also
+-icecream, scheduler, iceccd, icemon
++icecream, icecc-scheduler, iceccd, icemon
+
+
+
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 - 0.8.0-2.20071101svn
+- Use the _datadir macro instead of hardcoded /usr/share
+
+* Thu Nov 01 2007 Michal Schmidt - 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