Compare commits

...

20 Commits

Author SHA1 Message Date
Andrew Johnson
8b97e78bc3 Set version snapshot to -rc1 2017-11-30 17:53:14 -06:00
Andrew Johnson
28b4a0c80a Some wording about the source reorganization 2017-11-30 17:52:09 -06:00
Andrew Johnson
0d28984932 Version number updates in secondary documents 2017-11-30 17:51:38 -06:00
Andrew Johnson
cfe5cfa9ca Merge 'ignore-siml-failure' and document. 2017-11-30 17:25:21 -06:00
Andrew Johnson
5cd98a0356 Submodule cleanup updates
Unify .gitignore files
Use 'make test-results' in travis-build scripts
2017-11-30 14:17:03 -06:00
Andrew Johnson
ca8942ecb5 Housekeeping in .ci
Cleanup of make-tar.sh script
Added new checkout-modules.sh script
2017-11-30 14:14:20 -06:00
Andrew Johnson
6b0e4d5d2b Merged PR for libcom from Bruce Hill 2017-11-29 17:52:30 -06:00
Andrew Johnson
bf7d4f5c96 Submodule updates. 2017-11-29 17:23:52 -06:00
Andrew Johnson
09328e42c9 Allow for a modules/Makefile.local
This permits other submodules to be integrated into a build
without having to edit the Makefile itself.
2017-11-29 17:22:48 -06:00
Andrew Johnson
f3d0ce0fb9 Merge 3.16 into core/master and submodules 2017-11-18 13:55:24 -06:00
Andrew Johnson
2d1f1ed2fa Merge 3.15 into 3.16 2017-11-18 13:30:06 -06:00
Andrew Johnson
db005ac3fe RULES_TARGET: Define $(lib)_DIR before it is needed
TESTLIBRARY products were being installed, because an executable
that was linked to one added a dependency assuming it would be in
the INSTALL_LIB directory. The $(lib)_DIR was being set too late
for test libraries, so the fallback location was used instead.
This fix sets $(lib)_DIR for test libraries before any rules use it.
2017-11-17 14:55:50 -06:00
Michael Davidsaver
ba8bbbd098 update make-tar.sh 2017-11-16 18:27:57 -06:00
Andrew Johnson
df4c8b4935 Set snapshot to -pre1-DEV, post-tag
This seems illogical, shouldn't it now be -rc1-DEV now?
2017-11-16 12:03:51 -06:00
Andrew Johnson
c28a360357 Merge changes from 3.15 branch into 3.16 2017-11-15 22:20:42 -06:00
Andrew Johnson
0f0deb8903 Merge fixups/db_close_events into 3.15 2017-11-15 21:23:28 -06:00
Andrew Johnson
baf997193e Merge aSubRecord fixes from 3.14 into 3.15 2017-11-15 21:15:51 -06:00
Andrew Johnson
5278799575 aSubRecord: Copy the right amount of data
Initialize OVLx from VALx with NEVx elements, size from FTVx
2017-11-15 20:59:06 -06:00
Michael Davidsaver
e794639e31 ioc/db: avoid possible race in db_close_events()
lp:1730982
2017-11-08 14:42:08 -06:00
Michael Davidsaver
2af98c33c9 std/rec: aSub handle INAM changing outputs
Allow EFLG="On Change" to work with INAM.
2017-11-08 14:29:30 -06:00
17 changed files with 111 additions and 52 deletions

8
.ci/checkout-modules.sh Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/sh
#
# Checkout submodules on their appropriate branches
#
git submodule foreach '\
git checkout `git config -f $toplevel/.gitmodules submodule.$name.branch` && \
git pull '

View File

