Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 256202 Details for
Bug 318365
systemd - Replacement for sysvinit with extensive usage of parallelization
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
networkmanager-systemd.patch
networkmanager-systemd.patch (text/plain), 14.25 KB, created by
Canek Peláez Valdés
on 2010-12-03 01:43:04 UTC
(
hide
)
Description:
networkmanager-systemd.patch
Filename:
MIME Type:
Creator:
Canek Peláez Valdés
Created:
2010-12-03 01:43:04 UTC
Size:
14.25 KB
patch
obsolete
>From 6ea4072239410eaa34ceb6edc7294bac50db4615 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Canek=20Pel=C3=A1ez=20Vald=C3=A9s?= <canek@ciencias.unam.mx> >Date: Thu, 2 Dec 2010 14:04:02 -0600 >Subject: [PATCH] NetworkManager ebuild with systemd use flag that applies a patch that > avoids the use of /etc/init.d scripts in the Gentoo backend. > >--- > net-misc/networkmanager/Manifest | 7 + > .../files/networkmanager-0.8-confchanges.patch | 19 +++ > .../files/networkmanager-0.8-gentoo-systemd.patch | 31 +++++ > .../networkmanager-0.8-nscd-clear-cache.patch | 42 +++++++ > .../files/networkmanager-0.8-read-hostname.patch | 76 ++++++++++++ > .../networkmanager/files/nm-system-settings.conf | 2 + > .../networkmanager/networkmanager-0.8-r1.ebuild | 130 ++++++++++++++++++++ > 7 files changed, 307 insertions(+), 0 deletions(-) > create mode 100644 net-misc/networkmanager/Manifest > create mode 100644 net-misc/networkmanager/files/networkmanager-0.8-confchanges.patch > create mode 100644 net-misc/networkmanager/files/networkmanager-0.8-gentoo-systemd.patch > create mode 100644 net-misc/networkmanager/files/networkmanager-0.8-nscd-clear-cache.patch > create mode 100644 net-misc/networkmanager/files/networkmanager-0.8-read-hostname.patch > create mode 100644 net-misc/networkmanager/files/nm-system-settings.conf > create mode 100644 net-misc/networkmanager/networkmanager-0.8-r1.ebuild > >diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest >new file mode 100644 >index 0000000..153a48b >--- /dev/null >+++ b/net-misc/networkmanager/Manifest >@@ -0,0 +1,7 @@ >+AUX networkmanager-0.8-confchanges.patch 1063 RMD160 25a0d45410fa5590098386556e9947dd15507eda SHA1 ba6eaa63188f97f93bbbb327676d8104bbf7e8c8 SHA256 9fcbe0b9ab4cc38c9057a0dde2f5153efc12515ed4d28920a455dad7fc2b1e09 >+AUX networkmanager-0.8-gentoo-systemd.patch 1140 RMD160 80357f0b8128ec276b336e194438322c5098dc70 SHA1 eb73e56fb7334d3637cb178e24dc28ca42549d68 SHA256 0d407013b9b0b997533007192e2da0ed85e98ff4bf6879b4a85801dd4004c471 >+AUX networkmanager-0.8-nscd-clear-cache.patch 1214 RMD160 2381f455593202a740e634601c0ba8245ecb8fac SHA1 b4a0cec446b6f8fa81c06d5992db61b296f17057 SHA256 2d981bafa96607acb06740d78b8e33afdc675c52b0cf3ce5b098c67566362c99 >+AUX networkmanager-0.8-read-hostname.patch 2380 RMD160 8b4349293235d2b63546b4e65d30a94d91ab9a04 SHA1 f7d57c686e9bd1f1ac58e67efcd8255c0fc9a5c5 SHA256 5ee07a0fb949c7ce299f0d2459c4f9840ace765308cd1a208d89eecec51a63fe >+AUX nm-system-settings.conf 23 RMD160 6d66c702b345bde668a420a15716feea6005fbd1 SHA1 49ba558d20f5ca5a201e027e13b878dd5ac3569c SHA256 44b048804c7c0b8b3b0c29b8632b6ad613c397d0a1635ec918e10c0fbcdadf21 >+DIST NetworkManager-0.8.tar.bz2 1376044 RMD160 40074f52a79965510de816c0e94d1b9ac582c522 SHA1 fd290057a9246055fa59507b6a3d6b99ceb4c3dc SHA256 4ac38f5c6ddbbcc67601ba898dd475457e2d259b77f9680eee51cb07f19c1b05 >+EBUILD networkmanager-0.8-r1.ebuild 3636 RMD160 d515e598ab7941cc40387204d2da67ad92735ed2 SHA1 ce04a23bb862f40524c242d00ab09537f86d6398 SHA256 695c48ab1be8bc4c2ab5ecab1f7a4ffcb1fdca5cb46e68835de355146bd2ff0c >diff --git a/net-misc/networkmanager/files/networkmanager-0.8-confchanges.patch b/net-misc/networkmanager/files/networkmanager-0.8-confchanges.patch >new file mode 100644 >index 0000000..039a074 >--- /dev/null >+++ b/net-misc/networkmanager/files/networkmanager-0.8-confchanges.patch >@@ -0,0 +1,19 @@ >+diff '--exclude-from=/home/dang/.scripts/diffrc' -up -ruN NetworkManager-0.8.orig/src/NetworkManager.conf NetworkManager-0.8/src/NetworkManager.conf >+--- NetworkManager-0.8.orig/src/NetworkManager.conf 2010-02-18 10:47:45.000000000 -0500 >++++ NetworkManager-0.8/src/NetworkManager.conf 2010-03-30 11:27:27.751522916 -0400 >+@@ -56,6 +56,15 @@ >+ >+ <allow send_destination="org.freedesktop.NetworkManager" >+ send_interface="org.freedesktop.NetworkManager.VPN.Connection"/> >++ >++ <allow send_destination="org.freedesktop.NetworkManager" >++ send_interface="org.freedesktop.NetworkManager.VPN.Plugin"/> >++ </policy> >++ <policy group="plugdev"> >++ <allow send_destination="org.freedesktop.NetworkManager"/> >++ >++ <deny send_destination="org.freedesktop.NetworkManager" >++ send_interface="org.freedesktop.NetworkManager.PPP"/> >+ </policy> >+ <policy context="default"> >+ <deny own="org.freedesktop.NetworkManager"/> >diff --git a/net-misc/networkmanager/files/networkmanager-0.8-gentoo-systemd.patch b/net-misc/networkmanager/files/networkmanager-0.8-gentoo-systemd.patch >new file mode 100644 >index 0000000..458d128 >--- /dev/null >+++ b/net-misc/networkmanager/files/networkmanager-0.8-gentoo-systemd.patch >@@ -0,0 +1,31 @@ >+diff -burN NetworkManager-0.8/src/backends/NetworkManagerGentoo.c NetworkManager-0.8.new/src/backends/NetworkManagerGentoo.c >+--- NetworkManager-0.8/src/backends/NetworkManagerGentoo.c 2009-12-23 12:30:29.000000000 -0600 >++++ NetworkManager-0.8.new/src/backends/NetworkManagerGentoo.c 2010-12-02 12:28:23.000000000 -0600 >+@@ -43,9 +43,7 @@ >+ */ >+ void nm_system_enable_loopback (void) >+ { >+- /* No need to run net.lo if it is already running */ >+- if (nm_spawn_process ("/etc/init.d/net.lo status") != 0) >+- nm_spawn_process("/etc/init.d/net.lo start"); >++ nm_generic_enable_loopback (); >+ } >+ >+ /* >+@@ -57,11 +55,9 @@ >+ */ >+ void nm_system_update_dns (void) >+ { >+- #ifdef NM_NO_NAMED >+- if (nm_spawn_process ("/etc/init.d/nscd status") == 0) >+- nm_spawn_process ("/etc/init.d/nscd restart"); >+- #else >+- nm_spawn_process("/usr/bin/killall -q nscd"); >+- #endif >++ /* Someday the unit file would be there, I hope */ >++ if (g_file_test ("/lib/systemd/system/nscd.service", G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) { >++ if (nm_spawn_process ("/bin/systemctl status nscd.service") == 0) >++ nm_spawn_process ("/bin/systemctl restart nscd.service"); >++ } >+ } >+- >diff --git a/net-misc/networkmanager/files/networkmanager-0.8-nscd-clear-cache.patch b/net-misc/networkmanager/files/networkmanager-0.8-nscd-clear-cache.patch >new file mode 100644 >index 0000000..e92c883 >--- /dev/null >+++ b/net-misc/networkmanager/files/networkmanager-0.8-nscd-clear-cache.patch >@@ -0,0 +1,42 @@ >+From 327e00f06358ef388f4fad5abcb016daa0ec3452 Mon Sep 17 00:00:00 2001 >+From: Robert Piasek <dagger@gentoo.org> >+Date: Mon, 22 Feb 2010 10:34:23 +0000 >+Subject: [PATCH] fix: use nscd -i to clear cache >+ >+ >+Signed-off-by: Robert Piasek <dagger@gentoo.org> >+--- >+ src/backends/NetworkManagerGentoo.c | 11 +++++------ >+ 1 files changed, 5 insertions(+), 6 deletions(-) >+ >+diff --git a/src/backends/NetworkManagerGentoo.c b/src/backends/NetworkManagerGentoo.c >+index 7fa1207..aa4b40c 100644 >+--- a/src/backends/NetworkManagerGentoo.c >++++ b/src/backends/NetworkManagerGentoo.c >+@@ -34,6 +34,7 @@ >+ #include "NetworkManagerGeneric.h" >+ #include "NetworkManagerSystem.h" >+ #include "NetworkManagerUtils.h" >++#include "nm-utils.h" >+ >+ /* >+ * nm_system_enable_loopback >+@@ -57,11 +58,9 @@ void nm_system_enable_loopback (void) >+ */ >+ void nm_system_update_dns (void) >+ { >+- #ifdef NM_NO_NAMED >+- if (nm_spawn_process ("/etc/init.d/nscd status") == 0) >+- nm_spawn_process ("/etc/init.d/nscd restart"); >+- #else >+- nm_spawn_process("/usr/bin/killall -q nscd"); >+- #endif >++ if (g_file_test ("/usr/sbin/nscd", G_FILE_TEST_IS_EXECUTABLE)) { >++ nm_info ("Clearing nscd hosts cache."); >++ nm_spawn_process ("/usr/sbin/nscd -i hosts"); >++ } >+ } >+ >+-- >+1.7.0 >+ >diff --git a/net-misc/networkmanager/files/networkmanager-0.8-read-hostname.patch b/net-misc/networkmanager/files/networkmanager-0.8-read-hostname.patch >new file mode 100644 >index 0000000..ac59fe2 >--- /dev/null >+++ b/net-misc/networkmanager/files/networkmanager-0.8-read-hostname.patch >@@ -0,0 +1,76 @@ >+When reading hostname from NM keyfile, if no hostname is set, read from the >+system file at /etc/conf.d/hostname to set hostname. This patch is not meant to >+be ever upstreamed. Proper fix is to write a gentoo-specific ifcfg plugin. >+ >+To change hostname, touch nm-system-settings.conf, which will reload the keyfile >+and cause /etc/conf.d/hostname to be reloaded. >+ >+This horrible hack fixes http://bugs.gentoo.org/176873 >+ >+Author: Nirbheek Chauhan <nirbheek@gentoo.org> >+Reviewed-by: Arun Raghavan <ford_prefect@gentoo.org> >+ >+--- >+--- system-settings/plugins/keyfile/plugin.c >++++ system-settings/plugins/keyfile/plugin.c >+@@ -43,6 +43,9 @@ >+ #define KEYFILE_PLUGIN_INFO "(c) 2007 - 2008 Red Hat, Inc. To report bugs please use the NetworkManager mailing list." >+ >+ #define CONF_FILE SYSCONFDIR "/NetworkManager/nm-system-settings.conf" >++#ifdef TARGET_GENTOO >++#define HOSTNAME_FILE SYSCONFDIR "/conf.d/hostname" >++#endif >+ >+ static char *plugin_get_hostname (SCPluginKeyfile *plugin); >+ static void system_config_interface_init (NMSystemConfigInterface *system_config_interface_class); >+@@ -381,6 +384,12 @@ >+ GKeyFile *key_file; >+ char *hostname = NULL; >+ GError *error = NULL; >++#ifdef TARGET_GENTOO >++ char *contents = NULL; >++ char **lines = NULL, **line; >++ GError *contents_err = NULL; >++ gsize contents_len = 0; >++#endif >+ >+ key_file = g_key_file_new (); >+ if (g_key_file_load_from_file (key_file, CONF_FILE, G_KEY_FILE_NONE, &error)) >+@@ -392,7 +401,37 @@ >+ >+ g_key_file_free (key_file); >+ >++ if (hostname) >++ goto out; >++#ifdef TARGET_GENTOO >++ /* If hostname is unset in keyfile, read system file to get hostname */ >++ if (!g_file_get_contents (HOSTNAME_FILE, &contents, >++ &contents_len, &contents_err)) >++ goto out; >++ >++ lines = g_strsplit_set (contents, "\n\r", 0); >++ if (!lines) >++ goto out; >++ >++ for (line = lines; *line; line++) { >++ if (!g_str_has_prefix (*line, "hostname=")) >++ continue; >++ hostname = g_strsplit_set (g_strsplit_set (*line, "=", 0)[1], "#", 0)[0]; >++ g_strstrip (hostname); >++ if (!hostname) >++ goto out; >++ /* Remove quotes surrounding hostname */ >++ if (hostname[0] == '"' && hostname[strlen(hostname)-1] == '"') >++ contents = g_strndup(&hostname[1], strlen(hostname)-2); >++ /* Un-escape before using to imitate librc behaviour */ >++ hostname = g_strcompress (contents); >++ } >++ >++out: >++ g_error_free(contents_err); >++ >+ return hostname; >++#endif >+ } >+ >+ static gboolean >diff --git a/net-misc/networkmanager/files/nm-system-settings.conf b/net-misc/networkmanager/files/nm-system-settings.conf >new file mode 100644 >index 0000000..c37b596 >--- /dev/null >+++ b/net-misc/networkmanager/files/nm-system-settings.conf >@@ -0,0 +1,2 @@ >+[main] >+plugins=keyfile >diff --git a/net-misc/networkmanager/networkmanager-0.8-r1.ebuild b/net-misc/networkmanager/networkmanager-0.8-r1.ebuild >new file mode 100644 >index 0000000..cb6abd2 >--- /dev/null >+++ b/net-misc/networkmanager/networkmanager-0.8-r1.ebuild >@@ -0,0 +1,130 @@ >+# Copyright 1999-2010 Gentoo Foundation >+# Distributed under the terms of the GNU General Public License v2 >+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.8-r1.ebuild,v 1.10 2010/10/28 09:08:46 ssuominen Exp $ >+ >+EAPI="2" >+ >+inherit gnome.org eutils >+ >+# NetworkManager likes itself with capital letters >+MY_PN=${PN/networkmanager/NetworkManager} >+MY_P=${MY_PN}-${PV} >+ >+DESCRIPTION="Network configuration and management in an easy way. Desktop environment independent." >+HOMEPAGE="http://www.gnome.org/projects/NetworkManager/" >+SRC_URI="${SRC_URI//${PN}/${MY_PN}}" >+ >+LICENSE="GPL-2" >+SLOT="0" >+KEYWORDS="amd64 ~arm ppc ppc64 x86" >+IUSE="avahi bluetooth doc nss gnutls dhclient dhcpcd resolvconf connection-sharing systemd" >+ >+RDEPEND=">=sys-apps/dbus-1.2 >+ >=dev-libs/dbus-glib-0.75 >+ >=net-wireless/wireless-tools-28_pre9 >+ >=sys-fs/udev-145[extras] >+ >=dev-libs/glib-2.18 >+ >=sys-auth/polkit-0.92 >+ >=dev-libs/libnl-1.1 >+ >=net-misc/modemmanager-0.2 >+ >=net-wireless/wpa_supplicant-0.5.10[dbus] >+ bluetooth? ( net-wireless/bluez ) >+ || ( sys-libs/e2fsprogs-libs <sys-fs/e2fsprogs-1.41.0 ) >+ avahi? ( net-dns/avahi[autoipd] ) >+ gnutls? ( >+ nss? ( >=dev-libs/nss-3.11 ) >+ !nss? ( dev-libs/libgcrypt >+ net-libs/gnutls ) ) >+ !gnutls? ( >=dev-libs/nss-3.11 ) >+ dhclient? ( >+ dhcpcd? ( >=net-misc/dhcpcd-4.0.0_rc3 ) >+ !dhcpcd? ( >=net-misc/dhcp-3.0.0 ) ) >+ !dhclient? ( >=net-misc/dhcpcd-4.0.0_rc3 ) >+ resolvconf? ( net-dns/openresolv ) >+ connection-sharing? ( >+ net-dns/dnsmasq >+ net-firewall/iptables )" >+ >+DEPEND="${RDEPEND} >+ dev-util/pkgconfig >+ dev-util/intltool >+ net-dialup/ppp >+ doc? ( >=dev-util/gtk-doc-1.8 )" >+ >+S=${WORKDIR}/${MY_P} >+ >+src_prepare() { >+ # Fix up the dbus conf file to use plugdev group >+ epatch "${FILESDIR}/${PN}-0.8-confchanges.patch" >+ >+ # Hack keyfile plugin to read hostname file, fixes bug 176873 >+ epatch "${FILESDIR}/${P}-read-hostname.patch" >+ >+ if use systemd; then >+ # Use Gentoo-Systemd patch >+ epatch "${FILESDIR}/${P}-gentoo-systemd.patch" >+ else >+ # Clear NSCD cache rather then kill daemon bug 301720 >+ epatch "${FILESDIR}/${P}-nscd-clear-cache.patch" >+ fi >+} >+ >+src_configure() { >+ ECONF="--disable-more-warnings >+ --localstatedir=/var >+ --with-distro=gentoo >+ --with-dbus-sys-dir=/etc/dbus-1/system.d >+ --with-udev-dir=/etc/udev >+ --with-iptables=/sbin/iptables >+ $(use_enable doc gtk-doc) >+ $(use_with doc docs) >+ $(use_with resolvconf)" >+ >+ # default is dhcpcd (if none or both are specified), ISC dchclient otherwise >+ if use dhclient ; then >+ if use dhcpcd ; then >+ ECONF="${ECONF} --with-dhcp-client=dhcpcd" >+ else >+ ECONF="${ECONF} --with-dhcp-client=dhclient" >+ fi >+ else >+ ECONF="${ECONF} --with-dhcp-client=dhcpcd" >+ fi >+ >+ # default is NSS (if none or both are specified), GnuTLS otherwise >+ if use gnutls ; then >+ if use nss ; then >+ ECONF="${ECONF} --with-crypto=nss" >+ else >+ ECONF="${ECONF} --with-crypto=gnutls" >+ fi >+ else >+ ECONF="${ECONF} --with-crypto=nss" >+ fi >+ >+ econf ${ECONF} >+} >+ >+src_install() { >+ emake DESTDIR="${D}" install || die "emake install failed" >+ >+ # Need to keep the /var/run/NetworkManager directory >+ keepdir /var/run/NetworkManager >+ >+ # Need to keep the /etc/NetworkManager/dispatched.d for dispatcher scripts >+ keepdir /etc/NetworkManager/dispatcher.d >+ >+ dodoc AUTHORS ChangeLog NEWS README TODO || die "dodoc failed" >+ >+ # Add keyfile plugin support >+ keepdir /etc/NetworkManager/system-connections >+ insinto /etc/NetworkManager >+ newins "${FILESDIR}/nm-system-settings.conf" nm-system-settings.conf \ >+ || die "newins failed" >+} >+ >+pkg_postinst() { >+ elog "You will need to reload DBus if this is your first time installing" >+ elog "NetworkManager, or if you're upgrading from 0.7 or older." >+ elog "" >+} >-- >1.7.2.2 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 318365
:
230771
|
230773
|
230777
|
230779
|
230887
|
230889
|
231157
|
231305
|
238431
|
241097
|
241099
|
244953
|
244955
|
244957
|
244959
|
256198
|
256199
|
256201
|
256202
|
256203
|
256205
|
256209
|
256319
|
256349
|
256351
|
256352
|
256435
|
256437
|
256439
|
256446
|
256698
|
257917
|
257922
|
270185
|
270187
|
270189
|
270191
|
271583
|
277115
|
277117
|
306293
|
306295
|
306297
|
306299
|
306339
|
306341
|
306343
|
306345