Commit Graph

177 Commits

Author SHA1 Message Date
Oliver Tappe a8c098a3ba Replace HAIKU_{BOOTSTRAP,MINIMUM}_BUILD with HAIKU_BUILD_TYPE.
* Instead of separate variables, HAIKU_BUILD_TYPE is set to one of
  'bootstrap', 'minimum' or 'regular'.
* Adjust uses of HAIKU_BOOTSTRAP_BUILD accordingly.
2014-03-22 20:24:07 +01:00
Oliver Tappe 55f7180dc8 Restore creation of the home symlink on the desktop.
* apparently, this got lost during the refactoring of the images
2014-03-17 22:22:10 +01:00
Oliver Tappe dff7d3a0f2 Add files missing in last commit, sorry. 2014-03-16 21:21:41 +01:00
Oliver Tappe ff35d6c18a Refactor definition of Haiku image contents.
* Move actual definitions of respective image contents to files
  underneath build/jam/images/definitions (minimum, bootstrap, regular).
* HaikuImage now only includes the image definitions for the selected
  build profile and adds the Haiku packages.
* Simplified topmost Jamfile to some extent.
* Move definition of DESKBAR_APPLICATIONS and DESKBAR_DESKTOP_APPLETS
  from build/jam/packages/Haiku to the respective image definition file.
* Sort and reformat several lists to make them more readable.
2014-03-16 21:17:22 +01:00
Oliver Tappe 72e677911f Make set of source packages for bootstrap-image configurable.
* Add new build profile 'minimum', which defines a minimum set of
  packages.
* Introduce HAIKU_BOOTSTRAP_SOURCES_PROFILE and let it default to
  '@minimum-raw'. This can be overruled in UserBuildConfig, setting
  it to '@release-raw' will cause all source packages required for a
  full release to be put onto the bootstrap-image.
