a5061ecec5
An effort was started some time ago to consolidate all internal documentation in the git tree. However, this was just an accumulation of files in various formats without any strucutre or way to browse it, which results in no one even knowing that we have docs here. This converts most of the files to restructuredtext and uses Sphinx to generate an HTML browsable user manual (with a table of content and a first attempt to put things in a global hierarchy). There are almost no changes to the documentation content in this commit (some obviously obsolete things were removed). The plan is to get the toolchain up and running to make these docs easily available, and only then see about improving the content. We can migrate some things off the wiki and website, and rework the table of contents to have some more hierarchy levels because currently it's a bit messy. Change-Id: I924ac9dc6e753887ab56f18a09bdb0a1e1793bfd Reviewed-on: https://review.haiku-os.org/c/haiku/+/4370 Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
65 lines
2.5 KiB
ReStructuredText
65 lines
2.5 KiB
ReStructuredText
HaikuPorts build-packages repository
|
||
====================================
|
||
|
||
The ``build/jam/repositories/HaikuPorts`` directory contains
|
||
RemotePackageRepository files which detail packages and repositories
|
||
leveraged during Haiku’s build process.
|
||
|
||
Warning: The URL packages are obtained from are determined by the
|
||
sha256sum of the repository file.
|
||
|
||
Updating
|
||
--------
|
||
|
||
Each RemotePackageRepository jam file in this directory is processed by
|
||
src/tools/hardlink_packages.py on the HaikuPorts package server.
|
||
|
||
1) Latest RemotePackageRepository jam file in git is downloaded on
|
||
package server.
|
||
2) Packages are added to HaikuPorts by automatic or manual means.
|
||
3) hardlink_packages is provided all the relevant directories and
|
||
RemotePackageRepository file
|
||
4) hardlink_packages performs additional modification of the
|
||
RemotePackageRepository and creates build repositories
|
||
(https://eu.hpkg.haiku-os.org/haikuports/master/build-packages/)
|
||
5) The modified RemotePackageRepository file is copied back to the
|
||
developers system and checked in to git.
|
||
|
||
Container Process
|
||
-----------------
|
||
|
||
Here is the fastest way to update this as of today. Improvements are
|
||
needed. Replace (ARCH) with architecture, (USER) with your non-root
|
||
user.
|
||
|
||
Prepare the build-packages repository
|
||
-------------------------------------
|
||
|
||
as root on limerick.ams3.haiku-os.org…
|
||
|
||
1) wget
|
||
https://git.haiku-os.org/haiku/plain/build/jam/repositories/HaikuPorts/(ARCH)
|
||
-O /var/lib/docker/volumes/ci_data_master_(ARCH)/_data/(ARCH)
|
||
2) Enter the buildmaster container: docker exec -it $(docker ps \| grep
|
||
ci_buildmaster_master_(ARCH) \| awk ‘{ print $1 }’) /bin/bash -l
|
||
3) apt update; apt install -y vim python3 python3-pkg-resources
|
||
4) edit the repository define, add the needed packages, \_devel
|
||
packages, and add base package to source section.
|
||
5) ln -s /var/buildmaster/package_tools/package_repo
|
||
/usr/bin/package_repo
|
||
6) export
|
||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/var/buildmaster/package_tools
|
||
7) ./package_tools/hardlink_packages.py (ARCH) ./(ARCH)
|
||
/var/packages/repository/master/(ARCH)/current/packages/
|
||
/var/packages/build-packages/master/
|
||
8) exit; cp /var/lib/docker/volumes/ci_data_master_(ARCH)/_data/(ARCH)
|
||
/home/(USER)/(ARCH); chown (USER) /home/(USER)/(ARCH);
|
||
|
||
Pull the repostory file and commit it
|
||
-------------------------------------
|
||
|
||
From your local system…
|
||
|
||
1) scp -P2222 (USER)@limerick.ams3.haiku-os.org:./(ARCH) ./(ARCH)
|
||
2) commit the updated repostory define *without modifying it* in any way
|