@@ -4,6 +4,11 @@
#
set -e
die() {
echo "$1" >&2
exit 1
}
TOPREV="$1"
FINALTAR="$2"
PREFIX="$3"
@@ -23,7 +28,12 @@ EOF
fi
[ "$FINALTAR" ] || FINALTAR="$TOPREV.tar.gz"
[ "PREFIX" ] || PREFIX="$TOPREV/"
[ "$PREFIX" ] || PREFIX="$TOPREV/"
case "$PREFIX" in
*/) ;;
*) die "Prefix must end with '/'";;
esac
# temporary directory w/ automatic cleanup
TDIR=`mktemp -d`
@@ -31,7 +41,7 @@ trap 'rm -rf "$TDIR"' EXIT INT QUIT TERM
mkdir "$TDIR"/tar
echo "Export revision $TOPREV as $FINALTAR with prefix $PREFIX"
echo "Exporting revision $TOPREV as $FINALTAR with prefix $PREFIX"
# Use git-archive to copy files at the given revision into our temp. dir.
# Respects 'export-exclude' in .gitattributes files.
@@ -45,28 +55,30 @@ git archive --prefix=$PREFIX $TOPREV | tar -C "$TDIR"/tar -x
git ls-tree -r $TOPREV | awk '/^[0-9]+ commit / {print $3, $4}' | \
while read HASH MODDIR
do
echo "visit $HASH $MODDIR"
(cd $MODDIR && git archive --prefix=${PREFIX}${MODDIR}/ $HASH) | tar -C "$TDIR"/tar -x
echo "Visiting $HASH $MODDIR"
git -C $MODDIR archive --prefix=${PREFIX}${MODDIR}/ $HASH | tar -C "$TDIR"/tar -x
done
# make a list of files copied and filter out undesirables
(cd "$TDIR"/tar && find .) > "$TDIR"/list.1
(cd "$TDIR"/tar && find . -mindepth 1 -not -type d) > "$TDIR"/list.1
# Remove leading ./ from filenames
sed -i -e 's|^\./||' "$TDIR"/list.1
# Exclude files
sed \
-e '/.*ci$/d' \
-e '/.*ci\//d' \
-e '/.*jenkins$/d' \
-e '/.*jenkins\//d' \
-e '/\.git/d' \
-e '/\.project/d' \
-e '/.*\.travis\.yml$/d' \
-e '/.*\.appveyor\.yml$/d' \
"$TDIR"/list.1 > "$TDIR"/list.2
-e '/\/\.\?ci\//d' \
-e '/\/jenkins\//d' \
-e '/\/\.git/d' \
-e '/\/\.project$/d' \
-e '/\/\.travis\.yml$/d' \
-e '/\/\.appveyor\.yml$/d' \
"$TDIR"/list.1 > "$TDIR"/list.2
if ! diff -u "$TDIR"/list.1 "$TDIR"/list.2
if ! diff -U 0 "$TDIR"/list.1 "$TDIR"/list.2
then
echo "Warning: prohibited files being ignored"
echo "Excluding the files shown above"
fi
# Use the filtered list to build the final tar
@@ -75,3 +87,11 @@ fi
tar -C "$TDIR"/tar --files-from="$TDIR"/list.2 -caf "$FINALTAR"
echo "Wrote $FINALTAR"
tar -taf "$FINALTAR" > "$TDIR"/list.3
# make sure we haven't picked up anything extra
if ! diff -u "$TDIR"/list.2 "$TDIR"/list.3
then
echo "Oops! Tarfile diff against plan shown above"
fi

1
.gitignore vendored
View File

@@ -8,6 +8,7 @@
/templates/
/configure/*.local
/modules/RELEASE.local
/modules/Makefile.local
O.*/
/QtC-*
*.orig

View File

@@ -47,11 +47,11 @@ EPICS_PATCH_LEVEL = 0
# This will end in -DEV between official releases
#EPICS_DEV_SNAPSHOT=-DEV
EPICS_DEV_SNAPSHOT=-pre1
#EPICS_DEV_SNAPSHOT=-pre1
#EPICS_DEV_SNAPSHOT=-pre1-DEV
#EPICS_DEV_SNAPSHOT=-pre2
#EPICS_DEV_SNAPSHOT=-pre2-DEV
#EPICS_DEV_SNAPSHOT=-rc1
EPICS_DEV_SNAPSHOT=-rc1
#EPICS_DEV_SNAPSHOT=-rc1-DEV
#EPICS_DEV_SNAPSHOT=-rc2
#EPICS_DEV_SNAPSHOT=-rc2-DEV

