From fd284733802131b617a6abe4dc4faa82e14edf0d Mon Sep 17 00:00:00 2001 From: Simon Rose <simon.rose@ess.eu> Date: Mon, 5 Oct 2020 15:59:33 +0200 Subject: [PATCH] Added DBD_INSTALLS +=... --- docs/RELEASE_NOTES.md | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index d1e0d49f..fa5047fd 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -1,6 +1,9 @@ # 3.3.0 -3.3.0 is a relatively major release with many bugfixes and a number of features added based on consultation with developers. One major change is that versions are now parsed as MAJOR.MINOR.PATCH-BUILD (with build number being optional, assumed to be zero if not present). This has proven to be necessary in the NFS setting for a number of separate reasons to handle dependencies properly. Note the following behavior: +3.3.0 is a relatively major release with many bugfixes and a number of features added based on consultation +with developers. One major change is that versions are now parsed as MAJOR.MINOR.PATCH-BUILD (with build +number being optional, assumed to be zero if not present). This has proven to be necessary in the NFS +setting for a number of separate reasons to handle dependencies properly. Note the following behavior: * `require module` - loads the latest numeric version of a given module. * `require module,x.x.x` - loads the specific numeric version of a module, with the highest build number @@ -11,13 +14,21 @@ A second major change (mostly via bugfixes) is that the local install command, ` ## New Features * Removed all EPICS 3.* and VxWorks code, as these are not to be supported at ESS. -* Consistent with the philosophy of not requiring module version pinning, if one specifies a dependent module with e.g. `REQUIRED += asyn` then the latest version of asyn will be used. No version needs to be specified. -* Installed modules will be installed together with a metadata file containing information about the module and wrapper, including the git status of the wrapper/module, the latest tag/commit hash, and the git url for the wrapper. +* Consistent with the philosophy of not requiring module version pinning, if one specifies a dependent + module with e.g. `REQUIRED += asyn` then the latest version of asyn will be used. No version need + to be specified. +* Installed modules will be installed together with a metadata file containing information about the + module and wrapper, including the git status of the wrapper/module, the latest tag/commit hash, and + the git url for the wrapper. * Build numbers are now supported properly -* `iocsh.bash` will load `env.sh` at startup (which can be specified), which allows IOCNAME to be specified at startup -* Added the ability to install header files while preserving directory structure instead of flattening all header files into a single module/version/includes directory. -* Using `EPICS_MODULE_TAG` to detect if we are using the local source code vs. git submodule. Note that the old -loc is still supported, but will be deprecated in a future release. +* `iocsh.bash` will load `env.sh` at startup (which can be specified), which allows `IOCNAME` to be + specified at startup +* Added the ability to install header files while preserving directory structure instead of flattening + all header files into a single module/version/includes directory. +* Using `EPICS_MODULE_TAG` to detect if we are using the local source code vs. git submodule. Note that + the old -loc is still supported, but will be deprecated in a future release. * Added a `prebuild` target that runs before build so module developers can run specific code before the build process. +* A module developer can now install dbd files separate from the module dbd file by using `DBD_INSTALLS += file.dbd`. ## Bugfixes @@ -32,10 +43,16 @@ A second major change (mostly via bugfixes) is that the local install command, ` * `iocsh.bash` now supports multiple directories being specified with the -l (local) flag as a source of loading modules * Fixed an error where mounting the NFS E3 in a location other than `/epics` would result in failed builds * Assorted minor typos in scripts +* Re-added functionality to have `iocsh.bash` automagically source `setE3Env.bash`. # 3.2.0 -Require 3.2.0 is the first version of require used during our initial return to the NFS implementation of E3. It maintains some of the work done there (modules are lowercased for consistency), but mostly reverts back to a similar version to require 3.1.2. One major difference is that module pinning is not "required" (pun only semi-intended). That is, a startup script can simply include a statement of the form "require module" instead of "require module,version" as was the case in 3.1.2. An IOC developer can of course pin a specific module version. If they do not, then the highest numeric version will be chosen. +Require 3.2.0 is the first version of require used during our initial return to the NFS implementation +of E3. It maintains some of the work done there (modules are lowercased for consistency), but mostly +reverts back to a similar version to require 3.1.2. One major difference is that module pinning is not +"required" (pun only semi-intended). That is, a startup script can simply include a statement of the +form `require module` instead of `require module,version` as was the case in 3.1.2. An IOC developer can +of course pin a specific module version. If they do not, then the highest numeric version will be chosen. ## New Features @@ -46,4 +63,5 @@ Require 3.2.0 is the first version of require used during our initial return to ## Bugfixes -* Fixed issue where a second user running `iocsh.bash` on a machine would be unable to create the temporary startup script +* Fixed issue where a second user running `iocsh.bash` on a machine would be unable to create the temporary + startup script -- GitLab