diff -r 06aa7294f456 haiku/build/jam/ImageRules
a
|
b
|
|
273 | 273 | DIRECTORIES_TO_INSTALL on $(directory) += $(targetDir) ; |
274 | 274 | } |
275 | 275 | |
276 | | rule ExtractArchiveToContainer container : directoryTokens : archiveFile |
| 276 | rule ExtractArchiveToContainer container : directoryTokens : archiveFile : extractedSubDir |
277 | 277 | { |
278 | | # ExtractArchiveToContainer <container> : <directory> : <archiveFile> ; |
| 278 | # ExtractArchiveToContainer <container> : <directory> : <archiveFile> : <extractedSubDir> ; |
279 | 279 | # |
280 | 280 | |
281 | 281 | local directory = [ AddDirectoryToContainer $(container) |
282 | 282 | : $(directoryTokens) ] ; |
283 | 283 | |
284 | 284 | ARCHIVE_FILES_TO_INSTALL on $(directory) += $(archiveFile) ; |
| 285 | ARCHIVE_SUBDIR_TO_INSTALL_FROM on $(archiveFile) = $(extractedSubDir) ; |
285 | 286 | } |
286 | 287 | |
287 | 288 | rule AddDriversToContainer container : relativeDirectoryTokens : targets |
… |
… |
|
590 | 591 | NotFile $(dummyTarget) ; |
591 | 592 | TARGET_DIR on $(dummyTarget) = $(dir:G=) ; |
592 | 593 | |
| 594 | local extractedSubDir = [ on $(archiveFile) |
| 595 | return $(ARCHIVE_SUBDIR_TO_INSTALL_FROM) ] ; |
| 596 | NotFile $(extractedSubDir) ; |
| 597 | |
593 | 598 | Depends $(dummyTarget) : $(initScript) $(archiveFile) |
594 | 599 | $(serializationDependency) ; |
595 | 600 | Depends $(script) : $(dummyTarget) ; |
596 | 601 | serializationDependency = $(dummyTarget) ; |
597 | 602 | |
598 | 603 | AddExtractFileToContainerExtractFilesScript $(dummyTarget) |
599 | | : $(initScript) $(archiveFile) ; |
| 604 | : $(initScript) $(archiveFile) $(extractedSubDir) ; |
600 | 605 | } |
601 | 606 | } |
602 | 607 | } |
… |
… |
|
604 | 609 | |
605 | 610 | actions AddExtractFileToContainerExtractFilesScript |
606 | 611 | { |
607 | | echo extractFile "\"$(2[2])\"" "\"$(TARGET_DIR)\"" >> $(2[1]) |
| 612 | echo extractFile "\"$(2[2])\"" "\"$(TARGET_DIR)\"" "\"$(2[3])\"" >> $(2[1]) |
608 | 613 | } |
609 | 614 | |
610 | 615 | |
… |
… |
|
691 | 696 | : $(dirName) : -x .svn : $(alwaysUpdate) ; |
692 | 697 | } |
693 | 698 | |
694 | | rule ExtractArchiveToHaikuImage dirTokens : archiveFile : alwaysUpdate |
| 699 | rule AddWifiFirmwareToHaikuImage driver : package : archive |
695 | 700 | { |
696 | | # ExtractArchiveToHaikuImage <dirTokens> : <archiveFile> : <alwaysUpdate> ; |
| 701 | #AddWifiFirmwareToHaikuImage <driver> : <package> : <archive> |
| 702 | |
| 703 | # complete location to wifi firmware archive |
| 704 | local firmwareArchive = [ FDirName |
| 705 | $(HAIKU_TOP) data system data firmware $(driver) $(archive) ] ; |
| 706 | |
| 707 | local dirTokens = system data firmware $(driver) ; |
| 708 | |
| 709 | ExtractArchiveToHaikuImage $(dirTokens) : $(firmwareArchive) : : $(package) ; |
| 710 | } |
| 711 | |
| 712 | rule ExtractArchiveToHaikuImage dirTokens : archiveFile : alwaysUpdate : extractedSubDir |
| 713 | { |
| 714 | # ExtractArchiveToHaikuImage <dirTokens> : <archiveFile> : <alwaysUpdate> : <extractedSubDir> ; |
697 | 715 | |
698 | 716 | # If the image shall only be updated, we extract only, if explicitely |
699 | 717 | # requested. |
700 | 718 | if ! [ IsUpdateHaikuImageOnly ] || $(alwaysUpdate) { |
701 | 719 | ExtractArchiveToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : $(dirTokens) |
702 | | : $(archiveFile) ; |
| 720 | : $(archiveFile) : $(extractedSubDir) ; |
703 | 721 | } |
704 | 722 | } |
705 | 723 | |
diff -r 06aa7294f456 haiku/build/scripts/build_haiku_cd
a
|
b
|
|
40 | 40 | # extractFile <archive> <directory> |
41 | 41 | archiveFile=$1 |
42 | 42 | targetExtractDir=$2 |
| 43 | extractedSubDir=$3 |
43 | 44 | |
44 | 45 | echo "Extracting $archiveFile ..." |
45 | 46 | |
… |
… |
|
66 | 67 | rm $extractDir/.OptionalPackageDescription |
67 | 68 | fi |
68 | 69 | |
69 | | $cp -r "$extractDir/." "${tPrefix}$targetExtractDir" |
| 70 | $cp -r "$extractDir/$extractedSubDir/." "${tPrefix}$targetExtractDir" |
70 | 71 | |
71 | 72 | $rmAttrs -rf "$extractDir" |
72 | 73 | } |
diff -r 06aa7294f456 haiku/build/scripts/build_haiku_image
a
|
b
|
|
79 | 79 | # extractFile <archive> <directory> |
80 | 80 | archiveFile=$1 |
81 | 81 | targetExtractedDir=$2 |
| 82 | extractedSubDir=$3 |
82 | 83 | |
83 | 84 | echo "Extracting $archiveFile ..." |
84 | 85 | |
… |
… |
|
105 | 106 | rm $extractDir/.OptionalPackageDescription |
106 | 107 | fi |
107 | 108 | |
108 | | $cp -r "${sPrefix}$extractDir/." "${tPrefix}$targetExtractedDir" |
| 109 | $cp -r "${sPrefix}$extractDir/$extractedSubDir/." "${tPrefix}$targetExtractedDir" |
109 | 110 | |
110 | 111 | $rmAttrs -rf "$extractDir" |
111 | 112 | } |