From a27d687e2abdf10b16e5780df644a73f762afcaf Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Wed, 9 Oct 2013 03:47:28 +0200 Subject: [PATCH] Name the generated HPKG files properly * rule AddPackageFilesToHaikuImage: Add "flags" parameter. The only supported flag is "nameFromMetaInfo". It causes the packages to be copied under their canonical file name onto the image. * Use the new flag for all generated packages save haiku_loader.hpkg. --- build/jam/ImageRules | 16 ++++++++++++++-- build/jam/OptionalPackages | 10 +++++++--- build/jam/images/HaikuImage | 2 ++ build/jam/images/HaikuImageBootstrap | 2 ++ build/scripts/build_haiku_image | 6 ++++++ 5 files changed, 31 insertions(+), 5 deletions(-) diff --git a/build/jam/ImageRules b/build/jam/ImageRules index 0aabdc0fd5..172a766537 100644 --- a/build/jam/ImageRules +++ b/build/jam/ImageRules @@ -1009,14 +1009,26 @@ rule AddBootModuleSymlinksToHaikuImage targets : $(targets) ; } -rule AddPackageFilesToHaikuImage location : packages +rule AddPackageFilesToHaikuImage location : packages : flags { + # AddPackageFilesToHaikuImage : : + # + # Supported flags: + # nameFromMetaInfo - determine the target file name from the package meta + # info + packages = [ FFilterByBuildFeatures $(packages) ] ; HAIKU_PACKAGES_IN_IMAGE on $(HAIKU_IMAGE_CONTAINER_NAME) = [ on $(HAIKU_IMAGE_CONTAINER_NAME) return $(HAIKU_PACKAGES_IN_IMAGE) ] $(packages) ; HAIKU_PACKAGE_INSTALLATION_LOCATION on $(packages) = $(location) ; - AddFilesToHaikuImage $(location) packages : $(packages) ; + + if nameFromMetaInfo in $(flags) { + AddFilesToHaikuImage $(location) packages : $(packages) + : packageFileName : computeName ; + } else { + AddFilesToHaikuImage $(location) packages : $(packages) ; + } } rule AddOptionalHaikuImagePackages packages diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index e0716119ee..a9c018b499 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -146,6 +146,8 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] haiku_devel.hpkg haiku_$(TARGET_PACKAGING_ARCHS[2-])_devel.hpkg makefile_engine.hpkg + : + nameFromMetaInfo ; } @@ -271,7 +273,8 @@ if [ IsOptionalHaikuImagePackageAdded WebPositive ] { for architectureObject in [ MultiArchSubDirSetup ] { on $(architectureObject) { if [ FIsBuildFeatureEnabled webpositive ] { - AddPackageFilesToHaikuImage system : webpositive.hpkg ; + AddPackageFilesToHaikuImage system : webpositive.hpkg + : nameFromMetaInfo ; InstallOptionalHaikuImagePackage $(baseURL)/WebPositiveBookmarks-2012-02-18.zip : home config settings WebPositive ; @@ -284,8 +287,9 @@ if [ IsOptionalHaikuImagePackageAdded WebPositive ] { # Welcome if [ IsOptionalHaikuImagePackageAdded Welcome ] { - AddPackageFilesToHaikuImage system : haiku_userguide.hpkg ; - AddPackageFilesToHaikuImage system : haiku_welcome.hpkg ; + AddPackageFilesToHaikuImage system : haiku_userguide.hpkg + : nameFromMetaInfo ; + AddPackageFilesToHaikuImage system : haiku_welcome.hpkg : nameFromMetaInfo ; AddSymlinkToHaikuImage home Desktop : /boot/system/bin/welcome : Welcome ; diff --git a/build/jam/images/HaikuImage b/build/jam/images/HaikuImage index 930247e6c5..6a352b7838 100644 --- a/build/jam/images/HaikuImage +++ b/build/jam/images/HaikuImage @@ -218,6 +218,8 @@ include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPackages ] ; AddPackageFilesToHaikuImage system : haiku.hpkg haiku_$(TARGET_PACKAGING_ARCHS[2-]).hpkg + : + nameFromMetaInfo ; AddPackageFilesToHaikuImage system : haiku_loader.hpkg ; diff --git a/build/jam/images/HaikuImageBootstrap b/build/jam/images/HaikuImageBootstrap index fb50897225..9be515c0fb 100644 --- a/build/jam/images/HaikuImageBootstrap +++ b/build/jam/images/HaikuImageBootstrap @@ -175,6 +175,8 @@ include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPackages ] ; AddPackageFilesToHaikuImage system : haiku.hpkg haiku_$(TARGET_PACKAGING_ARCHS[2-]).hpkg + : + nameFromMetaInfo ; AddPackageFilesToHaikuImage system : haiku_loader.hpkg ; diff --git a/build/scripts/build_haiku_image b/build/scripts/build_haiku_image index 67125190f1..e64728160f 100755 --- a/build/scripts/build_haiku_image +++ b/build/scripts/build_haiku_image @@ -219,6 +219,12 @@ downloadFile() } +packageFileName() +{ + $package info -f "%fileName%" "$1" +} + + mkdir -p $tmpDir copyrightsFile=$tmpDir/copyrights $rmAttrs -f $copyrightsFile