commit:     a857ea599201b42ab12a2919badfd7b34997cbbb
Author:     Lucas Yamanishi <lucas.yamanishi <AT> gmail <DOT> com>
AuthorDate: Tue May 26 17:58:23 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 21 04:19:18 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a857ea59

sys-devel/icecream: Bump to 1.3.1, various fixes

* Fixes bug #602492
* Adds systemd support
* Installs firewalld service files

Bug: https://bugs.gentoo.org/602492
Closes: https://bugs.gentoo.org/527376
Closes: https://bugs.gentoo.org/642674
Closes: https://github.com/gentoo/gentoo/pull/15975
Signed-off-by: Lucas Yamanishi <lucas.yamanishi <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-devel/icecream/Manifest                      |  1 +
 sys-devel/icecream/files/icecc-scheduler.service | 12 ++++
 sys-devel/icecream/files/iceccd.service          | 12 ++++
 sys-devel/icecream/files/icecream-tmpfiles.conf  |  2 +
 sys-devel/icecream/files/icecream.openrc         | 55 +++++++++++++++
 sys-devel/icecream/icecream-1.3.1.ebuild         | 85 ++++++++++++++++++++++++
 6 files changed, 167 insertions(+)

diff --git a/sys-devel/icecream/Manifest b/sys-devel/icecream/Manifest
index 2cfb48ce5b59..1b0adc19c2ea 100644
--- a/sys-devel/icecream/Manifest
+++ b/sys-devel/icecream/Manifest
@@ -1 +1,2 @@
 DIST icecc-1.0.0.tar.bz2 485534 BLAKE2B 
31a978a4a461f20716a95277426e79d4c298c212d36361dbbd68c5affcbbbe2f0c71f743cc7b731d86fbb5f09ab556182482f56e1382be8572d019f80a004fc8
 SHA512 
4292ecef6232112c3f4531cb2290a55f70c5c24095fef0865af2526d49fc10a043ffb06d22552e161f671c18ff1ab62795c3a63e2c8cb26f869cf65d0938af2a
+DIST icecream-1.3.1.tar.gz 224068 BLAKE2B 
d7d66dadf27b0b88ab706bf217ce2b0d33b5db2ed95e48c4e9dcbd000931688ad6809ecbd4e14f0f3889bcebddc8543bd364c9dda09ba71e5dc04d0a5a2122d5
 SHA512 
d850394b4093defcf2c50bb3f9306348a45bf17d21f4730baeee7125998c2a548b7b3a7597785855d7e388e84830769bf0ec1c4136330a4c8e359cbdd111f5da

diff --git a/sys-devel/icecream/files/icecc-scheduler.service 
b/sys-devel/icecream/files/icecc-scheduler.service
new file mode 100644
index 000000000000..f0db05af534e
--- /dev/null
+++ b/sys-devel/icecream/files/icecc-scheduler.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Icecream distributed compiler scheduler
+
+[Service]
+Type=simple
+User=icecream
+Group=icecream
+SyslogIdentifier=icecc-scheduler
+ExecStart=/usr/sbin/icecc-scheduler -u icecream -l /var/log/icecream/scheduler 
-v
+
+[Install]
+WantedBy=multi-user.target

diff --git a/sys-devel/icecream/files/iceccd.service 
b/sys-devel/icecream/files/iceccd.service
new file mode 100644
index 000000000000..0b74362dfb3a
--- /dev/null
+++ b/sys-devel/icecream/files/iceccd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Icecream Distributed Compiler
+After=network.target nss-lookup.target
+
+[Service]
+Type=simple
+SyslogIdentifier=iceccd
+ExecStart=/usr/sbin/iceccd -u icecream -b /var/cache/icecream -l 
/var/log/icecream/iceccd -v
+Nice=5
+
+[Install]
+WantedBy=multi-user.target

diff --git a/sys-devel/icecream/files/icecream-tmpfiles.conf 
b/sys-devel/icecream/files/icecream-tmpfiles.conf
new file mode 100644
index 000000000000..a7cbf53f96ef
--- /dev/null
+++ b/sys-devel/icecream/files/icecream-tmpfiles.conf
@@ -0,0 +1,2 @@
+d     /run/icecc          0775 root     icecream -
+d     /var/cache/icecream 0755 icecream icecream 3d

