network-manager: update to 1.0
This commit is contained in:
parent
d4a0cd2a94
commit
38d6aec3f6
|
@ -1,13 +1,11 @@
|
|||
{ stdenv, fetchurl, intltool, pkgconfig, libglade, networkmanager, gnome3
|
||||
, libnotify, libsecret, dbus_glib, polkit, isocodes, libgnome_keyring
|
||||
, libnotify, libsecret, dbus_glib, polkit, isocodes
|
||||
, mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
|
||||
, makeWrapper, networkmanager_openvpn, networkmanager_vpnc
|
||||
, networkmanager_openconnect, networkmanager_pptp, networkmanager_l2tp
|
||||
, udev, hicolor_icon_theme, dconf }:
|
||||
, makeWrapper, udev, hicolor_icon_theme, dconf }:
|
||||
|
||||
let
|
||||
pn = "network-manager-applet";
|
||||
major = "0.9";
|
||||
major = "1.0";
|
||||
version = networkmanager.version;
|
||||
in
|
||||
|
||||
|
@ -16,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pn}/${major}/${name}.tar.xz";
|
||||
sha256 = "1jz0vawfixzm892m6plrzhsybgdxwv96pfwld9p85lb7wshykzj6";
|
||||
sha256 = "0liia390bhkl09lvk2rplcwhmfbxpjffa1xszfawc0h00v9fivaz";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -32,27 +30,6 @@ stdenv.mkDerivation rec {
|
|||
''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/etc/NetworkManager/VPN
|
||||
ln -s ${networkmanager_openvpn}/etc/NetworkManager/VPN/nm-openvpn-service.name $out/etc/NetworkManager/VPN/nm-openvpn-service.name
|
||||
ln -s ${networkmanager_vpnc}/etc/NetworkManager/VPN/nm-vpnc-service.name $out/etc/NetworkManager/VPN/nm-vpnc-service.name
|
||||
ln -s ${networkmanager_openconnect}/etc/NetworkManager/VPN/nm-openconnect-service.name $out/etc/NetworkManager/VPN/nm-openconnect-service.name
|
||||
ln -s ${networkmanager_pptp}/etc/NetworkManager/VPN/nm-pptp-service.name $out/etc/NetworkManager/VPN/nm-pptp-service.name
|
||||
ln -s ${networkmanager_l2tp}/etc/NetworkManager/VPN/nm-l2tp-service.name $out/etc/NetworkManager/VPN/nm-l2tp-service.name
|
||||
mkdir -p $out/lib/NetworkManager
|
||||
ln -s ${networkmanager_openvpn}/lib/NetworkManager/* $out/lib/NetworkManager/
|
||||
ln -s ${networkmanager_vpnc}/lib/NetworkManager/* $out/lib/NetworkManager/
|
||||
ln -s ${networkmanager_openconnect}/lib/NetworkManager/* $out/lib/NetworkManager/
|
||||
ln -s ${networkmanager_pptp}/lib/NetworkManager/* $out/lib/NetworkManager/
|
||||
ln -s ${networkmanager_l2tp}/lib/NetworkManager/* $out/lib/NetworkManager/
|
||||
mkdir -p $out/libexec
|
||||
ln -s ${networkmanager_openvpn}/libexec/* $out/libexec/
|
||||
ln -s ${networkmanager_vpnc}/libexec/* $out/libexec/
|
||||
ln -s ${networkmanager_openconnect}/libexec/* $out/libexec/
|
||||
ln -s ${networkmanager_pptp}/libexec/* $out/libexec/
|
||||
ln -s ${networkmanager_l2tp}/libexec/* $out/libexec/
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
wrapProgram "$out/bin/nm-applet" \
|
||||
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules:${dconf}/lib/gio/modules" \
|
||||
|
|
|
@ -1,19 +1,22 @@
|
|||
{ stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus_glib, xz
|
||||
, udev, libnl, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables
|
||||
, libgcrypt, dnsmasq, avahi, bind, perl, bluez5, substituteAll
|
||||
, gobjectIntrospection, modemmanager, openresolv }:
|
||||
, libgcrypt, dnsmasq, avahi, bind, perl, bluez5, substituteAll, readline
|
||||
, gobjectIntrospection, modemmanager, openresolv, libndp }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "network-manager-${version}";
|
||||
version = "0.9.8.10";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/NetworkManager/0.9/NetworkManager-${version}.tar.xz";
|
||||
sha256 = "0wn9qh8r56r8l19dqr68pdl1rv3zg1dv47rfy6fqa91q7li2fk86";
|
||||
url = "mirror://gnome/sources/NetworkManager/1.0/NetworkManager-${version}.tar.xz";
|
||||
sha256 = "0isrv1875whysnrf3fd1cz96xwd54nvj1rijk3fmx5qccznayris";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace tools/glib-mkenums --replace /usr/bin/perl ${perl}/bin/perl
|
||||
substituteInPlace src/ppp-manager/nm-ppp-manager.c --replace /sbin/modprobe /run/current-system/sw/sbin/modprobe
|
||||
substituteInPlace src/devices/nm-device.c --replace /sbin/modprobe /run/current-system/sw/sbin/modprobe
|
||||
configureFlags="$configureFlags --with-udev-dir=$out/lib/udev"
|
||||
'';
|
||||
|
||||
# Right now we hardcode quite a few paths at build time. Probably we should
|
||||
|
@ -21,12 +24,13 @@ stdenv.mkDerivation rec {
|
|||
# remove unneeded build-time dependencies.
|
||||
configureFlags = [
|
||||
"--with-distro=exherbo"
|
||||
"--with-dhclient=${dhcp}/sbin/dhclient"
|
||||
"--with-dhclient=${dhcp}/bin/dhclient"
|
||||
# Upstream prefers dhclient, so don't add dhcpcd to the closure
|
||||
#"--with-dhcpcd=${dhcpcd}/sbin/dhcpcd"
|
||||
"--with-dhcpcd=no"
|
||||
"--with-iptables=${iptables}/sbin/iptables"
|
||||
"--with-udev-dir=\${out}/lib/udev"
|
||||
"--with-pppd=${ppp}/bin/pppd"
|
||||
"--with-iptables=${iptables}/bin/iptables"
|
||||
#"--with-udev-dir=$(out)/lib/udev"
|
||||
"--with-resolvconf=${openresolv}/sbin/resolvconf"
|
||||
"--sysconfdir=/etc" "--localstatedir=/var"
|
||||
"--with-dbus-sys-dir=\${out}/etc/dbus-1/system.d"
|
||||
|
@ -37,21 +41,13 @@ stdenv.mkDerivation rec {
|
|||
"--with-modem-manager-1"
|
||||
];
|
||||
|
||||
buildInputs = [ wirelesstools udev libnl libuuid polkit ppp xz bluez5 gobjectIntrospection modemmanager ];
|
||||
buildInputs = [ wirelesstools udev libnl libuuid polkit ppp libndp
|
||||
xz bluez5 gobjectIntrospection modemmanager readline ];
|
||||
|
||||
propagatedBuildInputs = [ dbus_glib gnutls libgcrypt ];
|
||||
|
||||
nativeBuildInputs = [ intltool pkgconfig ];
|
||||
|
||||
patches =
|
||||
[ ( substituteAll {
|
||||
src = ./nixos-purity.patch;
|
||||
inherit avahi dnsmasq ppp bind;
|
||||
glibc = stdenv.cc.libc;
|
||||
})
|
||||
./libnl-3.2.25.patch
|
||||
];
|
||||
|
||||
preInstall =
|
||||
''
|
||||
installFlagsArray=( "sysconfdir=$out/etc" "localstatedir=$out/var" )
|
||||
|
@ -66,7 +62,6 @@ stdenv.mkDerivation rec {
|
|||
|
||||
# rename to network-manager to be in style
|
||||
mv $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/network-manager.service
|
||||
echo "Alias=NetworkManager.service" >> $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
|
||||
|
||||
# systemd in NixOS doesn't use `systemctl enable`, so we need to establish
|
||||
# aliases ourselves.
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
diff --git a/src/nm-netlink-monitor.c b/src/nm-netlink-monitor.c
|
||||
index ba8053e..5ac39d3 100644
|
||||
--- a/src/nm-netlink-monitor.c
|
||||
+++ b/src/nm-netlink-monitor.c
|
||||
@@ -177,40 +177,15 @@ link_msg_handler (struct nl_object *obj, void *arg)
|
||||
static int
|
||||
event_msg_recv (struct nl_msg *msg, void *arg)
|
||||
{
|
||||
- struct nl_sock *nlh = arg;
|
||||
- struct nlmsghdr *hdr = nlmsg_hdr (msg);
|
||||
struct ucred *creds = nlmsg_get_creds (msg);
|
||||
- const struct sockaddr_nl *snl;
|
||||
- guint32 local_port;
|
||||
- gboolean accept_msg = FALSE;
|
||||
-
|
||||
- /* Only messages sent from the kernel */
|
||||
- if (!creds || creds->uid != 0) {
|
||||
- nm_log_dbg (LOGD_HW, "ignoring netlink message from UID %d",
|
||||
- creds ? creds->uid : -1);
|
||||
- return NL_SKIP;
|
||||
- }
|
||||
-
|
||||
- snl = nlmsg_get_src (msg);
|
||||
- g_assert (snl);
|
||||
-
|
||||
- /* Accept any messages from the kernel */
|
||||
- if (hdr->nlmsg_pid == 0 || snl->nl_pid == 0)
|
||||
- accept_msg = TRUE;
|
||||
|
||||
- /* And any multicast message directed to our netlink PID, since multicast
|
||||
- * currently requires CAP_ADMIN to use.
|
||||
- */
|
||||
- local_port = nl_socket_get_local_port (nlh);
|
||||
- if ((hdr->nlmsg_pid == local_port) && snl->nl_groups)
|
||||
- accept_msg = TRUE;
|
||||
-
|
||||
- if (accept_msg == FALSE) {
|
||||
- nm_log_dbg (LOGD_HW, "ignoring netlink message from PID %d (local PID %d, multicast %d)",
|
||||
- hdr->nlmsg_pid,
|
||||
- local_port,
|
||||
- (hdr->nlmsg_flags & NLM_F_MULTI));
|
||||
- return NL_SKIP;
|
||||
+ if (!creds || creds->pid || creds->uid || creds->gid) {
|
||||
+ if (creds)
|
||||
+ nm_log_dbg (LOGD_HW, "netlink: received non-kernel message (pid %d uid %d gid %d)",
|
||||
+ creds->pid, creds->uid, creds->gid);
|
||||
+ else
|
||||
+ nm_log_dbg (LOGD_HW, "netlink: received message without credentials");
|
||||
+ return NL_STOP;
|
||||
}
|
||||
|
||||
return NL_OK;
|
||||
@@ -285,7 +260,7 @@ nlh_setup (struct nl_sock *nlh,
|
||||
{
|
||||
int err;
|
||||
|
||||
- nl_socket_modify_cb (nlh, NL_CB_MSG_IN, NL_CB_CUSTOM, event_msg_recv, cb_data);
|
||||
+ nl_socket_modify_cb (nlh, NL_CB_MSG_IN, NL_CB_CUSTOM, event_msg_recv, NULL);
|
||||
|
||||
if (valid_func)
|
||||
nl_socket_modify_cb (nlh, NL_CB_VALID, NL_CB_CUSTOM, valid_func, cb_data);
|
|
@ -1,17 +1,17 @@
|
|||
{ stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager
|
||||
{ stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager, libsecret
|
||||
, withGnome ? true, gnome3, procps, module_init_tools }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
|
||||
pname = "NetworkManager-openconnect";
|
||||
version = "0.9.8.4";
|
||||
version = networkmanager.version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/0.9/${pname}-${version}.tar.xz";
|
||||
sha256 = "1dl7wcmibrzf9qnpchgk9fxfhw0j2hzzzqmylkm2c41iv81xrd4r";
|
||||
url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
|
||||
sha256 = "0przs8hzvb6wrf4gc0p9063x67qp9503396aknqq5f79xzw25wq6";
|
||||
};
|
||||
|
||||
buildInputs = [ openconnect networkmanager ]
|
||||
buildInputs = [ openconnect networkmanager libsecret ]
|
||||
++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring gnome3.gconf ];
|
||||
|
||||
nativeBuildInputs = [ intltool pkgconfig ];
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
{ stdenv, fetchurl, openvpn, intltool, pkgconfig, networkmanager
|
||||
{ stdenv, fetchurl, openvpn, intltool, pkgconfig, networkmanager, libsecret
|
||||
, withGnome ? true, gnome3, procps, module_init_tools }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
|
||||
pname = "NetworkManager-openvpn";
|
||||
version = "0.9.8.4";
|
||||
version = networkmanager.version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/0.9/${pname}-${version}.tar.xz";
|
||||
sha256 = "11v63s1f3bsa7pmkvr7x65rsigh48wfqzsnixrwc3wqslsv5535g";
|
||||
url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
|
||||
sha256 = "1w0v3xah0wg467jy0fd3188zla8q4l1iq0zdy28bcdipin693bfh";
|
||||
};
|
||||
|
||||
buildInputs = [ openvpn networkmanager ]
|
||||
++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ];
|
||||
buildInputs = [ openvpn networkmanager libsecret ]
|
||||
++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring
|
||||
gnome3.networkmanagerapplet ];
|
||||
|
||||
nativeBuildInputs = [ intltool pkgconfig ];
|
||||
|
||||
configureFlags = [
|
||||
"${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}"
|
||||
"--disable-static"
|
||||
"--localstatedir=/" # needed for the management socket under /run/NetworkManager
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
{ stdenv, fetchurl, networkmanager, pptp, ppp, intltool, pkgconfig, substituteAll
|
||||
, withGnome ? true, gnome3 }:
|
||||
, libsecret, withGnome ? true, gnome3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
|
||||
pname = "NetworkManager-pptp";
|
||||
version = "0.9.8.4";
|
||||
version = networkmanager.version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/0.9/${pname}-${version}.tar.xz";
|
||||
sha256 = "1s6wmznd6azvg028x8y3syniqy9j7nmx5j71w2wc6mk0f9pqzflp";
|
||||
url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
|
||||
sha256 = "0xpflw6vp1ahvpz7mnnldqvk455wz2j7dahd9lxqs95frmjmq390";
|
||||
};
|
||||
|
||||
buildInputs = [ networkmanager pptp ppp ]
|
||||
++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ];
|
||||
buildInputs = [ networkmanager pptp ppp libsecret ]
|
||||
++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring
|
||||
gnome3.networkmanagerapplet ];
|
||||
|
||||
nativeBuildInputs = [ intltool pkgconfig ];
|
||||
|
||||
|
|
|
@ -1,20 +1,19 @@
|
|||
{ stdenv, fetchurl, vpnc, intltool, pkgconfig, networkmanager
|
||||
{ stdenv, fetchurl, vpnc, intltool, pkgconfig, networkmanager, libsecret
|
||||
, withGnome ? true, gnome3, procps, module_init_tools }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
|
||||
pname = "NetworkManager-vpnc";
|
||||
# TODO: version doesn't match due to bad release
|
||||
#version = networkmanager.version;
|
||||
version = "0.9.8.6";
|
||||
version = networkmanager.version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/0.9/${pname}-${version}.tar.xz";
|
||||
sha256 = "1mmbm3q27b3dbbs4vs976cxif8jdcs92j3ajdbgykrnl2gbnqc20";
|
||||
url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
|
||||
sha256 = "154q6lcy99h00kyivjhsv21a2i4cw4ff35cbvh062bfd68wl3l2y";
|
||||
};
|
||||
|
||||
buildInputs = [ vpnc networkmanager ]
|
||||
++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ];
|
||||
buildInputs = [ vpnc networkmanager libsecret ]
|
||||
++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring
|
||||
gnome3.networkmanagerapplet ];
|
||||
|
||||
nativeBuildInputs = [ intltool pkgconfig ];
|
||||
|
||||
|
|
Loading…
Reference in New Issue