[haiku-commits] haiku: hrev53987 - build/jam

  • From: Adrien Destugues <pulkomandy@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 16 Mar 2020 05:58:05 -0400 (EDT)

hrev53987 adds 1 changeset to branch 'master'
old head: e3952a44cdb018af413668e9213e8c9593bbc570
new head: 4f44282c3bbe2fb1885f632371aee1b3c9be16db
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=4f44282c3bbe+%5Ee3952a44cdb0

----------------------------------------------------------------------------

4f44282c3bbe: Move source and development packages out of /system/packages on 
release images
  
  Activating all these packages on live boot (especially live DVD where we
  also have the write overlay eating up RAM) significantly increases
  memory requirements for running Haiku, to the point that Installer may
  fail to run. Move them outside the packages/ directory so they are not
  activated.
  
  Installer already skips the _sources_ directory when installing, and
  lists the contents of _packages_ with checkbox to decide what to include
  in the install (they are put in system/packages on the target disk).
  
  Fix from previous version: the Haiku package was installed to /system
  instead of /system/packages.
  
  Fixes #15621.

                             [ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev53987
Commit:      4f44282c3bbe2fb1885f632371aee1b3c9be16db
URL:         https://git.haiku-os.org/haiku/commit/?id=4f44282c3bbe
Author:      Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date:        Sat Jan 25 21:27:48 2020 UTC

Ticket:      https://dev.haiku-os.org/ticket/15621

----------------------------------------------------------------------------

7 files changed, 88 insertions(+), 87 deletions(-)
Jamfile                          | 12 +++---
build/jam/DefaultBuildProfiles   | 42 ++++++++++----------
build/jam/ImageRules             | 33 ++++++++++++----
build/jam/OptionalPackages       | 76 ++++++++++++++----------------------
build/jam/UserBuildConfig.ReadMe |  8 ++--
build/jam/images/HaikuCD         |  2 +-
build/jam/images/HaikuImage      |  2 +-

----------------------------------------------------------------------------

diff --git a/Jamfile b/Jamfile
index d2a09f47ed..de9e087b2b 100644
--- a/Jamfile
+++ b/Jamfile
@@ -19,7 +19,7 @@ for architectureObject in [ MultiArchSubDirSetup ] {
 
 # Include required packages:
 # primary architecture
-AddHaikuImagePackages [ FFilterByBuildFeatures
+AddHaikuImageSystemPackages [ FFilterByBuildFeatures
        bash bc coreutils curl freetype icu libsolv zlib zstd
 
        regular_image @{
@@ -44,7 +44,7 @@ AddHaikuImageSourcePackages [ FFilterByBuildFeatures
        }@
 ] ;
 if $(HAIKU_PACKAGING_ARCHS[1]) != x86_gcc2 {
-       AddHaikuImagePackages [ FFilterByBuildFeatures gcc_syslibs ] ;
+       AddHaikuImageSystemPackages [ FFilterByBuildFeatures gcc_syslibs ] ;
 }
 
 if $(HAIKU_PACKAGING_ARCHS[2]) {
@@ -53,7 +53,7 @@ if $(HAIKU_PACKAGING_ARCHS[2]) {
        for architectureObject
                        in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) 
] {
                on $(architectureObject) {
-                       AddHaikuImagePackages [ FFilterByBuildFeatures
+                       AddHaikuImageSystemPackages [ FFilterByBuildFeatures
                                curl freetype icu libsolv zlib
 
                                regular_image @{
@@ -61,7 +61,7 @@ if $(HAIKU_PACKAGING_ARCHS[2]) {
                                }@
                        ] ;
                        if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {
-                               AddHaikuImagePackages [ FFilterByBuildFeatures 
gcc_syslibs
+                               AddHaikuImageSystemPackages [ 
FFilterByBuildFeatures gcc_syslibs
                                        mesa_swpipe ] ;
                        }
                }
@@ -70,11 +70,11 @@ if $(HAIKU_PACKAGING_ARCHS[2]) {
 
 # If enabled, make sure that OpenSSL is added to the image.
 if [ FIsBuildFeatureEnabled openssl ] {
-       AddHaikuImagePackages openssl ;
+       AddHaikuImageSystemPackages openssl ;
 }
 
 # add additionally requested packages
-AddHaikuImagePackages $(HAIKU_IMAGE_ADDITIONAL_PACKAGES) ;
+AddHaikuImageSystemPackages $(HAIKU_IMAGE_ADDITIONAL_PACKAGES) ;
 
 # Optionally we allow not to include the "src" subdirectory.
 if $(HAIKU_DONT_INCLUDE_SRC) {
diff --git a/build/jam/DefaultBuildProfiles b/build/jam/DefaultBuildProfiles
index 4f322beffd..dc5088d2f0 100644
--- a/build/jam/DefaultBuildProfiles
+++ b/build/jam/DefaultBuildProfiles
@@ -79,7 +79,7 @@ rule DefineDefaultBuildProfiles
                                HAIKU_IMAGE_SIZE ?= 690 ;
                        }
 
-                       AddHaikuImagePackages
+                       AddHaikuImageSystemPackages
                                bepdf
                                keymapswitcher
                                llvm
@@ -112,7 +112,7 @@ rule DefineDefaultBuildProfiles
                        local architectureObject ;
                        for architectureObject in [ MultiArchSubDirSetup ] {
                                on $(architectureObject) {
-                                       AddHaikuImagePackages openssl 
wonderbrush@gcc2 ;
+                                       AddHaikuImageSystemPackages openssl 
wonderbrush@gcc2 ;
                                }
                        }
 
@@ -126,11 +126,6 @@ rule DefineDefaultBuildProfiles
                        }
                }
 
-               case "alpha-*" : {
-                       Echo The alpha-* build profiles have been renamed to 
release-* ;
-                       Exit ;
-               }
-
                case "nightly-*" : {
                        Echo Building Haiku Nightly ;
                        HAIKU_ROOT_USER_NAME ?= user ;
@@ -143,7 +138,7 @@ rule DefineDefaultBuildProfiles
                        HAIKU_IMAGE_SIZE ?= 600 ;
                        HAIKU_NIGHTLY_BUILD = 1 ;
 
-                       AddHaikuImagePackages
+                       AddHaikuImageSystemPackages
                                man
                                nano
                                noto
@@ -182,7 +177,7 @@ rule DefineDefaultBuildProfiles
                                HAIKU_IMAGE_SIZE ?= 450 ;
                        }
 
-                       AddHaikuImagePackages
+                       AddHaikuImageSystemPackages
                                openssl
                                ;
                }
@@ -192,53 +187,58 @@ rule DefineDefaultBuildProfiles
                        HAIKU_IMAGE_HOST_NAME ?= shredder ;
                        HAIKU_IMAGE_SIZE ?= 20000 ;
 
-                       AddHaikuImagePackages
+                       AddHaikuImageSystemPackages
                                binutils
                                bison
-                               curl_devel
                                expat
                                flex
-                               freetype_devel
                                gawk
                                gcc
                                grep
                                haikuporter
                                less
                                libedit
-                               libedit_devel
                                m4
                                make
                                ncurses6
-                               ncurses6_devel
                                noto
                                python
                                sed
                                texinfo
-                               zlib_devel
                                ;
 
+                       AddHaikuImageDisabledPackages
+                               curl_devel
+                               freetype_devel
+                               libedit_devel
+                               ncurses6_devel
+                               zlib_devel
+                       ;
+
                        # secondary architecture packages
                        local architectureObject ;
                        for architectureObject
                                        in [ MultiArchSubDirSetup 
$(TARGET_PACKAGING_ARCHS[2-]) ] {
                                on $(architectureObject) {
-                                       AddHaikuImagePackages
+                                       AddHaikuImageSystemPackages
                                                binutils
                                                curl
-                                               curl_devel
                                                expat
                                                freetype
-                                               freetype_devel
                                                gcc
                                                icu
                                                libsolv
                                                libedit
-                                               libedit_devel
                                                ncurses6
-                                               ncurses6_devel
                                                zlib
-                                               zlib_devel
                                                ;
+                                       AddHaikuImageDisabledPackages
+                                               curl_devel
+                                               freetype_devel
+                                               libedit_devel
+                                               ncurses6_devel
+                                               zlib_devel
+                                       ;
                                }
                        }
 
diff --git a/build/jam/ImageRules b/build/jam/ImageRules
index be9dfa2f0f..5c11609dc9 100644
--- a/build/jam/ImageRules
+++ b/build/jam/ImageRules
@@ -1039,13 +1039,12 @@ rule AddPackageFilesToHaikuImage location : packages : 
flags
        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) ;
 
        if nameFromMetaInfo in $(flags) {
-               AddFilesToHaikuImage $(location) packages : $(packages)
+               AddFilesToHaikuImage $(location) : $(packages)
                        : packageFileName : computeName ;
        } else {
-               AddFilesToHaikuImage $(location) packages : $(packages) ;
+               AddFilesToHaikuImage $(location) : $(packages) ;
        }
 }
 
@@ -1097,10 +1096,10 @@ rule OptionalPackageDependencies package : dependencies
 }
 
 
-rule AddHaikuImagePackages packages
+rule AddHaikuImagePackages packages : directory
 {
-       # AddHaikuImagePackages <packages> ;
-       # Adds the given packages <packages> to the image.
+       # AddHaikuImagePackages <packages> : <directory> ;
+       # Adds the given packages <packages> to the image in the given 
directory.
 
        packages = [ FFilterByBuildFeatures $(packages) ] ;
 
@@ -1124,7 +1123,7 @@ rule AddHaikuImagePackages packages
                                HAIKU_INCLUDE_IN_IMAGE on $(file) = 1 ;
                        }
 
-                       AddPackageFilesToHaikuImage system : $(file) ;
+                       AddPackageFilesToHaikuImage $(directory) : $(file) ;
                }
        }
 }