diff --git a/sys-devel/icecream/files/icecream.openrc 
b/sys-devel/icecream/files/icecream.openrc
new file mode 100644
index 000000000000..b574874b2075
--- /dev/null
+++ b/sys-devel/icecream/files/icecream.openrc
@@ -0,0 +1,55 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+       need net
+}
+
+start() {
+       basedir="${ICECREAM_BASEDIR:-'/var/cache/icecream'}"
+       verbosity="${ICECREAM_VERBOSITY:-'-v'}"
+       netname="${ICECREAM_NETNAME:+"-n ${ICECREAM_NETNAME}"}"
+       iceccd_logfile="${ICECREAM_LOG_FILE:-'/var/log/icecream/iceccd'}"
+       nice="${ICECREAM_NICE_LEVEL:+"--nice ${ICECREAM_NICE_LEVEL}"}"
+       scheduler="${ICECREAM_SCHEDULER_HOST:+"-s ${ICECREAM_SCHEDULER_HOST}"}"
+
+       if [ "$ICECREAM_RUN_SCHEDULER" = 'yes' ]; then
+               
sched_logfile="${ICECREAM_SCHEDULER_LOG_FILE:-'/var/log/icecream/scheduler'}"
+
+               ebegin 'Starting Distributed Compiler Scheduler'
+               start-stop-daemon -u icecream --start --quiet --exec 
/usr/sbin/icecc-scheduler -- -d -l "$sched_logfile" $netname $verbosity
+               eend ${?}
+       fi
+
+       noremote=''
+       if test "$ICECREAM_ALLOW_REMOTE" = 'no' 2> /dev/null; then
+               noremote='--no-remote'
+       fi
+
+       maxjobs=''
+       if [ -n "$ICECREAM_MAX_JOBS" ]; then
+               if test "$ICECREAM_MAX_JOBS" -eq 0 2> /dev/null; then
+                       maxjobs='-m 1'
+                       noremote='--no-remote'
+               else
+                       maxjobs="-m $ICECREAM_MAX_JOBS"
+               fi
+       fi
+
+       ebegin 'Starting Distributed Compiler Daemon'
+       start-stop-daemon --start --quiet --exec /usr/sbin/iceccd -- -d -l 
"$iceccd_logfile" $nice $scheduler $netname -u icecream -b "$basedir" $maxjobs 
$noremote $verbosity
+       eend ${?}
+}
+
+stop() {
+       ebegin 'Stopping Distributed Compiler Daemon'
+       start-stop-daemon --stop --quiet --name iceccd
+       eend ${?}
+
+       if [ "${ICECREAM_RUN_SCHEDULER}" = 'yes' ]; then
+               ebegin 'Stopping Distributed Compiler Scheduler'
+               start-stop-daemon --stop --quiet --name icecc-scheduler
+               eend ${?}
+       fi
+}

diff --git a/sys-devel/icecream/icecream-1.3.1.ebuild 
b/sys-devel/icecream/icecream-1.3.1.ebuild
new file mode 100644
index 000000000000..d9443057aaaf
--- /dev/null
+++ b/sys-devel/icecream/icecream-1.3.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools systemd tmpfiles
+
+DESCRIPTION='Distributed compiling of C(++) code across several machines; 
based on distcc'
+HOMEPAGE='https://github.com/icecc/icecream'
+SRC_URI="https://github.com/icecc/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE='GPL-2'
+SLOT='0'
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
+IUSE='systemd'
+
+DEPEND='
+       acct-user/icecream
+       acct-group/icecream
+       sys-libs/libcap-ng
+       app-text/docbook2X
+       app-arch/zstd
+'
+RDEPEND="
+       ${DEPEND}
+       dev-util/shadowman
+       systemd? ( sys-apps/systemd )
+"
+
+AT_NOELIBTOOLIZE='yes'
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               --enable-clang-rewrite-includes \
+               --enable-clang-wrappers \
+               --disable-fast-install
+}
+
+src_install() {
+       default
+       find "${D}" -name '*.la' -delete || die
+
+       if use systemd; then
+               systemd_dounit "${FILESDIR}/iceccd.service"
+               systemd_dounit "${FILESDIR}/icecc-scheduler.service"
+       else
+               newconfd suse/sysconfig.icecream icecream
+               newinitd "${FILESDIR}/icecream.openrc" icecream
+       fi
+
+       keepdir /var/log/icecream
+       fowners icecream:icecream /var/log/icecream
+       fperms  0750 /var/log/icecream
+
+       newtmpfiles "${FILESDIR}/icecream-tmpfiles.conf" icecream.conf
+
+       insinto /etc/logrotate.d
+       newins suse/logrotate icecream
+
+       insinto /etc/firewalld/services
+       doins suse/iceccd.xml
+       doins suse/icecc-scheduler.xml
+
+       insinto /usr/share/shadowman/tools
+       newins - icecc <<<'/usr/libexec/icecc/bin'
+}
+
+pkg_prerm() {
+       if [[ -z ${REPLACED_BY_VERSION} && ${ROOT} == / ]]; then
+               eselect compiler-shadow remove icecc
+       fi
+}
+
+pkg_postinst() {
+       tmpfiles_process icecream.conf
+
+       if [[ ${ROOT} == / ]]; then
+               eselect compiler-shadow update icecc
+       fi
+}

Reply via email to