From 5c3bc831b2562c080c177076e089156a37f87e31 Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Mon, 11 Dec 2023 09:54:28 +0100 Subject: [PATCH] ports-mgmt/poudriere: update to 3.4.0 Changes: - testport|bulk -b: New feature to fetch remote packages. See PACKAGE_FETCH options in poudriere.conf.sample. - bulk: IGNORED and BLACKLISTED ports are now trimmed before build. This reduces queue size and avoids building dependencies that are not needed. - jail -cu: Stop modifying /etc/login.conf in the jail. This is done at bulk jail startup now. - Add DISALLOW_NETWORKING, fixes #689 - image: Add zsnapshot imagetype. - bulk -a: Don't print ports in summary unless -v is used. - Show FLAVOR in more places. - ports -l: Fix error when no ports trees exist yet. - image: Add sleep, ls, and ping to miniroot. - ports -u: Add hook 'ports_update done' call. - Add status for saving workdir on failure. - Expand securelevel check to handle IMMUTABLE_BASE=schg and TMPFS_WRKDIR/TMPFS_LOCALBASE. - bulk/testport: Initial support for ports OVERLAYS - testport: Show log info on failure exit - Always export LC_COLLATE=C - image: Make iso images bootable in UEFI - ports: move away from portsnap as default - zfs rollback: Try harder to rollback snapshots. - bulk -n: Don't remove .building dir unless this ran made it - common.sh: use new URL for base system - jail: Fix git checkout during jail update to operate within SRC_BASE. - image: Add -w (swap size) and -b (swap position) - image: Support pre and post build scripts - image: remove unneeded vfs.root.mountfrom that might cause problems - image: Fix usb and usb+mfs - image: Add pkgbase support - image: Fix loader.efi name for arm and arm64 - image: Don't install pmbr and gptboot on !x86 - image: Enable zfs in rc.conf - testport: Support overlay - jail: Support PKG_REPO_SIGNING_KEY/KERNCONF for pkgbase - bulk|testport -i: Mount ports rw - MOVED: Support from overlays - bulk: Always build repo even if no packages build - distclean: Don't delete .hidden files. - bulk: Delete FORBIDDEN packages during incremental check. - pkgclean: Delete FORBIDDEN packages. - bulk: Delete corrupted packages like pkgclean does. - bulk -af: Delete unqueued packages like pkgclean. - bulk [-a] -f: Delete packages unknown/unqueued like pkgclean would. - bulk: Link to the build logs at PACKAGES/logs - Many test improvements - Many fixes for builtin helpers - jail -m http|ftp: freebsd-update(8) now uses -b rather than running inside of the jail. - clonefs: Fix cpignore handling to not race with other bulks. - bulk: Package notes, and build logs, now include ports top checkout git revision and port dir git revision. If PKG_REPRODUCIBLE is not set then a timestamp and poudriere's version is also added in. - bulk/testport -i: If POUDRIERE_INTERACTIVE_NO_INSTALL is set don't install the packages - Allow zstd in WRKDIR_ARCHIVE_FORMAT - jail: Automatically set XDEV as needed - Rename MUTABLE_BASE to clearer IMMUTABLE_BASE - bulk/testport -i: Many improvements and /etc/motd populated with env hints - bulk: Rebuild all packages if the pkg bootstrap is missing - Disallow /dev/bpf in the jails - bulk: Do not process dependencies of IGNORED ports. - CCACHE_DIR_NON_ROOT_SAFE: Chmod /root to 755 to allow non-root to access - CCACHE + BUILD_AS_NON_ROOT: Give detailed information on proper setup for this. See https://github.com/freebsd/poudriere/commit/8c36dfe5cca92 - bulk: Rebuild packages with changed ABI - Show loginfo on error - image: Add support for zfs image types, including send streams - image: Run the post-build script before the build target - bulk: Opportunistically start builders as needed - bulk: New SIGINFO output. Now with tmpfs space usage, cpu%/mem%(rss) from ps. - bulk: Add a mechanishm to avoid building rust in tmpfs. See poudriere.conf.sample for TMPFS_BLACKLIST and TMPFS_BLACKLIST_TMPDIR. - Remove obsolete test for vfs.mnt_free_list_batch - jail: -l sort properly by version - options: Error on mutually-exclusive command flags - sh: make stat a builtin - Use setsid(1) for port build phases - bulk/testport: Store bulk output in logs/{bulk,testport}.log - Adding pushover support for notification - image: document hybridiso - remove jexecd - remove unused libnv - umount: unconditionnaly use MNT_NONBUSY - options: supports both portconfig and dialog4ports - Adding pushover support for notification - Add support for subpackages - Add option to force rebuilding repo and signing. - Add hosts entry for jail (ref or builder) (needed for newer jdk) - reduce the amount of i/o and the number of call to fsync - image: regenerate pwd database to account for overlays --- ports-mgmt/poudriere/Makefile | 7 +-- ports-mgmt/poudriere/distinfo | 6 +-- ...h-8bfaa898b32370bbfff9bf37fc833d7abc4b8b67 | 24 ----------- ports-mgmt/poudriere/files/patch-portconfig | 43 ------------------- ports-mgmt/poudriere/pkg-plist | 18 ++++++-- 5 files changed, 20 insertions(+), 78 deletions(-) delete mode 100644 ports-mgmt/poudriere/files/patch-8bfaa898b32370bbfff9bf37fc833d7abc4b8b67 delete mode 100644 ports-mgmt/poudriere/files/patch-portconfig diff --git a/ports-mgmt/poudriere/Makefile b/ports-mgmt/poudriere/Makefile index 1b7dab000346..30fe2745e786 100644 --- a/ports-mgmt/poudriere/Makefile +++ b/ports-mgmt/poudriere/Makefile @@ -1,6 +1,5 @@ PORTNAME= poudriere -DISTVERSION= 3.3.7 -PORTREVISION= 4 +DISTVERSION= 3.4.0 CATEGORIES= ports-mgmt MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \ http://mirror.shatow.net/freebsd/${PORTNAME}/ \ @@ -47,11 +46,9 @@ 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.* + ${WRKSRC}/src/bin/poudriere.in post-install: ${LN} -fs ${LOCALBASE}/share/freebsd/MANIFESTS \ diff --git a/ports-mgmt/poudriere/distinfo b/ports-mgmt/poudriere/distinfo index 6ef82ef0ca7d..bd45ff2b7dbf 100644 --- a/ports-mgmt/poudriere/distinfo +++ b/ports-mgmt/poudriere/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1629310335 -SHA256 (freebsd-poudriere-3.3.7_GH0.tar.gz) = a85cfeb601455758bcc777182c1ef59e5172f9c2171d66c994e4c00cfac572ee -SIZE (freebsd-poudriere-3.3.7_GH0.tar.gz) = 4423394 +TIMESTAMP = 1702284621 +SHA256 (freebsd-poudriere-3.4.0_GH0.tar.gz) = 73bc59732555aa2f9cc4586e7bd4ea8d38528e0017c27e4cd7c7479c67465223 +SIZE (freebsd-poudriere-3.4.0_GH0.tar.gz) = 4163633 diff --git a/ports-mgmt/poudriere/files/patch-8bfaa898b32370bbfff9bf37fc833d7abc4b8b67 b/ports-mgmt/poudriere/files/patch-8bfaa898b32370bbfff9bf37fc833d7abc4b8b67 deleted file mode 100644 index 892ab3d338ae..000000000000 --- a/ports-mgmt/poudriere/files/patch-8bfaa898b32370bbfff9bf37fc833d7abc4b8b67 +++ /dev/null @@ -1,24 +0,0 @@ -commit 8bfaa898b32370bbfff9bf37fc833d7abc4b8b67 -Author: Bryan Drewery -Date: Sat Aug 28 11:57:56 2021 -0700 - - distclean: Fix reading make.conf - - Fixes #910 - Fixes fa0308152e6 ("Move make.conf ports_env handling to its own not-spammy file") - - (cherry picked from commit 95971acb6ffd51b2432a38efd1111dd189f68edd) - -diff --git src/share/poudriere/distclean.sh src/share/poudriere/distclean.sh -index 08889f1dd..f77163fc4 100755 ---- src/share/poudriere/distclean.sh -+++ src/share/poudriere/distclean.sh -@@ -144,7 +144,7 @@ for PTNAME in ${PTNAMES}; do - - __MAKE_CONF=$(mktemp -t poudriere-make.conf) - export __MAKE_CONF -- setup_ports_env "/" "${__MAKE_CONF}" -+ setup_ports_env "" "${__MAKE_CONF}" - if [ -z "${NO_PACKAGE_BUILDING}" ]; then - echo "BATCH=yes" - echo "PACKAGE_BUILDING=yes" diff --git a/ports-mgmt/poudriere/files/patch-portconfig b/ports-mgmt/poudriere/files/patch-portconfig deleted file mode 100644 index ef7d75cc1471..000000000000 --- a/ports-mgmt/poudriere/files/patch-portconfig +++ /dev/null @@ -1,43 +0,0 @@ -diff --git src/share/poudriere/options.sh src/share/poudriere/options.sh -index 745c20d8..51a9aff9 100755 ---- src/share/poudriere/options.sh -+++ src/share/poudriere/options.sh -@@ -155,7 +155,13 @@ fi - export PORTSDIR=`pget ${PTNAME} mnt` - [ -d "${PORTSDIR}/ports" ] && PORTSDIR="${PORTSDIR}/ports" - [ -z "${PORTSDIR}" ] && err 1 "No such ports tree: ${PTNAME}" --command -v dialog4ports >/dev/null 2>&1 || err 1 "You must have ports-mgmt/dialog4ports installed on the host to use this command." -+if command -v portconfig >/dev/null 2>&1; then -+ d4p=portconfig -+elif command -v dialog4ports >/dev/null 2>&1; then -+ d4p=dialog4ports -+else -+ err 1 "You must have ports-mgmt/dialog4ports or ports-mgmt/portconfig installed on the host to use this command." -+fi - - read_packages_from_params "$@" - -@@ -205,7 +211,7 @@ for originspec in $(listed_ports show_moved); do - env ${flavor:+FLAVOR=${flavor}} \ - make PORT_DBDIR=${PORT_DBDIR} \ - PKG_BIN=`which pkg-static` \ -- DIALOG4PORTS=`which dialog4ports` \ -+ DIALOG4PORTS=`which $d4p` \ - LOCALBASE=/nonexistent \ - -C ${PORTSDIR}/${origin} \ - ${RECURSE_COMMAND} -diff --git a/src/share/poudriere/testport.sh b/src/share/poudriere/testport.sh -index 07b788310..c684a3d27 100755 ---- src/share/poudriere/testport.sh -+++ src/share/poudriere/testport.sh -@@ -231,7 +231,9 @@ injail /usr/bin/make -C ${portdir} maintainer ECHO_CMD=true || \ - err 1 "Port is broken" - - if [ $CONFIGSTR -eq 1 ]; then -- command -v dialog4ports >/dev/null 2>&1 || err 1 "You must have ports-mgmt/dialog4ports installed on the host to use -c." -+ command -v portconfig >/dev/null 2>&1 || \ -+ command -v dialog4ports >/dev/null 2>&1 || \ -+ err 1 "You must have ports-mgmt/dialog4ports or ports-mgmt/portconfig installed on the host to use -c." - __MAKE_CONF=$(mktemp -t poudriere-make.conf) - setup_makeconf "${__MAKE_CONF}" "${JAILNAME}" "${PTNAME}" "${SETNAME}" - PORTSDIR=${portsdir} \ diff --git a/ports-mgmt/poudriere/pkg-plist b/ports-mgmt/poudriere/pkg-plist index 1a724e592533..8bffd5711b0e 100644 --- a/ports-mgmt/poudriere/pkg-plist +++ b/ports-mgmt/poudriere/pkg-plist @@ -4,20 +4,20 @@ bin/poudriere %%ETCDIR%%/hooks/pkgbuild.sh.sample @sample etc/poudriered.conf.sample etc/rc.d/poudriered +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Caddyfile.sample libexec/poudriere/cachec libexec/poudriere/cached libexec/poudriere/clock libexec/poudriere/cpdup libexec/poudriere/dirempty libexec/poudriere/dirwatch -libexec/poudriere/jexecd libexec/poudriere/locked_mkdir libexec/poudriere/nc libexec/poudriere/poudriered libexec/poudriere/ptsort libexec/poudriere/pwait libexec/poudriere/rename -libexec/poudriere/rexec +libexec/poudriere/setsid %%RM%%libexec/poudriere/rm libexec/poudriere/sh libexec/poudriere/timeout @@ -38,6 +38,7 @@ man/man8/poudriere-version.8.gz %%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpd.conf.sample %%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf.sample %%DATADIR%%/MANIFESTS +%%DATADIR%%/api.sh %%DATADIR%%/awk/dependency_loop.awk %%DATADIR%%/awk/humanize.awk %%DATADIR%%/awk/json.awk @@ -47,7 +48,6 @@ man/man8/poudriere-version.8.gz %%DATADIR%%/awk/processonelog2.awk %%DATADIR%%/awk/siginfo_buildtime.awk %%DATADIR%%/awk/unique_pkgnames_from_flavored_origins.awk -%%DATADIR%%/api.sh %%DATADIR%%/bulk.sh %%DATADIR%%/common.sh %%DATADIR%%/daemon.sh @@ -87,6 +87,16 @@ man/man8/poudriere-version.8.gz %%DATADIR%%/html/jail.html %%DATADIR%%/html/robots.txt %%DATADIR%%/image.sh +%%DATADIR%%/image_dump.sh +%%DATADIR%%/image_firmware.sh +%%DATADIR%%/image_hybridiso.sh +%%DATADIR%%/image_iso.sh +%%DATADIR%%/image_mfs.sh +%%DATADIR%%/image_rawdisk.sh +%%DATADIR%%/image_tar.sh +%%DATADIR%%/image_usb.sh +%%DATADIR%%/image_zfs.sh +%%DATADIR%%/image_zsnapshot.sh %%DATADIR%%/include/cache.sh %%DATADIR%%/include/colors.pre.sh %%DATADIR%%/include/colors.sh @@ -97,6 +107,8 @@ man/man8/poudriere-version.8.gz %%DATADIR%%/include/hash.sh %%DATADIR%%/include/html.sh %%DATADIR%%/include/parallel.sh +%%DATADIR%%/include/pkg.sh +%%DATADIR%%/include/pkgqueue.sh %%DATADIR%%/include/shared_hash.sh %%DATADIR%%/include/util.sh %%DATADIR%%/jail.sh