1 |
commit: a857ea599201b42ab12a2919badfd7b34997cbbb |
2 |
Author: Lucas Yamanishi <lucas.yamanishi <AT> gmail <DOT> com> |
3 |
AuthorDate: Tue May 26 17:58:23 2020 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Dec 21 04:19:18 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a857ea59 |
7 |
|
8 |
sys-devel/icecream: Bump to 1.3.1, various fixes |
9 |
|
10 |
* Fixes bug #602492 |
11 |
* Adds systemd support |
12 |
* Installs firewalld service files |
13 |
|
14 |
Bug: https://bugs.gentoo.org/602492 |
15 |
Closes: https://bugs.gentoo.org/527376 |
16 |
Closes: https://bugs.gentoo.org/642674 |
17 |
Closes: https://github.com/gentoo/gentoo/pull/15975 |
18 |
Signed-off-by: Lucas Yamanishi <lucas.yamanishi <AT> gmail.com> |
19 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
20 |
|
21 |
sys-devel/icecream/Manifest | 1 + |
22 |
sys-devel/icecream/files/icecc-scheduler.service | 12 ++++ |
23 |
sys-devel/icecream/files/iceccd.service | 12 ++++ |
24 |
sys-devel/icecream/files/icecream-tmpfiles.conf | 2 + |
25 |
sys-devel/icecream/files/icecream.openrc | 55 +++++++++++++++ |
26 |
sys-devel/icecream/icecream-1.3.1.ebuild | 85 ++++++++++++++++++++++++ |
27 |
6 files changed, 167 insertions(+) |
28 |
|
29 |
diff --git a/sys-devel/icecream/Manifest b/sys-devel/icecream/Manifest |
30 |
index 2cfb48ce5b59..1b0adc19c2ea 100644 |
31 |
--- a/sys-devel/icecream/Manifest |
32 |
+++ b/sys-devel/icecream/Manifest |
33 |
@@ -1 +1,2 @@ |
34 |
DIST icecc-1.0.0.tar.bz2 485534 BLAKE2B 31a978a4a461f20716a95277426e79d4c298c212d36361dbbd68c5affcbbbe2f0c71f743cc7b731d86fbb5f09ab556182482f56e1382be8572d019f80a004fc8 SHA512 4292ecef6232112c3f4531cb2290a55f70c5c24095fef0865af2526d49fc10a043ffb06d22552e161f671c18ff1ab62795c3a63e2c8cb26f869cf65d0938af2a |
35 |
+DIST icecream-1.3.1.tar.gz 224068 BLAKE2B d7d66dadf27b0b88ab706bf217ce2b0d33b5db2ed95e48c4e9dcbd000931688ad6809ecbd4e14f0f3889bcebddc8543bd364c9dda09ba71e5dc04d0a5a2122d5 SHA512 d850394b4093defcf2c50bb3f9306348a45bf17d21f4730baeee7125998c2a548b7b3a7597785855d7e388e84830769bf0ec1c4136330a4c8e359cbdd111f5da |
36 |
|
37 |
diff --git a/sys-devel/icecream/files/icecc-scheduler.service b/sys-devel/icecream/files/icecc-scheduler.service |
38 |
new file mode 100644 |
39 |
index 000000000000..f0db05af534e |
40 |
--- /dev/null |
41 |
+++ b/sys-devel/icecream/files/icecc-scheduler.service |
42 |
@@ -0,0 +1,12 @@ |
43 |
+[Unit] |
44 |
+Description=Icecream distributed compiler scheduler |
45 |
+ |
46 |
+[Service] |
47 |
+Type=simple |
48 |
+User=icecream |
49 |
+Group=icecream |
50 |
+SyslogIdentifier=icecc-scheduler |
51 |
+ExecStart=/usr/sbin/icecc-scheduler -u icecream -l /var/log/icecream/scheduler -v |
52 |
+ |
53 |
+[Install] |
54 |
+WantedBy=multi-user.target |
55 |
|
56 |
diff --git a/sys-devel/icecream/files/iceccd.service b/sys-devel/icecream/files/iceccd.service |
57 |
new file mode 100644 |
58 |
index 000000000000..0b74362dfb3a |
59 |
--- /dev/null |
60 |
+++ b/sys-devel/icecream/files/iceccd.service |
61 |
@@ -0,0 +1,12 @@ |
62 |
+[Unit] |
63 |
+Description=Icecream Distributed Compiler |
64 |
+After=network.target nss-lookup.target |
65 |
+ |
66 |
+[Service] |
67 |
+Type=simple |
68 |
+SyslogIdentifier=iceccd |
69 |
+ExecStart=/usr/sbin/iceccd -u icecream -b /var/cache/icecream -l /var/log/icecream/iceccd -v |
70 |
+Nice=5 |
71 |
+ |
72 |
+[Install] |
73 |
+WantedBy=multi-user.target |
74 |
|
75 |
diff --git a/sys-devel/icecream/files/icecream-tmpfiles.conf b/sys-devel/icecream/files/icecream-tmpfiles.conf |
76 |
new file mode 100644 |
77 |
index 000000000000..a7cbf53f96ef |
78 |
--- /dev/null |
79 |
+++ b/sys-devel/icecream/files/icecream-tmpfiles.conf |
80 |
@@ -0,0 +1,2 @@ |
81 |
+d /run/icecc 0775 root icecream - |
82 |
+d /var/cache/icecream 0755 icecream icecream 3d |
83 |
|
84 |
diff --git a/sys-devel/icecream/files/icecream.openrc b/sys-devel/icecream/files/icecream.openrc |
85 |
new file mode 100644 |
86 |
index 000000000000..b574874b2075 |
87 |
--- /dev/null |
88 |
+++ b/sys-devel/icecream/files/icecream.openrc |
89 |
@@ -0,0 +1,55 @@ |
90 |
+#!/sbin/openrc-run |
91 |
+# Copyright 1999-2013 Gentoo Foundation |
92 |
+# Distributed under the terms of the GNU General Public License v2 |
93 |
+ |
94 |
+depend() { |
95 |
+ need net |
96 |
+} |
97 |
+ |
98 |
+start() { |
99 |
+ basedir="${ICECREAM_BASEDIR:-'/var/cache/icecream'}" |
100 |
+ verbosity="${ICECREAM_VERBOSITY:-'-v'}" |
101 |
+ netname="${ICECREAM_NETNAME:+"-n ${ICECREAM_NETNAME}"}" |
102 |
+ iceccd_logfile="${ICECREAM_LOG_FILE:-'/var/log/icecream/iceccd'}" |
103 |
+ nice="${ICECREAM_NICE_LEVEL:+"--nice ${ICECREAM_NICE_LEVEL}"}" |
104 |
+ scheduler="${ICECREAM_SCHEDULER_HOST:+"-s ${ICECREAM_SCHEDULER_HOST}"}" |
105 |
+ |
106 |
+ if [ "$ICECREAM_RUN_SCHEDULER" = 'yes' ]; then |
107 |
+ sched_logfile="${ICECREAM_SCHEDULER_LOG_FILE:-'/var/log/icecream/scheduler'}" |
108 |
+ |
109 |
+ ebegin 'Starting Distributed Compiler Scheduler' |
110 |
+ start-stop-daemon -u icecream --start --quiet --exec /usr/sbin/icecc-scheduler -- -d -l "$sched_logfile" $netname $verbosity |
111 |
+ eend ${?} |
112 |
+ fi |
113 |
+ |
114 |
+ noremote='' |
115 |
+ if test "$ICECREAM_ALLOW_REMOTE" = 'no' 2> /dev/null; then |
116 |
+ noremote='--no-remote' |
117 |
+ fi |
118 |
+ |
119 |
+ maxjobs='' |
120 |
+ if [ -n "$ICECREAM_MAX_JOBS" ]; then |
121 |
+ if test "$ICECREAM_MAX_JOBS" -eq 0 2> /dev/null; then |
122 |
+ maxjobs='-m 1' |
123 |
+ noremote='--no-remote' |
124 |
+ else |
125 |
+ maxjobs="-m $ICECREAM_MAX_JOBS" |
126 |
+ fi |
127 |
+ fi |
128 |
+ |
129 |
+ ebegin 'Starting Distributed Compiler Daemon' |
130 |
+ start-stop-daemon --start --quiet --exec /usr/sbin/iceccd -- -d -l "$iceccd_logfile" $nice $scheduler $netname -u icecream -b "$basedir" $maxjobs $noremote $verbosity |
131 |
+ eend ${?} |
132 |
+} |
133 |
+ |
134 |
+stop() { |
135 |
+ ebegin 'Stopping Distributed Compiler Daemon' |
136 |
+ start-stop-daemon --stop --quiet --name iceccd |
137 |
+ eend ${?} |
138 |
+ |
139 |
+ if [ "${ICECREAM_RUN_SCHEDULER}" = 'yes' ]; then |
140 |
+ ebegin 'Stopping Distributed Compiler Scheduler' |
141 |
+ start-stop-daemon --stop --quiet --name icecc-scheduler |
142 |
+ eend ${?} |
143 |
+ fi |
144 |
+} |
145 |
|
146 |
diff --git a/sys-devel/icecream/icecream-1.3.1.ebuild b/sys-devel/icecream/icecream-1.3.1.ebuild |
147 |
new file mode 100644 |
148 |
index 000000000000..d9443057aaaf |
149 |
--- /dev/null |
150 |
+++ b/sys-devel/icecream/icecream-1.3.1.ebuild |
151 |
@@ -0,0 +1,85 @@ |
152 |
+# Copyright 1999-2020 Gentoo Authors |
153 |
+# Distributed under the terms of the GNU General Public License v2 |
154 |
+ |
155 |
+EAPI=7 |
156 |
+ |
157 |
+inherit autotools systemd tmpfiles |
158 |
+ |
159 |
+DESCRIPTION='Distributed compiling of C(++) code across several machines; based on distcc' |
160 |
+HOMEPAGE='https://github.com/icecc/icecream' |
161 |
+SRC_URI="https://github.com/icecc/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" |
162 |
+ |
163 |
+LICENSE='GPL-2' |
164 |
+SLOT='0' |
165 |
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86" |
166 |
+IUSE='systemd' |
167 |
+ |
168 |
+DEPEND=' |
169 |
+ acct-user/icecream |
170 |
+ acct-group/icecream |
171 |
+ sys-libs/libcap-ng |
172 |
+ app-text/docbook2X |
173 |
+ app-arch/zstd |
174 |
+' |
175 |
+RDEPEND=" |
176 |
+ ${DEPEND} |
177 |
+ dev-util/shadowman |
178 |
+ systemd? ( sys-apps/systemd ) |
179 |
+" |
180 |
+ |
181 |
+AT_NOELIBTOOLIZE='yes' |
182 |
+ |
183 |
+src_prepare() { |
184 |
+ default |
185 |
+ eautoreconf |
186 |
+} |
187 |
+ |
188 |
+src_configure() { |
189 |
+ econf \ |
190 |
+ --enable-clang-rewrite-includes \ |
191 |
+ --enable-clang-wrappers \ |
192 |
+ --disable-fast-install |
193 |
+} |
194 |
+ |
195 |
+src_install() { |
196 |
+ default |
197 |
+ find "${D}" -name '*.la' -delete || die |
198 |
+ |
199 |
+ if use systemd; then |
200 |
+ systemd_dounit "${FILESDIR}/iceccd.service" |
201 |
+ systemd_dounit "${FILESDIR}/icecc-scheduler.service" |
202 |
+ else |
203 |
+ newconfd suse/sysconfig.icecream icecream |
204 |
+ newinitd "${FILESDIR}/icecream.openrc" icecream |
205 |
+ fi |
206 |
+ |
207 |
+ keepdir /var/log/icecream |
208 |
+ fowners icecream:icecream /var/log/icecream |
209 |
+ fperms 0750 /var/log/icecream |
210 |
+ |
211 |
+ newtmpfiles "${FILESDIR}/icecream-tmpfiles.conf" icecream.conf |
212 |
+ |
213 |
+ insinto /etc/logrotate.d |
214 |
+ newins suse/logrotate icecream |
215 |
+ |
216 |
+ insinto /etc/firewalld/services |
217 |
+ doins suse/iceccd.xml |
218 |
+ doins suse/icecc-scheduler.xml |
219 |
+ |
220 |
+ insinto /usr/share/shadowman/tools |
221 |
+ newins - icecc <<<'/usr/libexec/icecc/bin' |
222 |
+} |
223 |
+ |
224 |
+pkg_prerm() { |
225 |
+ if [[ -z ${REPLACED_BY_VERSION} && ${ROOT} == / ]]; then |
226 |
+ eselect compiler-shadow remove icecc |
227 |
+ fi |
228 |
+} |
229 |
+ |
230 |
+pkg_postinst() { |
231 |
+ tmpfiles_process icecream.conf |
232 |
+ |
233 |
+ if [[ ${ROOT} == / ]]; then |
234 |
+ eselect compiler-shadow update icecc |
235 |
+ fi |
236 |
+} |