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.
This commit is contained in:
Ingo Weinhold
2013-07-21 04:10:48 +02:00
parent 33f23ea80f
commit e173a1ec1c
9 changed files with 410 additions and 93 deletions
@@ -0,0 +1,59 @@
BootstrapPackageRepository HaikuPortsCross
: x86_gcc2
:
# architecture "any" packages
:
# repository architecture packages (stage 1)
autoconf_bootstrap-2.69-1
automake_bootstrap-1.13.1-1
binutils_bootstrap-2.17_2013_04_21-2
bison_bootstrap-2.4.3-1
flex_bootstrap-2.5.35-1
freetype_bootstrap-2.4.9-1
freetype_bootstrap_devel-2.4.9-1
gcc_bootstrap-2.95.3_2013_07_15-2
grep_bootstrap-2.14-1
# TODO: No actual ICU bootstrap recipe yet.
icu_bootstrap-4.8.1.1-3
icu_bootstrap_devel-4.8.1.1-3
libtool_bootstrap-2.4-8
libtool_bootstrap_libltdl-2.4-8
m4_bootstrap-1.4.16-1
make_bootstrap-3.82-1
makeinfo_bootstrap-4.13a-1
ncurses_bootstrap-5.9-1
ncurses_bootstrap_devel-5.9-1
python_bootstrap-2.6.8-1
sed_bootstrap-4.2.1-1
# Available, but probably not needed:
# texinfo_bootstrap-4.13a-1
zlib_bootstrap-1.2.8-2
zlib_bootstrap_devel-1.2.8-2
:
# repository architecture packages (stage 2)
libsolv_bootstrap-0.3.0_haiku_2013_06_16-1
libsolv_bootstrap_devel-0.3.0_haiku_2013_06_16-1
:
# source packages
autoconf_bootstrap
automake_bootstrap
binutils_bootstrap
bison_bootstrap
flex_bootstrap
freetype_bootstrap
gawk_bootstrap
gcc_bootstrap
grep_bootstrap
libsolv_bootstrap
libtool_bootstrap
m4_bootstrap
make_bootstrap
makeinfo_bootstrap
ncurses_bootstrap
python_bootstrap
sed_bootstrap
texinfo_bootstrap
zlib_bootstrap
:
# debuginfo packages
;