convertRelease didn't resolve paths with ../ in it

Bug #973140 reported by Helge Brands
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
Won't Fix
Low
Unassigned

Bug Description

perl ../../../../base-3.14.12.2/bin/win32-x86/convertRelease.pl checkRelease

Definition of EPICS_BASE conflicts with PVDATA support.
In this application a RELEASE file defines
        EPICS_BASE = /cygdrive/c/epics/EPICSv4-1.0.1-BETA/pvAccessCPP/../../base-3.14.12.2
but PVDATA at /cygdrive/c/epics/EPICSv4-1.0.1-BETA/pvAccessCPP/../pvDataCPP defines
        EPICS_BASE = /cygdrive/c/epics/base-3.14.12.2

My workaround is to change the RULES_BUILD:

checkRelease:
 -$(CONVERTRELEASE) checkRelease

to avoid cancelation of the build.

Revision history for this message
Andrew Johnson (anj) wrote :

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
EPICS_BASE = $(SUPPORT)/base-3.14.12.2
EPICS_V4 = $(SUPPORT)/EPICSv4-1.0.1-BETA
PVDATA = $(EPICS_V4)/pvDataCPP
PVACCESS = $(EPICS_V4)/pvAccessCPP

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

Changed in epics-base:
importance: Undecided → Low
status: New → Confirmed
Revision history for this message
Andrew Johnson (anj) wrote :

Workarounds available, not worth trying to fix.

Changed in epics-base:
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.