From c22670cbb08db1205e6ef4e61477dec8b37b94bc Mon Sep 17 00:00:00 2001 From: Jeong Han Lee Date: Mon, 24 Apr 2017 21:06:30 -0400 Subject: [PATCH 1/3] typo --- src/ca/caeventmask.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ca/caeventmask.h b/src/ca/caeventmask.h index 9b7c2d31d..5f0914509 100644 --- a/src/ca/caeventmask.h +++ b/src/ca/caeventmask.h @@ -24,7 +24,7 @@ DBE_ARCHIVE (DBE_LOG) Trigger an event when an archive significant change in the channel's - valuue occurs. Relies on the archiver monitor deadband field under DCT. + value occurs. Relies on the archiver monitor deadband field under DCT. DBE_ALARM Trigger an event when the alarm state changes From f2e54be965d14c62d879971807ee691f3a3c0c5d Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 27 Apr 2017 10:52:07 -0500 Subject: [PATCH 2/3] catools: Fix SEGFAULT from bad PV names --- src/catools/caget.c | 6 +++--- src/catools/cainfo.c | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/catools/caget.c b/src/catools/caget.c index a2b0e08b0..00056709e 100644 --- a/src/catools/caget.c +++ b/src/catools/caget.c @@ -541,11 +541,11 @@ int main (int argc, char *argv[]) for (n = 0; optind < argc; n++, optind++) pvs[n].name = argv[optind] ; /* Copy PV names from command line */ - connect_pvs(pvs, nPvs); + result = connect_pvs(pvs, nPvs); /* Read and print data */ - - result = caget(pvs, nPvs, request, format, type, count); + if (!result) + result = caget(pvs, nPvs, request, format, type, count); /* Shut down Channel Access */ ca_context_destroy(); diff --git a/src/catools/cainfo.c b/src/catools/cainfo.c index 924c34b10..ad580f473 100644 --- a/src/catools/cainfo.c +++ b/src/catools/cainfo.c @@ -211,10 +211,11 @@ int main (int argc, char *argv[]) for (n = 0; optind < argc; n++, optind++) pvs[n].name = argv[optind] ; /* Copy PV names from command line */ - connect_pvs(pvs, nPvs); + result = connect_pvs(pvs, nPvs); /* Print data */ - result = cainfo(pvs, nPvs); + if (!result) + result = cainfo(pvs, nPvs); /* Shut down Channel Access */ ca_context_destroy(); From 3184371e8d274fe1e3abaa1739219f0f9e1736f7 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 24 Nov 2015 18:00:10 -0500 Subject: [PATCH 3/3] travisci --- .travis.yml | 31 +++++++++++++++ ci/travis-build.sh | 90 ++++++++++++++++++++++++++++++++++++++++++++ ci/travis-prepare.sh | 40 ++++++++++++++++++++ 3 files changed, 161 insertions(+) create mode 100644 .travis.yml create mode 100644 ci/travis-build.sh create mode 100644 ci/travis-prepare.sh diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..11a7b443b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,31 @@ +sudo: false +dist: trusty +language: c +compiler: + - gcc +env: + - CMPLR=gcc + - CMPLR=gcc EXTRA=CMD_CXXFLAGS=-std=c++11 + - CMPLR=gcc STATIC=YES + - CMPLR=clang + - CMPLR=clang STATIC=YES + - WINE=32 TEST=NO STATIC=YES + - RTEMS=4.10 TEST=NO + - RTEMS=4.9 TEST=NO +addons: + apt: + packages: + - libreadline6-dev + - libncurses5-dev + - perl + - clang + - g++-mingw-w64-i686 + - bison + - flex + - texinfo + - install-info +cache: + directories: + - $HOME/.cache +install: sh ci/travis-prepare.sh &2 + exit 1 +} + +ticker() { + while true + do + sleep 60 + date -R + [ -r "$1" ] && tail -n10 "$1" + done +} + +CACHEKEY=1 + +EPICS_HOST_ARCH=`sh startup/EpicsHostArch` + +[ -e configure/os/CONFIG_SITE.Common.linux-x86 ] || die "Wrong location: $PWD" + +case "$CMPLR" in +clang) + echo "Host compiler is clang" + cat << EOF >> configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH +GNU = NO +CMPLR_CLASS = clang +CC = clang +CCC = clang++ +EOF + ;; +*) echo "Host compiler is default";; +esac + +if [ "$STATIC" = "YES" ] +then + echo "Build static libraries/executables" + cat << EOF >> configure/CONFIG_SITE +SHARED_LIBRARIES=NO +STATIC_BUILD=YES +EOF +fi + +# requires wine and g++-mingw-w64-i686 +if [ "$WINE" = "32" ] +then + echo "Cross mingw32" + sed -i -e '/CMPLR_PREFIX/d' configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw + cat << EOF >> configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw +CMPLR_PREFIX=i686-w64-mingw32- +EOF + cat << EOF >> configure/CONFIG_SITE +CROSS_COMPILER_TARGET_ARCHS+=win32-x86-mingw +EOF +fi + +# set RTEMS to eg. "4.9" or "4.10" +# requires qemu, bison, flex, texinfo, install-info +if [ -n "$RTEMS" ] +then + echo "Cross RTEMS${RTEMS} for pc386" + install -d /home/travis/.cache + curl -L "https://github.com/mdavidsaver/rsb/releases/download/travis-20160306-2/rtems${RTEMS}-i386-trusty-20190306-2.tar.gz" \ + | tar -C /home/travis/.cache -xj + + sed -i -e '/^RTEMS_VERSION/d' -e '/^RTEMS_BASE/d' configure/os/CONFIG_SITE.Common.RTEMS + cat << EOF >> configure/os/CONFIG_SITE.Common.RTEMS +RTEMS_VERSION=$RTEMS +RTEMS_BASE=/home/travis/.cache/rtems${RTEMS}-i386 +EOF + cat << EOF >> configure/CONFIG_SITE +CROSS_COMPILER_TARGET_ARCHS+=RTEMS-pc386 +EOF + + # find local qemu-system-i386 + export PATH="$HOME/.cache/qemu/usr/bin:$PATH" + echo -n "Using QEMU: " + type qemu-system-i386 || echo "Missing qemu" + EXTRA=RTEMS_QEMU_FIXUPS=YES +fi + +make -j2 $EXTRA + +if [ "$TEST" != "NO" ] +then + make tapfiles + find . -name '*.tap' -print0 | xargs -0 -n1 prove -e cat -f +fi diff --git a/ci/travis-prepare.sh b/ci/travis-prepare.sh new file mode 100644 index 000000000..fd8c6fb4b --- /dev/null +++ b/ci/travis-prepare.sh @@ -0,0 +1,40 @@ +#!/bin/sh +set -e -x + +die() { + echo "$1" >&2 + exit 1 +} + +CURDIR="$PWD" + +QDIR="$HOME/.cache/qemu" + +if [ -n "$RTEMS" -a "$TEST" = "YES" ] +then + git clone --quiet --branch vme --depth 10 https://github.com/mdavidsaver/qemu.git "$HOME/.build/qemu" + cd "$HOME/.build/qemu" + + HEAD=`git log -n1 --pretty=format:%H` + echo "HEAD revision $HEAD" + + [ -e "$HOME/.cache/qemu/built" ] && BUILT=`cat "$HOME/.cache/qemu/built"` + echo "Cached revision $BUILT" + + if [ "$HEAD" != "$BUILT" ] + then + echo "Building QEMU" + git submodule --quiet update --init + + install -d "$HOME/.build/qemu/build" + cd "$HOME/.build/qemu/build" + + "$HOME/.build/qemu/configure" --prefix="$HOME/.cache/qemu/usr" --target-list=i386-softmmu --disable-werror + make -j2 + make install + + echo "$HEAD" > "$HOME/.cache/qemu/built" + fi +fi + +cd "$CURDIR"