Gyorgy Sarvari 03328f6c73
tinyproxy: add ptest support
It takes <10s to execute.

Sample output:

root@qemux86-64:~# ptest-runner
START: ptest-runner
2025-12-23T17:45
BEGIN: /usr/lib/tinyproxy/ptest
starting web server... done (listening on 127.0.0.3:32123)
starting tinyproxy... done (listening on 127.0.0.2:12321)
waiting for 1 seconds.. done
checking direct connection to web server... ok
testing connection through tinyproxy... ok
requesting statspage via stathost url... ok
signaling tinyproxy to reload config...ok
checking direct connection to web server... ok
testing connection through tinyproxy... ok
requesting statspage via stathost url... ok
checking bogus request... ok, got expected error code 400
testing connection to filtered domain... ok, got expected error code 403
requesting connect method to denied port... ok, got expected error code 403
testing unavailable backend... ok, got expected error code 502
0 errors
killing tinyproxy... ok
killing webserver... ok
done
PASS: run_tests.sh
DURATION: 1
END: /usr/lib/tinyproxy/ptest
2025-12-23T17:45
STOP: ptest-runner
TOTAL: 1 FAIL: 0

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-12-24 13:18:25 -08:00

67 lines
2.1 KiB
BlitzBasic

SUMMARY = "Lightweight http(s) proxy daemon"
HOMEPAGE = "https://tinyproxy.github.io/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.gz \
file://disable-documentation.patch \
file://tinyproxy.service \
file://tinyproxy.conf \
file://run-ptest \
file://CVE-2025-63938.patch \
"
SRC_URI[sha256sum] = "2c8fe5496f2c642bfd189020504ab98d74b9edbafcdb94d9f108e157b5bdf96d"
UPSTREAM_CHECK_URI = "https://github.com/tinyproxy/tinyproxy/releases"
EXTRA_OECONF += " \
--enable-filter \
--enable-transparent \
--enable-reverse \
--enable-upstream \
--enable-xtinyproxy \
"
inherit autotools systemd useradd ptest
#User specific
USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "--system --home /dev/null \
--no-user-group --gid nogroup tinyproxy"
SYSTEMD_PACKAGES += "${BPN}"
SYSTEMD_SERVICE:${PN} = "tinyproxy.service"
SYSTEMD_AUTO_ENABLE:${PN} = "enable"
do_install:append() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${UNPACKDIR}/tinyproxy.service ${D}${systemd_system_unitdir}
fi
install -m 0644 ${UNPACKDIR}/tinyproxy.conf ${D}${sysconfdir}/tinyproxy.conf
}
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests/scripts
install -d ${D}${PTEST_PATH}/data/templates
install ${S}/tests/scripts/*.sh ${D}${PTEST_PATH}/tests/scripts
install ${S}/tests/scripts/*.pl ${D}${PTEST_PATH}/tests/scripts
install -m 0644 ${S}/data/templates/*.html ${D}${PTEST_PATH}/data/templates/
# test the installed binary, not the one that was just compiled in the src folder
sed -i 's,TINYPROXY_BIN=.*,TINYPROXY_BIN=tinyproxy,' ${D}${PTEST_PATH}/tests/scripts/run_tests.sh
}
RDEPENDS:${PN}-ptest += "\
perl \
perl-module-cwd \
perl-module-encode-encoding \
perl-module-file-spec \
perl-module-getopt-long \
perl-module-io-socket \
perl-module-io-socket-inet \
perl-module-pod-text \
perl-module-posix \
procps \
"