EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Possible bug in convertRelease.pl
From: Florian Feldbauer via Core-talk <core-talk at aps.anl.gov>
To: core-talk at aps.anl.gov
Cc: "Zumbruch, Peter Dr." <P.Zumbruch at gsi.de>
Date: Tue, 18 Aug 2020 10:32:54 +0200

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

Definition of SNCSEQ conflicts with ASYN support.
In this application or module, a RELEASE file
conflicts with ASYN at /opt/epics/modules/asyn
  Here: SNCSEQ = /opt/epics/modules/seq-2-0-12
  ASYN: SNCSEQ = /opt/epics/modules/seq-2-2-5

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,
Florian




-- 
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


Replies:
Re: Possible bug in convertRelease.pl Johnson, Andrew N. via Core-talk

Navigate by Date:
Prev: Build failed: EPICS Base 7 base-7.0-67 AppVeyor via Core-talk
Next: getVersionHelper.pl ignore -V option Jeong Han Lee via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Build failed: EPICS Base 7 base-7.0-67 AppVeyor via Core-talk
Next: Re: Possible bug in convertRelease.pl Johnson, Andrew N. via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 18 Aug 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·