mirror of
https://github.com/thead-yocto-mirror/meta-openembedded
synced 2026-09-10 08:04:56 +02:00
Detecting libdl for dlopen when failed returns "none required", which then gets added to linker commandline and inturn fails to link with errors obviously because "-lnone required" is no such library. This patch is not musl dependent, earlier patches clubbed it into musl patch however this is needed with clang too regardless of the C library the reason is clang automatically brings in libdl in OE and hence this test is failing. This is noop with gcc since the first check will pass thats why it works in first place Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Andreas Müller <schnitzeltony@gmail.com>
139 lines
4.7 KiB
BlitzBasic
139 lines
4.7 KiB
BlitzBasic
SUMMARY = "NetworkManager"
|
|
HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
|
|
SECTION = "net/misc"
|
|
|
|
LICENSE = "GPLv2+"
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
|
|
file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
|
|
file://docs/api/html/license.html;md5=233931303ef80eded167add1f60a50c1 \
|
|
"
|
|
|
|
DEPENDS = " \
|
|
intltool-native \
|
|
libxslt-native \
|
|
libnl \
|
|
libgudev \
|
|
util-linux \
|
|
libndp \
|
|
libnewt \
|
|
jansson \
|
|
curl \
|
|
"
|
|
|
|
inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc
|
|
|
|
SRC_URI = " \
|
|
${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
|
|
file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
|
|
file://0002-Do-not-create-settings-settings-property-documentati.patch \
|
|
file://0003-dlopen-failure.patch \
|
|
"
|
|
SRC_URI_append_libc-musl = " file://musl/0001-Fix-build-with-musl.patch"
|
|
|
|
SRC_URI[md5sum] = "10abacaafb162a67d2942adf03e7e9e4"
|
|
SRC_URI[sha256sum] = "8e962833b6ca03edda1bc57ed6614a7b8c2339531b44acef098d05f2324c5d2c"
|
|
|
|
UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.16/"
|
|
UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P<pver>1\.10(\.\d+)+).tar.xz"
|
|
|
|
S = "${WORKDIR}/NetworkManager-${PV}"
|
|
|
|
EXTRA_OECONF = " \
|
|
--disable-ifcfg-rh \
|
|
--disable-more-warnings \
|
|
--with-iptables=${sbindir}/iptables \
|
|
--with-tests \
|
|
--with-nmtui=yes \
|
|
--with-udev-dir=${nonarch_base_libdir}/udev \
|
|
"
|
|
|
|
# gobject-introspection related
|
|
GI_DATA_ENABLED_libc-musl = "False"
|
|
|
|
# stolen from https://github.com/voidlinux/void-packages/blob/master/srcpkgs/NetworkManager/template
|
|
CFLAGS_libc-musl_append = " \
|
|
-DHAVE_SECURE_GETENV -Dsecure_getenv=getenv \
|
|
-D__USE_POSIX199309 -DRTLD_DEEPBIND=0 \
|
|
"
|
|
|
|
do_compile_prepend() {
|
|
export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
|
|
}
|
|
|
|
PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
|
|
${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \
|
|
"
|
|
PACKAGECONFIG[systemd] = " \
|
|
--with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \
|
|
--without-systemdsystemunitdir, \
|
|
"
|
|
PACKAGECONFIG[polkit] = "--enable-polkit --enable-polkit-agent,--disable-polkit --disable-polkit-agent,polkit"
|
|
PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
|
|
# consolekit is not picked by shlibs, so add it to RDEPENDS too
|
|
PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
|
|
PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
|
|
PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
|
|
# Use full featured dhcp client instead of internal one
|
|
PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
|
|
PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
|
|
PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
|
|
PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib"
|
|
PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
|
|
PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant"
|
|
PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
|
|
PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
|
|
|
|
PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
|
|
${PN}-nmtui ${PN}-nmtui-doc \
|
|
${PN}-adsl \
|
|
"
|
|
|
|
FILES_libnmutil += "${libdir}/libnm-util.so.*"
|
|
FILES_libnmglib += "${libdir}/libnm-glib.so.*"
|
|
FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
|
|
|
|
FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
|
|
|
|
FILES_${PN} += " \
|
|
${libexecdir} \
|
|
${libdir}/NetworkManager/${PV}/*.so \
|
|
${nonarch_libdir}/NetworkManager/VPN \
|
|
${nonarch_libdir}/NetworkManager/conf.d \
|
|
${datadir}/polkit-1 \
|
|
${datadir}/dbus-1 \
|
|
${noarch_base_libdir}/udev/* \
|
|
${systemd_unitdir}/system \
|
|
${libdir}/pppd \
|
|
"
|
|
|
|
RRECOMMENDS_${PN} += "iptables \
|
|
${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
|
|
"
|
|
RCONFLICTS_${PN} = "connman"
|
|
|
|
FILES_${PN}-dev += " \
|
|
${datadir}/NetworkManager/gdb-cmd \
|
|
${libdir}/pppd/*/*.la \
|
|
${libdir}/NetworkManager/*.la \
|
|
${libdir}/NetworkManager/${PV}/*.la \
|
|
"
|
|
|
|
FILES_${PN}-nmtui = " \
|
|
${bindir}/nmtui \
|
|
${bindir}/nmtui-edit \
|
|
${bindir}/nmtui-connect \
|
|
${bindir}/nmtui-hostname \
|
|
"
|
|
|
|
FILES_${PN}-nmtui-doc = " \
|
|
${mandir}/man1/nmtui* \
|
|
"
|
|
|
|
SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}"
|
|
|
|
do_install_append() {
|
|
rm -rf ${D}/run ${D}${localstatedir}/run
|
|
}
|