citrun

watch C/C++ source code execute
Log | Files | Refs | LICENSE

commit 657119c465527457ab03601df6a30f61d3707f85
parent abb7ce9e25afe40e51808eae133bd6eb37e43606
Author: Kyle Milz <kyle@0x30.net>
Date:   Sun,  3 Jul 2016 22:15:19 -0600

pkg: move everything into a single script

Diffstat:
Ddarwin/pkg.sh | 14--------------
Dopenbsd/pkg.sh | 26--------------------------
Mpkg.sh | 55+++++++++++++++++++++++++++++++++++++++++++++----------
3 files changed, 45 insertions(+), 50 deletions(-)

diff --git a/darwin/pkg.sh b/darwin/pkg.sh @@ -1,14 +0,0 @@ -#!/bin/sh - -set -e -set -x - -portname="${1}" - -sudo port uninstall $portname - -sudo port -v -D devel/citrun clean -sudo port -v -D devel/citrun test -sudo port -v -D devel/citrun install - -rm -f ../../e2e_report.txt diff --git a/openbsd/pkg.sh b/openbsd/pkg.sh @@ -1,26 +0,0 @@ -#!/bin/sh - -set -e -set -x - -portname="${1}" -pkg_path=/usr/ports/packages/`uname -m`/all/${portname}-0.tgz - -# Make sure package building doesn't rely on anything that's already installed -doas pkg_delete $portname || true -rm -f $pkg_path - -# Don't check checksums as this script is used for continuous integration -export PORTSDIR_PATH="`pwd`:/usr/ports" -export NO_CHECKSUM=1 - -# Always re-fetch the latest sources -rm -f /usr/ports/distfiles/${portname}-0.tar.gz - -# The 'test' target will do a full build first -make -C devel/$portname clean=all -make -C devel/$portname test -make -C devel/$portname package - -doas pkg_add -Dunsigned -r $pkg_path -rm -f ../../e2e_report.txt diff --git a/pkg.sh b/pkg.sh @@ -1,17 +1,52 @@ #!/bin/sh -# This script exists so that continuous integration has a single point of entry -# for building packages on all platforms. - -uname_lc=`uname | tr '[:upper:]' '[:lower:]'` -if [ ! -d $uname_lc ]; then - echo Error: Need packaging directory for "$uname_lc" - exit 1; -fi +set -e +set -x +# Single point of entry for building packages on all platforms. +# if [ "${1}" != "citrun" -a "${1}" != "ccitrunrun" ]; then - echo Error: package name must be \'citrun\' or \'ccitrunrun\' exit 2; fi -(cd $uname_lc && sh pkg.sh ${1}) +portname="${1}" +uname=`uname` + +if [ "$uname" = "OpenBSD" ]; then + pkg_path=/usr/ports/packages/`uname -m`/all/${portname}-0.tgz + + # Make sure package building doesn't rely on anything that's already installed + doas pkg_delete $portname || true + rm -f $pkg_path + + # Don't check checksums as this script is used for continuous integration + export PORTSDIR_PATH="`pwd`/openbsd:/usr/ports" + export NO_CHECKSUM=1 + + # Always re-fetch the latest sources + rm -f /usr/ports/distfiles/${portname}-0.tar.gz + + # The 'test' target will do a full build first + make -C openbsd/devel/$portname clean=all + make -C openbsd/devel/$portname test + make -C openbsd/devel/$portname package + + doas pkg_add -Dunsigned -r $pkg_path + +elif [ "$uname" = "Darwin" ]; then + sudo port uninstall $portname + + sudo port -v -D darwin/devel/citrun clean + sudo port -v -D darwin/devel/citrun test + sudo port -v -D darwin/devel/citrun install + +elif [ "$uname" = "Linux" ]; then + echo "" + +else + echo Error: Can\'t package for unknown system \"$uname\" + exit 1; +fi + +# Reset end to end report when new packages are installed. +rm -f e2e_report.txt