-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #7 from chrschroeder/upstream
New upstream version 2.1.1.0
- Loading branch information
Showing
42 changed files
with
2,135 additions
and
439 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#!/usr/bin/env sh | ||
set -e -x | ||
|
||
[ "$BASE" ] || exit 0 | ||
|
||
make -j2 $EXTRA | ||
|
||
[ "$TEST" = "NO" ] && exit 0 | ||
|
||
# Configure pyepics and IOC wrapper | ||
eval `grep -m 1 "EPICS_BASE[[:space:]]*=" configure/RELEASE.local` | ||
EPICS_HOST_ARCH=`sh $EPICS_BASE/startup/EpicsHostArch` | ||
export PYEPICS_LIBCA=$EPICS_BASE/lib/$EPICS_HOST_ARCH/libca.so | ||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$EPICS_BASE/lib/$EPICS_HOST_ARCH | ||
export PATH=$PATH:$EPICS_BASE/bin/$EPICS_HOST_ARCH | ||
|
||
ls -al $EPICS_BASE/lib/$EPICS_HOST_ARCH | ||
|
||
echo Check pyepics install | ||
python -c "import epics; print(epics.__version__)" | ||
python -c "import epics.ca; print(epics.ca.find_libca())" | ||
|
||
make tapfiles | ||
find . -name '*.tap' -print0 | xargs -0 -n1 prove -e cat -f |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
#!/usr/bin/env sh | ||
set -e -x | ||
|
||
# Build Base for use with https://travis-ci.org | ||
# | ||
# Set environment variables | ||
# BASE= 3.14 3.15 3.16 7.0 (VCS branch) | ||
# STATIC= YES / default (shared) | ||
|
||
die() { | ||
echo "$1" >&2 | ||
exit 1 | ||
} | ||
|
||
[ "$BASE" ] || exit 0 | ||
|
||
if [ "$STATIC" = "YES" ] | ||
then | ||
BASEDIR=base-$BASE-static | ||
else | ||
BASEDIR=base-$BASE-shared | ||
fi | ||
|
||
CDIR="$HOME/.cache/$BASEDIR" | ||
EPICS_BASE="$CDIR/base" | ||
|
||
if [ ! -e "$CDIR/built" ] | ||
then | ||
install -d "$CDIR" | ||
( cd "$CDIR" && git clone --depth 10 --branch $BASE https://github.com/epics-base/epics-base.git base ) | ||
|
||
EPICS_HOST_ARCH=`sh $EPICS_BASE/startup/EpicsHostArch` | ||
|
||
case "$STATIC" in | ||
YES) | ||
cat << EOF >> "$EPICS_BASE/configure/CONFIG_SITE" | ||
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" | ||
GNU = NO | ||
CMPLR_CLASS = clang | ||
CC = clang | ||
CCC = clang++ | ||
EOF | ||
|
||
# hack | ||
sed -i -e 's/CMPLR_CLASS = gcc/CMPLR_CLASS = clang/' "$EPICS_BASE/configure/CONFIG.gnuCommon" | ||
|
||
clang --version | ||
;; | ||
*) | ||
echo "Host compiler is default" | ||
gcc --version | ||
;; | ||
esac | ||
|
||
make -C "$EPICS_BASE" -j2 | ||
|
||
cat << EOF > configure/RELEASE.local | ||
EPICS_BASE=$EPICS_BASE | ||
EOF | ||
|
||
case "$BASE" in | ||
*3.14*) | ||
( cd "$CDIR" && wget https://www.aps.anl.gov/epics/download/extensions/extensionsTop_20120904.tar.gz && tar -xzf extensionsTop_*.tar.gz) | ||
|
||
( cd "$CDIR" && wget https://www.aps.anl.gov/epics/download/extensions/msi1-7.tar.gz && tar -xzf msi1-7.tar.gz && mv msi1-7 extensions/src/msi) | ||
|
||
cat << EOF > "$CDIR/extensions/configure/RELEASE" | ||
EPICS_BASE=$EPICS_BASE | ||
EPICS_EXTENSIONS=\$(TOP) | ||
EOF | ||
|
||
( cd "$CDIR/extensions" && make ) | ||
|
||
cp "$CDIR/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" | ||
;; | ||
|
||
*7.*) | ||
( cd "$CDIR" && git clone --depth 10 https://github.com/epics-modules/pcas.git pcas ) | ||
cat << EOF > "$CDIR/pcas/configure/RELEASE.local" | ||
EPICS_BASE=$EPICS_BASE | ||
EOF | ||
|
||
make -C "$CDIR/pcas" -j2 | ||
|
||
cat << EOF >> configure/RELEASE.local | ||
PCAS=$CDIR/pcas | ||
EOF | ||
;; | ||
|
||
*) ;; | ||
esac | ||
|
||
touch "$CDIR/built" | ||
fi | ||
|
||
EPICS_HOST_ARCH=`sh $EPICS_BASE/startup/EpicsHostArch` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
bin/ | ||
include/ | ||
lib/ | ||
db/ | ||
dbd/ | ||
configure/*.local | ||
html/ | ||
**/O.* | ||
envPaths | ||
QtC-* | ||
*.orig | ||
|
||
# Gateway generated scriptlets | ||
gateway.killer | ||
gateway.restart |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
sudo: required | ||
dist: trusty | ||
language: cpp | ||
|
||
env: | ||
- BASE=7.0 | ||
- BASE=7.0 STATIC=YES | ||
- BASE=3.16 | ||
- BASE=3.16 STATIC=YES | ||
- BASE=3.16 STATIC=YES EXTRA=CMD_CXXFLAGS=-std=c++11 | ||
- BASE=3.16 CMPLR=clang | ||
- BASE=3.15 | ||
- BASE=3.15 STATIC=YES | ||
- BASE=3.14 | ||
- BASE=3.14 STATIC=YES | ||
|
||
before_install: | ||
- sudo apt-get update -qq | ||
- sudo apt-get install python-nose | ||
|
||
install: | ||
- sh .ci/travis-prepare.sh | ||
- sudo pip install pyepics nose-tap | ||
|
||
script: | ||
- sh .ci/travis-build.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Channel Access PV Gateway | ||
[![Build Status](https://travis-ci.org/epics-extensions/ca-gateway.svg?branch=master)](https://travis-ci.org/epics-extensions/ca-gateway) | ||
|
||
The [EPICS](https://epics-controls.org) Channel Access PV Gateway is both a | ||
Channel Access server and Channel Access client. | ||
It provides a means for many clients to access a process variable, | ||
while making only one connection to the server that owns the process variable. | ||
|
||
It also provides additional access security beyond that on the server. | ||
It thus protects critical servers while providing possibly restricted access | ||
to needed process variables. | ||
|
||
The Gateway typically runs on a machine with multiple network cards, | ||
and the clients and the server may be on different subnets. | ||
|
||
## Continuous Integration | ||
|
||
The CI jobs for CA Gateway are provided by | ||
[Travis](https://travis-ci.org/epics-extensions/ca-gateway). | ||
|
||
## Links | ||
|
||
More details are available on the | ||
[CA Gateway main web page](http://www.aps.anl.gov/epics/extensions/gateway/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
CA Gateway Release Notes | ||
======================== | ||
|
||
## 2.1.2 (not released yet) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-1-1-0...master) | ||
|
||
* Ehhh... | ||
|
||
## 2.1.1 (17 Oct 2018) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-1-0-0...R2-1-1-0) | ||
|
||
* Clean up release notes (that you are reading right now) | ||
* Improve test readme | ||
* Improve test cleanup on failure (shut down gateway processes) | ||
* Lots of changes and fixing for CI setup | ||
* Build changes necessary for EPICS 7 (unbundled PCAS module) | ||
|
||
## 2.1.0 (11 May 2016) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-6-0...R2-1-0-0) | ||
|
||
* Full support for DBE_PROPERTY event flag. | ||
* Add unit test framework (as embedded TOP). | ||
* Add tests for event flag support, including DBE_PROPERTY. | ||
* Fix many small bugs and compiler warnings. | ||
|
||
## 2.0.6.0 (30 Jan 2015) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-5-1...R2-0-6-0) | ||
|
||
* Changes source structure to be a standard EPICS module. | ||
* Add Jenkins job for CloudBees CI. | ||
* Fix crashes when forwarding empty arrays (bug lp:1415938). | ||
* Use variable length arrays for CAC (IOC side) subscriptions. | ||
|
||
## 2.0.5.1 (09 Dec 2014) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-5-0...R2-0-5-1) | ||
|
||
* Reenabled Windows builds MSVC 32 and 64, MinGW 32 (EPICS 3.15 only). | ||
* Support for PCRE version 3 (API changes). | ||
|
||
## 2.0.5.0 (03 Dec 2014) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-4-0...R2-0-5-0) | ||
|
||
* Merged FRIB branch that adds proper CAPutLog logging. | ||
* Supports building against EPICS Base 3.15.1. | ||
* Windows build has been broken for a long time - without complaints. | ||
|
||
## 2.0.4.0 (17 Sep 2009) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-3-0...R2-0-4-0) | ||
|
||
* Added new writeNotify interface. | ||
I updated the PCAS/casdef.h to add a new backwards compatible virtual | ||
writeNotify interface in casChannel and casPV. This is important | ||
for the GW so that it can execute the proper form of ca_put or | ||
ca_put_callback in its implementation of write, or writeNotify, | ||
and so I did also install the necessary changes in the GW so that | ||
it will benefit from the new writeNotify interface. _- Jeff Hill_ | ||
* Added a build optional heartbeat pv, <suffix>:heartbeat, with val 0. | ||
|
||
## 2.0.3.0 (14 Jan 2008) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-2-1...R2-0-3-0) | ||
|
||
* Restored gateway default behavior. Now if "-archive" is not used, Gateway | ||
will post log events along with value change events. _- Gasper Jansa_ | ||
|
||
## 2.0.2.1 (02 Aug 2007) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-2-0...R2-0-2-1) | ||
|
||
* Bug fix to the conditional compilation for the "negated regexp" feature. | ||
_- Dirk Zimoch_ | ||
|
||
## 2.0.2.0 (01 Aug 2007) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-1-0...R2-0-2-0) | ||
|
||
* New option to use Perl regexp instead of GNU regexp, controlled with a | ||
compiler switch defined in the Makefile. _- Dirk Zimoch_ | ||
* New options to use DENY FROM and negated regular expressions to prevent | ||
loops in reverse gateways while allowing access to the internal PVs. | ||
These require USE_NEG_REGEXP=YES and USE_DENY_FROM=YES in Makefile. _- Dirk Zimoch_ | ||
* Added docs subdirectory containing all Gateway docs. | ||
|
||
## 2.0.1.0 = 2.0.0.3 (10 Jul 2007) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-0-2...R2-0-1-0) | ||
|
||
Changes from Dirk Zimoch | ||
|
||
* The two main changes in behavior ("don't use cached values in caget" | ||
and "create separate archive monitor for archivers") are controlled by | ||
command line switches: -no_cache and -archive. | ||
* The option to use "DENY FROM" in the configuration is chosen by a | ||
compiler switch in the Makefile. | ||
* Other changes fix bugs (enable behavior that matches the documentation | ||
or the expectation) without any switch: | ||
* events are now forwared to alarm handler clients only when STAT or | ||
SEVR changes | ||
* bugfix: beacons were not sent to clients when -cip option was used. | ||
* bugfix: enums appeared frozen and analog values were rounded when | ||
alarm handler client is connected | ||
* bugfix: gateway hung (using 100% CPU time) then arrays > | ||
EPICS_CA_MAX_ARRAY_BYTES were read. | ||
|
||
## 2.0.0.2 (22 May 2007) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-0-1...R2-0-0-2) | ||
|
||
* Removed pre R3.14 Makefiles. | ||
|
||
## 2.0.0.1 (28 Feb 2007) | ||
[View diff](https://github.com/epics-extensions/ca-gateway/compare/R2-0-0-0...R2-0-0-1) | ||
|
||
* Fixed return code for gddAppType acks. | ||
|
||
## Original changelog entries dating back to 1998 | ||
|
||
Wed Feb 18 09:10:14 CST 1998 | ||
Upon USR1 signal gateway now executes commands specified in a | ||
gateway.command file. | ||
Incorporated latest changes to access security in gateAsCa.cc | ||
|
||
Tue Apr 21 22:38:59 CDT 1998 | ||
Real name is now used for access security pattern matching. | ||
Fixed PV Pattern Report | ||
New gdd api changes | ||
|
||
Tue Dec 22 12:53:15 CST 1998 | ||
Tagged current CVS version as Gateway0_1 before commit. | ||
Current version has ENUM hack changes. | ||
Fixed bug with removing items from pv_con_list. | ||
Core dumps, but infrequently. | ||
Has been in production use for several weeks. | ||
Will be tagged Gateway0_2 after commit. | ||
|
||
Tue Dec 22 13:15:08 CST 1998 | ||
This version has much debugging printout (inside #if's). | ||
Changed gateVc::remove -> vcRemove and add -> vcAdd. | ||
Eliminates warnings about hiding private ancestor functions on Unix. | ||
(Warning is invalid.) | ||
Now compiles with no warnings for COMPILR=STRICT on Solaris. | ||
Made changes to speed it up: | ||
Put #if around ca_add_fd_registration. | ||
Also eliminates calls to ca_pend in fdCB. | ||
Put #if DEBUG_PEND around calls to checkEvent, which calls ca_pend. | ||
Changed mainLoop to call fdManager::process with delay=0. | ||
Put explicit ca_poll in the mainLoop. | ||
All these changes eliminate calls to poll() which was predominant | ||
time user. Speed up under load is as much as a factor of 5. Under | ||
no load it runs continuously, however, rather than sleeping in | ||
poll(). | ||
Added #if NODEBUG around calls to Gateway debug routines (for speed). | ||
Changed ca_pend(GATE_REALLY_SMALL) to ca_poll for aesthetic reasons. | ||
Added timeStamp routine to gateServer.cc. | ||
Added line with PID and time stamp to log file on startup. | ||
Changed freopen for stderr to use "a" so it doesn't overwrite the log. | ||
Incorporated Ralph Lange changes by hand. | ||
Changed clock_gettime to osiTime to avoid unresolved reference. | ||
Fixed his gateAs::readPvList to eliminate core dump. | ||
Made other minor fixes. | ||
Did minor cleanup as noticed problems. | ||
This version appears to work but has debugging (mostly turned off). | ||
Will be tagged Gateway0_3 after commit. |
Oops, something went wrong.