FreeBSD/poudriere 1e1cd81src/share/poudriere/include asserts.sh

dev_assert: Fix alias for lines ending in \

`nop` is used rather than `:` so that `VAR=x dev_assert` keeps the
variable scope to that line only.
DeltaFile
+2-1src/share/poudriere/include/asserts.sh
+2-11 files

FreeBSD/poudriere d0e6e13src/share/poudriere jail.sh

jail -c -m pkgbase: Default URL has changed to pkg.freebsd.org

(cherry picked from commit 7849c70c61b1f302a1eb113aa3b86f21a7ec9e9e)
DeltaFile
+1-1src/share/poudriere/jail.sh
+1-11 files

FreeBSD/poudriere afeb06esrc/share/poudriere jail.sh

jail -c -m pkgbase: Default URL has changed to pkg.freebsd.org
DeltaFile
+1-1src/share/poudriere/jail.sh
+1-11 files

FreeBSD/poudriere befbb9csrc/share/poudriere common.sh

bulk/testport logger should be a protected job.
DeltaFile
+5-0src/share/poudriere/common.sh
+5-01 files

FreeBSD/poudriere 7816d1fsrc/share/poudriere/include hash.sh, test stack.sh

stack_size: Fix eargs error
DeltaFile
+13-0test/stack.sh
+1-1src/share/poudriere/include/hash.sh
+14-12 files

FreeBSD/poudriere e6e1891src/bin poudriere.in, test runtest.sh

poudriere / runtest: Allow MALLOC_CONF from environment
DeltaFile
+1-1src/bin/poudriere.in
+1-0test/runtest.sh
+2-12 files

FreeBSD/poudriere feec515src/share/poudriere/include parallel.sh

_spawn_wrapper: Add comment about async lists
DeltaFile
+2-0src/share/poudriere/include/parallel.sh
+2-01 files

FreeBSD/poudriere 08f3238src/share/poudriere/include parallel.sh

_kill_job: Add debug output for pwait return
DeltaFile
+2-0src/share/poudriere/include/parallel.sh
+2-01 files

FreeBSD/poudriere 59a4387external/sh miscbltin.c

sh: Don't assume EINTR means SIGALRM

Taken from FreeBSD https://reviews.freebsd.org/D53761
DeltaFile
+57-26external/sh/miscbltin.c
+57-261 files

FreeBSD/poudriere 562e9a5test jobs.sh

test jobs.sh SH=/bin/sh: Improve racy test

commit 3085e8acd748dd tweaked this check to deal with Running
or Done, but needs to deal with the %- job being different
as well.
DeltaFile
+3-3test/jobs.sh
+3-31 files

FreeBSD/poudriere 9f0309csrc/share/poudriere/include pkg.sh

PKG_HASH: Fix pkg cache using wrong timestamp.

This affects build performance only.
DeltaFile
+1-1src/share/poudriere/include/pkg.sh
+1-11 files

FreeBSD/poudriere 24aa0ddsrc/share/poudriere common.sh

testport/bulk -t: Make stage-qa library dependencies check fatal.

This now forces PROXYDEPS_FATAL on for stage-qa when in test mode.
The PKG_NO_VERSION_FOR_DEPS feature depends on packages having proper
dependencies recorded. Pkg likely does too.
DeltaFile
+1-0src/share/poudriere/common.sh
+1-01 files

FreeBSD/poudriere 9de72d5external/patches/sh 020-vfork-child-setm.patch, external/sh eval.c

sh: Allow vfork in child with mflag set
DeltaFile
+19-0external/patches/sh/020-vfork-child-setm.patch
+1-1external/sh/eval.c
+20-12 files

FreeBSD/poudriere 5b76555src/share/poudriere common.sh, src/share/poudriere/include parallel.sh

Traps: avoid forking to carry along exit status to child handlers.

- Also allow signal handlers to modify return status.
- Add more tests.
DeltaFile
+52-0test/setup_traps.sh
+30-8src/share/poudriere/include/parallel.sh
+26-7test/runtest.sh
+1-3src/share/poudriere/common.sh
+109-184 files

FreeBSD/poudriere 87549dasrc/poudriere-sh mapfile.c, src/share/poudriere common.sh

mapfile/readlines/readlines_file: Deal with reads without EOL newline
DeltaFile
+50-0test/mapfile.sh
+33-0src/share/poudriere/include/util.sh
+19-1src/poudriere-sh/mapfile.c
+12-0test/readlines.sh
+0-2src/share/poudriere/common.sh
+114-35 files

FreeBSD/poudriere bd3f455test common.sh

tests cleanup: print jobs warning to stderr
DeltaFile
+1-1test/common.sh
+1-11 files

FreeBSD/poudriere 7bcf3d9src/share/poudriere common.sh

