ImageRules: Fix issues where file names may contain parens
Parentheses in target names are considered by Jam to mean an archive member. We have to explicitly use the M selector to keep that part. Fixes #10378 (certain keymaps missing on image).
This commit is contained in:
@@ -250,12 +250,12 @@ rule AddFilesToContainer container : directoryTokens : targets : destName
|
|||||||
if $(destName) {
|
if $(destName) {
|
||||||
if computeName in $(flags) {
|
if computeName in $(flags) {
|
||||||
nameFunction = $(destName) ;
|
nameFunction = $(destName) ;
|
||||||
name = $(destName)/$(target:BS) ;
|
name = $(destName)/$(target:BSM) ;
|
||||||
} else {
|
} else {
|
||||||
name = $(destName) ;
|
name = $(destName) ;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
name = $(target:BS) ;
|
name = $(target:BSM) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
local installTarget = $(target) ;
|
local installTarget = $(target) ;
|
||||||
@@ -367,7 +367,7 @@ rule CopyDirectoryToContainer container : directoryTokens : sourceDirectory
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ! $(targetDirectoryName) {
|
if ! $(targetDirectoryName) {
|
||||||
targetDirectoryName = $(sourceDirectory[1]:BS) ;
|
targetDirectoryName = $(sourceDirectory[1]:BSM) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# If sourceDirectory is a path, not a target, make it a target, so we can
|
# If sourceDirectory is a path, not a target, make it a target, so we can
|
||||||
@@ -495,7 +495,7 @@ rule AddDriversToContainer container : relativeDirectoryTokens : targets
|
|||||||
|
|
||||||
# add the symlinks
|
# add the symlinks
|
||||||
local name ;
|
local name ;
|
||||||
for name in $(targets:BS) {
|
for name in $(targets:BSM) {
|
||||||
AddSymlinkToContainer $(container) : $(directoryTokens)
|
AddSymlinkToContainer $(container) : $(directoryTokens)
|
||||||
: [ FDirName $(linkPrefix) $(name) ] : $(name) ;
|
: [ FDirName $(linkPrefix) $(name) ] : $(name) ;
|
||||||
}
|
}
|
||||||
@@ -559,7 +559,7 @@ rule AddBootModuleSymlinksToContainer container : targets
|
|||||||
installDir = $(installDir[2-]) ;
|
installDir = $(installDir[2-]) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
local name = $(target:BS) ;
|
local name = $(target:BSM) ;
|
||||||
local linkTarget = [ FDirName ../../.. $(installDir) $(name) ] ;
|
local linkTarget = [ FDirName ../../.. $(installDir) $(name) ] ;
|
||||||
|
|
||||||
AddSymlinkToContainer $(container)
|
AddSymlinkToContainer $(container)
|
||||||
@@ -701,7 +701,7 @@ rule CreateContainerCopyFilesScript container : script
|
|||||||
for destTarget in $(destTargets) {
|
for destTarget in $(destTargets) {
|
||||||
local target = [ on $(destTarget) return $(TARGET) ] ;
|
local target = [ on $(destTarget) return $(TARGET) ] ;
|
||||||
local name = $(destTarget:G=) ;
|
local name = $(destTarget:G=) ;
|
||||||
if $(name) != $(target:BS) {
|
if $(name) != $(target:BSM) {
|
||||||
# use a unique dummy target for this file, on which we
|
# use a unique dummy target for this file, on which we
|
||||||
# can define the TARGET_DIR variable
|
# can define the TARGET_DIR variable
|
||||||
local dummyTarget = $(script)-dummy-$(dir:G=)-$(target) ;
|
local dummyTarget = $(script)-dummy-$(dir:G=)-$(target) ;
|
||||||
|
|||||||
Reference in New Issue
Block a user