diff --git a/.ci/assemble_synApps.sh b/.ci/assemble_synApps.sh index 15820df..7a52ecd 100755 --- a/.ci/assemble_synApps.sh +++ b/.ci/assemble_synApps.sh @@ -1,5 +1,6 @@ #!/bin/bash shopt -s expand_aliases +set -x # This file is intended to gather everything in or used in synApps. # The version numbers in this file are not guaranteed to be up to date, @@ -12,140 +13,140 @@ shallow_repo() RELEASE_NAME=$3 TAG=$4 - FOLDER_NAME=$MODULE_NAME-${TAG//./-} + FOLDER_NAME=$MODULE_NAME-${TAG//./-} - echo + echo echo "Grabbing $MODULE_NAME at tag: $TAG" echo - if [ ! -e "$FOLDER_NAME" ] + if [ ! -d "$FOLDER_NAME" ] then git clone --branch $TAG --depth 1 git://github.com/$PROJECT/$MODULE_NAME.git $FOLDER_NAME fi - echo "$RELEASE_NAME=\$(SUPPORT)/$FOLDER_NAME" >> ./configure/RELEASE + echo "$RELEASE_NAME=\$(SUPPORT)/$FOLDER_NAME" >> ./configure/RELEASE - echo + echo } shallow_support() { - git clone --branch $2 --depth 1 git://github.com/EPICS-synApps/$1.git + if [ ! -d "$1" ] + then + git clone --branch $2 --depth 1 git://github.com/EPICS-synApps/$1.git + fi } - -alias get_support='shallow_support' -alias get_repo='shallow_repo' - cd $HOME/.cache EPICS_BASE=$HOME/.cache/base-$BASE -if [ ! -e "$EPICS_BASE" ] +if [ ! -d "$EPICS_BASE" ] then git clone --branch $BASE --depth 1 git://github.com/epics-base/epics-base.git base-$BASE - - EPICS_HOST_ARCH=`sh $EPICS_BASE/startup/EpicsHostArch` - case "$STATIC" in - static) - cat << EOF >> "$EPICS_BASE/configure/CONFIG_SITE" + EPICS_HOST_ARCH=`sh $EPICS_BASE/startup/EpicsHostArch` + + case "$STATIC" in + static) + cat << EOF >> "$EPICS_BASE/configure/CONFIG_SITE" SHARED_LIBRARIES=NO STATIC_BUILD=YES EOF - ;; - *) ;; - esac - - case "$CMPLR" in - clang) - echo "Host compiler is clang" - cat << EOF >> $EPICS_BASE/configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH + ;; + *) ;; + esac + + case "$CMPLR" in + clang) + echo "Host compiler is clang" + + cat << EOF >> "$EPICS_BASE/configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH" GNU = NO CMPLR_CLASS = clang CC = clang CCC = clang++ EOF - ;; - *) echo "Host compiler is default";; - esac - - # requires wine and g++-mingw-w64-i686 - if [ "$WINE" = "32" ] - then - echo "Cross mingw32" - sed -i -e '/CMPLR_PREFIX/d' $EPICS_BASE/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw - cat << EOF >> $EPICS_BASE/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw + ;; + *) echo "Host compiler is default";; + esac + + # requires wine and g++-mingw-w64-i686 + if [ "$WINE" = "32" ] + then + echo "Cross mingw32" + sed -i -e '/CMPLR_PREFIX/d' $EPICS_BASE/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw + cat << EOF >> "$EPICS_BASE/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw" CMPLR_PREFIX=i686-w64-mingw32- EOF - cat << EOF >> $EPICS_BASE/configure/CONFIG_SITE + cat << EOF >> "$EPICS_BASE/configure/CONFIG_SITE" CROSS_COMPILER_TARGET_ARCHS+=win32-x86-mingw EOF - fi - - # set RTEMS to eg. "4.9" or "4.10" - 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' $EPICS_BASE/configure/os/CONFIG_SITE.Common.RTEMS - cat << EOF >> $EPICS_BASE/configure/os/CONFIG_SITE.Common.RTEMS + fi + + # set RTEMS to eg. "4.9" or "4.10" + 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' $EPICS_BASE/configure/os/CONFIG_SITE.Common.RTEMS + cat << EOF >> "$EPICS_BASE/configure/os/CONFIG_SITE.Common.RTEMS" RTEMS_VERSION=$RTEMS RTEMS_BASE=/home/travis/.cache/rtems${RTEMS}-i386 EOF - cat << EOF >> $EPICS_BASE/configure/CONFIG_SITE + cat << EOF >> $EPICS_BASE/configure/CONFIG_SITE CROSS_COMPILER_TARGET_ARCHS+=RTEMS-pc386 EOF + + fi + + make -C "$EPICS_BASE" -j2 - fi - - make -C "$EPICS_BASE" -j2 - # get MSI for 3.14 - case "$BASE" in - 3.14*) - echo "Build MSI" - install -d "$HOME/msi/extensions/src" - curl https://www.aps.anl.gov/epics/download/extensions/extensionsTop_20120904.tar.gz | tar -C "$HOME/msi" -xvz - curl https://www.aps.anl.gov/epics/download/extensions/msi1-7.tar.gz | tar -C "$HOME/msi/extensions/src" -xvz - mv "$HOME/msi/extensions/src/msi1-7" "$HOME/msi/extensions/src/msi" - - cat << EOF > "$HOME/msi/extensions/configure/RELEASE" + + # get MSI for 3.14 + case "$BASE" in + 3.14*) + if [ ! -d "$HOME/msi/extensions/src" ] + then + echo "Build MSI" + install -d "$HOME/msi/extensions/src" + curl https://epics.anl.gov/download/extensions/extensionsTop_20120904.tar.gz | tar -C "$HOME/msi" -xvz + curl https://epics.anl.gov/download/extensions/msi1-7.tar.gz | tar -C "$HOME/msi/extensions/src" -xvz + mv "$HOME/msi/extensions/src/msi1-7" "$HOME/msi/extensions/src/msi" + + cat << EOF > "$HOME/msi/extensions/configure/RELEASE" EPICS_BASE=$EPICS_BASE EPICS_EXTENSIONS=\$(TOP) EOF - make -C "$HOME/msi/extensions" - cp "$HOME/msi/extensions/bin/$EPICS_HOST_ARCH/msi" "$EPICS_BASE/bin/$EPICS_HOST_ARCH/" - echo 'MSI:=$(EPICS_BASE)/bin/$(EPICS_HOST_ARCH)/msi' >> "$EPICS_BASE/configure/CONFIG_SITE" - - cat <> configure/CONFIG_SITE + + fi + + make -C "$HOME/msi/extensions" + cp "$HOME/msi/extensions/bin/$EPICS_HOST_ARCH/msi" "$EPICS_BASE/bin/$EPICS_HOST_ARCH/" + echo 'MSI:=$(EPICS_BASE)/bin/$(EPICS_HOST_ARCH)/msi' >> "$EPICS_BASE/configure/CONFIG_SITE" + + cat <> configure/CONFIG_SITE MSI = \$(EPICS_BASE)/bin/\$(EPICS_HOST_ARCH)/msi EOF - - ;; - *) echo "Use MSI from Base" - ;; - esac + + ;; + *) echo "Use MSI from Base" + ;; + esac fi -cd $EPICS_BASE - -make - -cd .. - -# Assume user has nothing but this file, just in case that's true. -mkdir synApps -cd synApps +alias get_support='shallow_support' +alias get_repo='shallow_repo' get_support support synApps_5_8 cd support get_support configure synApps_5_8 -echo "SUPPORT=$HOME/.cache/synApps/support" > configure/RELEASE +echo "SUPPORT=$HOME/.cache/support" > configure/RELEASE echo "EPICS_BASE=$EPICS_BASE" >> configure/RELEASE # modules ################################################################## @@ -165,6 +166,8 @@ echo "SNCSEQ=\$(SUPPORT)/seq-${SNCSEQ//./-}" >> ./configure/RELEASE fi +cp -f configure/RELEASE sscan-${SSCAN//./-}/configure/RELEASE + make release make diff --git a/.gitignore b/.gitignore index a075596..27bd762 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,4 @@ envPaths dllPath.bat auto_settings.sav* auto_positions.sav* - +RELEASE.local diff --git a/.travis.yml b/.travis.yml index cc5ea4e..721e034 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,11 +3,11 @@ dist: trusty language: c compiler: - gcc -notifications: - email: false cache: directories: - $HOME/.cache +notifications: + email: false addons: apt: packages: @@ -17,15 +17,44 @@ addons: - clang - g++-mingw-w64-i686 - re2c -env: - - BASE=R3.15.5 STATIC=shared SSCAN=R2-10-2 SNCSEQ=2.2.4 - - BASE=R3.14.12.6 STATIC=shared SSCAN=R2-10-2 SNCSEQ=2.2.4 +matrix: + include: + - name: "3.16 master with Sequencer" + env: BASE=3.16 STATIC=shared SSCAN=master SNCSEQ=2.2.5 + + - name: "3.16 master without Sequencer" + env: BASE=3.16 STATIC=shared SSCAN=master + + - name: "3.15 master with Sequencer" + env: BASE=3.15 STATIC=shared SSCAN=master SNCSEQ=2.2.5 + + - name: "3.15 master without Sequencer" + env: BASE=3.15 STATIC=shared SSCAN=master + + - name: "3.14 master with Sequencer" + env: BASE=3.14 STATIC=shared SSCAN=master SNCSEQ=2.2.5 + - name: "3.14 master without Sequencer" + env: BASE=3.14 STATIC=shared SSCAN=master + + - name: "Windows Shared with Sequencer" + env: BASE=3.16 STATIC=shared CMPLR=clang WINE=32 SSCAN=master SNCSEQ=2.2.5 + + - name: "Windows Shared without Sequencer" + env: BASE=3.16 STATIC=shared CMPLR=clang WINE=32 SSCAN=master + + - name: "Windows Static with Sequencer" + env: BASE=3.16 STATIC=static CMPLR=clang WINE=32 SSCAN=master SNCSEQ=2.2.5 + + - name: "Windows Static without Sequencer" + env: BASE=3.16 STATIC=static CMPLR=clang WINE=32 SSCAN=master + + + before_install: chmod +x ./.ci/assemble_synApps.sh install: ./.ci/assemble_synApps.sh - - + script: # Build the module - make diff --git a/README.md b/README.md index 810bfd6..60314f4 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ APS BCDA synApps module: calc For more information, see - http://www.aps.anl.gov/bcda/synApps + https://epics.anl.gov/bcda/synApps [Report an issue with calc](https://github.com/epics-modules/calc/issues/new?title=%20ISSUE%20NAME%20HERE&body=**Describe%20the%20issue**%0A%0A**Steps%20to%20reproduce**%0A1.%20Step%20one%0A2.%20Step%20two%0A3.%20Step%20three%0A%0A**Expected%20behaivour**%0A%0A**Actual%20behaviour**%0A%0A**Build%20Environment**%0AArchitecture:%0AEpics%20Base%20Version:%0ADependent%20Module%20Versions:&labels=bug) [Request a feature](https://github.com/epics-modules/calc/issues/new?title=%20FEATURE%20SHORT%20DESCRIPTION&body=**Feature%20Long%20Description**%0A%0A**Why%20should%20this%20be%20added?**%0A&labels=enhancement) @@ -16,4 +16,4 @@ For more information, see converted from APS SVN repository: Fri Nov 6 11:32:45 CST 2015 Regarding the license of tagged versions prior to synApps 4-5, -refer to http://www.aps.anl.gov/bcda/synApps/license.php +refer to https://epics.anl.gov/bcda/synApps/license.php diff --git a/calcApp/Db/Makefile b/calcApp/Db/Makefile index 336551e..f24f981 100644 --- a/calcApp/Db/Makefile +++ b/calcApp/Db/Makefile @@ -18,6 +18,12 @@ include $(TOP)/configure/CONFIG # databases, templates, substitutions like this #DB += softMotorexample.db +DB += $(patsubst ../%, %, $(wildcard ../*.template)) +DB += $(patsubst ../%, %, $(wildcard ../*.db)) +DB += $(patsubst ../%, %, $(wildcard ../*.vdb)) + +REQ += $(patsubst ../%, %, $(wildcard ../*.req)) + #---------------------------------------------------- # Declare template files which do not show up in DB #USES_TEMPLATE += dbExample2.template diff --git a/calcApp/src/Makefile b/calcApp/src/Makefile index 6d5bdd0..06e8cf5 100644 --- a/calcApp/src/Makefile +++ b/calcApp/src/Makefile @@ -5,6 +5,8 @@ include $(TOP)/configure/CONFIG # ADD MACRO DEFINITIONS AFTER THIS LINE #============================= +USR_CPPFLAGS += -DUSE_TYPED_RSET + #============================= # xxxRecord.h will be created from xxxRecord.dbd diff --git a/calcApp/src/aCalcoutRecord.c b/calcApp/src/aCalcoutRecord.c index 53c937e..c000355 100644 --- a/calcApp/src/aCalcoutRecord.c +++ b/calcApp/src/aCalcoutRecord.c @@ -182,7 +182,7 @@ static long init_record(acalcoutRecord *pcalc, int pass) if (pass==0) { pcalc->vers = VERSION; pcalc->rpvt = (void *)calloc(1, sizeof(struct rpvtStruct)); - if ((pcalc->nuse < 0) || (pcalc->nuse > pcalc->nelm)) { + if (pcalc->nuse > pcalc->nelm) { pcalc->nuse = pcalc->nelm; db_post_events(pcalc,&pcalc->nuse,DBE_VALUE|DBE_LOG); } @@ -367,7 +367,7 @@ static long process(acalcoutRecord *pcalc) pcalc->name, pcalc->pact, pcalc->cact, pcalc->dlya); /* Make sure. Autosave is capable of setting NUSE to an illegal value. */ - if ((pcalc->nuse < 0) || (pcalc->nuse > pcalc->nelm)) { + if (pcalc->nuse > pcalc->nelm) { pcalc->nuse = pcalc->nelm; db_post_events(pcalc,&pcalc->nuse, DBE_VALUE|DBE_LOG); } @@ -488,7 +488,7 @@ static long special(dbAddr *paddr, int after) break; case acalcoutRecordNUSE: - if ((pcalc->nuse < 0) || (pcalc->nuse > pcalc->nelm)) { + if (pcalc->nuse > pcalc->nelm) { pcalc->nuse = pcalc->nelm; db_post_events(pcalc,&pcalc->nuse,DBE_VALUE); return(-1); @@ -1325,7 +1325,7 @@ static long doCalc(acalcoutRecord *pcalc) { static void acalcPerformTask(void *parm) { calcMessage msg; acalcoutRecord *pcalc; - struct rset *prset; + rset *prset; if (aCalcoutRecordDebug >= 10) printf("acalcPerformTask:entry\n"); @@ -1338,7 +1338,7 @@ static void acalcPerformTask(void *parm) { } pcalc = msg.pcalc; - prset = (struct rset *)(pcalc->rset); + prset = pcalc->rset; dbScanLock((struct dbCommon *)pcalc); @@ -1348,7 +1348,7 @@ static void acalcPerformTask(void *parm) { if (aCalcoutRecordDebug >= 10) printf("acalcPerformTask:processing '%s'\n", pcalc->name); - (*prset->process)(pcalc); + prset->process((dbCommon *) pcalc); dbScanUnlock((struct dbCommon *)pcalc); } } diff --git a/calcApp/src/sCalcPerform.c b/calcApp/src/sCalcPerform.c index 15610bb..9244d02 100644 --- a/calcApp/src/sCalcPerform.c +++ b/calcApp/src/sCalcPerform.c @@ -1541,7 +1541,7 @@ epicsShareFunc long if (((s = strpbrk(s, "%")) == NULL) || ((s = strpbrk(s+1, "*cdeEfgGiousxX")) == NULL)) { /* no printf arguments needed */ - sprintf(tmpstr, ps->s); + strcpy(tmpstr, ps->s); } else { switch (*s) { default: case '*': diff --git a/calcApp/src/sCalcoutRecord.c b/calcApp/src/sCalcoutRecord.c index cc4262c..046e807 100644 --- a/calcApp/src/sCalcoutRecord.c +++ b/calcApp/src/sCalcoutRecord.c @@ -764,7 +764,7 @@ static void execOutput(scalcoutRecord *pcalc) if (sCalcPerform(&pcalc->a, MAX_FIELDS, (char **)(pcalc->strs), STRING_MAX_FIELDS, &pcalc->oval, pcalc->osv, STRING_SIZE, pcalc->orpc, pcalc->prec)) { - pcalc->val = -1; + pcalc->oval = -1; /* strcpy(pcalc->osv,"***ERROR***"); */ strNcpy(pcalc->osv,"***ERROR***", STRING_SIZE); recGblSetSevr(pcalc,CALC_ALARM,INVALID_ALARM); diff --git a/calcApp/src/sseqRecord.c b/calcApp/src/sseqRecord.c index a2ed1a9..f4febef 100644 --- a/calcApp/src/sseqRecord.c +++ b/calcApp/src/sseqRecord.c @@ -110,18 +110,18 @@ struct callbackSeq { short linkStat; /* LINKS_ALL_OK, LINKS_NOT_OK */ }; -static long init_record(sseqRecord *pR, int pass); -static long process(sseqRecord *pR); +static long init_record(dbCommon *pR, int pass); +static long process(dbCommon *pR); static int processNextLink(sseqRecord *pR); static long asyncFinish(sseqRecord *pR); static void processCallback(CALLBACK *pCallback); -static long get_precision(struct dbAddr *paddr, long *precision); +static long get_precision(const dbAddr *paddr, long *precision); static void checkLinksCallback(CALLBACK *pCallback); static void checkLinks(sseqRecord *pR); static long special(struct dbAddr *paddr, int after); /* Create RSET - Record Support Entry Table*/ -struct rset sseqRSET={ +rset sseqRSET={ RSETNUMBER, NULL, /* report */ NULL, /* initialize */ @@ -155,8 +155,9 @@ epicsExportAddress(rset, sseqRSET); * ******************************************************************************/ static long -init_record(sseqRecord *pR, int pass) +init_record(dbCommon *pcommon, int pass) { + sseqRecord *pR = (sseqRecord *) pcommon; int index; struct linkGroup *plinkGroup; struct callbackSeq *pcb; @@ -279,8 +280,9 @@ init_record(sseqRecord *pR, int pass) * ******************************************************************************/ static long -process(sseqRecord *pR) +process(dbCommon *pcommon) { + sseqRecord *pR = (sseqRecord *) pcommon; struct callbackSeq *pcb = (struct callbackSeq *) (pR->dpvt); struct linkGroup *plinkGroup; unsigned short lmask; @@ -411,7 +413,7 @@ static int processNextLink(sseqRecord *pR) } } /* no outstanding callbacks. finish up */ - (*(struct rset *)(pR->rset)).process(pR); + pR->rset->process((dbCommon *) pR); return(0); } @@ -564,7 +566,7 @@ void putCallbackCB(void *arg) /* If all links are done, call process to finish up. */ if (numWaiting == 0) { if (sseqRecDebug > 5) printf("sseq:putCallbackCB(%s) aborting\n", pR->name); - (*(struct rset *)(pR->rset)).process(pR); + pR->rset->process((dbCommon *) pR); } dbScanUnlock((struct dbCommon *)pR); return; @@ -620,7 +622,7 @@ processCallback(CALLBACK *pCallback) if (sseqRecDebug >= 5) printf("sseq:processCallback(%s) aborting at field index %d\n", pR->name, pcb->index); /* Finish up. */ - (*(struct rset *)(pR->rset)).process(pR); + pR->rset->process((dbCommon *) pR); dbScanUnlock((struct dbCommon *)pR); return; } @@ -805,7 +807,7 @@ processCallback(CALLBACK *pCallback) * *****************************************************************************/ static long -get_precision(struct dbAddr *paddr, long *precision) +get_precision(const dbAddr *paddr, long *precision) { sseqRecord *pR = (struct sseqRecord *) paddr->precord; diff --git a/calcApp/src/swaitRecord.c b/calcApp/src/swaitRecord.c index e68e0d9..03532fe 100644 --- a/calcApp/src/swaitRecord.c +++ b/calcApp/src/swaitRecord.c @@ -127,15 +127,15 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -STATIC long init_record(swaitRecord *pwait, int pass); -STATIC long process(swaitRecord *pwait); +STATIC long init_record(dbCommon *pwait, int pass); +STATIC long process(dbCommon *pwait); STATIC long special(DBADDR *paddr, int after); #define get_value NULL #define cvt_dbaddr NULL #define get_array_info NULL #define put_array_info NULL #define get_units NULL -STATIC long get_precision(DBADDR *paddr, long *precision); +STATIC long get_precision(const DBADDR *paddr, long *precision); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -263,8 +263,9 @@ static int isBlank(char *name) return((i>0)); } -STATIC long init_record(swaitRecord *pwait, int pass) +STATIC long init_record(dbCommon *pcommon, int pass) { + swaitRecord *pwait = (swaitRecord *) pcommon; struct cbStruct *pcbst; long status = 0; int i; @@ -382,8 +383,9 @@ notifyCallback(recDynLink * precDynLink) if (swaitRecordDebug >= 10) errlogPrintf("swaitRecord:notifyCallback: entry\n"); recGblFwdLink(pwait); } -STATIC long process(swaitRecord *pwait) +STATIC long process(dbCommon *pcommon) { + swaitRecord *pwait = (swaitRecord *) pcommon; struct cbStruct *pcbst = (struct cbStruct *)pwait->cbst; short async = FALSE; long status; @@ -577,7 +579,7 @@ STATIC long special(DBADDR *paddr, int after) } } -STATIC long get_precision(DBADDR *paddr, long *precision) +STATIC long get_precision(const DBADDR *paddr, long *precision) { swaitRecord *pwait=(swaitRecord *)paddr->precord; @@ -730,13 +732,13 @@ STATIC void schedOutput(swaitRecord *pwait) static void doOutputCallback(CALLBACK *pcallback) { dbCommon *pwait; - struct rset *prset; + rset *prset; callbackGetUser(pwait, pcallback); - prset = (struct rset *)pwait->rset; + prset = pwait->rset; dbScanLock((struct dbCommon *)pwait); - (*prset->process)(pwait); + prset->process((dbCommon *) pwait); dbScanUnlock((struct dbCommon *)pwait); } diff --git a/calcApp/src/transformRecord.c b/calcApp/src/transformRecord.c index dd736fe..720d3d2 100644 --- a/calcApp/src/transformRecord.c +++ b/calcApp/src/transformRecord.c @@ -393,8 +393,9 @@ static int convertExpression(transformRecord *ptran, char *dest, const char *src /********************************************************************************/ static long -init_record(transformRecord *ptran, int pass) +init_record(dbCommon *pcommon, int pass) { + transformRecord *ptran = (transformRecord *) pcommon; int i; epicsInt32 *pcalcInvalid; struct link *pinlink, *poutlink; @@ -503,8 +504,9 @@ init_record(transformRecord *ptran, int pass) } static long -process(transformRecord *ptran) +process(dbCommon *pcommon) { + transformRecord *ptran = (transformRecord *) pcommon; int i, no_inlink, new_value, postfix_ok, same; long status; struct link *plink; @@ -623,7 +625,7 @@ process(transformRecord *ptran) static long -special(struct dbAddr *paddr, int after) +special(const DBADDR *paddr, int after) { int i; transformRecord *ptran = (transformRecord *) (paddr->precord); @@ -748,7 +750,7 @@ special(struct dbAddr *paddr, int after) } static long -get_precision(struct dbAddr *paddr, long *precision) +get_precision(const DBADDR *paddr, long *precision) { transformRecord *ptran = (transformRecord *) paddr->precord; int fieldIndex = dbGetFieldIndex(paddr); diff --git a/configure/CONFIG_SITE b/configure/CONFIG_SITE index 212485e..744e731 100644 --- a/configure/CONFIG_SITE +++ b/configure/CONFIG_SITE @@ -39,5 +39,5 @@ CHECK_RELEASE = YES # settings without having to modify the configure/CONFIG_SITE # file itself. -include $(TOP)/../CONFIG_SITE.local +-include $(TOP)/../configure/CONFIG_SITE.local -include $(TOP)/configure/CONFIG_SITE.local - diff --git a/configure/RELEASE b/configure/RELEASE index 95ce334..2f5d36d 100644 --- a/configure/RELEASE +++ b/configure/RELEASE @@ -23,3 +23,9 @@ EPICS_BASE=/home/oxygen/MOONEY/epics/bazaar/base-3.14 #Capfast users may need the following definitions #CAPFAST_TEMPLATES= #SCH2EDIF_PATH= + +# These lines allow developers to override these RELEASE settings +# without having to modify this file directly. +-include $(TOP)/../RELEASE.local +-include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local +-include $(TOP)/configure/RELEASE.local diff --git a/debian/changelog b/debian/changelog index 51f71da..fbd3bfe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +epics-calc (3.7.3-1) unstable; urgency=medium + + * New upstream version 3.7.3 + * Bump up version in package names + * Remove unneeded --parallel + + -- Martin Konrad Mon, 15 Jul 2019 15:02:49 -0400 + epics-calc (3.7.1-1) unstable; urgency=medium * New upstream version 3.7.1 diff --git a/debian/compat b/debian/compat index ec63514..f599e28 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -9 +10 diff --git a/debian/control b/debian/control index 657c560..b95705c 100644 --- a/debian/control +++ b/debian/control @@ -1,8 +1,8 @@ Source: epics-calc Section: libdevel -Priority: extra -Maintainer: Michael Davidsaver -Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14), +Priority: optional +Maintainer: Martin Konrad +Build-Depends: debhelper (>= 10), dpkg-dev (>= 1.17.14), epics-debhelper (>= 8.14~), epics-dev, epics-asyn-dev, epics-sscan-dev, epics-seq-dev, rtems-sscan-mvme2100 , @@ -21,7 +21,7 @@ Vcs-Browser: https://github.com/epicsdeb/epics-calc Package: epics-calc-dev Architecture: any -Depends: libcalc3.7.1 (= ${binary:Version}), +Depends: libcalc3.7.3 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, ${epics:Depends}, Conflicts: epics-synapps, epics-synapps-dev, @@ -37,7 +37,7 @@ Description: Additional calculator record types . This package contains headers and libraries needed at build time. -Package: libcalc3.7.1 +Package: libcalc3.7.3 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, Description: Additional calculator record types diff --git a/debian/patches/0001-update-configure-RELEASE.patch b/debian/patches/0001-update-configure-RELEASE.patch index f48825b..2b18713 100644 --- a/debian/patches/0001-update-configure-RELEASE.patch +++ b/debian/patches/0001-update-configure-RELEASE.patch @@ -7,10 +7,10 @@ Subject: update configure/RELEASE 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/configure/RELEASE b/configure/RELEASE -index 95ce334..89baa7c 100644 +index 2f5d36d..301c815 100644 --- a/configure/RELEASE +++ b/configure/RELEASE -@@ -4,22 +4,16 @@ +@@ -4,25 +4,19 @@ TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top @@ -37,3 +37,6 @@ index 95ce334..89baa7c 100644 -#CAPFAST_TEMPLATES= -#SCH2EDIF_PATH= +EPICS_BASE=/usr/lib/epics + + # These lines allow developers to override these RELEASE settings + # without having to modify this file directly. diff --git a/debian/patches/0002-fix-Wformat.patch b/debian/patches/0002-fix-Wformat.patch deleted file mode 100644 index 1ec23b9..0000000 --- a/debian/patches/0002-fix-Wformat.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Michael Davidsaver -Date: Tue, 15 Mar 2016 11:56:51 -0400 -Subject: fix -Wformat - ---- - calcApp/src/sCalcPerform.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/calcApp/src/sCalcPerform.c b/calcApp/src/sCalcPerform.c -index 15610bb..66d1f8e 100644 ---- a/calcApp/src/sCalcPerform.c -+++ b/calcApp/src/sCalcPerform.c -@@ -1541,7 +1541,7 @@ epicsShareFunc long - if (((s = strpbrk(s, "%")) == NULL) || - ((s = strpbrk(s+1, "*cdeEfgGiousxX")) == NULL)) { - /* no printf arguments needed */ -- sprintf(tmpstr, ps->s); -+ sprintf(tmpstr, "%s", ps->s); - } else { - switch (*s) { - default: case '*': diff --git a/debian/patches/series b/debian/patches/series index a6c8366..ed23675 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1 @@ 0001-update-configure-RELEASE.patch -0002-fix-Wformat.patch diff --git a/debian/rules b/debian/rules index 51c1722..832fe20 100755 --- a/debian/rules +++ b/debian/rules @@ -3,7 +3,7 @@ export DH_VERBOSE=1 %: - dh $@ --with epics -Sepicsmake --parallel + dh $@ --with epics -Sepicsmake override_dh_install: dh_install --fail-missing diff --git a/debian/source/options b/debian/source/options deleted file mode 100644 index 62d9178..0000000 --- a/debian/source/options +++ /dev/null @@ -1 +0,0 @@ -compression-level = 9 diff --git a/documentation/calcReleaseNotes.html b/documentation/calcReleaseNotes.html index 977abe7..4b85d9b 100644 --- a/documentation/calcReleaseNotes.html +++ b/documentation/calcReleaseNotes.html @@ -9,6 +9,13 @@

calc Release Notes

+

Release 3-7-2

+ +
    +
  • EPICS v7 compatability changes +
  • Errors in OCAL expression now set OVAL to -1 instead of VAL +
+

Release 3-7-1

  • aCalcout now posts monitors and archive monitors for AVAL and OAV if one or