@@ -1135,10 +1134,28 @@ rule AddHaikuImageSourcePackages packages
        # Adds the given source packages for <packages> to the image.
 
        if $(HAIKU_INCLUDE_SOURCES) = 1 {
-               AddHaikuImagePackages $(packages)_source ;
+               AddHaikuImagePackages $(packages)_source : _sources_ ;
        }
 }
 
+rule AddHaikuImageSystemPackages packages
+{
+       # AddHaikuImageSystemPackages <packages> ;
+       # Adds the given packages for <packages> to the image, in the system
+       # directory, so they will be activated on first boot.
+
+       AddHaikuImagePackages $(packages) : system packages ;
+}
+
+rule AddHaikuImageDisabledPackages packages
+{
+       # AddHaikuImageDisabledPackages <packages> ;
+       # Adds the given packages for <packages> to the image, in the _packages_
+       # directory, so they can be later enabled in Installer.
+
+       AddHaikuImagePackages $(packages) : _packages_ ;
+}
+
 rule IsHaikuImagePackageAdded package
 {
        local resolvedPackage = [ IsPackageAvailable $(package) ] ;
diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages
index 1853e0c49b..2022cc5a97 100644
--- a/build/jam/OptionalPackages
+++ b/build/jam/OptionalPackages
@@ -21,7 +21,7 @@ OptionalPackageDependencies NetFS : UserlandFS ;
 
 # Haiku sources
 if $(HAIKU_INCLUDE_SOURCES) = 1 {
-       AddPackageFilesToHaikuImage system
+       AddPackageFilesToHaikuImage _sources_
                :
                haiku_source.hpkg
                :
@@ -32,7 +32,7 @@ if $(HAIKU_INCLUDE_SOURCES) = 1 {
 
 # BeBook
 if [ IsOptionalHaikuImagePackageAdded BeBook ] {
-       AddHaikuImagePackages be_book ;
+       AddHaikuImageSystemPackages be_book ;
        AddSymlinkToHaikuImage home Desktop
                : /boot/system/documentation/BeBook/index.html
                : BeBook ;
@@ -66,18 +66,18 @@ if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
 # Development
 if [ IsOptionalHaikuImagePackageAdded Development ] {
        # autotools and perl
-       AddHaikuImagePackages autoconf automake perl texinfo ;
+       AddHaikuImageDisabledPackages autoconf automake perl texinfo ;
        AddHaikuImageSourcePackages autoconf automake texinfo ;
 
        # some other build tools
-       AddHaikuImagePackages pkgconfig scons ;
+       AddHaikuImageDisabledPackages pkgconfig scons ;
        AddHaikuImageSourcePackages pkgconfig ;
 
        # devel packages for some of the base set
        local architectureObject ;
        for architectureObject in [ MultiArchSubDirSetup ] {
                on $(architectureObject) {
-                       AddHaikuImagePackages curl_devel glu_devel jpeg_devel
+                       AddHaikuImageDisabledPackages curl_devel glu_devel 
jpeg_devel
                                libpng16_devel zlib_devel ;
                }
        }
@@ -90,13 +90,13 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] {
        local architectureObject ;
        for architectureObject in [ MultiArchSubDirSetup ] {
                on $(architectureObject) {
-                       AddHaikuImagePackages binutils gcc ;
+                       AddHaikuImageDisabledPackages binutils gcc ;
                        AddHaikuImageSourcePackages binutils gcc ;
                }
        }
 
        # other commonly used tools
-       AddHaikuImagePackages bison cdrtools flex jam m4 make mkdepend nasm 
patch ;
+       AddHaikuImageDisabledPackages bison cdrtools flex jam m4 make mkdepend 
nasm patch ;
        AddHaikuImageSourcePackages bison cdrtools m4 make patch ;
 }
 
@@ -104,7 +104,7 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] {
 # DevelopmentMin
 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
                && ( $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 ) {
-       AddPackageFilesToHaikuImage system
+       AddPackageFilesToHaikuImage _packages_
                :
                haiku_devel.hpkg
                haiku_$(TARGET_PACKAGING_ARCHS[2-])_devel.hpkg
@@ -113,7 +113,7 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
                ;
 
        if $(HAIKU_IS_BOOTSTRAP) != 1 {
-               AddPackageFilesToHaikuImage system
+               AddPackageFilesToHaikuImage _packages_
                        :
                        makefile_engine.hpkg
                        :
@@ -125,7 +125,7 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
 
 # Git
 if [ IsOptionalHaikuImagePackageAdded Git ] {
-       AddHaikuImagePackages git git_daemon ;
+       AddHaikuImageSystemPackages git git_daemon ;
        AddHaikuImageSourcePackages git ;
 }
 
@@ -136,7 +136,7 @@ if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
        for architectureObject in [ MultiArchSubDirSetup ] {
                on $(architectureObject) {
                        if [ FIsBuildFeatureEnabled webpositive ] {
-                               AddPackageFilesToHaikuImage system : 
webpositive.hpkg
+                               AddPackageFilesToHaikuImage system packages : 
webpositive.hpkg
                                        : nameFromMetaInfo ;
                                break ;
                        }
@@ -147,42 +147,26 @@ if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
 
 # Welcome
 if [ IsOptionalHaikuImagePackageAdded Welcome ] {
-       AddPackageFilesToHaikuImage system : haiku_userguide_ca.hpkg
+       AddPackageFilesToHaikuImage system packages :
+               haiku_userguide_ca.hpkg
+               haiku_userguide_de.hpkg
+               haiku_userguide_en.hpkg
+               haiku_userguide_es.hpkg
+               haiku_userguide_fi.hpkg
+               haiku_userguide_fr.hpkg
+               haiku_userguide_hu.hpkg
+               haiku_userguide_it.hpkg
+               haiku_userguide_jp.hpkg
+               haiku_userguide_pl.hpkg
+               haiku_userguide_pt_BR.hpkg
+               haiku_userguide_pt_PT.hpkg
+               haiku_userguide_ru.hpkg
+               haiku_userguide_sk.hpkg
+               haiku_userguide_sv_SE.hpkg
+               haiku_userguide_uk.hpkg
+               haiku_userguide_zh_CN.hpkg
+               haiku_welcome.hpkg
                : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_de.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_en.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_es.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_fi.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_fr.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_hu.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_it.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_jp.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_pl.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_pt_BR.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_pt_PT.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_ru.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_sk.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_sv_SE.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_uk.hpkg
-               : nameFromMetaInfo ;
-       AddPackageFilesToHaikuImage system : haiku_userguide_zh_CN.hpkg
-               : nameFromMetaInfo ;
-
-       AddPackageFilesToHaikuImage system : haiku_welcome.hpkg : 
nameFromMetaInfo ;
 
        AddSymlinkToHaikuImage home Desktop     : /boot/system/bin/quicktour
                : Quick\ Tour ;
diff --git a/build/jam/UserBuildConfig.ReadMe b/build/jam/UserBuildConfig.ReadMe
index de9a80932c..c0c1320f26 100644
--- a/build/jam/UserBuildConfig.ReadMe
+++ b/build/jam/UserBuildConfig.ReadMe
@@ -142,7 +142,7 @@ ExtractArchiveToHaikuImage develop tools
 
 # Add the optional package WonderBrush to the image. The package is downloaded
 # via wget (i.e. wget must be installed).
-AddHaikuImagePackages WonderBrush ;
+AddHaikuImageSystemPackages WonderBrush ;
 
 # Add the optional package WebPositive to the image but don't add its
 # dependent SQLite optional package to the image. WebPositive still needs
@@ -212,7 +212,7 @@ switch $(HAIKU_BUILD_PROFILE) {
        case "disk" : {
                AddOptionalHaikuImagePackages BeBook BeHappy Bluetooth 
Development
                        OpenSSH OpenSSL Welcome ;
-               AddHaikuImagePackages bepdf cvs p7zip pe subversion vision 
wonderbrush ;
+               AddHaikuImageSystemPackages bepdf cvs p7zip pe subversion 
vision wonderbrush ;
        }
 
        case "qemu" : {
@@ -223,7 +223,7 @@ switch $(HAIKU_BUILD_PROFILE) {
                HAIKU_IMAGE_SIZE = 400 ;
                HAIKU_DONT_CLEAR_IMAGE = 1 ;
                AddOptionalHaikuImagePackages Development ;
-               AddHaikuImagePackages pe ;
+               AddHaikuImageSystemPackages pe ;
        }
 
        case "anyboot" : {
@@ -234,7 +234,7 @@ switch $(HAIKU_BUILD_PROFILE) {
                HAIKU_IMAGE_SIZE = 1024 ;
                HAIKU_DONT_CLEAR_IMAGE = 1 ;
                AddOptionalHaikuImagePackages Development ;
-               AddHaikuImagePackages pe ;
+               AddHaikuImageSystemPackages pe ;
                CopyDirectoryToHaikuImage home Desktop : 
$(HAIKU_TOP)/../crash-tests ;
        }
 }
diff --git a/build/jam/images/HaikuCD b/build/jam/images/HaikuCD
index 3057181e99..a09dcc1d16 100644
--- a/build/jam/images/HaikuCD
+++ b/build/jam/images/HaikuCD
@@ -1,5 +1,5 @@
 # Execute pre-image user config rules.
-UserBuildConfigRulePreImage    ;
+UserBuildConfigRulePreImage ;
 
 # Set cd file name and directory defaults and locate the cd file.
 HAIKU_CD_NAME ?= $(HAIKU_DEFAULT_CD_NAME) ;
diff --git a/build/jam/images/HaikuImage b/build/jam/images/HaikuImage
index a37f91105d..6e93dc8a8d 100644
--- a/build/jam/images/HaikuImage
+++ b/build/jam/images/HaikuImage
@@ -14,7 +14,7 @@ if $(HAIKU_BUILD_TYPE) = bootstrap {
 # build the haiku system packages and add them
 include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPackages ] ;
 
-AddPackageFilesToHaikuImage system :
+AddPackageFilesToHaikuImage system packages :
        haiku_loader.hpkg
        haiku.hpkg
        haiku_$(TARGET_PACKAGING_ARCHS[2-]).hpkg


Other related posts:

  • » [haiku-commits] haiku: hrev53987 - build/jam - Adrien Destugues