miniupnpd: partial recipe rewrite

This upstream does not in fact use autotools, so remove the inherit.

Split the configure step (make config.h) into do_configure and ensure
that it always runs in case the configuration has changed.

Use PACKAGECONFIG for options, as there are more available upstream.

Add UPSTREAM_CHECK variables to check for new releases. This depends on
a bitbake change[1] but with that detects that 2.3.7 has been released.

Add a DEPENDS on openssl as the Makefiles try to link against it and
silently fail without it.

[1] https://lore.kernel.org/bitbake-devel/20250319165339.439776-1-ross.burton@arm.com/T/#u

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Ross Burton 2025-03-19 17:41:49 +00:00 committed by Khem Raj
parent 7b4314bc72
commit 672062bb3a
No known key found for this signature in database
GPG Key ID: BB053355919D3314

View File

@ -7,27 +7,31 @@ SECTION = "networking"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a1ed15843ce66639bcf9f109cf247870"
inherit autotools gettext pkgconfig systemd
inherit gettext pkgconfig systemd
DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack"
DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack openssl"
SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${BP}.tar.gz;downloadfilename=${BP}.tar.gz \
file://miniupnpd.service \
file://0001-Add-OpenEmbedded-cross-compile-case.patch \
"
SRC_URI[md5sum] = "340789edd49c113afe37834cc901a1e8"
SRC_URI[sha256sum] = "218fad7af31f3c22fb4c9db28a55a2a8b5067d41f5b38f52008a057a00d2206d"
IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
UPSTREAM_CHECK_URI = "https://miniupnp.tuxfamily.org/files/"
UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)\.tar"
do_configure:prepend() {
echo "${@d.getVar('DISTRO_VERSION')}" > ${S}/os.openembedded
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--ipv6"
EXTRA_OEMAKE = "-f Makefile.linux"
do_configure() {
echo "${@d.getVar('DISTRO_VERSION')}" > ${S}/os.openembedded
CONFIG_OPTIONS="--leasefile --vendorcfg ${PACKAGECONFIG_CONFARGS}" oe_runmake --always-make config.h
}
do_compile() {
cd ${S}
CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux config.h
CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux
oe_runmake
}
do_install() {