bulk: Fix ref jail not being unmounted when detecting a crashed builder
DeltaFile
+5-0src/share/poudriere/common.sh
+5-01 files

FreeBSD/poudriere c0aedb4src/share/poudriere/include parallel.sh

parallel_exec: Simplify; avoid a fork.

Like build_queue_runner() we can avoid needing to mess
with subshells or set -e by using an exit trap to write
back to the job pipe.
DeltaFile
+8-23src/share/poudriere/include/parallel.sh
+8-231 files

FreeBSD/poudriere c96809dsrc/share/poudriere/include parallel.sh, test jobs.sh

jobs_with_statuses: Avoid requiring a pipe to use this

This also avoids creating a giant multi-line string as the result
and instead returns 1 line at a time. This will allow an optimal
builtin.
DeltaFile
+128-75src/share/poudriere/include/parallel.sh
+38-25test/jobs.sh
+166-1002 files

FreeBSD/poudriere 5da0847src/share/poudriere/include shared_hash.sh

shash_remove_var: optimize to not need find(1)

Using shash_unset() allows using rm(builtin).
DeltaFile
+2-7src/share/poudriere/include/shared_hash.sh
+2-71 files

FreeBSD/poudriere 898b3dcsrc/share/poudriere common.sh

_build_queue_check_jobs: Use more efficient jobs_with_statuses()
DeltaFile
+27-23src/share/poudriere/common.sh
+27-231 files

FreeBSD/poudriere 79841d8test common.sh jobs.sh

tests expect_error_on_stderr: try to allow the child to error.

That is, before if the child threw an error we might never
see stderr. Now we should.

This requires disabling a few assertions that check for no job %1 which
now exists within here.
DeltaFile
+23-14test/common.sh
+10-10test/jobs.sh
+33-242 files

FreeBSD/poudriere 028c678src/share/poudriere common.sh

bulk: Avoid an injail ls: use builtin stat(1)
DeltaFile
+1-1src/share/poudriere/common.sh
+1-11 files

FreeBSD/poudriere 28fb280src/libexec/poudriere/timestamp timestamp.c

timestamp: Partially revert 728c011c

This change removed the `const` on prefix_stdout, prefix_stdin, and
time_start. This is not removed by the compiler, and does serve a
purpose beyond return values. Writes through the pointer, such as
`prefix_stdout[0] = 'a'` would cause a compiler error. The full
intention is that the variable is immutable once set.
`const char * const` could achieve that but is disallowed by the
compiler due to immutable pointer.

Issue #1103
DeltaFile
+1-1src/libexec/poudriere/timestamp/timestamp.c
+1-11 files

FreeBSD/poudriere 8dd9799src/share/poudriere common.sh

jail clean: Don't hide "stopping builders" line or errors.
DeltaFile
+4-3src/share/poudriere/common.sh
+4-31 files

FreeBSD/poudriere 86d669dsrc/poudriere-sh mapfile.c helpers.c

Use sh fmtstr() in place of snprintf() which blocks interrupt
DeltaFile
+3-3src/poudriere-sh/mapfile.c
+2-2src/poudriere-sh/helpers.c
+1-1src/poudriere-sh/traps.c
+6-63 files

FreeBSD/poudriere 7546ca6external/sh jobs.c

sh: Fix job pointer invalidation with trapsasync

Taken from FreeBSD: https://reviews.freebsd.org/D53793
DeltaFile
+5-1external/sh/jobs.c
+5-11 files

FreeBSD/poudriere ed66089external/sh jobs.c

sh: Fix a double free in a rare scenario with pipes

Taken from FreeBSD:
commit 75a6c38e4d5c651b7398bf2bea5baa41a0939e92
Author: Jilles Tjoelker <jilles at FreeBSD.org>
Date:   Sat Nov 15 17:43:03 2025 +0100
DeltaFile
+2-1external/sh/jobs.c
+2-11 files

FreeBSD/poudriere b6e0f21src/share/poudriere common.sh

bulk: Prevent EPIPE from children during cleanup.

It is possible that a signal comes in while in log_start()/log_stop() which
would leave inconsistent redirects that trap_pre_handler() cannot properly
cleanup.
DeltaFile
+6-0src/share/poudriere/common.sh
+6-01 files

FreeBSD/poudriere acee14esrc/share/poudriere/include shared_hash.sh pkg.sh, test shash-basic.sh

shash: Deal with some globbing issues.

- Some functions were disabling globbing while all they wanted
  was to *enable* globbing.
- Only glob the filename, not the path.
  Some callers will set SHASH_VAR_PATH to a path that may contain spaces
  or pattern characters that are not expected to be expanded.
- Ensure tests cover spaces.
- Protect some function calls from confusing arguments for options.
DeltaFile
+56-28src/share/poudriere/include/shared_hash.sh
+35-35test/shash-basic.sh
+4-1src/share/poudriere/include/pkg.sh
+95-643 files