summaryrefslogtreecommitdiff
path: root/etc/hstdp-snapshot/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'etc/hstdp-snapshot/tasks')
-rwxr-xr-xetc/hstdp-snapshot/tasks/001-packages.sh43
-rwxr-xr-xetc/hstdp-snapshot/tasks/002-python-packages.sh40
-rwxr-xr-xetc/hstdp-snapshot/tasks/999-clean.sh18
3 files changed, 101 insertions, 0 deletions
diff --git a/etc/hstdp-snapshot/tasks/001-packages.sh b/etc/hstdp-snapshot/tasks/001-packages.sh
new file mode 100755
index 0000000..e948120
--- /dev/null
+++ b/etc/hstdp-snapshot/tasks/001-packages.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+set -e
+set -x
+
+prefix="${TOOLCHAIN}"
+sysconfdir="${TOOLCHAIN_BUILD}/etc/${PIPELINE}"
+reqdir=${sysconfdir}/pkgs
+blddir=builds
+
+export PATH="${prefix}/bin:${PATH}"
+export CFLAGS="-I${prefix}/include"
+export LDFLAGS="-L${prefix}/lib -Wl,-rpath=${prefix}/lib"
+export PREFIX="${prefix}"
+
+function pre()
+{
+ if [[ ! -d ${reqdir} ]]; then
+ # Nothing there, but maybe that's on purpose.
+ exit 0
+ fi
+ mkdir -p "${blddir}"
+ pushd ${blddir} &>/dev/null
+}
+
+function build()
+{
+ pre
+ # Iterate over binary package build scripts
+ for req in ${reqdir}/*
+ do
+ chmod +x "${req}"
+ "${req}"
+ done
+ post
+}
+
+function post()
+{
+ popd &>/dev/null
+ [[ -d ${blddir} ]] && rm -rf "${blddir}"
+}
+
+build
diff --git a/etc/hstdp-snapshot/tasks/002-python-packages.sh b/etc/hstdp-snapshot/tasks/002-python-packages.sh
new file mode 100755
index 0000000..33714aa
--- /dev/null
+++ b/etc/hstdp-snapshot/tasks/002-python-packages.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+set -e
+set -x
+
+# Uses GLOBAL environment variable: PYTHON_VERSION defined by `docker build` argument
+prefix="${TOOLCHAIN}"
+sysconfdir="${TOOLCHAIN_BUILD}/etc/${PIPELINE}"
+reqdir=${sysconfdir}/pip
+
+export PATH="${prefix}/bin:${PATH}"
+export CFLAGS="-I${prefix}/include"
+export LDFLAGS="-L${prefix}/lib -Wl,-rpath=${prefix}/lib"
+
+function pre()
+{
+ if [[ ! -d ${reqdir} ]]; then
+ # Nothing there, but maybe that's on purpose.
+ exit 0
+ fi
+}
+
+function build()
+{
+ pre
+ # Iterate over pip requirement files
+ for req in ${reqdir}/*
+ do
+ pip install --upgrade --progress-bar=off -r "${req}"
+ done
+ post
+}
+
+function post()
+{
+ rm -rf ~/.cache/pip
+ [[ -d src ]] && rm -rf src || true
+ [[ -f gmon.out ]] && rm -rf gmon.out || true
+}
+
+build
diff --git a/etc/hstdp-snapshot/tasks/999-clean.sh b/etc/hstdp-snapshot/tasks/999-clean.sh
new file mode 100755
index 0000000..7487b9c
--- /dev/null
+++ b/etc/hstdp-snapshot/tasks/999-clean.sh
@@ -0,0 +1,18 @@
+#!/bin/bash -x
+if [[ ! -f /.dockerenv ]]; then
+ echo "This script cannot be executed outside of a docker container."
+ exit 1
+fi
+
+rm -rf "${HOME}/.astropy"
+rm -rf "${HOME}/.cache"
+rm -rf "${HOME}"/*
+
+sudo yum clean all
+sudo rm -rf /tmp/*
+sudo rm -rf /var/cache/yum
+
+for logfile in /var/log/*
+do
+ sudo truncate --size=0 "${logfile}"
+done