Skip to content

Commit dcd90ab

Browse files
author
neilpang
committed
[openbsd] Add OpenBSD CI job to GitHub Actions
.builds/openbsd.yml last produced a passing result on 2023-11-10. The job after that, #1520293 on 2025-06-28, failed, and nothing has run on builds.sr.ht since; the SourceHut badge in README currently reads "builds: failure". No sr.ht context appears on any of the last 19 commits here either, so even when those builds did run, their result was never visible on a commit or a pull request in this repository. This adds a job that runs the build in an OpenBSD 7.9 VM on a GitHub-hosted runner: autotools autoreconf -vif; configure; make legacy ./Configure -n openbsd; make; bash ./check.bash openbsd libtool has to come from packages. OpenBSD's base /usr/bin/libtool is a different program and brings no GNU libtool m4 files, so without the package aclocal cannot find LT_INIT and autoreconf stops at Makefile.am:100: you'll need to arrange for the Libtool m4 files Makefile.am:100: to be found by aclocal autoreconf-2.72: error: automake failed with exit status: 1 after which the half-written configure dies with configure[3882]: syntax error: `disable-fast-install' unexpected .builds/openbsd.yml installs libtool for the same reason. autoconf and automake are pinned to a package version because pkg_add reports both names as ambiguous -- 7.9 packages eighteen autoconf versions and twelve automake versions -- and AUTOCONF_VERSION / AUTOMAKE_VERSION have to agree with whichever is installed. "make check" is deliberately not run on the autotools build. It fails tests/LTbasic2 there with "opened regular file wasn't found"; that test is not part of the legacy suite, and the two paths end up with very different flag sets, since configure.ac's openbsd arm sets only LSOF_VERS while Configure also sets HASIPv6, HAS_SYS_PIPEH and HAS_STRFTIME. That is left for a separate change. Verified on GitHub Actions, OpenBSD 7.9: bash ./check.bash openbsd successful: 14 skipped: 0 failed: 0 All 14 test cases are passed successfully
1 parent 409c680 commit dcd90ab

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

‎.github/workflows/build.yml‎

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,39 @@ jobs:
102102
./Configure -n freebsd
103103
make
104104
bash ./check.bash freebsd
105+
106+
openbsd:
107+
runs-on: ubuntu-latest
108+
steps:
109+
- uses: actions/checkout@v7
110+
- name: build and test in an OpenBSD vm
111+
uses: vmactions/openbsd-vm@v1
112+
with:
113+
release: "7.9"
114+
usesh: true
115+
copyback: false
116+
prepare: |
117+
pkg_add -I bash git libtool groff autoconf-2.72p0 automake-1.18.1
118+
run: |
119+
set -e
120+
src=$(pwd)
121+
export AUTOCONF_VERSION=2.72
122+
export AUTOMAKE_VERSION=1.18
123+
124+
# autotools path: build only. "make check" additionally fails
125+
# tests/LTbasic2 here with "opened regular file wasn't found";
126+
# that test is not part of the legacy suite below and is left
127+
# for a separate fix. libtool has to come from packages -- the
128+
# base /usr/bin/libtool is a different program and aclocal
129+
# cannot find LT_INIT without the package's m4 files.
130+
autoreconf -vif
131+
mkdir /tmp/build
132+
cd /tmp/build
133+
"$src"/configure
134+
make
135+
cd "$src"
136+
137+
# legacy Configure, the path .builds/openbsd.yml covered
138+
./Configure -n openbsd
139+
make
140+
bash ./check.bash openbsd

0 commit comments

Comments
 (0)