docs: Update build-repository documentation

Change-Id: I4566c6e93dca4701eda19ba512e20b0f224956e7
This commit is contained in:
Alexander von Gluck IV 2021-04-15 15:05:53 -05:00
parent d827b3cc06
commit 37bebb702a

View File

@ -1,5 +1,4 @@
HaikuPorts repository files # HaikuPorts build-packages repository
==========================
The `build/jam/repositories/HaikuPorts` directory contains The `build/jam/repositories/HaikuPorts` directory contains
RemotePackageRepository files which detail packages and RemotePackageRepository files which detail packages and
@ -9,8 +8,7 @@ repositories leveraged during Haiku's build process.
> are determined by the sha256sum of the repository > are determined by the sha256sum of the repository
> file. > file.
Updating ## Updating
-------
Each RemotePackageRepository jam file in this directory Each RemotePackageRepository jam file in this directory
is processed by src/tools/hardlink_packages.py on the is processed by src/tools/hardlink_packages.py on the
@ -23,21 +21,28 @@ HaikuPorts package server.
build repositories (https://eu.hpkg.haiku-os.org/haikuports/master/build-packages/) 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. 5) The modified RemotePackageRepository file is copied back to the developers system and checked in to git.
## Container Process
Process
-------
Here is the fastest way to update this as of today. Here is the fastest way to update this as of today.
Improvements are needed. Replace (ARCH) with architecture, (USER) with your non-root user. Improvements are needed. Replace (ARCH) with architecture, (USER) with your non-root user.
1) (as root) wget https://git.haiku-os.org/haiku/plain/build/jam/repositories/HaikuPorts/(ARCH) -O /var/lib/docker/volumes/buildmaster_data_master_(ARCH)/_data/ ## 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: 2) Enter the buildmaster container:
docker exec -it $(docker ps | grep buildmaster_buildmaster_master_(ARCH) | awk '{ print $1 }') /bin/bash -l docker exec -it $(docker ps | grep ci_buildmaster_master_(ARCH) | awk '{ print $1 }') /bin/bash -l
3) apt install vim python3 3) apt update; apt install -y vim python3
4) edit the repository define, add the needed packages, _devel packages, and add base package to source section. 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 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 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/ 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/buildmaster_data_master_(ARCH)/_data/(ARCH) /home/(USER)/(ARCH); chown (USER) /home/(USER)/(ARCH); 8) exit; cp /var/lib/docker/volumes/ci_data_master_(ARCH)/_data/(ARCH) /home/(USER)/(ARCH); chown (USER) /home/(USER)/(ARCH);
9) scp -P2222 (USER)@walter.haikuos.org:./(ARCH) .
10) commit the updated repostory define *without modifying it* ## 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