haiku/build/jam/OptionalPackages
Adrien Destugues 0ab9c3c538 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).

Fixes #15621.

Change-Id: Ibfac14c43dbe708316a0d82ca1c9d49b5cba2aef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2157
Reviewed-by: Sergei Reznikov <diver@gelios.net>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-03-14 18:31:23 +00:00

177 lines
4.8 KiB
Plaintext

# This file defines the optional packages that can be added to the Haiku image.
# It is directly included from HaikuImage -- all variables defined there can
# be used.
# Available Optional Packages:
# BeOSCompatibility - creates links within the system to support old apps
# Development - more complete dev environment (including autotools)
# DevelopmentBase - basic development environment (gcc, headers, libs,...)
# DevelopmentMin - development headers, libs, tools, from sources only
# Git - the distributed version control system
# WebPositive - native, WebKit-based web browser
# Welcome - introductory documentation to Haiku
# dependencies between optional packages
OptionalPackageDependencies Development : DevelopmentBase ;
OptionalPackageDependencies DevelopmentBase : DevelopmentMin ;
OptionalPackageDependencies DevelopmentPowerPC : DevelopmentMin ;
OptionalPackageDependencies NetFS : UserlandFS ;
# Haiku sources
if $(HAIKU_INCLUDE_SOURCES) = 1 {
AddPackageFilesToHaikuImage _sources_
:
haiku_source.hpkg
:
nameFromMetaInfo
;
}
# BeBook
if [ IsOptionalHaikuImagePackageAdded BeBook ] {
AddHaikuImageSystemPackages be_book ;
AddSymlinkToHaikuImage home Desktop
: /boot/system/documentation/BeBook/index.html
: BeBook ;
}
# BeOSCompatibility
if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package BeOSCompatibility available for"
"$(TARGET_ARCH)" ;
} else if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) >= 4 {
Echo "No optional package BeOSCompatibility available for gcc4" ;
} else {
Echo "Warning: Adding BeOS compatibility symlinks. This will go away."
"Please fix your apps!" ;
AddSymlinkToHaikuImage beos : ../system/apps ;
AddSymlinkToHaikuImage beos : ../system/bin ;
AddSymlinkToHaikuImage beos
: ../system/documentation ;
AddSymlinkToHaikuImage beos : ../system/settings/etc ;
AddSymlinkToHaikuImage beos : ../system/preferences ;
AddSymlinkToHaikuImage beos : ../system ;
AddDirectoryToHaikuImage var ;
AddSymlinkToHaikuImage var : /boot/system/var/log ;
AddSymlinkToHaikuImage var : /boot/system/cache/tmp ;
}
}
# Development
if [ IsOptionalHaikuImagePackageAdded Development ] {
# autotools and perl
AddHaikuImageDisabledPackages autoconf automake perl texinfo ;
AddHaikuImageSourcePackages autoconf automake texinfo ;
# some other build tools
AddHaikuImageDisabledPackages pkgconfig scons ;
AddHaikuImageSourcePackages pkgconfig ;
# devel packages for some of the base set
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
AddHaikuImageDisabledPackages curl_devel glu_devel jpeg_devel
libpng16_devel zlib_devel ;
}
}
}
# DevelopmentBase
if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] {
# gcc and binutils (for all target architectures)
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
AddHaikuImageDisabledPackages binutils gcc ;
AddHaikuImageSourcePackages binutils gcc ;
}
}
# other commonly used tools
AddHaikuImageDisabledPackages bison cdrtools flex jam m4 make mkdepend nasm patch ;
AddHaikuImageSourcePackages bison cdrtools m4 make patch ;
}
# DevelopmentMin
if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
&& ( $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 ) {
AddPackageFilesToHaikuImage _packages_
:
haiku_devel.hpkg
haiku_$(TARGET_PACKAGING_ARCHS[2-])_devel.hpkg
:
nameFromMetaInfo
;
if $(HAIKU_IS_BOOTSTRAP) != 1 {
AddPackageFilesToHaikuImage _packages_
:
makefile_engine.hpkg
:
nameFromMetaInfo
;
}
}
# Git
if [ IsOptionalHaikuImagePackageAdded Git ] {
AddHaikuImageSystemPackages git git_daemon ;
AddHaikuImageSourcePackages git ;
}
# WebPositive
if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
if [ FIsBuildFeatureEnabled webpositive ] {
AddPackageFilesToHaikuImage system packages : webpositive.hpkg
: nameFromMetaInfo ;
break ;
}
}
}
}
# Welcome
if [ IsOptionalHaikuImagePackageAdded Welcome ] {
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 ;
AddSymlinkToHaikuImage home Desktop : /boot/system/bin/quicktour
: Quick\ Tour ;
AddSymlinkToHaikuImage home Desktop : /boot/system/bin/userguide
: User\ Guide ;
}