|
|
Experimental Physics and
| ||||||||||||||||
|
|
Hey all, I'm using Base 7.0.3.1 and have noticed a small Problem. I tried building calc, asyn, stream and iocStats modules (in this order) using a `$(TOP)/../RELEASE.local` file, so I do not have to make site specific modifications to any of the git repos. My RELEASE.local looks like this: ## Module directory SUPPORT = /opt/epics/modules ## unused "optional" dependencies undefine IPAC undefine SNCSEQ undefine SSCAN undefine PCRE ## Modules ASYN = $(SUPPORT)/asyn CALC = $(SUPPORT)/calc IOCSTATS = $(SUPPORT)/iocStats STREAM = $(SUPPORT)/stream ## EPICS BASE EPICS_BASE = /opt/epics/base Now building calc, asyn, and stream works just fine, but building iocStats failed with
perl -CSD /opt/epics/base/bin/linux-x86_64/convertRelease.pl checkRelease Looking at ${BASE}/lib/perl/EPICS/Release.pm, the script looks only for definitions like "<macro> = <path>", but is ignoring "undefine" statements which leads to above error. Attached is a small patch to also handle those undefine statements. In my test environment it works but further testing would not hurt! Cheers,
-- Ruhr-Universität Bochum AG der Experimentalphysik I Dr. Florian Feldbauer NB 2/131 / Fach 125 Universitätsstr. 150 D-44801 Bochum Office: NB 2/134 Phone: (+49)234 / 32-23563 Fax: (+49)234 / 32-14170 https://paluma.ruhr-uni-bochum.de From bd0f12a058d1892aa4cd22d8a253061b573991b5 Mon Sep 17 00:00:00 2001
From: Florian Feldbauer <florian at ep1.ruhr-uni-bochum.de>
Date: Tue, 18 Aug 2020 10:27:46 +0200
Subject: [PATCH] checkRelease ignores undefine macro
checkRelease has thrown errors when the value for a macro
was different in two modules although the macro was undefined
in a local release file.
---
src/tools/EPICS/Release.pm | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/tools/EPICS/Release.pm b/src/tools/EPICS/Release.pm
index 6ae0dbd9a..ebe1dab50 100644
--- a/src/tools/EPICS/Release.pm
+++ b/src/tools/EPICS/Release.pm
@@ -71,6 +71,13 @@ sub readRelease {
$Rmacros->{$macro} = $val;
next;
}
+
+ # Handle "undefine <macro>" statements
+ my ($undefmacro) = m/^ \s* undefine \s* (\w+) /x;
+ if ($undefmacro ne '') {
+ delete $Rmacros->{$undefmacro} if exists $Rmacros->{$undefmacro}
+ }
+
# Handle "include <path>" and "-include <path>" syntax
my ($op, $path) = m/^ \s* (-? include) \s+ (.*)/x;
$path = expandMacros($path, $Rmacros);
--
2.27.0
| ||||||||||||||||
| ANJ, 18 Aug 2020 |
·
Home
·
News
·
About
·
Talk
·
Base
·
Modules
·
Extensions
·
· Distributions · Download · Documents · Links · Licensing · |