Skip to content

Commit fbd7253

Browse files
author
Christoph Willing
committed
ensure cleanup of build directory
Signed-off-by: Christoph Willing <chris.willing@iinet.net.au>
1 parent 5e64021 commit fbd7253

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ SOURCES = \
44
spbuilder \
55
spbuilder-1402.conf \
66
spbuilder.build \
7+
spbuilder.stop \
78
spbuilder.create.in \
89
spbuilder.update.in \
910
spbuilder.wrapper.in \
@@ -32,6 +33,7 @@ install: build man
3233
install -m 0755 spbuilder-1402.conf $(DESTDIR)/etc/spbuilder
3334
install -m 0755 -T spbuilderrc.default $(DESTDIR)/etc/spbuilder/spbuilderrc
3435
install -m 0755 spbuilder.build $(DESTDIR)/usr/share/spbuilder
36+
install -m 0755 spbuilder.stop $(DESTDIR)/usr/share/spbuilder
3537
install -m 0755 spbuilder.create.in $(DESTDIR)/usr/share/spbuilder
3638
install -m 0755 spbuilder.update.in $(DESTDIR)/usr/share/spbuilder
3739
install -m 0755 spbuilder.wrapper.in $(DESTDIR)/usr/share/spbuilder

spbuilder

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,8 @@ lxc.mount.entry = $SPBUILDER_SLACKBUILDS mnt/slackbuilds none bind,ro,create=dir
230230
lxc.mount.entry = $SPBUILDER_BASE var/cache/spbuilder none bind,create=dir 0 0\n\
231231
&:" ${lxc_base_dir}/${SPBUILDER_MASTER_NAME}/config
232232

233+
echo "lxc.hook.stop = /usr/share/spbuilder/spbuilder.stop" >> ${lxc_base_dir}/${SPBUILDER_MASTER_NAME}/config
234+
233235
# Setup hoorex
234236
SPB_WRAPPER=$(tempfile)
235237
sed -e "s/%SPB_SHUTDOWN%/$SPB_SHUTDOWN/" ${SPBUILDER_DATA_DIR}/spbuilder.create.in >$SPB_WRAPPER
@@ -309,11 +311,17 @@ function build_package ()
309311
exit 3
310312
fi
311313

312-
lxc-copy -n $SPBUILDER_MASTER_NAME -N $our_name -B overlayfs -s
314+
env build_jobname=${SPBUILDER_BASE}/build/$(basename $source_location) \
315+
lxc-copy \
316+
--name $SPBUILDER_MASTER_NAME \
317+
--newname=$our_name \
318+
-B overlayfs \
319+
--ephemeral
320+
# -e|--ephemeral implies --snapshot
313321
echo "Created snapshot: $our_name"
314322
SPB_WRAPPER=$(tempfile)
315323
sed -e "s/%SPB_SHUTDOWN%/$SPB_SHUTDOWN/" ${SPBUILDER_DATA_DIR}/spbuilder.wrapper.in >$SPB_WRAPPER
316-
lxc-start -n $our_name
324+
# -e|--ephemeral already starts the copied container lxc-start -n $our_name
317325
lxc-wait -n $our_name -s RUNNING
318326
lxc-attach -n $our_name -a $ARCH -- touch /usr/bin/spbuilder.build /usr/bin/spbuilder.wrapper
319327
cp ${SPBUILDER_DATA_DIR}/spbuilder.build ${lxc_base_dir}/${our_name}/delta0/usr/bin/spbuilder.build

spbuilder.stop

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/sh
2+
3+
4+
env > /tmp/.spbuilder
5+
echo >> /tmp/.spbuilder
6+
echo "build_jobname = $build_jobname" >> /tmp/.spbuilder
7+
8+
9+
# Normally, the SPB building directory is cleaned up elsewhere,
10+
# however an interruption & manual shutdown would leave it.
11+
# Therefore try removing it here as a last resort.
12+
if [ -d $build_jobname -a "$build_jobname" != "/" ]; then
13+
rm -rf $build_jobname
14+
fi

0 commit comments

Comments
 (0)