Commit Graph

2325 Commits

Author SHA1 Message Date
Ingo Weinhold d1fe5b98d9 BuildFeature: get rid of hard-coded package versions
... using the new placeholder feature of ExtractBuildFeatureArchives.
2013-07-21 03:13:58 +02:00
Ingo Weinhold 67e84002a1 rule ExtractBuildFeatureArchives: implement placeholders
Add support for placeholders in the attribute values. The values of the
currently supported placeholders depend on the package file name
(package version, actual package and port name, etc.).
2013-07-21 03:12:45 +02:00
Ingo Weinhold fc8967f1a6 Determine HAIKU_CPU and HAIKU_PACKAGING_ARCH in configure
... instead of in BuildSetup.
2013-07-20 01:01:21 +02:00
Ingo Weinhold 21b3820e86 Add libbsd to cross devel package 2013-07-19 15:14:07 +02:00
Ingo Weinhold 111204e0d9 build_cross_tools: make the cross compiler more reuse friendly 2013-07-17 01:06:15 +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 916e7e75a3 Add debug info packages to HaikuPorts repository 2013-07-12 13:28:17 +02:00
Ingo Weinhold 38f07871ce rule AddRepositoryPackages: add debugInfoPackage parameter
It works just like the sourcePackages parameter.
2013-07-12 13:27:56 +02:00
Ingo Weinhold 3e58289628 DownloadLocatedFile: fix use with older wget version
The option "--no-use-server-timestamps" is apparently newer than
Haiku's wget.
2013-07-11 14:21:47 +02:00
Ingo Weinhold f20d944bea Update packages grep, ncurses, sed, tar 2013-07-11 14:21:46 +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 c01380b1b7 Move package info pre-processing to jam build system
Also, pre-process all package infos (not only the generic ones) and
define the macro HAIKU_BOOTSTRAP_BUILD, if building a package for a
bootstrap image.
2013-07-07 15:02:29 +02:00
Ingo Weinhold ec945b7f0d ReleaseBuildProfiles -> Default*, add bootstrap profiles 2013-07-07 14:21:51 +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
Ingo Weinhold 056e9bb620 Add some more packages to the HaikuPorts repository 2013-07-06 18:06:22 +02:00
Ingo Weinhold 014eed80e2 Change repository directory layout
* Under the base URL there are supposed to be the repository files and a
  subdirectory "packages".
* Fix the repository URL related confusion introduced earlier. The URL
in
  the repository info (and thus in the repository file) is supposed to
  be the base URL for the repository. It is not a (potentially)
  different base URL for the package files. Package and repository
  files were supposed to live in the same directory. Now, by requiring
  the package files to live in a subdirectory -- which can also be a
  symlink -- we gain some flexibility.
  The URL in the repository config is usually the same as the in the
  repository info, unless it refers to a mirror site. This allows for
  mirrors to copy the original repository verbatim.
* Remove the PackageURL rule and introduce a DownloadPackage rule
  instead. The URL for a package file cannot be computed in the jam
  parsing phase anymore, as it contains the hash value of the package
  list.
* BRepositoryConfig: Add PackagesURL() for convenience.
2013-07-06 18:06:02 +02:00
Ingo Weinhold 2afaeda8b7 Copy repository config files to the image
... to common/settings/package-repositories. This way the used
repositories are already known to pkgman.
2013-07-06 02:31:31 +02:00
Ingo Weinhold d72ce06673 Adjust to changed HaikuPorts repository layout
The package kit actually requires the files "repo", "repo.info",
"repo.sha256" to be located under the repository base URL, so the
approach to name the repository file "repo-<hash>" doesn't work.
Now there's a directory "<hash>" which contains the files.

This commit moves the computation of the hash and downloading the
repository file from the build_haiku_image script to the jam build
system. The repo.info is also downloaded and a repository config file
is generated.
2013-07-06 02:29:51 +02:00
Ingo Weinhold 531a3d42bc Add rule ChecksumFileSHA256 2013-07-06 02:19:51 +02:00
Ingo Weinhold 46686fe6c0 Download*File rules: add optional source target
If specified the path to the source target can be used in the URL via
"$source".
2013-07-06 02:19:38 +02:00
Ingo Weinhold 3758560637 BuildSetup: remove obsolete dir variables 2013-07-06 02:10:10 +02:00
Ingo Weinhold 627626afd4 GeneratedRepositoryPackageList: defeat localization
Set LC_ALL=C, so "sort" produces useful results.
2013-07-05 14:28:09 +02:00
Ingo Weinhold 458b56a68c Also install the be_book package in system 2013-07-05 14:09:09 +02:00
Ingo Weinhold f0273200d4 devel packages for mandatory packages must be in system as well 2013-07-05 14:09:09 +02:00
Ingo Weinhold 1faf74732d Update packages binutils, gcc, add missing bepdf source package 2013-07-05 13:26:12 +02:00
Ingo Weinhold 98c6dfa41e Switch build system from optional package to repositories
* Build libsolv and the dependency solver part of the package kit for
  the build platform.
* Add build tool get_package_dependencies. Given a list of package files
  and a list of repository files it determines the additional packages
  that need to be retrieved from the repositories and prints their URLs.
* Add rules to work with external repositories in the build system
  (build/jam/RepositoryRules):
  - PackageRepository declares an external repository with all its
    packages. The URL of the repository file isn't specified. It is
    computed from a given base URL and the SHA256 hash of the list of
    package files.
  - GeneratedRepositoryPackageList generates a file containing the file
    names of all packages in a repository.
  - IsPackageAvailable returns whether a package is available in any
    repository.
  - PackageURL returns the URL for a package.
