From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31680 invoked by alias); 2 May 2008 14:54:40 -0000 Received: (qmail 31665 invoked by uid 440); 2 May 2008 14:54:40 -0000 Date: Fri, 02 May 2008 14:54:00 -0000 Message-ID: <20080502145440.31639.qmail@sourceware.org> From: scox@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Follow Unix ./executable convention. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 8d06b9bb3c74976b8913336c5392867f06846e9c X-Git-Newrev: bd4079f3265adffbd81e8fc1a8d2dd0314cd27b1 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2008-q2/txt/msg00178.txt.bz2 The branch, master has been updated via bd4079f3265adffbd81e8fc1a8d2dd0314cd27b1 (commit) from 8d06b9bb3c74976b8913336c5392867f06846e9c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit bd4079f3265adffbd81e8fc1a8d2dd0314cd27b1 Author: Stan Cox Date: Fri May 2 10:52:16 2008 -0400 Follow Unix ./executable convention. * SysRoot.java (findExe): Follow Unix ./executable convention. * TestSysRoot.java (testExePath): New ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/sysroot/ChangeLog | 5 +++++ frysk-core/frysk/sysroot/SysRoot.java | 11 +++++++---- frysk-core/frysk/sysroot/TestSysRoot.java | 24 ++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 4 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/sysroot/ChangeLog b/frysk-core/frysk/sysroot/ChangeLog index 3309028..fa0a22b 100644 --- a/frysk-core/frysk/sysroot/ChangeLog +++ b/frysk-core/frysk/sysroot/ChangeLog @@ -1,3 +1,8 @@ +2008-05-02 Stan Cox + + * SysRoot.java (findExe): Follow Unix ./executable convention. + * TestSysRoot.java (testExePath): New. + 2008-04-30 Stan Cox * SysRoot.java (findExe): Consider relative paths. diff --git a/frysk-core/frysk/sysroot/SysRoot.java b/frysk-core/frysk/sysroot/SysRoot.java index 7bbbdd3..38c355a 100644 --- a/frysk-core/frysk/sysroot/SysRoot.java +++ b/frysk-core/frysk/sysroot/SysRoot.java @@ -120,7 +120,7 @@ public class SysRoot { return exeFile; } - if (arg0.startsWith("/")) { + if (arg0.startsWith(File.separator)) { return exeFile; } @@ -129,13 +129,16 @@ public class SysRoot { return exeFile; } - if (sysRoot.getPath().compareTo("/") == 0) { - if (! exeFile.isAbsolute() && exeFile.exists()) { - // given "./executable" with sysroot "/" + // Given "./executable" with sysroot "/" + if (sysRoot.getPath().compareTo(File.separator) == 0) { + if (! exeFile.isAbsolute() + && exeFile.getPath().indexOf(File.separator) != -1 + && exeFile.exists()) { return exeFile; } } + // Otherwise search in $PATH for (int i = 0; i < path.length; i++) { File file = new File(new File(sysRoot.getPath(), path[i]), arg0); if (file.exists()) { diff --git a/frysk-core/frysk/sysroot/TestSysRoot.java b/frysk-core/frysk/sysroot/TestSysRoot.java index a989aa0..208f4a9 100644 --- a/frysk-core/frysk/sysroot/TestSysRoot.java +++ b/frysk-core/frysk/sysroot/TestSysRoot.java @@ -42,6 +42,7 @@ package frysk.sysroot; import java.io.File; import frysk.config.Prefix; +import frysk.testbed.TearDownExpect; import frysk.testbed.TestLib; public class TestSysRoot extends TestLib { @@ -124,4 +125,27 @@ public class TestSysRoot extends TestLib { assertEquals("getSourcePathViaSysRoot relative", 0, testPath.getSysRootedFile().compareTo(correctPath)); } + + public void testExePath() { + String sysRootPath = Prefix.pkgLibFile(".").getParent() + + "/test-sysroot/usr/bin"; + + File fexe = Prefix.binFile("fexe"); + TearDownExpect e = new TearDownExpect(new String[] { + "/bin/bash", + "-c", + "PATH=" + sysRootPath + " ; cd " + Prefix.pkgLibFile(".") + " ; " + + fexe.getAbsolutePath() + " ./funit-quicksort" + }); + e.expect(Prefix.pkgLibFile(".").getParent() + "/funit-quicksort"); + + e = new TearDownExpect(new String[] { + "/bin/bash", + "-c", + "PATH=" + sysRootPath + " ; cd " + Prefix.pkgLibFile(".") + " ; " + + fexe.getAbsolutePath() + " funit-quicksort" + }); + e.expect(sysRootPath + "/funit-quicksort"); + } + } hooks/post-receive -- frysk system monitor/debugger