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

65 lines
1.8 KiB
Makefile
Raw Normal View History

# $FreeBSD$
PORTNAME= poudriere
DISTVERSION= 3.2.99.20180129
PORTREVISION= 0
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
- Update to checkin 51586b2049 which will eventually become 3.0 This codebase has been in testing for several months now and is stable - Remove standard description for ZSH Changes: - ZFS support is now optional: * NO_ZFS can be set to disable ZFS usage * TMPFS_ALL can be used to the build 100% in memory via tmpfs - Jail/Port properties are no longer stored in ZFS. They will be automatically converted on the first execution. This means that downgrading to 2.x is not easily possible. - testport has lost -d - Remove cron - Add daemon (rc script not completed yet) - queue has been reworked for daemon (this may further change) - New HTML/AJAX interface using jQuery - Build times are now tracked - Runaway builds are now automatically killed after 1200/84600 seconds of no output / max build time - Build logs are now saved forever and not removed on every build. testport will store its logs into "bulk" dir for now as well. - Ability to resume a previous bulk -a build by using -B (this is mostly for exp-runs as it allows grouping incremental logs in with the previous logs). By default the buildname defaults to YYYY-MM-DD_HH:MM:SS for every build. - jail -c gjb method is now an alias for ftp - ports: Support checking out a different branch with -B - testport -i improvements: * Network enabled * Works even when build fails * RUN_DEPENDS now installed * tty usage still broken Thank you to all contributors and testers Please report and discuss defects in #poudriere on freenode or report to https://fossil.etoilebsd.net/poudriere/reportlist
2013-03-29 12:25:14 +01:00
CONFLICTS_INSTALL= poudriere-[0-9]*
USE_GITHUB= yes
GH_ACCOUNT= freebsd
GH_TAGNAME= 3.2.4-119-g0da10c68
#DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}
- 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
OPTIONS_DEFINE= ZSH QEMU EXAMPLES
2016-02-09 01:07:53 +01:00
OPTIONS_DEFAULT=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
RUN_DEPENDS+= ca_root_nss>=0:security/ca_root_nss
RUN_DEPENDS+= freebsd-release-manifests>0:misc/freebsd-release-manifests
QEMU_DESC= Add qemu-user-static to compile ports 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:
${CP} -f ${WRKSRC}/src/bin/poudriere ${WRKSRC}/poudriere
${REINPLACE_CMD} \
-e "s,^\(POUDRIERE_VERSION\)=.*,\1='${PKGVERSION}'," \
${WRKSRC}/poudriere
${REINPLACE_CMD} '/.PHONY: poudriere/d' ${WRKSRC}/Makefile.*
- 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:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions/
${INSTALL_DATA} ${WRKSRC}/completions/zsh/_poudriere \
${STAGEDIR}${PREFIX}/share/zsh/site-functions/
${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \
${STAGEDIR}${DATADIR}/MANIFESTS
.include <bsd.port.mk>