* Add new image HaikuImageMinimum, which is meant to define the minimum
  useful Haiku image (yeah, I know that's vague).
* Add HAIKU_MINIMUM_BUILD, which indicates that HaikuImageMinimum should
  be used (it would be better to merge this with HAIKU_BOOTSTRAP_BUILD
  into something like HAIKU_BUILD_TYPE)
* Cleanup duplicate references to basic packages - those are now added
  by the topmost Jamfile (no longer referenced by the build profiles).
2014-03-16 01:17:55 +01:00
Jonathan Schleifer a5fba62e21 HaikuImageBootstrap: Add random
This is required for scons, which is required to build Mesa.
2014-03-15 02:46:22 +01:00
Oliver Tappe f69f5a44a1 Filter non-rigged source packages from bootstrap image.
* Before, we were putting both rigged and standard source packages
  onto the bootstrap image, which caused the build to fail (because
  non-rigged source packages can only be built with git available).
2014-03-11 22:05:27 +01:00
Oliver Tappe bfd2e8b3d0 Don't try to put findutils-commands on bootstrap image.
* findutils has been moved out to a haikuport, so the commands are no
  longer known to the build system
2014-03-02 21:55:25 +01:00
Jérôme Duval 91e3737dd8 gawk: use the HaikuPorts package.
* left the in-tree version as its libintl is used by gdb.
* added as bootstrap package.
2014-02-25 22:20:32 +01:00
Jérôme Duval 8b804bc17b findutils: use the HaikuPorts package.
* removed in-tree version.
* added as bootstrap package.
* note: HaikuPorts package has no rdef for binaries.
2014-02-25 17:58:32 +01:00
John Scipione 0810449709 HaikuImage: Add empty system non-packaged directories
... mirroring home/config/non-packaged/

Also, sort the list lexographically and move the creation of the non-packaged
decorators directory from HaikuImage to HaikuImageCommon along with the rest.
2014-02-23 12:10:13 -05:00
Jérôme Duval c2d994b00e HaikuImage: activate GL components with mesa feature. 2014-02-22 14:32:10 +01:00
John Scipione 6a6d5a80a1 Add decorators to system non-packaged decorator directory
... commented out still for now. BeDecorator is almost ready,
MacDecorator and WinDecorator need a bunch more work still.
2014-02-20 19:31:51 -05:00
John Scipione 14aa801ae9 Update DecorInfo to scan for decorators
Look in system and user packaged and non-packaged decorator directories.
2014-02-20 19:31:49 -05:00
Alexander von Gluck IV b41ab65bd4 x86_64: Add BootManager, writembr
* Fix build of BootManager on x86_64 (signed vs unsigned error)
* Throw in writembr as it seems to build (untested)
2014-02-05 23:25:26 -06:00
Alexander von Gluck IV 6464f4f659 x86_64: Add a bunch of video drivers that compile.
* Added cards need testing.
* 3dfx, ati, neomagic, and s3 still don't build due to some
  more complex pointer size issues. (and I don't have hardware
  to test on)
2014-01-30 14:55:19 -06:00
Ingo Weinhold bf3d27539b Add Haiku repository config only optionally
The HAIKU_ADD_HAIKU_REPOSITORY_CONFIG build variable can be set to add
the Haiku repository config to the image.
2014-01-26 15:11:15 +01:00
Ingo Weinhold be5e6fefdf Add repository config for the Haiku repository to the image
* HaikuRepository rule: Create the repository config.
* HaikuImage: Add the repository config for the Haiku image. The
repository cache is not added, though (it would only be available, if
the repository had been built before).

Implements #10287. The Haiku repository is now available in Haiku by
default.
2014-01-19 00:49:11 +01:00
Pawel Dziepak d0f2d8282f Merge branch 'scheduler'
Conflicts:
	build/jam/packages/Haiku
	headers/os/kernel/OS.h
	headers/os/opengl/GLRenderer.h
	headers/private/shared/cpu_type.h
	src/add-ons/kernel/drivers/power/acpi_battery/acpi_battery.h
	src/bin/sysinfo.cpp
	src/bin/top.c
	src/system/kernel/arch/x86/arch_system_info.cpp
	src/system/kernel/port.cpp
2014-01-17 04:06:15 +01:00
François Revol 9307c47ea3 Revert "Add getconf to the image"
This reverts commit c229671d8e.
2013-12-28 09:58:16 +01:00
François Revol c229671d8e Add getconf to the image 2013-12-27 19:49:17 +01:00
Alexander von Gluck IV eb45d168e1 GL: Remove OpenGL kit, x86 Mesa
* Depend on Mesa packages to provide functionality
2013-12-22 23:36:02 -06:00
Ingo Weinhold 523b866f89 HaikuImage*: Create missing writable dirs in ~/config
Also reduce code duplication by moving the respective code to
HaikuImageCommon.
2013-12-10 23:17:43 +01:00
Jérôme Duval 67ba05e6db FloppyBootImage: removed special case for x86_64
* completes hrev46470
* to be noted, adding generic_x86 for x86_64 let Haiku crash on boot.
2013-12-09 19:48:13 +01:00
Gerasim Troeglazov 8e3ba61f64 Sort translators list in alphabetical order 2013-12-02 09:43:40 +00:00
Jérôme Duval 44b4797910 FloppyBootImage: removed special case for x86_64
* now includes acpi, should help for #10266.
2013-12-01 21:16:29 +01:00
Gerasim Troeglazov 592be1fc7a Add PSDTranslator to image 2013-12-01 11:55:27 +00:00
Pawel Dziepak 208f76e578 preferences: Remove CPUFrequency
We can't reliably set contemporary processors to an arbitrary frequency.
There are dependencies between cores and thechnologies like Turbo Boost
which may make actual frequency significantly different than the requested.

Moreover, it is the scheduler job to decide how much CPU performance is
needed and user shouldn't interfere with that.
2013-11-22 05:24:44 +01:00
Adrien Destugues 3d5714e20d Add SerialConnect to HaikuImage.
It's now complete enough.
2013-11-20 22:39:17 +01:00
Ingo Weinhold 4f5e938576 Add setarch and getarch commands 2013-11-17 02:09:37 +01:00
Axel Dörfler a352b43896 Added fstrim command.
Later, there should be a service that runs this from time to time for all
devices that support it.

Conflicts:
	build/jam/HaikuImage
2013-11-07 19:02:53 +01:00
Jérôme Duval a0fe2facbd x86_64: added wlan drivers to the image. 2013-11-06 13:47:28 +01:00
Ingo Weinhold 24394a9d11 Add findpaths command line tool
It provides the new find_path*() functionality to the shell.
2013-11-05 21:42:24 +01:00
Jérôme Duval 6e157720e1 only builds fwcontrol for x86 2013-11-04 18:03:37 +01:00
Ithamar R. Adema c157484a81 x86_64: fix bootstrap build error
Without this creating the boot symlink fails for the bootstrap build,
as the actual acpi module has not been added.
2013-10-28 15:54:10 +01:00
Jérôme Duval 076952bc29 x86_64: add acpi_battery to the image. 2013-10-24 14:29:51 +02:00
Jérôme Duval 1926af4fde acpi_button: migrated to the new driver API.
* HaikuImage: SYSTEM_ADD_ONS_DRIVERS_POWER is now used for new drivers.
2013-10-23 19:07:22 +02:00
Jérôme Duval afaeff4cdf x86_64: added acpi_button
* tested OK!
2013-10-22 18:22:40 +02:00
Rene Gollent 72eb88f5c8 Add non-packaged fonts directory to default image. 2013-10-20 16:06:51 -04:00
Jérôme Duval 5d9aaba22f x86_64: added acpi to the image.
* embedded_controller crashes on x86_64, disabled for now.
* removed the -fno-pic compile option.
* synched HaikuBootstrap package with Haiku package.
2013-10-19 21:46:56 +02:00
Ingo Weinhold 19f94028f6 Revert "Allow stripping binaries when copying to image containers"
This reverts commit d6de84de66.
2013-10-12 16:01:02 +02:00
Ingo Weinhold d05822f18b Revert "Preserve resources and attributes when copying stripped binaries"
This reverts commit a427aa2f4a.
2013-10-12 15:59:19 +02:00
François Revol a427aa2f4a Preserve resources and attributes when copying stripped binaries
When asked to strip binaries when copying to containers we now
strip to a temporary file, copy over resources to it, copy it
to the container, then copy the attributes from the original
source.

This should allow stripping binaries while preserving attributes
and resources even when copying to images.
2013-10-12 02:37:20 +02:00
Ingo Weinhold 111e76b755 Properly canonically name the boot loader package 2013-10-10 00:40:10 +02:00
François Revol d6de84de66 Allow stripping binaries when copying to image containers
Currently only needed for boot floppy on some platforms.

Disabled for now.

Note we do not have a mean of knowing which file is a binary
or not so we just try to strip, and silently continue when
strip fails (like on the kernel settings file).

Also note strip actually replaces the file, which means it looses
both the resources and attributes, which shouldn't be a problem
for the boot floppy drivers archive, but is not wanted for other
images, so it's not usable elsewhere as such. Patch wanted.
2013-10-09 22:04:36 +02:00
Ingo Weinhold a27d687e2a Name the generated HPKG files properly
* rule AddPackageFilesToHaikuImage: Add "flags" parameter. The only
  supported flag is "nameFromMetaInfo". It causes the packages to be
  copied under their canonical file name onto the image.
* Use the new flag for all generated packages save haiku_loader.hpkg.
2013-10-09 03:48:26 +02:00
Ingo Weinhold cb434e1a2b Also add repository cache files to image
This makes package management operations that require a repository cache
immediately usable (even offline). Also makes sense for the
update-{all,packages} build profile actions, since those update the
repository config which would otherwise no longer match a potentially
existing cache.
2013-10-05 22:49:49 +02:00
Ingo Weinhold 049874acda update-{all,packages} build action: Update repository config 2013-10-05 22:49:49 +02:00
Ingo Weinhold f73f5d4c42 Initial changes to remove /boot/common
* find_directory() and hard-coded paths use /boot/system instead of
  /boot/common.
* The build system creates the writable directories in /boot/system
  instead of /boot/common.
* The build system no longer installs any packages in /boot/common.
2013-10-03 21:52:25 +02:00
Rene Gollent c6a952d706 Add HaikuDepot to image. 2013-09-18 18:45:10 +02:00
Ingo Weinhold 519bb60aef Add group{add,del,mod} 2013-09-18 16:33:19 +02:00
Ingo Weinhold e9d9ac713f Add userdel 2013-09-18 16:33:17 +02:00
Rene Gollent eeebe2843a Manually merge 1410faca6c. 2013-09-17 14:42:08 +02:00
Ingo Weinhold cf70d345b2 Merge remote-tracking branch 'haiku/master' into package-management
This reverts 8f7f28a7c3 (OpenGL: Upgrade
to
Mesa 9.2).

Conflicts:
	build/jam/BuildFeatures
	build/jam/HaikuImage
	build/jam/OptionalPackages
	build/scripts/build_cross_tools_gcc4
	src/add-ons/opengl/swpipe/Jamfile
	src/apps/diskusage/Jamfile
	src/kits/tracker/ContainerWindow.cpp
	src/kits/tracker/DeskWindow.cpp
	src/kits/tracker/Jamfile
2013-09-13 01:02:28 +02:00
Ingo Weinhold f11d742feb HaikuCD: Support package resolution 2013-09-13 00:06:21 +02:00
Ingo Weinhold 76cd5b091e Move stuff from HaikuImageCommon to new rule
... AddPackagesAndRepositoryVariablesToContainerScript.
2013-09-13 00:06:21 +02:00
Ingo Weinhold b0d7a45c3d FloppyBootImage: Add packagefs 2013-09-13 00:06:20 +02:00
Ingo Weinhold e64db4da44 Also mount the packagefs at ~/config 2013-08-25 18:23:11 +02:00
Ingo Weinhold 271e9484ed Build secondary architecture Haiku package for regular image
Also add secondary architecture packages to image.
2013-08-10 09:58:11 +02:00
Ingo Weinhold c965ee60b5 bootstrap image: build needed source packages and add them
* IsPackageAvailable, FetchPackage: Add flags parameter. The only
  flag supported ATM is nameResolved, indicating that the specified
  package name does not need to be resolved with respect to a secondary
  architecture anymore.
* Add build profile action "build-package-list". As an argument the
  file to which the list of all packages needed for the image is
  written. The rule BuildHaikuImagePackageList implements the action.
* BuildBootstrapRepositoryConfig: Does now require the variable
  HAIKU_REPOSITORY_TREE_PATH to be set on the config file target instead
  of hard-coding the path. Allows reuse of the actions.
* Add rules BuildHaikuPortsSourcePackageDirectory and
  BuildHaikuPortsRepositoryConfig. The former builds all HaikuPorts
  source packages needed to build the packages for an alpha image. The
  latter generates a haikuports.conf file for use on the bootstrap
  Haiku.
* HaikuImageBootstrap: Add directory /boot/home/haikuports which
  contains a subdirectory with the source packages and a
  haikuports.conf.
2013-08-06 23:02:10 +02:00
Ingo Weinhold cade865dde Add secondary arch haiku [devel] packages to image 2013-08-06 03:33:36 +02:00
Ingo Weinhold 225b638263 Support building most system libraries for secondary arch
Also adjust the HaikuImageGet[Private]SystemLibs rules to support to
return the library targets matching the current architecture.
2013-08-06 00:45:22 +02:00
Ingo Weinhold 69c69a7d2a Replace build system vars [PRIVATE_]SYSTEM_LIBS by rules
... HaikuImageGetSystemLibs and HaikuImageGetPrivateSystemLibs.
2013-08-05 23:25:08 +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 30f0d45ff7 Remove unused Haiku64Image 2013-08-01 08:54:05 +02:00
Oliver Tappe 5bb173cf50 Add STXT-translator to the bootstrap image
* without this, StyledEdit wouldn't work
2013-07-24 21:24:07 +02:00
Ingo Weinhold e173a1ec1c Integrate building the HaikuPorts bootstrap packages
* Add configure option --bootstrap which allows specifying the
  haikuporter and HaikuPorts repository paths.
* Add rules for supporting a second repository type. The
  PackageRepository rule is now private and RemotePackageRepository is
  used for remote repositories. The new BootstrapPackageRepository rule
  is for defining a bootstrap repository (there will probably be only
  the HaikuPorts cross repository) whose packages can be built as needed
  via haikuporter.
* Rename DownloadPackage to FetchPackage.
* Define repository HaikuPortsCross.
* HaikuCrossDevel package(s): There are now two sets of packages: A
  "stage1" set with the same content as before and a final set
  additionally containing the libraries libbe, libnetwork, libpackage.
  Those are needed for building the libsolv bootstrap package while for
  building them we need other bootstrap packages (ICU, libz).

This is basically all that's required to build a bootstrap Haiku
completely from sources, with a few caveats:
* There's no ICU bootstrap recipe yet (so one has to cheat and use the
  prebuilt package ATM).
