History log of /haiku/build/jam/UserBuildConfig.ReadMe
Revision Date Author Comments
# 3b3bcbf7 17-Apr-2021 Adrien Destugues <pulkomandy@pulkomandy.tk>

Update build packages repository

- Switch to Python3
- Switch to mawk instead of gawk
- Update ffmpeg (there are several new dependencies)
- Update ICU
- Fix various pre-existing problems with packages not being properly
declared for gcc2 (but somehow it ended up working)
- remove curl, subversion, mercurial

Confirmed that both nightly and release images are building fine on both
32 and 64bit. However, non-x86 architecture may require re-bootstrapping
to do a complete nightly or release image build (the minimal profile
should be fine)

Fixes #16751.

Change-Id: Iacac92923c4113b3e0a49a64b0b4cc1b8e2f5e2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3871
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 39c68f46 09-May-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove deprecated build profiles @image and @vmware-image.

The @image build is not used anymore and doesn't work. Use @nightly-raw
or @nightly-anyboot instead. The new method of release type/image type
configuration of profiles is more flexible and allows to manage the
various configurations a lot more easily for us. But the old profiles
were never formally deprecated.

Fixes #15963

Change-Id: I1c72f0e77bfbcda10502476e595f120280e8c7a4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2625
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 4f44282c 25-Jan-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

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.


# c31d8dad 15-Mar-2020 Augustin Cavalier <waddlesplash@gmail.com>

Revert "Move source and development packages out of /system/packages on release images"

This reverts commit 0ab9c3c53849f10a3b7aef1e03714e69c7cb0c15.

It broke booting.


# 0ab9c3c5 25-Jan-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

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>


# 74bfec3b 06-May-2018 Jessica Hamilton <jessica.l.hamilton@gmail.com>

build/jam: whitespace cleanup.

Change-Id: I80c9a51417631b1f283923451f5bb530097b74f3


# 738ca0a3 29-Nov-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

build: Change anyboot output from image to iso

* Re ML discussions, this should make a lot more
sense to users as it is inline with what most
linux distros ship.
* This will require a tweak to the buildbot.
* First step to shipping anyboot instead of plain iso.


# 1df36f2c 10-Oct-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

UserBuildConfig.ReadMe: Update non working sample

* With AddSourceDirectoryToHaikuImage spaces should be used as entry delimiter.


# 6eafb4b0 19-Jun-2015 Augustin Cavalier <waddlesplash@gmail.com>

Replace a few references to Subversion with Git.

There are a whole bunch more of these around, but these were the
ones I was confident replacing.


# 024e81af 12-Jan-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Update UserBuildConfig readme and sample

AddOptionalHaikuImagePackage is replaced with AddHaikuImagePackages.


# a1c42e71 23-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Replace missed alpha-raw release build profile occurrences


# 5fc2757a 20-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add user settable HAIKU_REVISION build variable

Can be set to a revision string (hrev4...) to override the revision
determined via git. Useful when the repository doesn't have tags.


# dfd6a5c9 03-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Make the "build" build profile action more intelligent

If additional parameters are specified, only those targets are built,
but under the influence of the build profile. E.g. "jam @alpha-raw build
haiku.hpkg" builds the package with SSL support, while "jam haiku.hpkg"
would build it without (unless explicitly enabled in UserBuildConfig).


# b0944c78 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# 159663ce 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove no longer needed HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES


# 06f5437c 18-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add HAIKU_PACKAGE_COMPRESSION_LEVEL build variable

It allows to control the compression level used for package creation
and update. The default (9) is *very* slow, so developers may want to
use a smaller level during the regular development process to keep
turn-around times low.


# fa5dff55 06-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Replace various boolean rule parameters by flags

Instead of the boolean alwaysUpdate, isCDPackage, and stripDebugSymbols
parameters use a uniform flags parameter which can contain any of the
respectively supported flags (alwaysUpdate, cdPackage,
stripDebugSymbols, !stripDebugSymbols).


