| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- # syntax=docker/dockerfile:1
- # OpenWrt 23.05.6 x86_64 testbed image.
- #
- # Built from the official OpenWrt 23.05.6 rootfs tarball (downloads.openwrt.org)
- # + a small set of .ipk packages from the 23.05.6 feeds:
- # - lua + liblua5.1.5 (Lua 5.1.5 — OpenWrt's base lua package is
- # still 5.1, NOT 5.4)
- # - openssl-util + libopenssl3 + ca-bundle (sha256.lua uses `openssl dgst`)
- #
- # .ipk files are ar archives (busybox tar can't read them), so they are
- # pre-extracted on the host into ipk-extract/ (see download-2305.sh) and
- # simply COPYed into the image.
- #
- # Build (from balancer-lite-lua/testbed):
- # docker build -f Dockerfile-2305 -t openwrt-testbed-2305:latest .
- #
- # Run with the standard openwrt-testbed skill scripts via env override:
- # OPENWRT_TESTBED_NAME=openwrt-testbed-2305 \
- # OPENWRT_TESTBED_IMAGE=openwrt-testbed-2305:latest \
- # skills/openwrt-testbed/scripts/start.sh
- #
- # Note: this image is NOT the skill's default image. The skill's 19.07
- # Dockerfile (shellspec/openwrt + luasocket) is left untouched.
- FROM scratch
- # Official 23.05.6 x86_64 rootfs (pre-extracted on the host; see
- # download-2305.sh). Extracted as ./ into the image root.
- COPY rootfs/ /
- # Pre-extracted package payloads (lua, liblua5.1.5, openssl-util,
- # libopenssl3, ca-bundle) from the 23.05.6 feeds.
- COPY ipk-extract/ /
- # Lua paths + workspace for test fixtures. OpenWrt's Lua binary
- # doesn't include versioned paths in its compiled-in package.path,
- # so export them via profile.d (the test driver also sets them
- # inline in every docker exec).
- RUN mkdir -p /var/lock /var/run /tmp /etc/profile.d /testbed \
- && rm -rf /var/opkg-lists/* \
- && echo 'export LUA_PATH="/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua;;"' > /etc/profile.d/lua-paths.sh \
- && echo 'export LUA_CPATH="/usr/lib/lua/5.1/?.so;/usr/lib/lua/?.so;;"' >> /etc/profile.d/lua-paths.sh
- # NB: busybox's `sleep` doesn't understand "infinity" — use 1 year.
- CMD ["sleep", "31536000"]
|