freebsd-ports/ports-mgmt/poudriere-devel/Makefile

71 lines
2.1 KiB
Makefile
Raw Normal View History

PORTNAME= poudriere
DISTVERSION= 3.3.99.20211017
PORTREVISION= 2
CATEGORIES= ports-mgmt
- Update to checkin f86a423218 Changes: * Reduce jail restarting for networking access by now always starting 2 jails. One with networking support and one without. This allows not constantly restarting jails to enable/disable networking, which causes a lot of jail lock contention. * Color support has been added. This is disabled by any of: 1. poudriere -N <sub-command> 2. stdout or stderr NOT in a TTY (piped) 3. USE_COLORS=no in poudriere.conf * Add DURATION_FORMAT and BUILDTIME_FORMAT to allow changing time display and default build name. * madvise(MADV_PROTECT) the main poudriere process to allow it to cleanup on failure from out-of-swap. * Running commands as non-root will *auto queue* them to poudriered if it is running. See rc.d/poudriered. * HTML/Web major changes: - Stop polling the server once the build is done. - There is now a top-level and jail-level page. The top-level only shows the *latest* build for each jail-ports-set combination. The jail-level only shows for a specific jail-ports-set combination. These pages will only be updated with builds done after upgrading. This may change before 3.1 release using a statsd to populate with all historical builds as well. - The main build page has been majorly reworked. * It no longer has 2 columns which overlap each other when zoomed in. The site is now much more responsive to zooming and mobile viewing. * More links to logs and elapsed times are shown * More system and build stats are shown such as "Impulse" which is the rate of package building over the last 2-10 minutes. This is done in browser/js currently so will reset when reloading the page. - The layout for httpd setup has changed. Now instead of duplicating the html/assets into every build dir, the html dir from /usr/local/share/poudriere/html/ should be served directly and the /data dir should be symlinked or aliased to the equivalent /usr/local/poudriere/data/logs/bulk/ dir on your system. See /usr/local/share/examples/poudriere/nginx.conf.sample for an example nginx setup. ** Note that this is still being improved for 3.1 and may undergo some backwards-incompatible changes before release. * status: Major changes. - By default only show running builds - Use -a to show all builds, not just latest - Use -f to show finished builds, only latest - Add -c for a more compact format - Displaying the SIGINFO/builder output now requires -b. - -B/-j/-p/-z can be used to filter the output. * Show buildtimes in output now. * TIMESTAMP_LOGS has been improved * poudriered is no longer installed in sbin/ * Fix MAX_MEMORY so it actually works. Note that this may break openjdk building. * Fix incorrect timeout message shown during install phase * jail -l, ports -l, status: Auto format width of columns to output * jail: Add back -i support to show information about a jail * Improvements to fork less often * testport: Now default to -n. Add -P to test with custom prefix. * testport -I: Fix longstanding bug of displaying wrong jail -k hint. * qemu-mips support * ports: Allow -B with git method * All the fixes from the 3.0.16 release as well: * Disable DEVELOPER from make.conf; Poudriere will automatically set it when appropriate. This prevents testing of port dependencies that were not requested to be tested. * distclean: Prevent removing all files by accident. * Having PKG_REPO_SIGNING_KEY set but the file missing is now fatal. * kern.securelevel >=1 is now fatal. * Fix 'kill: No such process' warnings with older /bin/sh (8.x) * Fix crash on 8.3 due to bug with $(()) handling of _vars (fixed in base r234001) * Fix case of packages always rebuilding with "changed options" when the port has an OPTION defined multiple times (such as fixed in ports r352512) * Fix 'Terminated' warning showing at shutdown with older /bin/sh (fixed by r218105 but never made it to stable/8)
2014-05-11 20:03:34 +02:00
MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
http://mirror.shatow.net/freebsd/${PORTNAME}/ \
GH
PKGNAMESUFFIX= -devel
2013-12-16 18:27:55 +01:00
MAINTAINER= bdrewery@FreeBSD.org
COMMENT= Port build and test system
LICENSE= BSD2CLAUSE
CONFLICTS_INSTALL= poudriere
USE_GITHUB= yes
GH_ACCOUNT= freebsd
GH_TAGNAME= 3.3.0-1023-g0070a55f9
- Update to checkin 0966e62bc4 - Cleanup Makefile to use pkg-plist [1] Changes: - make_index fixes (use ports/portsnap version now) - Documentation updates - Use autotools for build - All incremental messages are in a consistent format now. - New daemon poudriered using libucl with fine-grained permissions, but not yet hooked up or documented. It will be hooked up to poudriere-queue and documented soon. - Add an nc(1) wrapper to work around src change r249499. - status: Add -H for scripted mode - status: Show URL if available - Allow to specify revision when running poudriere jail -u with svn method with -t - bulk: Add -i and -I for interactive testing of all specified ports at once, requires ports r348859 change to Mk/bsd.port.mk. - Report modification of directories during leftover check (owner or permission changed). - Fix ipv6 only usage - Ensure /sbin and /usr/sbin are in PATH when running - Remove trailing slashes from listed_ports. - Exit quicker after ^C during packaging phases by killing pkg-static - Fix child process cleanup logic to only sleep if child still running. - Always dismount filesystems and try cleaning up when exiting and in jail -k - For stage_orphans, ignore modified files (such as nobody vs root) - testport -I: Mark cleanup done, not as recursively failing - testport -i: Use a local.conf instead of PACKAGESITE - testport -I: Suggest same login method which is more sane/clean than exec /bin/sh - options: Require dialog4ports as it runs from host and jail may be for a different ARCH - Ignore parents of home directories too during leftovers check - Restrict ZFS on 9.0/9.1 due to known deadlock - bulk: Parse MOVED for given port build list - Add support for svnlite and overriding SVN_CMD - Show warning when jail is newer than host - Show host/jail OSVERSION in build logs Submitted by: Johannes Jost Meixner <xmj@chaot.net> [1] (based on) PR: ports/187373 [1]
2014-03-23 16:40:10 +01:00
GNU_CONFIGURE= yes
ETCDIR= ${PREFIX}/etc/poudriere.d
- Update to 3.2.5-363-g9c2944629 - Add BASH option for completion installation - ports_env: set UID=0 to avoid id -u lookups. - Remove USE_PTSORT=no support and only use ptsort. - Remove POOL_BUCKETS option - Only set POOL_BUCKET_DIRS from load_priorities() - SIGINFO: Reverse phase and total times to: phase / total The original change order was confusing but so is the change. It may ultimately be reverted. - USE_CACHED=yes: Block using this as it does not work. - Fix '3: Bad file descriptor' on crashed build - Format crashed build with JOB_ID if possible - MUTABLE_BASE=schg: Exclude immutable paths from mtree comparisons - markfs: No need to rewrite the mtree file every time, just share it from MASTERMNT - Always null-mount ro /usr/lib32 - Remove references to INDEX - support removed in 0bef52955606412ac64aceddde6 - MUTABLE_BASE=schg: Need to track flags for mtree - MUTABLE_BASE=schg mtree: Don't ignore changes to schg files with testport or bulk -t - Remove some shash buckets once no longer needed. - Fix some error spam in bulk. - Exclude /root from build_fs_violation. - MUTABLE_BASE=schg: Allow writing new files to /boot. - Move ALLOW_MAKE_JOBS_PACKAGES handle to remove misleading DISABLE_MAKE_JOBS in buildlog make.conf - bulk: Spawn builds in their own process group. Block SIGTTOU/SIGTTIN to avoid stopping on tty access. - kill_job: Don't show jobid warning. - Close stdin at exit in case an interrupted redirection is referencing the jail which results in umount warnings. - processonelog: Detect pkg's conflict line - processonelog: Try to detect immutable base failures - Create /home and /usr/home paths in port build startup - MUTABLE_BASE=schg: Allow writing to /usr/home - poudriere: Default -e to /usr/local/etc for non-install executions - options: Don't pass FLAVOR as a make arg - which may break downstream ports - testport -c: Don't pass FLAVOR as a make argument - testport: Show log summary at the end - Support PKG_NOCOMPRESS in make.conf - CCACHE_STATIC_PREFIX: Add CCACHE_JAIL_PREFIX for overriding /ccache in jail - MUTABLE_BASE=schg + CCACHE_STATIC_PREFIX: Allow ccache-update-links to work properly - Add bash completion script - Don't consider /var/crash/*.core as build_fs_violations
2018-03-28 19:57:02 +02:00
OPTIONS_DEFINE= BASH CERTS DIALOG4PORTS EXAMPLES QEMU ZSH
OPTIONS_DEFAULT=BASH CERTS DIALOG4PORTS ZSH
- Update to checkin 0966e62bc4 - Cleanup Makefile to use pkg-plist [1] Changes: - make_index fixes (use ports/portsnap version now) - Documentation updates - Use autotools for build - All incremental messages are in a consistent format now. - New daemon poudriered using libucl with fine-grained permissions, but not yet hooked up or documented. It will be hooked up to poudriere-queue and documented soon. - Add an nc(1) wrapper to work around src change r249499. - status: Add -H for scripted mode - status: Show URL if available - Allow to specify revision when running poudriere jail -u with svn method with -t - bulk: Add -i and -I for interactive testing of all specified ports at once, requires ports r348859 change to Mk/bsd.port.mk. - Report modification of directories during leftover check (owner or permission changed). - Fix ipv6 only usage - Ensure /sbin and /usr/sbin are in PATH when running - Remove trailing slashes from listed_ports. - Exit quicker after ^C during packaging phases by killing pkg-static - Fix child process cleanup logic to only sleep if child still running. - Always dismount filesystems and try cleaning up when exiting and in jail -k - For stage_orphans, ignore modified files (such as nobody vs root) - testport -I: Mark cleanup done, not as recursively failing - testport -i: Use a local.conf instead of PACKAGESITE - testport -I: Suggest same login method which is more sane/clean than exec /bin/sh - options: Require dialog4ports as it runs from host and jail may be for a different ARCH - Ignore parents of home directories too during leftovers check - Restrict ZFS on 9.0/9.1 due to known deadlock - bulk: Parse MOVED for given port build list - Add support for svnlite and overriding SVN_CMD - Show warning when jail is newer than host - Show host/jail OSVERSION in build logs Submitted by: Johannes Jost Meixner <xmj@chaot.net> [1] (based on) PR: ports/187373 [1]
2014-03-23 16:40:10 +01:00
OPTIONS_SUB= yes
CERTS_DESC= Install checksum and SSL certificates for jail creation
CERTS_RUN_DEPENDS+= ca_root_nss>=0:security/ca_root_nss
CERTS_RUN_DEPENDS+= freebsd-release-manifests>0:misc/freebsd-release-manifests
DIALOG4PORTS_DESC= Install dialog4ports for options command
DIALOG4PORTS_RUN_DEPENDS= dialog4ports>0:ports-mgmt/dialog4ports
QEMU_DESC= Add qemu-user-static for non-x86 architectures
QEMU_RUN_DEPENDS= qemu-user-static>0:emulators/qemu-user-static
Update to 3.0-1957-gb3d3e0c2 - pkgclean/distclean: Properly support PREPARE_PARALLEL_JOBS from poudriere.conf - Default PREPARE_PARALLEL_JOBS to 1.25*PARALLEL_JOBS - Poudriere now sets process title for some operations via setproctitle(2). - Dependency calculation majorly refactored to fetch more make variables at once rather than fetching some and then more later. This rework also speeds up some startups by up to 60% by keeping the compute_deps work queue full and more parallelized. This is especially seen in meta port lists. The storage for the make variables fetched is not very efficient yet and will improve more in the future. - Add more sh builtins: pwait, mkdir, rename, setproctitle, rmdir, mktemp - nohang: Do read before logfile comparison. - update_stats: Stop building from html_json coproc after done building - More work to use relative paths, thus reducing namecache contention. - rm is bundled if the base system version does not support rm -x. - Determine at runtime if umount -n (MNT_NONBUSY) is supported - buildlog: Properly show limits in jail - The "balance_pool" operation after a port is done building is now asynchronous. - Fix some cases where stats were not updated on early exit. - Detect race during jail startup; prevent multiple concurrent jail startups for the same jail+set+portstree. - Some unexpected older packages may be deleted during startup. - bulk: Change dependency information to -v rather than -vv - Limit parallel umounts if batched free vnode lists not supported. - Only fetch LIB/RUN_DEPENDS and OPTIONS if the CHECK_CHANGED_DEPS/OPTIONS is set - Add some missing license headers in HTML code. - run_hook: cd to / before running hook to avoid umount problems. - Pass -DNOCLEANDEPENDS when cleaning to not clean dependency dirs. - Slightly reword some of the port job statuses. - api: Allow evalling from stdin - Move /var/db/freebsd-update exemption into common_mtree. - More tests added - Fix PORTBUILD_UID lookup when user doesn't exist in jail. - configure: Don't prefer GCC (poudriere build only)
2017-03-07 05:45:00 +01:00
.include <bsd.port.options.mk>
# rm -x support came in 10.0. A bundled rm is used if not supported in base.
# While <10 is technically not supported in the Ports Tree, Poudriere
# detects this and it being a package build tool it should still be
# supported as a user may be installing this to build packages for upgrading
# their system to a supported release.
.if ${OSVERSION} < 1000000
PLIST_SUB+= RM=""
.else
PLIST_SUB+= RM="@comment "
.endif
post-patch:
${REINPLACE_CMD} \
-e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
${WRKSRC}/src/bin/poudriere.in
- Update to checkin 0966e62bc4 - Cleanup Makefile to use pkg-plist [1] Changes: - make_index fixes (use ports/portsnap version now) - Documentation updates - Use autotools for build - All incremental messages are in a consistent format now. - New daemon poudriered using libucl with fine-grained permissions, but not yet hooked up or documented. It will be hooked up to poudriere-queue and documented soon. - Add an nc(1) wrapper to work around src change r249499. - status: Add -H for scripted mode - status: Show URL if available - Allow to specify revision when running poudriere jail -u with svn method with -t - bulk: Add -i and -I for interactive testing of all specified ports at once, requires ports r348859 change to Mk/bsd.port.mk. - Report modification of directories during leftover check (owner or permission changed). - Fix ipv6 only usage - Ensure /sbin and /usr/sbin are in PATH when running - Remove trailing slashes from listed_ports. - Exit quicker after ^C during packaging phases by killing pkg-static - Fix child process cleanup logic to only sleep if child still running. - Always dismount filesystems and try cleaning up when exiting and in jail -k - For stage_orphans, ignore modified files (such as nobody vs root) - testport -I: Mark cleanup done, not as recursively failing - testport -i: Use a local.conf instead of PACKAGESITE - testport -I: Suggest same login method which is more sane/clean than exec /bin/sh - options: Require dialog4ports as it runs from host and jail may be for a different ARCH - Ignore parents of home directories too during leftovers check - Restrict ZFS on 9.0/9.1 due to known deadlock - bulk: Parse MOVED for given port build list - Add support for svnlite and overriding SVN_CMD - Show warning when jail is newer than host - Show host/jail OSVERSION in build logs Submitted by: Johannes Jost Meixner <xmj@chaot.net> [1] (based on) PR: ports/187373 [1]
2014-03-23 16:40:10 +01:00
post-install:
- Update to 3.2.5-363-g9c2944629 - Add BASH option for completion installation - ports_env: set UID=0 to avoid id -u lookups. - Remove USE_PTSORT=no support and only use ptsort. - Remove POOL_BUCKETS option - Only set POOL_BUCKET_DIRS from load_priorities() - SIGINFO: Reverse phase and total times to: phase / total The original change order was confusing but so is the change. It may ultimately be reverted. - USE_CACHED=yes: Block using this as it does not work. - Fix '3: Bad file descriptor' on crashed build - Format crashed build with JOB_ID if possible - MUTABLE_BASE=schg: Exclude immutable paths from mtree comparisons - markfs: No need to rewrite the mtree file every time, just share it from MASTERMNT - Always null-mount ro /usr/lib32 - Remove references to INDEX - support removed in 0bef52955606412ac64aceddde6 - MUTABLE_BASE=schg: Need to track flags for mtree - MUTABLE_BASE=schg mtree: Don't ignore changes to schg files with testport or bulk -t - Remove some shash buckets once no longer needed. - Fix some error spam in bulk. - Exclude /root from build_fs_violation. - MUTABLE_BASE=schg: Allow writing new files to /boot. - Move ALLOW_MAKE_JOBS_PACKAGES handle to remove misleading DISABLE_MAKE_JOBS in buildlog make.conf - bulk: Spawn builds in their own process group. Block SIGTTOU/SIGTTIN to avoid stopping on tty access. - kill_job: Don't show jobid warning. - Close stdin at exit in case an interrupted redirection is referencing the jail which results in umount warnings. - processonelog: Detect pkg's conflict line - processonelog: Try to detect immutable base failures - Create /home and /usr/home paths in port build startup - MUTABLE_BASE=schg: Allow writing to /usr/home - poudriere: Default -e to /usr/local/etc for non-install executions - options: Don't pass FLAVOR as a make arg - which may break downstream ports - testport -c: Don't pass FLAVOR as a make argument - testport: Show log summary at the end - Support PKG_NOCOMPRESS in make.conf - CCACHE_STATIC_PREFIX: Add CCACHE_JAIL_PREFIX for overriding /ccache in jail - MUTABLE_BASE=schg + CCACHE_STATIC_PREFIX: Allow ccache-update-links to work properly - Add bash completion script - Don't consider /var/crash/*.core as build_fs_violations
2018-03-28 19:57:02 +02:00
${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
${STAGEDIR}${DATADIR}/MANIFESTS
post-install-BASH-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/bash-completion/completions/
${INSTALL_DATA} ${WRKSRC}/completions/bash/poudriere \
${STAGEDIR}${PREFIX}/share/bash-completion/completions/
post-install-ZSH-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
${STAGEDIR}${PREFIX}/share/zsh/site-functions/
.include <bsd.port.mk>