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