checkRelease: identical path check causes misleading error message
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Fix Released
|
Undecided
|
Andrew Johnson | ||
3.14 |
Fix Released
|
Undecided
|
Andrew Johnson | ||
3.15 |
Fix Released
|
Undecided
|
Andrew Johnson | ||
3.16 |
Fix Released
|
Undecided
|
Andrew Johnson |
Bug Description
The additional RELEASE file checks introduced in (3.14 branch) revision 12633 cause irritating error messages.
If you take any module (e.g. the result of 'makeBaseApp.pl -t example') and move the definition of EPICS_BASE to the top of the file, so that the complete RELEASE file has the following two lines
EPICS_BASE=
TEMPLATE_
Running make will produce the error
make[2]: Entering directory '/home/
perl -CSD /home/ralph/
This application's RELEASE file(s) define
after but not adjacent to
TOP =
both of which resolve to /home/ralph/
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/
/home/ralph/
make[2]: *** [checkRelease] Error 1
which is at least wrong in a few ways, nonsensical and misleading.
I am removing the definition of TEMPLATE_TOP from the template file since that variable doesn't have to be present, makeBaseApp defaults to looking for templates in EPICS_BASE anyway.
The checkRelease.pl script should be ignoring both of the above variables when doing the check, but while they get deleted from the hash, they are still present in the list of modules that the new check is using.