networkmanager: 1.18.2 -> 1.20.2

* libnm-glib is gone 👋️
* correct dbus_conf_dir
* remove legacy service symlink
* upstream defaults to 'internal' for dhcp
  NixOS module reflects this.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/blob/1.20.2/NEWS
This commit is contained in:
worldofpeace 2019-09-13 19:02:38 -04:00
parent 447d625edc
commit 1ff3a0c498
4 changed files with 40 additions and 30 deletions

View File

@ -195,7 +195,7 @@ in {
dhcp = mkOption { dhcp = mkOption {
type = types.enum [ "dhclient" "dhcpcd" "internal" ]; type = types.enum [ "dhclient" "dhcpcd" "internal" ];
default = "dhclient"; default = "internal";
description = '' description = ''
Which program (or internal library) should be used for DHCP. Which program (or internal library) should be used for DHCP.
''; '';

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, substituteAll, intltool, pkgconfig, dbus, dbus-glib { stdenv, fetchurl, substituteAll, intltool, pkgconfig, fetchpatch, dbus
, gnome3, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables, python3, vala , gnome3, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables, python3, vala
, libgcrypt, dnsmasq, bluez5, readline, libselinux, audit , libgcrypt, dnsmasq, bluez5, readline, libselinux, audit
, gobject-introspection, modemmanager, openresolv, libndp, newt, libsoup , gobject-introspection, modemmanager, openresolv, libndp, newt, libsoup
@ -10,11 +10,11 @@ let
pythonForDocs = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]); pythonForDocs = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]);
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "network-manager"; pname = "network-manager";
version = "1.18.2"; version = "1.20.2";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/NetworkManager/${stdenv.lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; url = "mirror://gnome/sources/NetworkManager/${stdenv.lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
sha256 = "1hx5dx5dgdqh3p8fq7q1pxy2bx2iymc74lj60ycrf7ydfjlprnad"; sha256 = "115cgz448vypc7c592lqqjd7lp2kzdczhjk4ran6qls65hzkfkji";
}; };
outputs = [ "out" "dev" "devdoc" "man" "doc" ]; outputs = [ "out" "dev" "devdoc" "man" "doc" ];
@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
# to enable link-local connections # to enable link-local connections
"-Dudev_dir=${placeholder "out"}/lib/udev" "-Dudev_dir=${placeholder "out"}/lib/udev"
"-Dresolvconf=${openresolv}/bin/resolvconf" "-Dresolvconf=${openresolv}/bin/resolvconf"
"-Ddbus_conf_dir=${placeholder "out"}/etc/dbus-1/system.d" "-Ddbus_conf_dir=${placeholder "out"}/share/dbus-1/system.d"
"-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system" "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
"-Dkernel_firmware_dir=/run/current-system/firmware" "-Dkernel_firmware_dir=/run/current-system/firmware"
"--sysconfdir=/etc" "--sysconfdir=/etc"
@ -43,8 +43,6 @@ in stdenv.mkDerivation rec {
"-Dmodem_manager=true" "-Dmodem_manager=true"
"-Dnmtui=true" "-Dnmtui=true"
"-Ddocs=true" "-Ddocs=true"
# TODO: legacy library, will be *removed* in next release!
"-Dlibnm_glib=true"
"-Dtests=no" "-Dtests=no"
"-Dqt=false" "-Dqt=false"
# Allow using iwd when configured to do so # Allow using iwd when configured to do so
@ -53,6 +51,15 @@ in stdenv.mkDerivation rec {
]; ];
patches = [ patches = [
# 1.20.2 added a decorators.sh script but they forgot to distribute it (breaking the build)
# as it was to fix things with gtk-doc 1.32 we can safely revert it.
(fetchpatch {
url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/2d941dc95a1d94d023ac8f98df2f344dbb1d223e.patch";
sha256 = "1mvbajddwd6diwk6dgjg5p65i6852gx6b9p3949rs63d2i6yzg21";
excludes = [ "tools/decorators.sh" ];
revert = true;
})
(substituteAll { (substituteAll {
src = ./fix-paths.patch; src = ./fix-paths.patch;
inherit iputils kmod openconnect ethtool gnused dbus; inherit iputils kmod openconnect ethtool gnused dbus;
@ -69,19 +76,17 @@ in stdenv.mkDerivation rec {
bluez5 dnsmasq gobject-introspection modemmanager readline newt libsoup jansson bluez5 dnsmasq gobject-introspection modemmanager readline newt libsoup jansson
]; ];
propagatedBuildInputs = [ dbus-glib gnutls libgcrypt ]; propagatedBuildInputs = [ gnutls libgcrypt ];
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja intltool pkgconfig meson ninja intltool pkgconfig
vala gobject-introspection vala gobject-introspection dbus
dbus-glib # for dbus-binding-tool
# Docs # Docs
gtk-doc libxslt docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 pythonForDocs gtk-doc libxslt docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 pythonForDocs
]; ];
doCheck = false; # requires /sys, the net doCheck = false; # requires /sys, the net
postPatch = '' postPatch = ''
patchShebangs ./tools patchShebangs ./tools
patchShebangs libnm/generate-setting-docs.py patchShebangs libnm/generate-setting-docs.py
@ -96,13 +101,6 @@ in stdenv.mkDerivation rec {
ln -s $PWD/libnm/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0 ln -s $PWD/libnm/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0
''; '';
postInstall = ''
# Add the legacy service name from before #51382 to prevent NetworkManager
# from not starting back up:
# TODO: remove this once 19.10 is released
ln -s $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/network-manager.service
'';
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;

View File

@ -1,6 +1,8 @@
diff --git a/meson.build b/meson.build
index 4105a9c80..3d912557f 100644
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -925,9 +925,9 @@ @@ -884,9 +884,9 @@ meson.add_install_script(
join_paths('tools', 'meson-post-install.sh'), join_paths('tools', 'meson-post-install.sh'),
nm_datadir, nm_datadir,
nm_bindir, nm_bindir,
@ -12,9 +14,11 @@
enable_docs ? 'install_docs' : '', enable_docs ? 'install_docs' : '',
nm_mandir, nm_mandir,
) )
diff --git a/src/settings/plugins/ifcfg-rh/meson.build b/src/settings/plugins/ifcfg-rh/meson.build
index 58acdcfcb..e3a16d597 100644
--- a/src/settings/plugins/ifcfg-rh/meson.build --- a/src/settings/plugins/ifcfg-rh/meson.build
+++ b/src/settings/plugins/ifcfg-rh/meson.build +++ b/src/settings/plugins/ifcfg-rh/meson.build
@@ -70,7 +70,7 @@ @@ -69,7 +69,7 @@ install_data(
) )
meson.add_install_script('sh', '-c', meson.add_install_script('sh', '-c',

View File

@ -1,6 +1,8 @@
diff --git a/clients/common/nm-vpn-helpers.c b/clients/common/nm-vpn-helpers.c
index 204b7c286..8bdb734c2 100644
--- a/clients/common/nm-vpn-helpers.c --- a/clients/common/nm-vpn-helpers.c
+++ b/clients/common/nm-vpn-helpers.c +++ b/clients/common/nm-vpn-helpers.c
@@ -214,10 +214,7 @@ @@ -215,10 +215,7 @@ nm_vpn_openconnect_authenticate_helper (const char *host,
NULL, NULL,
}; };
@ -10,21 +12,25 @@
- return FALSE; - return FALSE;
+ path = "@openconnect@/bin/openconnect"; + path = "@openconnect@/bin/openconnect";
argv[0] = (char *) path; if (!g_spawn_sync (NULL,
argv[1] = "--authenticate"; (char **) NM_MAKE_STRV (path, "--authenticate", host),
diff --git a/data/84-nm-drivers.rules b/data/84-nm-drivers.rules
index e398cb9f2..31c56596a 100644
--- a/data/84-nm-drivers.rules --- a/data/84-nm-drivers.rules
+++ b/data/84-nm-drivers.rules +++ b/data/84-nm-drivers.rules
@@ -7,6 +7,6 @@ @@ -7,6 +7,6 @@ ACTION!="add|change", GOTO="nm_drivers_end"
# Determine ID_NET_DRIVER if there's no ID_NET_DRIVER or DRIVERS (old udev?) # Determine ID_NET_DRIVER if there's no ID_NET_DRIVER or DRIVERS (old udev?)
ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end" ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end"
DRIVERS=="?*", GOTO="nm_drivers_end" DRIVERS=="?*", GOTO="nm_drivers_end"
-PROGRAM="/bin/sh -c 'ethtool -i $1 | sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c" -PROGRAM="/bin/sh -c '/usr/sbin/ethtool -i $$1 |/usr/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c"
+PROGRAM="@shell@ -c '@ethtool@/bin/ethtool -i $1 | @gnused@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c" +PROGRAM="@shell@ -c '@ethtool@/bin/ethtool -i $$1 |@gnused@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c"
LABEL="nm_drivers_end" LABEL="nm_drivers_end"
diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in
index 2f442bf23..c3e797bf4 100644
--- a/data/NetworkManager.service.in --- a/data/NetworkManager.service.in
+++ b/data/NetworkManager.service.in +++ b/data/NetworkManager.service.in
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@ Before=network.target @DISTRO_NETWORK_SERVICE@
[Service] [Service]
Type=dbus Type=dbus
BusName=org.freedesktop.NetworkManager BusName=org.freedesktop.NetworkManager
@ -33,9 +39,11 @@
#ExecReload=/bin/kill -HUP $MAINPID #ExecReload=/bin/kill -HUP $MAINPID
ExecStart=@sbindir@/NetworkManager --no-daemon ExecStart=@sbindir@/NetworkManager --no-daemon
Restart=on-failure Restart=on-failure
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 823cf48a5..cda16e48d 100644
--- a/src/devices/nm-device.c --- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c +++ b/src/devices/nm-device.c
@@ -12451,14 +12451,14 @@ nm_device_start_ip_check (NMDevice *self) @@ -12822,14 +12822,14 @@ nm_device_start_ip_check (NMDevice *self)
gw = nm_ip4_config_best_default_route_get (priv->ip_config_4); gw = nm_ip4_config_best_default_route_get (priv->ip_config_4);
if (gw) { if (gw) {
nm_utils_inet4_ntop (NMP_OBJECT_CAST_IP4_ROUTE (gw)->gateway, buf); nm_utils_inet4_ntop (NMP_OBJECT_CAST_IP4_ROUTE (gw)->gateway, buf);
@ -53,10 +61,10 @@
} }
} }
diff --git a/src/nm-core-utils.c b/src/nm-core-utils.c diff --git a/src/nm-core-utils.c b/src/nm-core-utils.c
index 6f55e62a7..93721e7fb 100644 index d896d4d33..4cacb5cb6 100644
--- a/src/nm-core-utils.c --- a/src/nm-core-utils.c
+++ b/src/nm-core-utils.c +++ b/src/nm-core-utils.c
@@ -442,7 +442,7 @@ nm_utils_modprobe (GError **error, gboolean suppress_error_logging, const char * @@ -446,7 +446,7 @@ nm_utils_modprobe (GError **error, gboolean suppress_error_logging, const char *
/* construct the argument list */ /* construct the argument list */
argv = g_ptr_array_sized_new (4); argv = g_ptr_array_sized_new (4);