NetworkManager: update to 1.30.2
This commit is contained in:
parent
93e42c7c1f
commit
09da7ccf64
10 changed files with 68 additions and 306 deletions
|
@ -1,52 +1,31 @@
|
|||
Reason: Fix crossbuilding GIR
|
||||
Upstream: No, not upstreamable since this is very specific to the Void setup
|
||||
diff --git clients/common/meson.build clients/common/meson.build
|
||||
index afa257b..50b53e7 100644
|
||||
--- clients/common/meson.build
|
||||
+++ clients/common/meson.build
|
||||
@@ -35,7 +35,7 @@ if enable_introspection
|
||||
settings_docs,
|
||||
input: nm_property_docs,
|
||||
output: settings_docs,
|
||||
- command: [xsltproc, '--output', '@OUTPUT@', join_paths(meson.current_source_dir(), 'settings-docs.xsl'), '@INPUT@'],
|
||||
+ command: [xsltproc, '--output', '@OUTPUT@', join_paths(meson.current_source_dir(), 'settings-docs.xsl'), join_paths(meson.current_source_dir(), '..', '..', '@INPUT@')],
|
||||
)
|
||||
Index: b/libnm/meson.build
|
||||
===================================================================
|
||||
--- a/libnm/meson.build
|
||||
+++ b/libnm/meson.build
|
||||
@@ -274,13 +274,23 @@ if enable_introspection
|
||||
'LD_LIBRARY_PATH=' + ld_library_path,
|
||||
]
|
||||
|
||||
test(
|
||||
diff --git libnm/meson.build libnm/meson.build
|
||||
index 51ca46d..f14d861 100644
|
||||
--- libnm/meson.build
|
||||
+++ libnm/meson.build
|
||||
@@ -236,7 +236,13 @@ if enable_introspection
|
||||
)
|
||||
endif
|
||||
|
||||
- generate_setting_docs = join_paths(meson.current_source_dir(), 'generate-setting-docs.py')
|
||||
+ if meson.is_cross_build()
|
||||
+ qemu = '/usr/bin/qemu-@XBPS_TARGET_QEMU_MACHINE@-static'
|
||||
+ qemu_python3_cmd = qemu + ' -L @XBPS_CROSS_BASE@ @XBPS_CROSS_BASE@/usr/bin/python3'
|
||||
+ generate_setting_docs = ['sh', '-c', qemu_python3_cmd, join_paths(meson.current_source_dir(), 'generate-setting-docs.py')]
|
||||
+ qemu_python3_cmd = [
|
||||
+ '/usr/bin/qemu-@XBPS_TARGET_QEMU_MACHINE@-static',
|
||||
+ '-L', '@XBPS_CROSS_BASE@',
|
||||
+ '@XBPS_CROSS_BASE@/usr/bin/python3'
|
||||
+ ]
|
||||
+ else
|
||||
+ generate_setting_docs = [python.path(), join_paths(meson.current_source_dir(), 'generate-setting-docs.py')]
|
||||
+ qemu_python3_cmd = python.path()
|
||||
+ endif
|
||||
|
||||
gi_typelib_path = run_command('printenv', 'GI_TYPELIB_PATH').stdout()
|
||||
if gi_typelib_path != ''
|
||||
@@ -261,7 +267,7 @@ if enable_introspection
|
||||
name,
|
||||
+
|
||||
nm_settings_docs_xml_gir = custom_target(
|
||||
'nm-settings-docs-gir.xml',
|
||||
input: libnm_gir[0],
|
||||
output: name,
|
||||
- command: [generate_setting_docs_env, python.path(), generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT@', '--output', '@OUTPUT@'],
|
||||
+ command: [generate_setting_docs_env, generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT@', '--output', '@OUTPUT@'],
|
||||
depends: libnm_gir,
|
||||
)
|
||||
|
||||
@@ -270,7 +276,7 @@ if enable_introspection
|
||||
name,
|
||||
input: [libnm_gir[0], nm_settings_docs_overrides],
|
||||
output: name,
|
||||
- command: [generate_setting_docs_env, python.path(), generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT0@', '--overrides', '@INPUT1@', '--output', '@OUTPUT@'],
|
||||
+ command: [generate_setting_docs_env, generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT0@', '--overrides', '@INPUT1@', '--output', '@OUTPUT@'],
|
||||
depends: libnm_gir,
|
||||
)
|
||||
endif
|
||||
output: 'nm-settings-docs-gir.xml',
|
||||
command: [
|
||||
generate_setting_docs_env,
|
||||
- python.path(),
|
||||
+ qemu_python3_cmd,
|
||||
join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-gir.py'),
|
||||
'--lib-path', meson.current_build_dir(),
|
||||
'--gir', '@INPUT@',
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
diff --git src/systemd/src/libsystemd-network/sd-dhcp6-client.c src/systemd/src/libsystemd-network/sd-dhcp6-client.c
|
||||
index f67a45bd2..ec11fa605 100644
|
||||
--- src/systemd/src/libsystemd-network/sd-dhcp6-client.c
|
||||
+++ src/systemd/src/libsystemd-network/sd-dhcp6-client.c
|
||||
@@ -8,8 +8,10 @@
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <sys/ioctl.h>
|
||||
+#ifdef __GLIBC__
|
||||
#include <linux/if_arp.h>
|
||||
#include <linux/if_infiniband.h>
|
||||
+#endif
|
||||
|
||||
#include "sd-dhcp6-client.h"
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
diff --git shared/systemd/src/basic/sort-util.h shared/systemd/src/basic/sort-util.h
|
||||
index e029f8646..168735087 100644
|
||||
--- shared/systemd/src/basic/sort-util.h
|
||||
+++ shared/systemd/src/basic/sort-util.h
|
||||
@@ -60,7 +60,11 @@ static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_
|
||||
return;
|
||||
|
||||
assert(base);
|
||||
+#ifdef __GLIBC__
|
||||
qsort_r(base, nmemb, size, compar, userdata);
|
||||
+#else
|
||||
+ g_qsort_with_data(base, nmemb, size, compar, userdata);
|
||||
+#endif
|
||||
}
|
||||
|
||||
#define typesafe_qsort_r(p, n, func, userdata) \
|
|
@ -1,29 +0,0 @@
|
|||
Usual fix for musl libc
|
||||
--- shared/systemd/src/basic/stdio-util.h.orig
|
||||
+++ shared/systemd/src/basic/stdio-util.h
|
||||
@@ -19,7 +19,9 @@
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
***/
|
||||
|
||||
+#if defined(__GLIBC__)
|
||||
#include <printf.h>
|
||||
+#endif
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
--- shared/systemd/src/basic/sort-util.h 2019-06-09 17:02:48.895695896 +0200
|
||||
+++ shared/systemd/src/basic/sort-util.h 2019-06-09 17:03:27.564199937 +0200
|
||||
@@ -5,6 +5,12 @@
|
||||
|
||||
#include "macro.h"
|
||||
|
||||
+#if !defined(__GLIBC__)
|
||||
+typedef int (*__compar_fn_t) (const void*, const void*);
|
||||
+typedef __compar_fn_t comparison_fn_t;
|
||||
+typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
|
||||
+#endif
|
||||
+
|
||||
void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
|
||||
__compar_d_fn_t compar, void *arg);
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
--- src/devices/nm-device.c.orig 2019-12-17 08:59:49.000000000 +0100
|
||||
+++ src/devices/nm-device.c 2020-01-06 17:29:08.678242168 +0100
|
||||
@@ -17,7 +17,11 @@
|
||||
#include <arpa/inet.h>
|
||||
#include <fcntl.h>
|
||||
#include <linux/if_addr.h>
|
||||
+#if defined(__GLIBC__)
|
||||
#include <linux/if_arp.h>
|
||||
+#else
|
||||
+#include <linux/if.h>
|
||||
+#endif
|
||||
#include <linux/rtnetlink.h>
|
||||
#include <linux/pkt_sched.h>
|
||||
|
||||
--- src/nm-manager.c.orig 2020-01-06 17:29:08.682242177 +0100
|
||||
+++ src/nm-manager.c 2020-01-06 17:30:50.378482034 +0100
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <sys/stat.h>
|
||||
#include <sys/sendfile.h>
|
||||
#include <limits.h>
|
||||
+#include <asm/types.h>
|
||||
|
||||
#include "nm-glib-aux/nm-c-list.h"
|
||||
|
||||
--- src/platform/nm-linux-platform.c.orig 2019-12-17 08:59:49.000000000 +0100
|
||||
+++ src/platform/nm-linux-platform.c 2020-01-06 17:29:08.686242186 +0100
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "nm-default.h"
|
||||
|
||||
#include "nm-linux-platform.h"
|
||||
+#include "wpan/nm-wpan-utils.h"
|
||||
|
||||
#include <arpa/inet.h>
|
||||
#include <dlfcn.h>
|
||||
@@ -14,7 +15,11 @@
|
||||
#include <libudev.h>
|
||||
#include <linux/fib_rules.h>
|
||||
#include <linux/ip.h>
|
||||
+#if defined(__GLIBC__)
|
||||
#include <linux/if_arp.h>
|
||||
+#else
|
||||
+#include <linux/if.h>
|
||||
+#endif
|
||||
#include <linux/if_bridge.h>
|
||||
#include <linux/if_link.h>
|
||||
#include <linux/if_tun.h>
|
||||
@@ -44,7 +49,6 @@
|
||||
#include "nm-platform-private.h"
|
||||
#include "wifi/nm-wifi-utils.h"
|
||||
#include "wifi/nm-wifi-utils-wext.h"
|
||||
-#include "wpan/nm-wpan-utils.h"
|
||||
#include "nm-glib-aux/nm-io-utils.h"
|
||||
#include "nm-udev-aux/nm-udev-utils.h"
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
--- libnm-core/nm-utils.h.orig
|
||||
+++ libnm-core/nm-utils.h
|
||||
@@ -30,7 +30,11 @@
|
||||
#include <netinet/in.h>
|
||||
|
||||
/* For ETH_ALEN and INFINIBAND_ALEN */
|
||||
+#if defined(__GLIBC__)
|
||||
#include <linux/if_ether.h>
|
||||
+#else
|
||||
+#define ETH_ALEN 6 /* Octets in one ethernet addr */
|
||||
+#endif
|
||||
#include <linux/if_infiniband.h>
|
||||
|
||||
#include "nm-core-enum-types.h"
|
||||
--- src/platform/wifi/nm-wifi-utils.h.orig
|
||||
+++ src/platform/wifi/nm-wifi-utils.h
|
||||
@@ -22,7 +22,11 @@
|
||||
#ifndef __WIFI_UTILS_H__
|
||||
#define __WIFI_UTILS_H__
|
||||
|
||||
+#if defined(__GLIBC__)
|
||||
#include <net/ethernet.h>
|
||||
+#else /* musl libc */
|
||||
+#define ETH_ALEN 6 /* Octets in one ethernet addr */
|
||||
+#endif
|
||||
|
||||
#include "nm-dbus-interface.h"
|
||||
|
||||
--- shared/systemd/src/basic/socket-util.h 2019-03-16 15:41:33.287235649 +0100
|
||||
+++ shared/systemd/src/basic/socket-util.h 2019-03-16 15:42:24.273912106 +0100
|
||||
@@ -12,6 +12,11 @@
|
||||
#include <sys/socket.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/un.h>
|
||||
+#if !defined(__GLIBC__)
|
||||
+/* SIOCGSTAMPNS from linux/asm-generic.h
|
||||
+ * for src/systemd/src/libsystemd-network/sd-lldp.c */
|
||||
+#include <linux/sockios.h>
|
||||
+#endif
|
||||
|
||||
#include "macro.h"
|
||||
#include "missing_socket.h"
|
|
@ -1,40 +0,0 @@
|
|||
--- shared/systemd/src/basic/process-util.c
|
||||
+++ shared/systemd/src/basic/process-util.c
|
||||
@@ -21,6 +21,9 @@
|
||||
#include <sys/wait.h>
|
||||
#include <syslog.h>
|
||||
#include <unistd.h>
|
||||
+#ifndef __GLIBC__
|
||||
+#include <pthread.h>
|
||||
+#endif
|
||||
#if 0 /* NM_IGNORED */
|
||||
#if HAVE_VALGRIND_VALGRIND_H
|
||||
#include <valgrind/valgrind.h>
|
||||
@@ -1168,11 +1171,13 @@ void reset_cached_pid(void) {
|
||||
cached_pid = CACHED_PID_UNSET;
|
||||
}
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
/* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
|
||||
* headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
|
||||
* libpthread, as it is part of glibc anyway. */
|
||||
extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
|
||||
extern void* __dso_handle _weak_;
|
||||
+#endif
|
||||
|
||||
pid_t getpid_cached(void) {
|
||||
static bool installed = false;
|
||||
@@ -1201,7 +1206,12 @@ pid_t getpid_cached(void) {
|
||||
* only half-documented (glibc doesn't document it but LSB does — though only superficially)
|
||||
* we'll check for errors only in the most generic fashion possible. */
|
||||
|
||||
- if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
|
||||
+ #ifdef __GLIBC__
|
||||
+ if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
|
||||
+ #else
|
||||
+ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) {
|
||||
+ #endif
|
||||
+
|
||||
/* OOM? Let's try again later */
|
||||
cached_pid = CACHED_PID_UNSET;
|
||||
return new_pid;
|
|
@ -1,40 +0,0 @@
|
|||
--- shared/n-dhcp4/src/n-dhcp4-c-probe.c.orig 2020-01-06 15:35:10.128600647 +0100
|
||||
+++ shared/n-dhcp4/src/n-dhcp4-c-probe.c 2020-01-06 15:39:41.446240531 +0100
|
||||
@@ -362,7 +362,12 @@ static void n_dhcp4_client_probe_config_
|
||||
seed16v[1] = (u64 >> 16) ^ (u64 >> 0);
|
||||
seed16v[2] = (u64 >> 32) ^ (u64 >> 16);
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
r = seed48_r(seed16v, &config->entropy);
|
||||
+#else
|
||||
+ r = 0;
|
||||
+ seed48(seed16v);
|
||||
+#endif
|
||||
c_assert(!r);
|
||||
}
|
||||
|
||||
@@ -379,7 +384,12 @@ uint32_t n_dhcp4_client_probe_config_get
|
||||
long int result;
|
||||
int r;
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
r = mrand48_r(&config->entropy, &result);
|
||||
+#else
|
||||
+ r = 0;
|
||||
+ result = mrand48();
|
||||
+#endif
|
||||
c_assert(!r);
|
||||
|
||||
return result;
|
||||
--- shared/n-dhcp4/src/n-dhcp4-private.h.orig 2020-01-06 15:41:31.941501136 +0100
|
||||
+++ shared/n-dhcp4/src/n-dhcp4-private.h 2020-01-06 15:41:55.341556325 +0100
|
||||
@@ -267,7 +267,9 @@ struct NDhcp4ClientProbeConfig {
|
||||
bool inform_only;
|
||||
bool init_reboot;
|
||||
struct in_addr requested_ip;
|
||||
+#ifdef __GLIBC__
|
||||
struct drand48_data entropy; /* entropy pool */
|
||||
+#endif
|
||||
uint64_t ms_start_delay; /* max ms to wait before starting probe */
|
||||
NDhcp4ClientProbeOption *options[UINT8_MAX + 1];
|
||||
int8_t request_parameters[UINT8_MAX + 1];
|
30
srcpkgs/NetworkManager/patches/no-gtk-doc.patch
Normal file
30
srcpkgs/NetworkManager/patches/no-gtk-doc.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
Reason: We only want to build man pages, not development docs
|
||||
Upstream: An issue has been filed - https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/689
|
||||
Index: b/meson.build
|
||||
===================================================================
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -943,10 +943,8 @@ if enable_qt
|
||||
endif
|
||||
|
||||
if enable_docs
|
||||
- assert(enable_introspection, '-Ddocs=true requires -Dintrospection=true')
|
||||
assert(meson.version().version_compare('>= 0.46.0'), '-Ddocs requires meson >= 0.46')
|
||||
subdir('man')
|
||||
- subdir('docs')
|
||||
endif
|
||||
|
||||
configure_file(
|
||||
Index: b/clients/common/meson.build
|
||||
===================================================================
|
||||
--- a/clients/common/meson.build
|
||||
+++ b/clients/common/meson.build
|
||||
@@ -28,7 +28,7 @@ libnmc_base_dep = declare_dependency(
|
||||
link_with: libnmc_base,
|
||||
)
|
||||
|
||||
-if enable_docs
|
||||
+if enable_docs and enable_introspection
|
||||
settings_docs_source = custom_target(
|
||||
'settings-docs.h',
|
||||
input: nm_settings_docs_xml_gir,
|
|
@ -1,41 +1,39 @@
|
|||
# Template file for 'NetworkManager'
|
||||
# when updating to 1.24 or newer, drop the compat
|
||||
# patch in gnome-control-center and rebuild it
|
||||
pkgname=NetworkManager
|
||||
version=1.22.10
|
||||
revision=3
|
||||
version=1.30.2
|
||||
revision=1
|
||||
build_style=meson
|
||||
build_helper="gir qemu"
|
||||
configure_args="-Dpolkit_agent=true -Dsystemd_journal=false
|
||||
-Dlibaudit=no -Dovs=false -Dlibnm_glib=true -Dselinux=false
|
||||
-Dmodify_system=true -Dpolkit_agent=true -Dsystemdsystemunitdir=no
|
||||
-Dlibaudit=no -Dovs=false -Dselinux=false
|
||||
-Dmodify_system=true -Dsystemdsystemunitdir=no
|
||||
-Dpppd=/usr/bin/pppd -Dqt=false
|
||||
-Dsession_tracking_consolekit=false
|
||||
-Dpppd_plugin_dir=/usr/lib/pppd/2.4.9 -Dresolvconf=/usr/bin/resolvconf
|
||||
-Ddhclient=/usr/bin/dhclient -Dkernel_firmware_dir=/usr/lib/firmware
|
||||
-Ddnsmasq=/usr/bin/dnsmasq -Ddbus_conf_dir=/etc/dbus-1/system.d
|
||||
-Ddhcpcd=/usr/bin/dhcpcd -Diptables=/usr/bin/iptables
|
||||
-Diwd=true
|
||||
-Dudev_dir=/usr/lib/udev -Dintrospection=$(vopt_if gir true false)
|
||||
-Dvapi=$(vopt_if vala true false)
|
||||
-Diwd=true -Dudev_dir=/usr/lib/udev -Ddocs=true
|
||||
$(vopt_bool gir introspection) $(vopt_bool gir vapi)
|
||||
-Dsession_tracking=$(vopt_if elogind elogind no)
|
||||
-Dsuspend_resume=$(vopt_if elogind elogind upower)
|
||||
-Dconfig_dhcp_default=internal"
|
||||
hostmakedepends="gettext-devel glib-devel libxslt-devel pkg-config
|
||||
intltool dbus-glib-devel jansson-devel $(vopt_if vala vala)
|
||||
$(vopt_if gir 'python3-gobject')"
|
||||
intltool dbus-glib-devel jansson-devel docbook-xsl gtk-doc
|
||||
$(vopt_if gir 'vala python3-gobject')"
|
||||
makedepends="libuuid-devel nss-devel dbus-glib-devel libgudev-devel
|
||||
libnl3-devel polkit-devel ppp-devel iptables-devel libcurl-devel
|
||||
ModemManager-devel readline-devel libndp-devel newt-devel jansson-devel
|
||||
libpsl-devel eudev-libudev-devel mobile-broadband-provider-info
|
||||
$(vopt_if gir libgirepository-devel) $(vopt_if elogind elogind-devel)"
|
||||
$(vopt_if gir 'libgirepository-devel python3-gobject')
|
||||
$(vopt_if elogind elogind-devel)"
|
||||
depends="dbus iproute2 openresolv wpa_supplicant mobile-broadband-provider-info"
|
||||
short_desc="Network Management daemon"
|
||||
maintainer="Enno Boland <gottox@voidlinux.org>"
|
||||
license="GPL-2.0-or-later"
|
||||
homepage="https://wiki.gnome.org/Projects/NetworkManager"
|
||||
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
|
||||
checksum=2b29ccc1531ba7ebba95a97f40c22b963838e8b6833745efe8e6fb71fd8fca77
|
||||
checksum=0c8e80e77877860e4a4e6ab4a0f7cdc1186e356b65b042a751897188b88944d2
|
||||
# TODO: Some tests require network namespaces to run.
|
||||
make_check=extended
|
||||
lib32disabled=yes
|
||||
|
@ -47,18 +45,11 @@ make_dirs="
|
|||
/etc/NetworkManager/VPN 0755 root root
|
||||
/var/lib/NetworkManager 0755 root root
|
||||
"
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
*-musl)
|
||||
CFLAGS+=" -DRTLD_DEEPBIND=0"
|
||||
# Fail to build on musl
|
||||
configure_args+=" -Dtests=no"
|
||||
;;
|
||||
esac
|
||||
patch_args=-Np1
|
||||
|
||||
# Package build options
|
||||
build_options="gir vala elogind"
|
||||
build_options_default="gir vala elogind"
|
||||
build_options="gir elogind"
|
||||
build_options_default="gir elogind"
|
||||
|
||||
pre_configure() {
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
|
@ -95,8 +86,6 @@ NetworkManager-devel_package() {
|
|||
vmove "usr/lib/*.so"
|
||||
if [ "$build_option_gir" ]; then
|
||||
vmove usr/share/gir-1.0
|
||||
fi
|
||||
if [ "$build_option_vala" ]; then
|
||||
vmove usr/share/vala
|
||||
fi
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue