convertRelease didn't resolve paths with ../ in it
Bug #973140 reported by
Helge Brands
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Won't Fix
|
Low
|
Unassigned |
Bug Description
perl ../../.
Definition of EPICS_BASE conflicts with PVDATA support.
In this application a RELEASE file defines
EPICS_BASE = /cygdrive/
but PVDATA at /cygdrive/
EPICS_BASE = /cygdrive/
My workaround is to change the RULES_BUILD:
checkRelease:
-$(CONVERTRELEASE) checkRelease
to avoid cancelation of the build.
To post a comment you must log in.
Hi Helge,
I will look at this issue, although I can't promise that it can easily be fixed. Since there might be soft-links in the path it is not always correct to replace a/b/../c with a/c — if b is a soft-link to a different part of the tree then a/b/.. is not the same as a, and the directory a/c might not exist or might contain something completely different than a/b/../c.
I recommend using something like the following approach instead if you want to reduce duplication in the file:
SUPPORT = /cygdrive/c/epics /base-3. 14.12.2 /EPICSv4- 1.0.1-BETA V4)/pvDataCPP V4)/pvAccessCPP
EPICS_BASE = $(SUPPORT)
EPICS_V4 = $(SUPPORT)
PVDATA = $(EPICS_
PVACCESS = $(EPICS_
There is also a better workaround than modifying your RULES_BUILD file: Just edit the configure/ CONFIG_ SITE file in your application and change the CHECK_RELEASE setting from YES to WARN. This will still print the warning but will not stop the build from continuing.
- Andrew