Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Package Building Cluster ====== ===== Releases ===== * beefy1 will only build the i386 packages * beefy2 will only build the amd64 packages The build will be done via a crontab: Every monday 1 am UTC a script will be run. This script will first: <code> poudriere ports -u </code> Then for each jails a configuration file it will run: <code> poudriere bulk -j nameofthejail -a </code> if the jail is named 'head' then the command will be <code> poudriere bulk -j head -ac </code> The above script should do it: <code bash> #!/bin/sh export PATH=${PATH}:/usr/local/bin /usr/local/bin/poudriere ports -u > /usr/local/poudriere/data/logs/bulk/raw-ports.log 2>&1 for j in `grep -h -v -E '(^[[:space:]]*#|^[[:space:]]*$)' /usr/local/etc/poudriere.d/release-building`; do unset extraargs [ $j = "head" ] && extraargs="-c" /usr/local/bin/poudriere bulk -j $j -a ${extraargs} > /usr/local/poudriere/data/logs/bulk/raw-$j.log 2>&1 done </code> All packages are built incrementally, head packages will always be rebuilt from scratch (to prevent ABI breakage) A pkg-fallout@ (better name needed :%%))%% will be created, and all the build failures will be sent to that mailing list so committers can pick up what they do need. A post bulk hook will be created, it will run the byte-sync script each time a new set is ready ===== Q/A ===== We need 2 more beefy like boxes, they will have the exact same setup as beefy1 and beefy2 but will never publish packages The main difference is that they will weekly build the packages with -t and send failure log via mail to pkg-fallout@ ===== Publish criteria ===== The following is used to determine if the built package set is published. This is to prevent too many missing or broken packages on the mirrors. - Only **X**% Of the build may failed, skipped or ignored. **X** is defined in ///usr/local/etc/poudriere.d/hooks/bulk.sh//. - There is a whitelist of packages in ///usr/local/etc/poudriere.d/publish-whitelist// that must be present. It may make sense to move the whitelist into ports for transparency, ease of maintenance, and tying it to currently existing ports. portmgr/packagebuilding.txt Last modified: 2015/02/12 19:52by BryanDrewery