ExtractArchiveToContainer: Add update support
Add an alwaysUpdate parameter like the ExtractArchiveTo{Image,Package}
rules have and do the handling in the base rule.
This commit is contained in:
+12
-9
@@ -339,7 +339,7 @@ rule AddWifiFirmwareToContainer container : driver : package : archive : extract
|
|||||||
local dirTokens = $(systemDirTokens) data firmware $(driver) ;
|
local dirTokens = $(systemDirTokens) data firmware $(driver) ;
|
||||||
if $(extract) = true || $(extract) = 1 {
|
if $(extract) = true || $(extract) = 1 {
|
||||||
ExtractArchiveToContainer $(container) : $(dirTokens)
|
ExtractArchiveToContainer $(container) : $(dirTokens)
|
||||||
: $(firmwareArchive) : $(package) ;
|
: $(firmwareArchive) : : $(package) ;
|
||||||
} else {
|
} else {
|
||||||
AddFilesToContainer $(container) : $(dirTokens) : $(firmwareArchive) ;
|
AddFilesToContainer $(container) : $(dirTokens) : $(firmwareArchive) ;
|
||||||
}
|
}
|
||||||
@@ -347,10 +347,17 @@ rule AddWifiFirmwareToContainer container : driver : package : archive : extract
|
|||||||
|
|
||||||
|
|
||||||
rule ExtractArchiveToContainer container : directoryTokens : archiveFile
|
rule ExtractArchiveToContainer container : directoryTokens : archiveFile
|
||||||
: extractedSubDir
|
: alwaysUpdate : extractedSubDir
|
||||||
{
|
{
|
||||||
# ExtractArchiveToContainer <container> : <directory> : <archiveFile>
|
# ExtractArchiveToContainer <container> : <directory> : <archiveFile>
|
||||||
# : <extractedSubDir> ;
|
# : <alwaysUpdate> : <extractedSubDir> ;
|
||||||
|
|
||||||
|
# If the container shall only be updated, we extract only, if explicitely
|
||||||
|
# requested.
|
||||||
|
if [ on $(container) return $(HAIKU_CONTAINER_UPDATE_ONLY) ]
|
||||||
|
&& ! $(alwaysUpdate) {
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
local directory = [ AddDirectoryToContainer $(container)
|
local directory = [ AddDirectoryToContainer $(container)
|
||||||
: $(directoryTokens) ] ;
|
: $(directoryTokens) ] ;
|
||||||
@@ -815,12 +822,8 @@ rule ExtractArchiveToHaikuImage dirTokens : archiveFile : alwaysUpdate
|
|||||||
# ExtractArchiveToHaikuImage <dirTokens> : <archiveFile> : <alwaysUpdate>
|
# ExtractArchiveToHaikuImage <dirTokens> : <archiveFile> : <alwaysUpdate>
|
||||||
# : <extractedSubDir> ;
|
# : <extractedSubDir> ;
|
||||||
|
|
||||||
# If the image shall only be updated, we extract only, if explicitely
|
ExtractArchiveToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : $(dirTokens)
|
||||||
# requested.
|
: $(archiveFile) : $(alwaysUpdate) : $(extractedSubDir) ;
|
||||||
if ! [ IsUpdateHaikuImageOnly ] || $(alwaysUpdate) {
|
|
||||||
ExtractArchiveToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : $(dirTokens)
|
|
||||||
: $(archiveFile) : $(extractedSubDir) ;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rule AddDriversToHaikuImage relativeDirectoryTokens : targets
|
rule AddDriversToHaikuImage relativeDirectoryTokens : targets
|
||||||
|
|||||||
@@ -400,9 +400,8 @@ rule AddWifiFirmwareToPackage driver : subDirToExtract : archive
|
|||||||
rule ExtractArchiveToPackage dirTokens : archiveFile : alwaysUpdate
|
rule ExtractArchiveToPackage dirTokens : archiveFile : alwaysUpdate
|
||||||
: extractedSubDir
|
: extractedSubDir
|
||||||
{
|
{
|
||||||
# TODO: Update support?
|
|
||||||
ExtractArchiveToContainer $(HAIKU_CURRENTLY_BUILT_HAIKU_PACKAGE)
|
ExtractArchiveToContainer $(HAIKU_CURRENTLY_BUILT_HAIKU_PACKAGE)
|
||||||
: $(dirTokens) : $(archiveFile) : $(extractedSubDir) ;
|
: $(dirTokens) : $(archiveFile) : $(alwaysUpdate) : $(extractedSubDir) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user