Author: mmadia Date: 2011-04-10 19:58:35 +0200 (Sun, 10 Apr 2011) New Revision: 41211 Changeset: https://dev.haiku-os.org/changeset/41211 Ticket: https://dev.haiku-os.org/ticket/7425 Modified: haiku/trunk/build/jam/FileRules Log: Patch by Corneliu - Claudiu Prodescu "cprodescu". Ensures that ExtractArchive extracts the files, even when the specified target directory exists. Fixes #7425. Thanks! Modified: haiku/trunk/build/jam/FileRules =================================================================== --- haiku/trunk/build/jam/FileRules 2011-04-10 02:07:52 UTC (rev 41210) +++ haiku/trunk/build/jam/FileRules 2011-04-10 17:58:35 UTC (rev 41211) @@ -221,7 +221,7 @@ } 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 @@ 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 @@ 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