1HaikuPorts build-packages repository 2==================================== 3 4The ``build/jam/repositories/HaikuPorts`` directory contains 5RemotePackageRepository files which detail packages and repositories 6leveraged during Haiku’s build process. 7 8 Warning: The URL packages are obtained from are determined by the 9 sha256sum of the repository file. 10 11Updating 12-------- 13 14Each RemotePackageRepository jam file in this directory is processed by 15src/tools/hardlink_packages.py on the HaikuPorts package server. 16 171) Latest RemotePackageRepository jam file in git is downloaded on 18 package server. 192) Packages are added to HaikuPorts by automatic or manual means. 203) hardlink_packages is provided all the relevant directories and 21 RemotePackageRepository file 224) hardlink_packages performs additional modification of the 23 RemotePackageRepository and creates build repositories 24 (https://eu.hpkg.haiku-os.org/haikuports/master/build-packages/) 255) The modified RemotePackageRepository file is copied back to the 26 developers system and checked in to git. 27 28Container Process 29----------------- 30 31Here is the fastest way to update this as of today. Improvements are 32needed. Replace (ARCH) with architecture, (USER) with your non-root 33user. 34 35Prepare the build-packages repository 36------------------------------------- 37 38as root on limerick.ams3.haiku-os.org… 39 401) wget 41 https://git.haiku-os.org/haiku/plain/build/jam/repositories/HaikuPorts/(ARCH) 42 -O /var/lib/docker/volumes/ci_data_master_(ARCH)/_data/(ARCH) 432) Enter the buildmaster container: docker exec -it $(docker ps \| grep 44 ci_buildmaster_master_(ARCH) \| awk ‘{ print $1 }’) /bin/bash -l 453) apt update; apt install -y vim python3 python3-pkg-resources 464) edit the repository define, add the needed packages, \_devel 47 packages, and add base package to source section. 485) ln -s /var/buildmaster/package_tools/package_repo 49 /usr/bin/package_repo 506) export 51 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/var/buildmaster/package_tools 527) ./package_tools/hardlink_packages.py (ARCH) ./(ARCH) 53 /var/packages/repository/master/(ARCH)/current/packages/ 54 /var/packages/build-packages/master/ 558) exit; cp /var/lib/docker/volumes/ci_data_master_(ARCH)/_data/(ARCH) 56 /home/(USER)/(ARCH); chown (USER) /home/(USER)/(ARCH); 57 58Pull the repostory file and commit it 59------------------------------------- 60 61From your local system… 62 631) scp -P2222 (USER)@limerick.ams3.haiku-os.org:./(ARCH) ./(ARCH) 642) commit the updated repostory define *without modifying it* in any way 65