View File

@@ -38,6 +38,17 @@ $(foreach target, $(PROD) $(TESTPROD), \
#-----------------------------------------------------------------------
# These must be done before PROD2_template
define TESTLIBRARY_template
$(1)_DIR = .
TESTBUILD_LIBRARY += $$(if $$(strip $$($(1)_OBJSNAME) $$(LIBRARY_OBJS)),$(1),)
endef
$(foreach target, $(TESTLIBRARY), \
$(eval $(call TESTLIBRARY_template,$(strip $(target)))))
#-----------------------------------------------------------------------
define TARGET2_template
$(1)_LDLIBS += $$($(1)_LIBS)
$(1)_LDLIBS += $$(if $$(strip $$($(1)_LIBS_$(OS_CLASS))), \
@@ -123,16 +134,6 @@ $(foreach target, $(LIBRARY), \
#-----------------------------------------------------------------------
define LIBRARY3_template
$(1)_DIR = .
TESTBUILD_LIBRARY += $$(if $$(strip $$($(1)_OBJSNAME) $$(LIBRARY_OBJS)),$(1),)
endef
$(foreach target, $(TESTLIBRARY), \
$(eval $(call LIBRARY3_template,$(strip $(target)))))
#-----------------------------------------------------------------------
define LOADABLE_LIBRARY_template
LOADABLE_BUILD_LIBRARY += $$(if $$(strip $$($(1)_OBJSNAME) $$(LIBRARY_OBJS)),$(1),)

View File

@@ -4,17 +4,17 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Known Problems in Base-3.16.1</title>
<title>Known Problems in EPICS 7.0.1</title>
</head>
<body>
<h1 style="text-align: center">EPICS Base R3.16.1: Known Problems</h1>
<h1 style="text-align: center">EPICS 7.0.1: Known Problems</h1>
<p>Any patch files linked below should be applied at the root of the
base-3.16.1 tree. Download them, then use the GNU Patch program as
base-7.0.1 tree. Download them, then use the GNU Patch program as
follows:</p>
<blockquote><pre>% <b>cd <i>/path/to/</i>base-3.16.1</b>
<blockquote><pre>% <b>cd <i>/path/to/</i>base-7.0.1</b>
% <b>patch -p1 &lt; <i>/path/to/</i>file.patch</b></pre></blockquote>
<p>The following problems were known by the developers at the time of this
@@ -32,10 +32,6 @@ release:</p>
about duplicate EPICS CA Address list entries. These warnings might be due
to a bug in Cygwin; they are benign and can be ignored.</li>
<li>64-bit Windows builds of the CAS library may not work with some compilers.
The code in <tt>src/legacy/gdd</tt> is incompatible with the LLP64 model
that Windows uses for its 64-bit ABI.</li>
</ul>
</body>

View File

@@ -9,7 +9,7 @@
<BODY>
<CENTER>
<H1>Installation Instructions</H1>
<H2>EPICS Base Release 3.16.1</H2><BR>
<H2>EPICS Base Release 7.0.1</H2><BR>
</CENTER>
<HR>
<H3> Table of Contents</H3>
@@ -243,11 +243,11 @@ Files in the base/startup directory have been provided to
help set required path and other environment variables.
<P><B>EPICS_HOST_ARCH</B><BR>
Before you can build or use EPICS R3.15, the environment variable
EPICS_HOST_ARCH must be defined. A perl script EpicsHostArch.pl in the
Before you can build or use EPICS Base, the environment variable
EPICS_HOST_ARCH should be defined. A perl script EpicsHostArch.pl in the
base/startup directory has been provided to help set EPICS_HOST_ARCH.
You should have EPICS_HOST_ARCH set to your host operating system
followed by a dash and then your host architecture, e.g. solaris-sparc.
followed by a dash and then your CPU architecture, e.g. linux-x86_64.
If you are not using the OS vendor's c/c++ compiler for host builds,
you will need another dash followed by the alternate compiler name
(e.g. &quot;-gnu&quot; for GNU c/c++ compilers on a solaris host or &quot;-mingw&quot;
@@ -269,7 +269,7 @@ Files in the base/startup directory have been provided to
<P><B>LD_LIBRARY_PATH</B><BR>
R3.15 shared libraries and executables normally contain the full path
EPICS shared libraries and executables normally contain the full path
to any libraries they require.
However, if you move the EPICS files or directories from their build-time
location then in order for the shared libraries to be found at runtime
@@ -343,7 +343,7 @@ Files in the base/startup directory have been provided to
and then executed to try out this release of base.
<P>
Instructions for building and executing the 3.15 example application
Instructions for building and executing the example IOC application
can be found in the section &quot;Example Application&quot; of Chapter 2,
&quot;Getting Started&quot;, in the &quot;IOC Application Developer's Guide&quot; for this
release. The &quot;Example IOC Application&quot; section briefly explains how to

View File

@@ -17,6 +17,16 @@
-->
<h3>Changed SIML failure behavior</h3>
<p>A failure when fetching the simulation mode through <tt>SIML</tt> will not
put the record into INVALID alarm state anymore. Instead, as long as the
record's current alarm severity (<tt>SEVR</tt>)is NO_ALARM, its alarm status
(<tt>STAT</tt>) will be set to LINK_ALARM without increasing the severity. This
allows clients to get some notification of a failing or bad <tt>SIML</tt> link
without otherwise affecting record processing.</p>
<h3>dbVerify() has been restored to dbStaticLib</h3>
<p>This routine was removed in Base-3.16.1 but has been reimplemented in this
@@ -24,6 +34,7 @@ release by special request. Note that the error message strings that it returns
when verification fails have changed, but are still designed for display to the
user.</p>
<h3>Simulation mode improvements</h3>
<p>Records that support simulation mode have two new fields, <tt>SSCN</tt>
@@ -49,6 +60,25 @@ the environment variable EPICS_IOC_IGNORE_SERVERS (separated by spaces if more
than one should be ignored).</p>
<h3>Grand source-code reorganization</h3>
<p>EPICS 7.0.1 contains the IOC Database, RSRV server and the Channel Access
client code from EPICS Base 3.16.1 along with all the original record types and
soft device support, but GDD and the Portable Channel Access Server have been
unbundled and are now available separately. In their place we have brought in
the more recently written EPICS V4 C++ libraries (collectively referred to as
the PVA modules). The directory tree for EPICS is somewhat larger as a result,
and the original structure of the Base directories has been split into 4
separate Git repositories. External modules should build against this new
structure with little or no changes needed, except that some allowance may be
needed for the merging of the V4 modules.</p>
<p>There should be rather more description and documantation of these changes
than is currently available, but as developers we generally much prefer to write
code than documentation. Send questions to the tech-talk mailing list and we'll
be happy to try and answer them!</p>
<h2 align="center">Changes from the 3.16 branch since 3.16.1</h2>
<!-- Insert inherited items immediately below here ... -->

View File

@@ -36,8 +36,11 @@ pva2pva_DEPEND_DIRS = pvAccess
SUBMODULES += example
example_DEPEND_DIRS = pva2pva pvaClient
# Add any checked-out submodules to DIRS
DIRS += $(subst /,,$(dir $(wildcard $(addsuffix /Makefile, $(SUBMODULES)))))
# Allow sites to add extra submodules
-include Makefile.local
# Add only checked-out submodules to DIRS
DIRS += $(subst /Makefile,,$(wildcard $(addsuffix /Makefile, $(SUBMODULES))))
include $(TOP)/configure/RULES_DIRS