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  <20192020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: AW: checkRelease problem
From: "Zimoch Dirk \(PSI\) via Core-talk" <[email protected]>
To: "Johnson, Andrew N." <[email protected]>, "[email protected]" <[email protected]>
Date: Mon, 11 Nov 2019 13:10:25 +0000

Hi Andrew,

 

The patch works. Tested with base R7.0.3.

 

Thanks,

Dirk

 

Von: Johnson, Andrew N. <[email protected]>
Gesendet: Freitag, 8. November 2019 00:58
An: Zimoch Dirk (PSI) <[email protected]>; [email protected]
Betreff: Re: checkRelease problem

 

Hi Dirk,

On 11/7/19 9:11 AM, Zimoch Dirk (PSI) via Core-talk wrote:

I have in my RELEASE.local:
SSCAN=
IPAC=
SNCSEQ=
(To overwrite settings in some SynApps modules.)
 
I get this error:
This application's RELEASE file(s) define 
  IPAC =  
after but not adjacent to 
  SSCAN =  
both of which resolve to /home/zimoch/git/calc/configure/O.linux-x86_64 
Module definitions that share paths must be grouped together. 
Either remove a definition, or move it to a line immediately 
above or below the other(s). 
Any non-module definitions belong in configure/CONFIG_SITE. 
 
First of all, the definitions are adjacent. But more important, it should be OK to define an arbitrary number of module paths as empty strings.

I agree with your last statement, that's an oops!

When the script does those checks it filters each value through AbsPath(), but doing that for an empty string returns the CWD (hence your "both of which resolve to" path above).

The "lines are not adjacent" message isn't referring to the entries in your RELEASE.local but to those in the RELEASE file where the module names were first defined. The script adds names to a list the first time it sees each one defined (ignoring repeats), but it does remember all the values it sees which get stored separately in a hash. "When first seen" is the order that actually matters for the purposes of this check, so while the above wording isn't correct when values get overwritten by later assignments, the rule that it's enforcing is correct. I will re-word the message.

This patch (against 3.15) ignores empty values for the purposes of these checks. Please confirm that it works for you and I will commit it:

diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl
index b80ae6f..09429e3 100644
--- a/src/tools/convertRelease.pl
+++ b/src/tools/convertRelease.pl
@@ -242,7 +242,9 @@ sub checkRelease {
     my $latest = AbsPath($macros{$app});
     my %paths = ($latest => $app);
     foreach $app (@modules) {
-        my $path = AbsPath($macros{$app});
+        my $val = $macros{$app};
+        next if $val eq '';
+        my $path = AbsPath($val);
         if ($path ne $latest && exists $paths{$path}) {
             my $prev = $paths{$path};
             print "\n" unless ($status);


Thanks,

- Andrew

-- 
Complexity comes for free, Simplicity you have to work for.

References:
checkRelease problem Zimoch Dirk (PSI) via Core-talk
Re: checkRelease problem Johnson, Andrew N. via Core-talk

Navigate by Date:
Prev: Re: epics.anl.gov off-line? Wallis, David via Core-talk
Next: Build failed in Jenkins: epics-base-3.15-win32-test #247 APS Jenkins via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: checkRelease problem Johnson, Andrew N. via Core-talk
Next: missing: TESTDBD Benjamin Franksen via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 11 Nov 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·