From 490b4a94810a8c8fbca524b8e3951f9460f8afea Mon Sep 17 00:00:00 2001 From: Matt Madia Date: Sun, 10 Apr 2011 17:58:35 +0000 Subject: [PATCH] Patch by Corneliu - Claudiu Prodescu "cprodescu". Ensures that ExtractArchive extracts the files, even when the specified target directory exists. Fixes #7425. Thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41211 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/FileRules | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/build/jam/FileRules b/build/jam/FileRules index 46835a44d7..be37e6760c 100644 --- a/build/jam/FileRules +++ b/build/jam/FileRules @@ -221,7 +221,7 @@ rule ExtractArchive directory : entries : archiveFile : grist } LOCATE on $(targets) = $(directory) ; - Depends $(targets) : $(directory) ; + Depends $(targets) : $(directory) $(archiveFile) ; NoUpdate $(targets) ; # one-time initialization for the main target (the directory) @@ -235,8 +235,10 @@ rule ExtractArchive directory : entries : archiveFile : grist Depends $(directory) : $(archiveFile) ; switch $(archiveFile:S) { - case .zip : ExtractZipArchive1 $(directory) : $(archiveFile) ; - case .tgz : ExtractTarArchive1 $(directory) : $(archiveFile) ; + case .zip : ExtractZipArchive1 $(targets) : $(directory) + $(archiveFile) ; + case .tgz : ExtractTarArchive1 $(targets) : $(directory) + $(archiveFile) ; case * : Exit "ExtractArchive: Unhandled archive extension: $(archiveFile:S)" ; } @@ -252,14 +254,14 @@ rule ExtractArchive directory : entries : archiveFile : grist actions ExtractZipArchive1 { - mkdir -p $(1[1]) - unzip -q -u -o -d $(1[1]) $(2) + mkdir -p $(2[1]) + unzip -q -u -o -d $(2[1]) $(2[2]) } actions ExtractTarArchive1 { - mkdir -p $(1[1]) - tar -C $(1[1]) -xf $(2) + mkdir -p $(2[1]) + tar -C $(2[1]) -xf $(2[2]) } actions ExtractArchiveDummy