Commit Graph

35 Commits

Author SHA1 Message Date
Adrien Destugues 024e81af86 Update UserBuildConfig readme and sample
AddOptionalHaikuImagePackage is replaced with AddHaikuImagePackages.
2014-01-13 08:05:34 +01:00
Ingo Weinhold a1c42e7189 Replace missed alpha-raw release build profile occurrences 2013-11-23 16:58:53 +01:00
Ingo Weinhold 5fc2757a74 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.
2013-11-20 16:42:05 +01:00
Ingo Weinhold dfd6a5c973 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).
2013-10-04 00:20:53 +02:00
Ingo Weinhold b0944c78b0 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).
2013-08-01 08:54:06 +02:00
Ingo Weinhold 159663ceba Remove no longer needed HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES 2013-08-01 08:54:05 +02:00
Ingo Weinhold 06f5437c21 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.
2013-05-25 01:12:26 +02:00
Ingo Weinhold fa5dff5529 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).
2013-05-07 04:43:50 +02:00
Ingo Weinhold 25a7b01d15 Merge branch 'master' into package-management
Additional changes:
* Add src/system/kernel/lib/zlib, which builds a kernel version of zlib,
  needed by packagefs.
* BuildFeatures: Add a build feature "gcc2" to allow for easier checks.
* Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter
  is not needed and prevents building for the build platform.
* zlib/zutil.h: Fix gcc 2 build. We really should use the external
  package instead.

Conflicts:
	.gitignore
	build/jam/BuildSetup
	build/jam/FileRules
	build/jam/FloppyBootImage
	build/jam/HaikuImage
	build/jam/ImageRules
	build/jam/KernelRules
	build/jam/NetBootArchive
	build/jam/OptionalBuildFeatures
	build/jam/OptionalLibPackages
	build/jam/OptionalPackageDependencies
	build/jam/OptionalPackages
	build/scripts/build_haiku_image
	configure
	data/bin/installoptionalpackage
	data/system/boot/Bootscript
	headers/os/app/Message.h
	headers/os/package/PackageInfo.h
	headers/os/package/PackageInfoAttributes.h
	headers/os/package/PackageInfoSet.h
	headers/os/package/PackageRoster.h
	headers/os/package/PackageVersion.h
	headers/os/package/hpkg/PackageInfoAttributeValue.h
	headers/os/storage/FindDirectory.h
	headers/os/storage/Node.h
	headers/os/support/StringList.h
	headers/private/system/directories.h
	src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile
	src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp
	src/add-ons/kernel/file_systems/packagefs/Jamfile
	src/add-ons/kernel/file_systems/packagefs/Package.cpp
	src/add-ons/kernel/file_systems/packagefs/Package.h
	src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageDomain.h
	src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h
	src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h
	src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageNode.h
	src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp
	src/add-ons/kernel/file_systems/packagefs/Version.cpp
	src/add-ons/kernel/file_systems/packagefs/Version.h
	src/add-ons/kernel/file_systems/packagefs/Volume.cpp
	src/add-ons/kernel/file_systems/packagefs/Volume.h
	src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp
	src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c
	src/apps/deskbar/BarApp.cpp
	src/apps/deskbar/BarMenuBar.cpp
	src/apps/deskbar/BarMenuBar.h
	src/apps/deskbar/BarView.cpp
	src/apps/deskbar/BarView.h
	src/apps/deskbar/BarWindow.cpp
	src/apps/deskbar/BarWindow.h
	src/apps/deskbar/DeskbarMenu.cpp
	src/apps/deskbar/DeskbarMenu.h
	src/apps/deskbar/DeskbarUtils.cpp
	src/apps/deskbar/DeskbarUtils.h
	src/apps/deskbar/ExpandoMenuBar.cpp
	src/apps/deskbar/ExpandoMenuBar.h
	src/apps/deskbar/TeamMenu.cpp
	src/apps/processcontroller/ProcessController.cpp
	src/apps/remotedesktop/RemoteDesktop.cpp
	src/bin/bash/config-top.h
	src/bin/finddir.c
	src/bin/package/Jamfile
	src/bin/package/command_add.cpp
	src/bin/package/command_create.cpp
	src/bin/package/command_list.cpp
	src/bin/package_repo/command_list.cpp
	src/bin/pkgman/command_refresh.cpp
	src/build/libbe/support/Jamfile
	src/build/libpackage/Jamfile
	src/build/libroot/Jamfile
	src/build/libroot/fs.cpp
	src/build/libroot/remapped_functions.h
	src/kits/locale/MutableLocaleRoster.cpp
	src/kits/opengl/GLRendererRoster.cpp
	src/kits/package/PackageInfo.cpp
	src/kits/package/PackageInfoSet.cpp
	src/kits/package/PackageRoster.cpp
	src/kits/package/PackageVersion.cpp
	src/kits/package/RepositoryCache.cpp
	src/kits/package/hpkg/PackageWriterImpl.cpp
	src/kits/package/hpkg/ReaderImplBase.cpp
	src/kits/package/hpkg/WriterImplBase.cpp
	src/kits/print/PrintTransport.cpp
	src/kits/print/Printer.cpp
	src/kits/screensaver/ScreenSaverRunner.cpp
	src/kits/support/StringList.cpp
	src/kits/tracker/ContainerWindow.cpp
	src/kits/tracker/DeskWindow.cpp
	src/kits/tracker/PoseView.cpp
	src/libs/print/libprint/Transport.cpp
	src/preferences/printers/AddPrinterDialog.cpp
	src/preferences/screensaver/ScreenSaverWindow.cpp
	src/servers/debug/DebugServer.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/media_addon/MediaAddonServer.cpp
	src/system/boot/Jamfile
	src/system/boot/loader/Jamfile
	src/system/boot/loader/loader.cpp
	src/system/boot/loader/vfs.cpp
	src/system/kernel/fs/vfs.cpp
	src/system/kernel/fs/vfs_boot.cpp
	src/system/libroot/os/find_directory.cpp
	src/system/runtime_loader/runtime_loader.cpp
	src/tools/package/Jamfile