# 7ae330f4 16-Sep-2012 Matt Madia <mattmadia@gmail.com>

Updated comment.


# 3dfd9cb9 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# b8c41a1a 29-May-2011 Matt Madia <mattmadia@gmail.com>

Applied a patch by Ingo, to strip the debug info from optional packages.
To note, the reduction of block size from 2048 to 1024 was not applied.
Introduced a new build variable HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES,
which will allow users to enable/disable that functionality. In the
alpha-* and nightly-* profiles, it is enabled. Reduced the image size
for alpha-* to 690M. The size for nightly images was left untouched.
+alpha3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41812 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8b006b36 14-Aug-2010 Andreas Färber <andreas.faerber@web.de>

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


# ba12b8a9 27-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Remove references to the timezone files in userbuildconfig jamfiles. We would need another AddSymlinkToHaikuImage
example...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37770 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9f10e7ac 03-May-2010 Matt Madia <mattmadia@gmail.com>

Added some documentation about the anyboot images. Verification appreciated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36601 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 331e1250 20-Apr-2010 Matt Madia <mattmadia@gmail.com>

Axel changed the HAIKU_ADD_ALTERNATIVE_GCC_LIBS semantics.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36386 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 05bbc668 27-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

From: Matt Madia

* InstallOptionalHaikuImagePackage: Made the first argument an actual file
name, i.e. the extension ".zip" is no longer appended by it.
* Renamed rules UnzipArchiveTo{Container,HaikuImage} to
ExtractArchiveTo{Container,HaikuImage} and generalized them to support
tgz/tar.gz archives (implemented in build_haiku_{image,cd}).
* Removed DownloadOptionalPackage. DownloadFile is used instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35634 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2cff6985 15-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed some problematic (OpenSound) entries, those that are already included
in others, and those where we already provide functionality for (VLC, Beam).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31581 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ff81d306 08-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the optional package dependency definitions into the new
build/jam/OptionalPackageDependencies and include it earlier (before the
Jamfiles).
* Introduced build/jam/OptionalBuildFeatures which is supposed to do the setup
for optional build features that need it.
* Renamed USE_SSL to HAIKU_BUILD_FEATURE_SSL and made it more intelligent.
The OpenSSL optional package is downloaded and unzipped automatically when
enabled. Switching between enabled/disabled HAIKU_BUILD_FEATURE_SSL is
handled gracefully -- the concerned components are built in separate
subdirectories. Adding the OpenSSL optional package to the image also enables
HAIKU_BUILD_FEATURE_SSL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30021 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 317bd7dd 03-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed directory structure as suggested on the mailing list.
* Made the TimeZoneView less error prone, and also actually use Haiku code (the
previous check didn't work since it used #if, not #ifdef).
* Also took the liberty to rename our boot loader to haiku_loader, since I had
to update the nasm binary anyway. Updated the assembly sources to nasm 2.0.
* I haven't found where the synth location in the MIDI code is specified,
though.
* Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do
so next.
* Some optional packages still put their license to beos/etc/licenses. I didn't
update them yet, as we'll probably do so anyway at some point. Also, I think
we might want to introduce a common/data/licenses instead for those.
* If you encounter any problems, please tell!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29876 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5efbbbe0 24-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Missing space between Firefox and LibLayout. Spotted by "sarmale".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29679 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d15b54c9 18-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed HAIKU_ADD_ALL_OPTIONAL_PACKAGES build variable. It did more harm than
good lately.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29608 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 292e63bf 18-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Applied (slighly modified) patch by Matt Madia: When the
--alternative-gcc-output-dir configure option has been specified,
HAIKU_ADD_ALTERNATIVE_GCC_LIBS is set by default. One has to explicitely
unset it in UserBuildConfig to avoid building the alternative gcc libs.
* Adjusted documentation accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29607 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 30ed37c8 02-Dec-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced rules UserBuildConfigRulePostBuildTargets,
UserBuildConfigRulePreImage, and UserBuildConfigRulePostImage which will be
invoked at different points in the build system execution. They can be
overridden in UserBuildConfig, thus allowing for executing user code at
those points.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28765 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c971ca7 19-Sep-2008 Philippe Houdoin <philippe.houdoin@gmail.com>

Document the new HAIKU_IMAGE_LABEL user build option in UserBuildConfig.ReadMe. Thanks Ingo for pointing it.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27641 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af8fa701 18-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the description for obsolete
HAIKU_ADD_POSIX_TEST_SUITE_TO_IMAGE. There's a PosixTestSuite optional
package instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27039 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2b9cc6d8 17-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Typo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25537 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9b0dd528 17-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Support for adding libraries compiled with the alternative gcc (2 vs.
4). One has to have a (fully configured) "generated" directory for the
alternative gcc and specify it using the new option
"--alternative-gcc-output-dir" when configuring the main build.
Additionally the build variable HAIKU_ADD_ALTERNATIVE_GCC_LIBS has to be
set to "1".

If that has been done, when building the image a sub-jam is invoked that
generates the alternative libs and zips them. The main-jam unzips them
into the correct directory in the image. Note that the JAM build
variable has to be set when using a jam executable not invoked by "jam".

Tested with gcc 2 NetPositive, Pe, and FireFox under gcc 4 Haiku, and
with a few of the standard gcc 4 Haiku apps under gcc 2 Haiku. Seems to
work fine so far.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25536 a95241bf-73f2-0310-859d-f6bbb57e9c96


# da63adf5 20-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added HAIKU_IMAGE_HOST_NAME build system variable. Can be used to set
the host name of the Haiku installation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25078 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dbbf08a9 03-Apr-2008 François Revol <revol@free.fr>

Just make sure someone copying it as UserBuildConfig will understand what is wrong and where instead of reporting build breakage induced by their misbehaviour.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24775 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a0a9d225 02-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a new fancy build system feature called "build profiles".
Especially people building various kinds of images with different
settings may want to have a look at the respective section in the
UserBuildConfig.ReadMe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24757 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f8cb3071 02-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Replaced the dummy implementations of the <grp.h> and <pwd.h>
functions by ones reading /etc/{group,passwd}.
* Added quasi-standard getpwent_r() and getgrent_r().
* Added _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX sysconf()
constants.
* Moved initgroups() and getgrouplist() definition to grp.cpp. They use
the same backend as the <grp.h> functions.
* Set the permissions of files created by the build system to what they
should be on the image (executables: 755, others: 644). Otherwise only
root could do anything under Haiku.
* Added build system variables HAIKU_ROOT_USER_NAME and
HAIKU_ROOT_USER_REAL_NAME to customize name and real name of Haiku's
root user.
* Added build system rules AddUserToHaikuImage and AddGroupToHaikuImage
for adding additional users and groups (by default only root user and
group and a "users" group are created).
* Adjusted BIND port and coreutils config.h files according to what
features have become available.
* Fixed HAIKU_DOCUMENTATION_OBJECT_DIR definition. Untested, but it used
a wrong variable name before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24750 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be8a6e43 30-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added JAMFILE to the config variables.
* Added additional parameters to DeferredSubInclude. It's now possible
to specify an alternative Jamfile name.
* Added DeferredSubInclude example to UserBuildConfig.ReadMe showing the
new feature.
* Moved ExecuteDeferredSubIncludes in the root Jamfile before the
inclusion of HaikuImage, NetBootArchive etc., so that targets defined
in the subdirectories are already known there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24680 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 88c4c662 25-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added new rule CopyDirectoryToHaikuImage which recursively copies a
directory to the image. It supports exclude patterns.
* Changed Add{Source,Header}DirectoryToHaikuImage to use the
CopyDirectoryToHaikuImage rule. The special handling in the
build_haiku_image script is gone now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24586 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0bc02822 10-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed UserBuildConfig.sample to UserBuildConfig.ReadMe and
uncommented the meaty lines again. Added one or two more explaining
sentences.
* Created a concise UserBuildConfig.sample with very few comments and
only the most interesting (commented out) example lines for those
people who don't read the UserBuildConfig.ReadMe.

I hope everyone can live with this solution.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24350 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6eafb4b041ad79cb936b2041fdb9c56b1209cc10 19-Jun-2015 Augustin Cavalier <waddlesplash@gmail.com>

Replace a few references to Subversion with Git.

There are a whole bunch more of these around, but these were the
ones I was confident replacing.


# 024e81af86eebd8fa0474522b215fd891c27bdef 12-Jan-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Update UserBuildConfig readme and sample

AddOptionalHaikuImagePackage is replaced with AddHaikuImagePackages.


# a1c42e71897707830584b24a9cc396ae12565167 23-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Replace missed alpha-raw release build profile occurrences


# 5fc2757a746c240e537ab61ca29e8ab2d97205b1 20-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add user settable HAIKU_REVISION build variable

Can be set to a revision string (hrev4...) to override the revision
determined via git. Useful when the repository doesn't have tags.


# dfd6a5c97387d03949a8e8f07f70cbf9b9e643dd 03-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Make the "build" build profile action more intelligent

If additional parameters are specified, only those targets are built,
but under the influence of the build profile. E.g. "jam @alpha-raw build
haiku.hpkg" builds the package with SSL support, while "jam haiku.hpkg"
would build it without (unless explicitly enabled in UserBuildConfig).


# b0944c78b074a8110bd98e060415d0e8f38a7f65 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# 159663cebabbc8dcd94c2f64f110ca2536cf24fc 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove no longer needed HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES


# 06f5437c21c0c849d0cbd16a2a7444182c50ba01 18-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add HAIKU_PACKAGE_COMPRESSION_LEVEL build variable

It allows to control the compression level used for package creation
and update. The default (9) is *very* slow, so developers may want to
use a smaller level during the regular development process to keep
turn-around times low.


# fa5dff5529d819291e62ac867fca3d27a527cbad 06-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Replace various boolean rule parameters by flags

Instead of the boolean alwaysUpdate, isCDPackage, and stripDebugSymbols
parameters use a uniform flags parameter which can contain any of the
respectively supported flags (alwaysUpdate, cdPackage,
stripDebugSymbols, !stripDebugSymbols).


# 7ae330f46b58a124c98e9ba454ed1cf8e94955ac 16-Sep-2012 Matt Madia <mattmadia@gmail.com>

Updated comment.


# 3dfd9cb95ce45f59160d50975210bc55e3fc0709 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# b8c41a1ad8250caf1e7bbcdafc736750d533c8bc 29-May-2011 Matt Madia <mattmadia@gmail.com>

Applied a patch by Ingo, to strip the debug info from optional packages.
To note, the reduction of block size from 2048 to 1024 was not applied.
Introduced a new build variable HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES,
which will allow users to enable/disable that functionality. In the
alpha-* and nightly-* profiles, it is enabled. Reduced the image size
for alpha-* to 690M. The size for nightly images was left untouched.
+alpha3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41812 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8b006b36e7b87f0fc6c500cc9bf4755461af6563 14-Aug-2010 Andreas Färber <andreas.faerber@web.de>

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


# ba12b8a9c1a9c649fffab135486bd5bdf0417c25 27-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Remove references to the timezone files in userbuildconfig jamfiles. We would need another AddSymlinkToHaikuImage
example...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37770 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9f10e7acc7a2324725c3002c1964a95fc112d172 03-May-2010 Matt Madia <mattmadia@gmail.com>

Added some documentation about the anyboot images. Verification appreciated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36601 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 331e12509f0f8f4ba4586c53bef71d392996a5bb 20-Apr-2010 Matt Madia <mattmadia@gmail.com>

Axel changed the HAIKU_ADD_ALTERNATIVE_GCC_LIBS semantics.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36386 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 05bbc668af9660bdef195f7b3b2ab18d3cfc52ae 27-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

From: Matt Madia

* InstallOptionalHaikuImagePackage: Made the first argument an actual file
name, i.e. the extension ".zip" is no longer appended by it.
* Renamed rules UnzipArchiveTo{Container,HaikuImage} to
ExtractArchiveTo{Container,HaikuImage} and generalized them to support
tgz/tar.gz archives (implemented in build_haiku_{image,cd}).
* Removed DownloadOptionalPackage. DownloadFile is used instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35634 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2cff698572e271cbb5bf397f60899b551012bf09 15-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed some problematic (OpenSound) entries, those that are already included
in others, and those where we already provide functionality for (VLC, Beam).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31581 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ff81d306d49e6ce4237bdee4c2d1dfd8e9b92e74 08-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the optional package dependency definitions into the new
build/jam/OptionalPackageDependencies and include it earlier (before the
Jamfiles).
* Introduced build/jam/OptionalBuildFeatures which is supposed to do the setup
for optional build features that need it.
* Renamed USE_SSL to HAIKU_BUILD_FEATURE_SSL and made it more intelligent.
The OpenSSL optional package is downloaded and unzipped automatically when
enabled. Switching between enabled/disabled HAIKU_BUILD_FEATURE_SSL is
handled gracefully -- the concerned components are built in separate
subdirectories. Adding the OpenSSL optional package to the image also enables
HAIKU_BUILD_FEATURE_SSL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30021 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 317bd7dda3eb26d4d24ba5b0a831461119f70d34 03-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed directory structure as suggested on the mailing list.
* Made the TimeZoneView less error prone, and also actually use Haiku code (the
previous check didn't work since it used #if, not #ifdef).
* Also took the liberty to rename our boot loader to haiku_loader, since I had
to update the nasm binary anyway. Updated the assembly sources to nasm 2.0.
* I haven't found where the synth location in the MIDI code is specified,
though.
* Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do
so next.
* Some optional packages still put their license to beos/etc/licenses. I didn't
update them yet, as we'll probably do so anyway at some point. Also, I think
we might want to introduce a common/data/licenses instead for those.
* If you encounter any problems, please tell!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29876 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5efbbbe0fa0f4881165cdee43e8271fdb875b6c7 24-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Missing space between Firefox and LibLayout. Spotted by "sarmale".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29679 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d15b54c97f0e3863364dd3c49e8a06e801b523c1 18-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed HAIKU_ADD_ALL_OPTIONAL_PACKAGES build variable. It did more harm than
good lately.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29608 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 292e63bf9f2f09cb4c6b01f0a5dc2ab25a916f81 18-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Applied (slighly modified) patch by Matt Madia: When the
--alternative-gcc-output-dir configure option has been specified,
HAIKU_ADD_ALTERNATIVE_GCC_LIBS is set by default. One has to explicitely
unset it in UserBuildConfig to avoid building the alternative gcc libs.
* Adjusted documentation accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29607 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 30ed37c8456b5426ebd02c2653b0b9f1a8d1461f 02-Dec-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced rules UserBuildConfigRulePostBuildTargets,
UserBuildConfigRulePreImage, and UserBuildConfigRulePostImage which will be
invoked at different points in the build system execution. They can be
overridden in UserBuildConfig, thus allowing for executing user code at
those points.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28765 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c971ca7f09776672afdaf77c55c38859465eb06 19-Sep-2008 Philippe Houdoin <philippe.houdoin@gmail.com>

Document the new HAIKU_IMAGE_LABEL user build option in UserBuildConfig.ReadMe. Thanks Ingo for pointing it.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27641 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af8fa701f855a05fd6f6f43a36b9b272458cd5b0 18-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the description for obsolete
HAIKU_ADD_POSIX_TEST_SUITE_TO_IMAGE. There's a PosixTestSuite optional
package instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27039 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2b9cc6d877ea9f974ac85634de4592e7c5e01341 17-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Typo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25537 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9b0dd52858e2b0e79ccc1f9a9319d90dd91e5f39 17-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Support for adding libraries compiled with the alternative gcc (2 vs.
4). One has to have a (fully configured) "generated" directory for the
alternative gcc and specify it using the new option
"--alternative-gcc-output-dir" when configuring the main build.
Additionally the build variable HAIKU_ADD_ALTERNATIVE_GCC_LIBS has to be
set to "1".

If that has been done, when building the image a sub-jam is invoked that
generates the alternative libs and zips them. The main-jam unzips them
into the correct directory in the image. Note that the JAM build
variable has to be set when using a jam executable not invoked by "jam".

Tested with gcc 2 NetPositive, Pe, and FireFox under gcc 4 Haiku, and
with a few of the standard gcc 4 Haiku apps under gcc 2 Haiku. Seems to
work fine so far.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25536 a95241bf-73f2-0310-859d-f6bbb57e9c96


# da63adf5ea2fc6618c025b04460e065e54575b83 20-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added HAIKU_IMAGE_HOST_NAME build system variable. Can be used to set
the host name of the Haiku installation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25078 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dbbf08a95a8a09f611f38a5b81866dc3ad87c423 03-Apr-2008 François Revol <revol@free.fr>

Just make sure someone copying it as UserBuildConfig will understand what is wrong and where instead of reporting build breakage induced by their misbehaviour.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24775 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a0a9d225d3e48f81429a769b8c0ed5c961bf1516 02-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a new fancy build system feature called "build profiles".
Especially people building various kinds of images with different
settings may want to have a look at the respective section in the
UserBuildConfig.ReadMe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24757 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f8cb30712e09e13b6eeb08f225810875aea1e6f8 02-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Replaced the dummy implementations of the <grp.h> and <pwd.h>
functions by ones reading /etc/{group,passwd}.
* Added quasi-standard getpwent_r() and getgrent_r().
* Added _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX sysconf()
constants.
* Moved initgroups() and getgrouplist() definition to grp.cpp. They use
the same backend as the <grp.h> functions.
* Set the permissions of files created by the build system to what they
should be on the image (executables: 755, others: 644). Otherwise only
root could do anything under Haiku.
* Added build system variables HAIKU_ROOT_USER_NAME and
HAIKU_ROOT_USER_REAL_NAME to customize name and real name of Haiku's
root user.
* Added build system rules AddUserToHaikuImage and AddGroupToHaikuImage
for adding additional users and groups (by default only root user and
group and a "users" group are created).
* Adjusted BIND port and coreutils config.h files according to what
features have become available.
* Fixed HAIKU_DOCUMENTATION_OBJECT_DIR definition. Untested, but it used
a wrong variable name before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24750 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be8a6e43ff859d400ce60ad3c4c8fba0cf68ae2e 30-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added JAMFILE to the config variables.
* Added additional parameters to DeferredSubInclude. It's now possible
to specify an alternative Jamfile name.
* Added DeferredSubInclude example to UserBuildConfig.ReadMe showing the
new feature.
* Moved ExecuteDeferredSubIncludes in the root Jamfile before the
inclusion of HaikuImage, NetBootArchive etc., so that targets defined
in the subdirectories are already known there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24680 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 88c4c6627b3a9f54a1e6f45755d4530cb39d404b 25-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added new rule CopyDirectoryToHaikuImage which recursively copies a
directory to the image. It supports exclude patterns.
* Changed Add{Source,Header}DirectoryToHaikuImage to use the
CopyDirectoryToHaikuImage rule. The special handling in the
build_haiku_image script is gone now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24586 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0bc0282224924a959b20229d33f78111b5a97f62 10-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed UserBuildConfig.sample to UserBuildConfig.ReadMe and
uncommented the meaty lines again. Added one or two more explaining
sentences.
* Created a concise UserBuildConfig.sample with very few comments and
only the most interesting (commented out) example lines for those
people who don't read the UserBuildConfig.ReadMe.

I hope everyone can live with this solution.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24350 a95241bf-73f2-0310-859d-f6bbb57e9c96