notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine
Port details
porch Program orchestration tool scripted with lua
1.2 sysutils on this many watch lists=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 1.2Version of this port present on the latest quarterly branch.
Maintainer: kevans@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2024-09-27 04:42:09
Last Update: 2025-06-05 15:18:43
Commit Hash: 265bd0d
License: BSD2CLAUSE
WWW:
https://git.kevans.dev/kevans/porch
Description:
Porch is a program orchestration tool, inspired by expect(1) but scripted with lua. This utility allows scripted manipulation of programs for, e.g., testing or automation purposes. Porch drives spawn processes over a pts(4) pseudo-terminal, which allows for a broader range of interactions with a program under orchestration.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

Manual pages:
pkg-plist: as obtained via: make generate-plist
Expand this list (28 items)
Collapse this list.
  1. /usr/local/share/licenses/porch-1.2/catalog.mk
  2. /usr/local/share/licenses/porch-1.2/LICENSE
  3. /usr/local/share/licenses/porch-1.2/BSD2CLAUSE
  4. bin/porch
  5. bin/porchgen
  6. bin/rporch
  7. lib/lua/5.4/porch/core.so
  8. share/lua/5.4/porch.lua
  9. share/lua/5.4/porch/actions.lua
  10. share/lua/5.4/porch/context.lua
  11. share/lua/5.4/porch/direct.lua
  12. share/lua/5.4/porch/env.lua
  13. share/lua/5.4/porch/generator.lua
  14. share/lua/5.4/porch/matchers.lua
  15. share/lua/5.4/porch/process.lua
  16. share/lua/5.4/porch/scripter.lua
  17. share/examples/porch/cat.orch
  18. share/examples/porch/cat-multi.orch
  19. share/examples/porch/mailx.orch
  20. share/examples/porch/nc.orch
  21. share/man/man1/porch.1.gz
  22. share/man/man1/porchgen.1.gz
  23. share/man/man1/rporch.1.gz
  24. share/man/man3lua/porch.3lua.gz
  25. share/man/man5/orch.5.gz
  26. @owner
  27. @group
  28. @mode
Collapse this list.
USE_RC_SUBR (Service Scripts)
  • no SUBR information found for this port
Dependency lines:
  • porch>0:sysutils/porch
To install the port:
cd /usr/ports/sysutils/porch/ && make install clean
To add the package, run one of these commands:
  • pkg install sysutils/porch
  • pkg install porch
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
PKGNAME: porch
Flavors: there is no flavor information for this port.
distinfo:
TIMESTAMP = 1749093985 SHA256 (porch-1.2.tar.gz) = 26c485af12c47f5597d4ab516cdae6185a7f8ebed96673bc073e5e4791ddaafa SIZE (porch-1.2.tar.gz) = 66325

Expand this list (2 items)

Collapse this list.

SHA256 (f0dbbc88f53bef4.patch) = 9288a834dbe1bbb65d44a4395bf7c79eb7df53cee9a54267889b1ba150e75f59 SIZE (f0dbbc88f53bef4.patch) = 672

Collapse this list.


Packages (timestamps in pop-ups are UTC):
porch
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest1.21.2-1.21.2n/an/an/a
FreeBSD:13:quarterly1.21.2-1.21.2n/an/an/a
FreeBSD:14:latest1.21.2-1.21.2---
FreeBSD:14:quarterly1.21.2-1.21.2---
FreeBSD:15:latest1.21.2n/a1.2n/an/a--
FreeBSD:15:quarterly1.21.2n/a-n/an/a--
FreeBSD:16:latest1.21.2n/a-n/an/a--
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. cmake : devel/cmake-core
  2. ninja : devel/ninja
Library dependencies:
  1. liblua-5.4.so : lang/lua54
There are no ports dependent upon this port

Configuration Options:
===> The following configuration options are available for porch-1.2: EXAMPLES=on: Build and/or install examples MANPAGES=on: Build and/or install manual pages ===> Use 'make config' to modify these settings
Options name:
sysutils_porch
USES:
cmake lua:53-54
FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (1 items)
Collapse this list.
  1. https://git.kevans.dev/kevans/porch/archive/1.2.tar.gz?dummy=/
Collapse this list.
Port Moves
  • port moved here from sysutils/orch on 2024-09-26
    REASON: Upstream was renamed

Number of commits found: 4

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
1.2
05 Jun 2025 15:18:43
commit hash: 265bd0dc7c54c583b5002a979f20ee73346c12a1commit hash: 265bd0dc7c54c583b5002a979f20ee73346c12a1commit hash: 265bd0dc7c54c583b5002a979f20ee73346c12a1commit hash: 265bd0dc7c54c583b5002a979f20ee73346c12a1 files touched by this commit
Kyle Evans (kevans) search for other commits by this committer
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))
1.1
23 Mar 2025 16:35:48
commit hash: bf2b1daec33511b705b5de7130c56bd46d36dfa7commit hash: bf2b1daec33511b705b5de7130c56bd46d36dfa7commit hash: bf2b1daec33511b705b5de7130c56bd46d36dfa7commit hash: bf2b1daec33511b705b5de7130c56bd46d36dfa7 files touched by this commit
Kyle Evans (kevans) search for other commits by this committer
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
1.0
28 Nov 2024 04:49:23
commit hash: 9f0fc6e32e2b4456abd440deea2da1d80b059219commit hash: 9f0fc6e32e2b4456abd440deea2da1d80b059219commit hash: 9f0fc6e32e2b4456abd440deea2da1d80b059219commit hash: 9f0fc6e32e2b4456abd440deea2da1d80b059219 files touched by this commit
Kyle Evans (kevans) search for other commits by this committer
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
0.4
27 Sep 2024 04:30:37
commit hash: 548701f13608d567e3292708cdf78d0fc5c88617commit hash: 548701f13608d567e3292708cdf78d0fc5c88617commit hash: 548701f13608d567e3292708cdf78d0fc5c88617commit hash: 548701f13608d567e3292708cdf78d0fc5c88617 files touched by this commit
Kyle Evans (kevans) search for other commits by this committer
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.

Number of commits found: 4