CVE and update status of the FreeBSD ports tree3,864 unaddressed CVEs in 671 portsAll times are CET
Port details

sysutils/porch 1.2

Program orchestration tool scripted with lua

Port info

Maintainer
kevans@FreeBSD.org
Packages
latest: 1.2
Upstream
up to date
Last update
to 1.2 · 265bd0dc7c
Quarterly
2026Q4: 1.2
Formerly
sysutils/orch until 2024-09-26
WWW
https://git.kevans.dev/kevans/porch
Links
cgit · VuXML

Install

Package
# pkg install porch
installs 1.2 from latest; from quarterly (2026Q4) 1.2
Port
# cd /usr/ports/sysutils/porch && make install clean
# make -C /usr/ports/sysutils/porch config  # change options first
Size
55 KiB download · 154 KiB installed
Depends on
lang/lua54 5.4.8
License
BSD2CLAUSE
Options
2 of 2 on in the package: EXAMPLES MANPAGES

Packages by version and architecture

latest

FreeBSD versionamd64aarch64i386
FreeBSD 161.21.2–
FreeBSD 151.21.2–
FreeBSD 141.21.21.2

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 151.21.2–
FreeBSD 141.21.21.2

version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.

Unaddressed and VuXML only (0)

No unaddressed CVE and nothing reported by pkg audit for the packaged version 1.2.

Fixed (0)

No VuXML entries for this package.

Problem reports (0) · open in Bugzilla, most recently changed first

None.

Commits (7)

Kyle Evans (kevans) · 1.2
sysutils/porch: update to v1.2

Highlights:
 - Ability to signal processes
 - Configuration of signal masks and ignored/caught signals
 - Improved porch(3lua) to better document the process/term interface
 - Enhanced eof() to invoke a callback on termination (orch(5)) with a
    wait status object or return it (porch(3lua))
265bd0dc7c
Kyle Evans (kevans) · 1.1
sysutils/porch: update to v1.1

Highlights:
 - porchgen(1) to generate starter orch(5) scripts
 - rporch(1) to execute a local orch(5) script against a remote machine
 - Added a pipe() command to inject output from another program
bf2b1daec3
Kyle Evans (kevans) · 1.0
sysutils/porch: update to v1.0

Highlights:
 - Now tries to avoid error/assert as much as possible to avoid aborting
   on lib
    users, which could handle the situation more gracefully
 - Allows more flexibility in run_script(), so one can pass an
   already-open file
    and run it.
 - Improved documentation with linting in CI
 - Wrote porch(3lua) to document the direct-execution interface
9f0fc6e32e
Kyle Evans (kevans) · 0.4
sysutils/orch: update to 0.4

Highlights:
 - Many bug fixes
 - Improved ipc interface for more robust program startup
 - Cleaner lib interface to allow use in lua scripts
 - Multi-match support within a single match()
 - Terminal resize support

While we're here, orch has been renamed to porch upstream to deconflict
with a pre-existing rust framework.  The scripts are still called
(orch)estration scripts.

This change also switches to the new `check-install` target to sanity
test our install layout.
548701f136
Kyle Evans (kevans) · 0.2 · as sysutils/orch
sysutils/orch: update to v0.2

Highlights:
- Support for other platforms (Linux, macOS, NetBSD, OpenBSD)
- Functionality pushed into lua modules, orch(1) is now a light driver
    on top of the library.  The library's intended to be installed for
    use by other Lua scripts if desired, and exports `env` and
    `run_script(scriptfile, cfg)`.
- More bits imported into the .orch script environment
- stty() support to change some flags on the termios of the child
- Support for Lua 5.2 was dropped

The build system was rewritten in the interim to use cmake instead of
bmake directly, so uidfix and related hacks have now disappeared.

Makefile restructured slightly to appease portlint, and both EXAMPLES
and MANPAGES options added to be able to disable those.
0932dd4166
Kyle Evans (kevans) · 0.1_1 · as sysutils/orch
sysutils/orch: pull in some patches following portability testing

These were deemed critcial enough to be worth backporting: the first
issue affects spawn() of paths that look relative; these are now just
using $PATH, and the script's directory is prepended to $PATH.

The other is that the tests weren't easily runnable, so it's gained some
bits to improve that and we hook up TEST_TARGET in the ports tree here.
3a26999f32
Kyle Evans (kevans) · 0.1 · as sysutils/orch
sysutils/orch: add a new port for program orchestration

Inspired by expect(1) but with its own syntax, orch allows program
orchestration via a pts(4) pseudo-terminal driven by similar write/match
patterns as with it source of inspiration.

This is still in relatively early development, but already it has a fair
amount of useful features.  Feedback is welcome, examples can be found
both in the manpage as well as /usr/local/share/orch/examples.  Other
practical examples can be found at:

https://git.kevans.dev/kevans/tty-tests
c721369988