From 8b006b36e7b87f0fc6c500cc9bf4755461af6563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Sat, 14 Aug 2010 16:43:55 +0000 Subject: [PATCH] Allow to suppress individual Optional Packages Add Jam rule SuppressOptionalHaikuImagePackages as a mechanism to keep packages from being installed. Extend the UserBuildConfig.ReadMe document to cover the new command. Closes ticket #6260. Changes from v1: * Simplified IsOptionalHaikuImagePackageAdded as suggested by Ingo. * Added example as documentation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38100 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/ImageRules | 13 ++++++++++++- build/jam/UserBuildConfig.ReadMe | 6 ++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/build/jam/ImageRules b/build/jam/ImageRules index cc511b5717..40c781a6ab 100644 --- a/build/jam/ImageRules +++ b/build/jam/ImageRules @@ -785,6 +785,16 @@ rule AddOptionalHaikuImagePackages packages } } +rule SuppressOptionalHaikuImagePackages packages +{ + local package ; + for package in $(packages) { + if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_SUPPRESSED) ] { + HAIKU_OPTIONAL_PACKAGE_SUPPRESSED on $(package) = 1 ; + } + } +} + rule IsOptionalHaikuImagePackageAdded package { if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] { @@ -792,7 +802,8 @@ rule IsOptionalHaikuImagePackageAdded package HAIKU_EXISTING_OPTIONAL_PACKAGES += $(package) ; } - if [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_ADDED) ] { + if [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_ADDED) ] && + ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_SUPPRESSED) ] { return 1 ; } diff --git a/build/jam/UserBuildConfig.ReadMe b/build/jam/UserBuildConfig.ReadMe index 113cfc0c01..f567c0eac9 100644 --- a/build/jam/UserBuildConfig.ReadMe +++ b/build/jam/UserBuildConfig.ReadMe @@ -128,6 +128,12 @@ ExtractArchiveToHaikuImage develop tools # via wget (i.e. wget must be installed). AddOptionalHaikuImagePackages WonderBrush ; +# Add the optional package WebPositive to the image but don't add its +# dependent SQLite optional package to the image. WebPositive still needs +# SQLite to run, this allows you to test a different version of it though. +AddOptionalHaikuImagePackages WebPositive ; +SuppressOptionalHaikuImagePackages SQLite ; + # Don't add the libraries built with the alternative gcc version. # If the alternative gcc generated directory has been specified via the # configure option --alternative-gcc-output-dir, the libraries for the