From 0199c100bcf40db86c8f2305fb6e39c59e993691 Mon Sep 17 00:00:00 2001 From: Ansgar Burchardt Date: Thu, 7 Jul 2016 14:58:18 +0100 Subject: [PATCH] Install duneci-install-module. --- .gitignore | 1 + Makefile | 11 +++++++---- base-8/Dockerfile | 1 + base-9/Dockerfile | 1 + base-common/duneci-install-module | 30 ++++++++++++++++++++++++++++++ 5 files changed, 40 insertions(+), 4 deletions(-) create mode 100755 base-common/duneci-install-module diff --git a/.gitignore b/.gitignore index 97f40e4..d1509f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /*-stamp /base-?/duneci-ctest +/base-?/duneci-install-module diff --git a/Makefile b/Makefile index c601928..732d73d 100644 --- a/Makefile +++ b/Makefile @@ -3,14 +3,17 @@ all: base-8-stamp base-9-stamp dune-2.3-stamp dune-2.4-stamp dune-fufem-stamp du clean: rm -f -- ./*-stamp rm -f -- base-8/duneci-ctest base-9/duneci-ctest + rm -f -- base-8/duneci-install-module base-9/duneci-install-module -base-8-stamp: base-8/Dockerfile base-common/duneci-ctest - cp base-common/duneci-ctest base-8/duneci-ctest +base-8-stamp: base-8/Dockerfile base-common/duneci-ctest base-common/duneci-install-module + cp base-common/duneci-ctest base-8/ + cp base-common/duneci-install-module base-8/ docker build --no-cache -t duneci/base:8 base-8 touch $@ -base-9-stamp: base-9/Dockerfile base-common/duneci-ctest - cp base-common/duneci-ctest base-9/duneci-ctest +base-9-stamp: base-9/Dockerfile base-common/duneci-ctest base-common/duneci-install-module + cp base-common/duneci-ctest base-9/ + cp base-common/duneci-install-module base-9/ docker build --no-cache -t duneci/base:9 base-9 touch $@ diff --git a/base-8/Dockerfile b/base-8/Dockerfile index ed3241b..225abbf 100644 --- a/base-8/Dockerfile +++ b/base-8/Dockerfile @@ -40,3 +40,4 @@ ENV DUNE_CONTROL_PATH=.:/duneci/modules ENV PATH=/duneci/bin:$PATH COPY opts.clang opts.gcc /duneci/ COPY duneci-ctest /duneci/bin/ +COPY duneci-install-module /duneci/bin/ diff --git a/base-9/Dockerfile b/base-9/Dockerfile index 2ab522f..cf7b145 100644 --- a/base-9/Dockerfile +++ b/base-9/Dockerfile @@ -40,3 +40,4 @@ ENV DUNE_CONTROL_PATH=.:/duneci/modules ENV PATH=/duneci/bin:$PATH COPY opts.clang opts.gcc /duneci/ COPY duneci-ctest /duneci/bin/ +COPY duneci-install-module /duneci/bin/ diff --git a/base-common/duneci-install-module b/base-common/duneci-install-module new file mode 100755 index 0000000..9ee4f88 --- /dev/null +++ b/base-common/duneci-install-module @@ -0,0 +1,30 @@ +#! /bin/bash +# Author: Ansgar Burchardt + +set -e + +usage() { + echo "usage: duneci-install-module " >&2 + exit ${1:-0} +} + +if [[ $# -eq 0 ]]; then + usage 0 +fi + +repo="${1}" +module="${repo##*/}"; module="${module%.git}" +shift + +if [[ "${module}" = dune-common ]]; then + ln -sf /duneci/modules/dune-common/bin/dunecontrol /duneci/bin +fi + +cd /duneci/modules +if [[ -d "${module}" ]]; then + echo "Module ${module} is already installed." >&2 + exit 1 +fi + +git clone "${repo}" +dunecontrol --opts=/duneci/opts.gcc "${@}" --only="${module}" all -- GitLab