diff --git a/0003-add-debug-entries.patch b/0003-add-debug-entries.patch
new file mode 100644
index 0000000..b123d24
--- /dev/null
+++ b/0003-add-debug-entries.patch
@@ -0,0 +1,34 @@
+--- icecc-1.0.98/suse/sysconfig.icecream 2013-01-06 08:47:02.000000000 +0100
++++ icecc-1.0.98/suse/sysconfig.icecream.new 2016-03-02 13:56:20.146612133 +0100
+@@ -19,6 +19,15 @@
+ ICECREAM_LOG_FILE="/var/log/icecream/iceccd"
+
+ #
++## Type: yesno
++## Path: Applications/icecream
++## Default: "no"
++#
++# icecream debug
++#
++ICECREAM_DEBUG="no"
++
++#
+ ## Type: string
+ ## Path: Applications/icecream
+ ## Default: no
+@@ -37,6 +46,15 @@
+ ICECREAM_SCHEDULER_LOG_FILE="/var/log/icecream/scheduler"
+
+ #
++## Type: yesno
++## Path: Applications/icecream
++## Default: no
++#
++# icecream scheduler debug
++#
++ICECREAM_SCHEDULER_DEBUG="no"
++
++#
+ ## Type: string
+ ## Path: Applications/icecream
+ ## Default: ""
diff --git a/fedora.logrotate.icecream b/fedora.logrotate.icecream
new file mode 100644
index 0000000..de098e2
--- /dev/null
+++ b/fedora.logrotate.icecream
@@ -0,0 +1,17 @@
+/var/log/icecream/iceccd /var/log/icecream/scheduler {
+ compress
+ dateext
+ maxage 30
+ rotate 99
+ missingok
+ notifempty
+ size +4096k
+ create 644 icecream icecream
+ su icecream icecream
+ sharedscripts
+ postrotate
+ /usr/bin/systemctl kill -s HUP iceccd.service >/dev/null 2>&1 || true
+ /usr/bin/systemctl kill -s HUP icecc-scheduler.service >/dev/null 2>&1 || true
+ endscript
+}
+
diff --git a/icecc-scheduler-wrapper b/icecc-scheduler-wrapper
index 09e92f5..fbc10ed 100644
--- a/icecc-scheduler-wrapper
+++ b/icecc-scheduler-wrapper
@@ -8,4 +8,14 @@ if [ -n "$ICECREAM_NETNAME" ] ; then
netname="-n $ICECREAM_NETNAME"
fi
-exec /usr/sbin/icecc-scheduler $netname
+logfile=
+if [ -n "$ICECREAM_SCHEDULER_LOG_FILE" ] ; then
+ logfile="-l $SCHEDULER_LOG_FILE"
+fi
+
+debug=
+if [ "$ICECREAM_SCHEDULER_DEBUG" = "yes" ] ; then
+ debug="-vvv"
+fi
+
+exec /usr/sbin/icecc-scheduler $netname $logfile $debug
diff --git a/iceccd-wrapper b/iceccd-wrapper
index 9b89470..a26d556 100644
--- a/iceccd-wrapper
+++ b/iceccd-wrapper
@@ -21,4 +21,11 @@ if [ -n "$ICECREAM_MAX_JOBS" ] ; then
params="$params -m $ICECREAM_MAX_JOBS"
fi
fi
+if [ -n "$ICECREAM_LOG_FILE" ] ; then
+ params="$params -l $ICECREAM_LOG_FILE"
+fi
+if [ "$ICECREAM_DEBUG" = "yes" ] ; then
+ params="$params -vvv"
+fi
+
exec /usr/sbin/iceccd "$@" $params
diff --git a/icecream-cleanup-conffile.patch b/icecream-cleanup-conffile.patch
deleted file mode 100644
index ddde0ff..0000000
--- a/icecream-cleanup-conffile.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-Index: suse/sysconfig.icecream
-===================================================================
---- suse/sysconfig.icecream.orig
-+++ suse/sysconfig.icecream
-@@ -1,69 +1,19 @@
- #
--## 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
--## Default: /var/log/icecream/iceccd
--#
--# icecream daemon log file
--#
--ICECREAM_LOG_FILE="/var/log/icecream/iceccd"
--
--#
--## Type: string
--## Path: Applications/icecream
--## Default: no
--#
--# Start also the scheduler?
--#
--ICECREAM_RUN_SCHEDULER="no"
--
--#
--## Type: string
--## Path: Applications/icecream
--## Default: /var/log/icecream/scheduler
--#
--# icecream scheduler log file
--#
--ICECREAM_SCHEDULER_LOG_FILE="/var/log/icecream/scheduler"
--
--#
--## Type: string
--## Path: Applications/icecream
--## Default: ""
--#
--# 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
--## Default: ""
--#
--# 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
--## Default: ""
--#
- # 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 +21,7 @@ ICECREAM_SCHEDULER_HOST=""
- ICECREAM_MAX_JOBS=""
-
- #
--## Type: yesno
--## Path: Applications/icecream
--## Default: "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-scheduler.xml b/icecream-scheduler.xml
index bbe85f6..7deb2b8 100644
--- a/icecream-scheduler.xml
+++ b/icecream-scheduler.xml
@@ -2,6 +2,7 @@
icecream scheduler
icecream distributed compilation scheduler.
+
diff --git a/icecream.csh.in b/icecream.csh.in
deleted file mode 100644
index c142b80..0000000
--- a/icecream.csh.in
+++ /dev/null
@@ -1,21 +0,0 @@
-# Leaves path unchanged if icecc is already there.
-# If ccache is there, adds icecc _after_ it.
-# Otherwise adds icecc to the beginning.
-
-if ( "$path" !~ *@LIBEXECDIR@/icecc/bin* ) then
- if ( "$path" !~ *@LIBDIR@/ccache* ) then
- set path = ( @LIBEXECDIR@/icecc/bin $path )
- else
- @ pos = 0
- foreach item ( $path )
- @ pos = $pos + 1
- if ( $item == @LIBDIR@/ccache ) break
- end
- @ next_pos = $pos + 1
- set path = ( $path[1-$pos] @LIBEXECDIR@/icecc/bin \
- $path[$next_pos-])
- unset next_pos
- unset pos
- unset item
- endif
-endif
diff --git a/icecream.sh.in b/icecream.sh.in
deleted file mode 100644
index 10a78ca..0000000
--- a/icecream.sh.in
+++ /dev/null
@@ -1,9 +0,0 @@
-# Leaves PATH unchanged if icecc is already there.
-# If ccache is there, adds icecc _after_ it.
-# Otherwise adds icecc to the beginning.
-
-PATH=`echo $PATH | /bin/sed -e \
- '\%@LIBEXECDIR@/icecc/bin% b
- s%@LIBDIR@/ccache%&:@LIBEXECDIR@/icecc/bin%
- t
- s%^%@LIBEXECDIR@/icecc/bin:%'`
diff --git a/icecream.spec b/icecream.spec
index 33e6000..cf02ee9 100644
--- a/icecream.spec
+++ b/icecream.spec
@@ -4,15 +4,14 @@
Name: icecream
Version: 1.0.98
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Distributed compiler
Group: Development/Tools
License: GPLv2+
URL: https://github.com/icecc/icecream
Source0: icecc-%{version}.tar.bz2
-Source1: icecream.sh.in
-Source2: icecream.csh.in
+Source1: fedora.logrotate.icecream
Source3: icecream.fc
Source4: icecream.te
Source5: icecream.if
@@ -23,8 +22,9 @@ Source10: icecc-scheduler-wrapper
Source11: icecream-tmpfiles.conf
Source12: icecream.xml
Source13: icecream-scheduler.xml
-Patch0001: 0001-Revert-chmod-chown-envs-dir-when-preparing-this.patch
-Patch0002: 0002-daemon-main-do-not-create-run-icecc-by-ourselves.patch
+Patch1: 0001-Revert-chmod-chown-envs-dir-when-preparing-this.patch
+Patch2: 0002-daemon-main-do-not-create-run-icecc-by-ourselves.patch
+Patch3: 0003-add-debug-entries.patch
BuildRequires: systemd
BuildRequires: libcap-ng-devel
@@ -35,6 +35,7 @@ Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
+Requires: logrotate
%if %{with selinux}
# For SELinux protection:
@@ -73,9 +74,7 @@ This package contains development files for %{name}.
%setup -q -n icecc-%{version}
%patch0001 -p1
%patch0002 -p1
-
-sed -e 's|@LIBDIR@|%{_libdir}|g;s|@LIBEXECDIR@|%{_libexecdir}|g' %{SOURCE1} > icecream.sh
-sed -e 's|@LIBDIR@|%{_libdir}|g;s|@LIBEXECDIR@|%{_libexecdir}|g' %{SOURCE2} > icecream.csh
+%patch0003 -p1
mkdir SELinux
cp -p %{SOURCE3} %{SOURCE4} %{SOURCE5} SELinux
@@ -109,18 +108,20 @@ make install DESTDIR=%{buildroot}
rm -f %{buildroot}/%{_libdir}/libicecc.la
# install config file and initscripts
-install -D -m 644 suse/sysconfig.icecream %{buildroot}/%{_sysconfdir}/sysconfig/icecream
+install -D -m 644 suse/logrotate %{buildroot}/%{_sysconfdir}/logrotate.d/icecream
+install -D -m 644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/sysconfig/icecream
install -d -m 755 %{buildroot}/%{_unitdir}
install -p -m 644 fedora/*.service %{buildroot}/%{_unitdir}
install -p -m 755 fedora/*-wrapper %{buildroot}/%{_libexecdir}/icecc
mkdir -p %{buildroot}%{_tmpfilesdir}
install -p -m 644 fedora/icecream-tmpfiles.conf %{buildroot}/%{_tmpfilesdir}/icecream.conf
install -d -m 755 %{buildroot}/%{_sysconfdir}/profile.d
-install -p -m 644 icecream.sh icecream.csh %{buildroot}/%{_sysconfdir}/profile.d
install -m644 -p -D %{SOURCE12} %{buildroot}%{_prefix}/lib/firewalld/services/icecream.xml
install -m644 -p -D %{SOURCE13} %{buildroot}%{_prefix}/lib/firewalld/services/icecream-scheduler.xml
+mkdir -p %{buildroot}%{_var}/log/%{name}
+
# create default working dir
mkdir -p %{buildroot}/%{_localstatedir}/cache/icecream
@@ -180,7 +181,6 @@ for selinuxvariant in %{selinux_variants}; do
{
echo "port -a -S ${selinuxvariant} -t iceccd_port_t -p tcp 10245"
echo "port -a -S ${selinuxvariant} -t icecc_scheduler_port_t -p tcp 8766"
- echo "port -a -S ${selinuxvariant} -t icecc_scheduler_port_t -p udp 8765"
# tcp 8765 is taken by LIRC. icecream.te knows it.
# echo "port -a -S ${selinuxvariant} -t icecc_scheduler_port_t -p tcp 8765"
} | semanage -i - 2>/dev/null
@@ -236,9 +236,10 @@ exit 0
%{_libdir}/libicecc.so.*
%{_sbindir}/iceccd
%{_sbindir}/icecc-scheduler
+%config %_sysconfdir/logrotate.d/icecream
%config(noreplace) %{_sysconfdir}/sysconfig/icecream
-%config(noreplace) %{_sysconfdir}/profile.d/icecream.*sh
%{_unitdir}/icecc*.service
+%attr(0775, root, icecream) %dir %{_var}/log/%{name}
%attr(0775, root, icecream) %{_localstatedir}/cache/icecream
%attr(0775, root, icecream) /run/icecc
%{_mandir}/man*/*
@@ -254,7 +255,12 @@ exit 0
%{_libdir}/pkgconfig/icecc.pc
%changelog
-* Thu Feb 25 2016 Helio Chissini de Castro - 1.0.98
+* Wed Mar 02 2016 Helio Chissini de Castro - 1.0.98-2
+- Add log entries and log dir
+- Remove profile entries. We shouldn't be in the path, since tools rely on icecc binary
+and this break the process since it relies on recursive call due to be in path.
+
+* Thu Feb 25 2016 Helio Chissini de Castro - 1.0.98-1
- Update for most recent version available by Suse
- Icecream is now in github