* Declare the HaikuPorts repository for x86_gcc2
  (build/jam/repositories/HaikuPorts/x86_gcc2).
* Add rule AddHaikuImagePackages to add a package to the image and rule
  IsHaikuImagePackageAdded to determine whether a package has been
  added.
* OptionalPackages: Remove all entries that just downloaded and
  installed an external package. AddHaikuImagePackages can be used
  instead and is used in the remaining entries. Also move the remaining
  optional package dependency declarations from
  OptionalPackageDependencies here.
* ExtractBuildFeatureArchives: Instead of the URL parameter a package
  name must be specified now. This allows to simplify BuildFeatures
  significantly, since there's no dealing with URLs anymore. "if" out
  the entries that aren't supported yet.
* build_haiku_image: For the packages installed in system and common
  resolve their dependencies and download and install them as well.
2013-07-05 10:51:42 +02:00
Ingo Weinhold 2ebcd86dfe Add configure option --host-only
When specified, the build will be configured for building build host
tools only.
2013-07-03 23:19:00 +02:00
Jérôme Duval d3b108c53d virtio_scsi: added to the image.
* device_manager: scans busses/scsi for generic drivers.
2013-07-02 22:48:25 +02:00
Ingo Weinhold ff2e520912 Remove the old "CVS" package rules
... and all their invocations.
2013-06-30 18:59:11 +02:00
Ingo Weinhold 301f4b463a Expander: also read rules from data directories
* ExpanderSettings: Use a settings directory "expander" and rename
  settings file to "settings".
* ExpanderRules: Read expander rules from "rules" files in the settings
  directory, then from files in expander/rules subdirectories of the
  installation location data directories, and finally add the built-in
  rules. This allows packages to provide expander rules (as already
  done by the p7zip package).
* OptionalPackages: Remove AddExpanderRuleToHaikuImage invocations.
* ImageRules: Remove Expander rule file related rules.
2013-06-30 13:29:48 +02:00
Ingo Weinhold 94307089f9 Update packages ffmpeg, openssh, p7zip 2013-06-30 11:49:40 +02:00
Ingo Weinhold 26ea70667a Deskbar: use a virtual directory for the user-configurable menu
* Deskbar now uses ~/config/settings/deskbar/menu_entries for its menu,
  falling back to /system/data/deskbar/menu_entries, when the former
  doesn't exist. The latter always exists and is a virtual directory
  merging the deskbar/menu subdirectories of ~/config/settings/ and
  <any installation location>/data/. So, if a package provides a
  deskbar menu symlink, it is added automatically when the package is
  activated. The user can add own menu items by putting stuff into
  ~/config/settings/deskbar/menu/, only use their own organization by
  symlinking it to menu_entries, or do fun stuff by making menu_entries
  a customized virtual directory.
* HaikuImage: No longer create any deskbar menu symlinks in the user's
  settings directory. Instead add them to the Haiku package.
* OptionalPackages: At least for the optional packages that do have
  hpkgs, no longer create deskbar menu symlinks in the user's settings
  directory.
* Move all Deskbar settings files to ~/config/settings/deskbar/ and
  drop the "Deskbar_" prefix.
2013-06-29 14:58:52 +02:00
Ingo Weinhold dbd97804ea SetType rule: add optional type parameter
If not specified the executable MIME type is used as before.
2013-06-29 14:58:52 +02:00
Ingo Weinhold 2551c12bec Update wonderbrush package 2013-06-19 05:07:27 +02:00
Ingo Weinhold b6163fd2ae Update openssh package 2013-06-18 11:57:29 +02:00
Ingo Weinhold 01293f6a5d OptionalPackages: fix syntax errors 2013-06-18 11:40:12 +02:00
Ingo Weinhold 56c3ef1d73 Disable xz-utils optional package for gcc 2 2013-06-18 11:32:23 +02:00
Ingo Weinhold 7f453e3b5f Update packages vision, wpa_supplicant, wqy_microhei, yasm 2013-06-18 11:29:00 +02:00
Ingo Weinhold e31d588184 Update several packages
* neon
* openssh
* p7zip
* pe
* subversion
* tar
* timgmsoundfont
* wonderbrush
2013-06-18 05:06:54 +02:00
Ingo Weinhold 676cc5aafe Update packages mercurial, mkdepend 2013-06-17 21:22:28 +02:00
Ingo Weinhold 98c399b8c8 Update packages keymapswitcher, libedit, libxml2, libpcre 2013-06-17 21:06:31 +02:00
Ingo Weinhold 0ac19e7d42 Update several packages
* bzip2
* ca_root_certificates
* cdrtools
* cmake
* ctags
* curl
* cvs
* doxygen
* freetype
* git
* groff
* libsolv
* man
* nano
* readline
* sqlite
* python
2013-06-17 19:18:05 +02:00
Ingo Weinhold 8d1a9545a9 Update apr[_util], be_book, bepdf, jam packages 2013-06-16 03:54:50 +02:00
Ingo Weinhold 46792e5997 Update basic development packages 2013-06-15 23:03:59 +02:00
Oliver Tappe 49f8422a0d Remove whole sys-include folder when cross-compiler has been built.
* at least for gcc2, we used to leave the 'os' subfolder in there,
  which may have caused problems when Haiku's headers have changed
  since the last time the compiler was built.
(cherry picked from commit 92bb2fb33e)
2013-06-14 19:31:20 +02:00