haiku/docs/develop/build/repositories/README.rst
Adrien Destugues a5061ecec5 Generate developer docs with Sphinx
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>
2021-08-27 11:41:17 +00:00

65 lines
2.5 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

HaikuPorts build-packages repository
====================================
The ``build/jam/repositories/HaikuPorts`` directory contains
RemotePackageRepository files which detail packages and repositories
leveraged during Haikus 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