2013-05-05 15:03:26 +02:00
Matt Madia 7ae330f46b Updated comment. 2012-09-16 19:45:09 -04:00
Oliver Tappe 3dfd9cb95c Flat commit of all changes from package-management branch in svn 2011-07-17 16:54:06 +02:00
Matt Madia b8c41a1ad8 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
2011-05-29 18:02:21 +00:00
Andreas Färber 8b006b36e7 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
2010-08-14 16:43:55 +00:00
Adrien Destugues ba12b8a9c1 * 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
2010-07-27 10:46:02 +00:00
Matt Madia 9f10e7acc7 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
2010-05-03 21:51:58 +00:00
Matt Madia 331e12509f 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
2010-04-20 19:53:31 +00:00
Ingo Weinhold 05bbc668af 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
2010-02-27 17:48:12 +00:00
Axel Dörfler 2cff698572 * 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
2009-07-15 08:17:45 +00:00
Ingo Weinhold ff81d306d4 * 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
2009-04-08 10:07:17 +00:00
Axel Dörfler 317bd7dda3 * 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
2009-04-03 09:02:44 +00:00
Ingo Weinhold 5efbbbe0fa 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
2009-03-24 18:29:13 +00:00
Ingo Weinhold d15b54c97f 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
2009-03-19 12:15:13 +00:00
Ingo Weinhold 292e63bf9f * 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
2009-03-19 12:06:15 +00:00
Ingo Weinhold 30ed37c845 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
2008-12-03 02:02:28 +00:00
Philippe Houdoin 1c971ca7f0 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
2008-09-20 00:39:21 +00:00
Ingo Weinhold af8fa701f8 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
2008-08-18 14:44:35 +00:00
Ingo Weinhold 2b9cc6d877 Typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-18 00:01:17 +00:00
Ingo Weinhold 9b0dd52858 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
2008-05-17 23:47:39 +00:00
Ingo Weinhold da63adf5ea 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
2008-04-20 14:00:31 +00:00
François Revol dbbf08a95a 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
2008-04-03 14:59:04 +00:00
Ingo Weinhold a0a9d225d3 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
2008-04-02 20:29:43 +00:00
Ingo Weinhold f8cb30712e * 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
2008-04-02 14:02:52 +00:00
Ingo Weinhold be8a6e43ff * 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
2008-03-30 15:34:30 +00:00
Ingo Weinhold 88c4c6627b * 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
2008-03-26 04:14:25 +00:00
Ingo Weinhold 0bc0282224 * 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
2008-03-10 20:54:00 +00:00