* Probably doesn't work on Haiku yet (tested on Linux only).
* A 32 bit environment must be used (otherwise building the gcc 2
  bootstrap package fails).
* Building with multiple jobs doesn't work yet, since haikuporter uses
  common directories for building different packages and there's no
  explicit serialization yet.
* Haven't tested the resulting image save for booting it. So it probably
  needs a bit more work before it can actually build the final
  HaikuPorts packages.
2013-07-21 04:10:48 +02:00
Ingo Weinhold 33f23ea80f Remove more stuff from the Haiku bootstrap packages/image
Namely GL/Mesa and libtiff.
2013-07-21 03:34:35 +02:00
Ingo Weinhold ebb857698e Update bootstrap image/package
Should have been part of the recent merge.
2013-07-15 16:34:41 +02:00
Ingo Weinhold 7e78b434f4 Merge remote-tracking branch 'haiku/master' into package-management
Conflicts:
	build/jam/HaikuImage
	build/jam/OptionalPackageDependencies
	build/jam/OptionalPackages
	build/scripts/build_cross_tools_gcc4
	src/add-ons/translators/icns/Jamfile
	src/add-ons/translators/jpeg/Jamfile
2013-07-08 14:01:00 +02:00
Ingo Weinhold 78f4c163d4 Beginnings of support for building a bootstrap Haiku image
Copy:
* packages: Haiku -> HaikuBootstrap
* images: HaikuImage -> HaikuImageBootstrap
... and remove some unncessary content.

Setting the jam variable HAIKU_BOOTSTRAP_BUILD enables using the
bootstrap files.
2013-07-07 13:45:38 +02:00
Ingo Weinhold 7aa46ed97d Move common image building code to HaikuImageCommon 2013-07-07 13:21:26 +02:00
Ingo Weinhold db11a1104c Move common image building code to HaikuImageCommon 2013-07-07 12:32:45 +02:00
Ingo Weinhold 7418499c4a Remove more optional package related left-overs 2013-07-07 11:14:28 +02:00
Ingo Weinhold 2bab2851aa Remove OptionLibPackages 2013-07-07 10:49:20 +02:00
Ingo Weinhold e8c5236a9c Move image definition jamfiles to build/jam/images 2013-07-07 10:44:43 +02:00