diff options
-rw-r--r-- | net-misc/networkmanager/ChangeLog | 8 | ||||
-rw-r--r-- | net-misc/networkmanager/Manifest | 5 | ||||
-rw-r--r-- | net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch | 125 | ||||
-rw-r--r-- | net-misc/networkmanager/networkmanager-0.8.2-r8.ebuild | 165 |
4 files changed, 281 insertions, 22 deletions
diff --git a/net-misc/networkmanager/ChangeLog b/net-misc/networkmanager/ChangeLog index f8e4149d998c..ec9687cb43b2 100644 --- a/net-misc/networkmanager/ChangeLog +++ b/net-misc/networkmanager/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-misc/networkmanager # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.98 2011/02/25 09:54:42 qiaomuf Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.99 2011/02/26 05:59:00 qiaomuf Exp $ + +*networkmanager-0.8.2-r8 (26 Feb 2011) + + 26 Feb 2011; Mu Qiao <qiaomuf@gentoo.org> +networkmanager-0.8.2-r8.ebuild, + files/networkmanager-0.8.2-ifnet-smarter-write.patch: + Accept non-alnum ssid (bug #356337) *networkmanager-0.8.2-r7 (25 Feb 2011) diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest index ff6cb0e38d0b..9e7fe9072cd5 100644 --- a/net-misc/networkmanager/Manifest +++ b/net-misc/networkmanager/Manifest @@ -14,7 +14,7 @@ AUX networkmanager-0.8.2-confchanges.patch 1279 RMD160 1ff5b6d663aa4417beaf9c763 AUX networkmanager-0.8.2-fix-tempfiles.patch 6758 RMD160 c403c33e71a38ca548b6ad8d8a3094094f11a686 SHA1 ee9818f898a34af688f507eabbdbda860108f418 SHA256 76951a82d62de94cd5d5862d26cd6c1b598623ae7b66c6592dff66c8fcb5a926 AUX networkmanager-0.8.2-fix-tests.patch 2156 RMD160 b549d50e96efe7f26402f5d974560b3f9307dde5 SHA1 c38ae50f82a65c8e7e8c4a4fe65634e5ee9873c8 SHA256 d6cf4ceac6893a9893c916f1a5298cd1817ed0fb357f2e55539a3e6aae5e855e AUX networkmanager-0.8.2-fix-timestamp.patch 950 RMD160 4217e0332457eae47eb6c2f87a91f87adad37970 SHA1 d9fcaed9f2622937137bb977fba2d1c123b35893 SHA256 7d1d123b0da02ca8f02ce13b805eec912334bf1981032a38dcd2ef7e422bbf81 -AUX networkmanager-0.8.2-ifnet-smarter-write.patch 1859 RMD160 a6348fb74fb521e59104b2c983d7ba85f08230cf SHA1 c655e4433b503c6be28152902ccf7ce3bc495ce8 SHA256 688e94ee0ffff33366fc031b1422944e3010ea3ab24d057a65b9701a44e96793 +AUX networkmanager-0.8.2-ifnet-smarter-write.patch 5246 RMD160 a3bf57278772419c0ce8ea31f04be2647f21d8d7 SHA1 04ff74828089b936e83dc843e451982e45b91974 SHA256 d14327b1540f0a37f13601980c1a68b9e2083dcfe3436417853deaf62fa820b7 AUX networkmanager-0.8.2-shared-connection.patch 15067 RMD160 3e878a999e92fdb6baffba6f2a12caa25a2ba2c6 SHA1 e9664c505bc19964082aa319c4d524e6cf6651e2 SHA256 57f56fb45e48f80636a17d64f080aae594d6f19e51ff5467cc27a739b4b380e6 AUX nm-system-settings.conf 23 RMD160 6d66c702b345bde668a420a15716feea6005fbd1 SHA1 49ba558d20f5ca5a201e027e13b878dd5ac3569c SHA256 44b048804c7c0b8b3b0c29b8632b6ad613c397d0a1635ec918e10c0fbcdadf21 AUX nm-system-settings.conf-ifnet 70 RMD160 c0d2be147383999b62cead86ab4333169e4ef277 SHA1 679ec8052b610969c148a2d34cd4da7a41484a76 SHA256 34f53d9ac1ad65eda6942dc3059117f60f6321059ca23f4fbfcc2f2edcae151f @@ -28,5 +28,6 @@ EBUILD networkmanager-0.8.2-r1.ebuild 4132 RMD160 1261ce2f0e499ece5e2ea4c010c862 EBUILD networkmanager-0.8.2-r2.ebuild 4407 RMD160 6ecc01211eb01e86a6856a1379dfdb991177b0d9 SHA1 ae3cc0a5869fc26b155b9704b286e61a01899c8c SHA256 0ead477d6ed601be6d1e3e5fa2a4546cc9cbbde77703406287125b3b639c5db2 EBUILD networkmanager-0.8.2-r6.ebuild 4837 RMD160 417fa42b1d369fedaa6b7aea043a80cb52fd81e8 SHA1 99779c8f7693c2aeec53c489fa2319e042242b6d SHA256 c591c769bea0660755c3913a879fe74ab6413e2e3e58e83fcf2f0e24f49597de EBUILD networkmanager-0.8.2-r7.ebuild 4941 RMD160 9cb985a2f2e0dca9e4191b623fdff2f0456b5afc SHA1 ec564332aba43f09d5eca7812f4aa1dbce6d21e1 SHA256 7160622a3c9495e68df7228d9b850db40d5b1ce0c8d140890d765ee829668899 -MISC ChangeLog 20502 RMD160 59001c6a3b63cc70c7c7255a12fa6594482bdfe5 SHA1 8310aff52d62ab449011b12154d8218b8e46d446 SHA256 bcd678f53ba9ec62927cfc831f66b9c3579f1ada0245ba7d7c0625d31cf38b55 +EBUILD networkmanager-0.8.2-r8.ebuild 4941 RMD160 ba04f499d74f30dcf19b78b8e79dab38af69d165 SHA1 9167920dbd3b297022908c96c1e29666fcf5490f SHA256 749abe755fcbc049df861f7deda265e2a8fa3d1475c385c45ff01eba463c8384 +MISC ChangeLog 20714 RMD160 5335bca6bad237f9e3d5f0036c82401f6c6a0c72 SHA1 d498789dfe864d7e785bbc8a77b5cf1a9f46ef63 SHA256 72e4fdb7006fb6fdf5cdce4e36fcfc27b03732aa0e604518437206086f61ef21 MISC metadata.xml 1064 RMD160 28d68851ef6cb80bfef006ab6f88d2f93f44bee9 SHA1 ea76e3b1043d5933df8ed0531f89b0bc8e4b7d7c SHA256 ebb4664fb8edea0672a185e68c1cda3c0f3d5fa0ad906a50a67caafe380ef6be diff --git a/net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch b/net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch index 0ca2e618858d..a1f589d0062b 100644 --- a/net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch +++ b/net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch @@ -1,44 +1,131 @@ -From ad30f01d6108a7e8e05e5e90c93b2a750b7be240 Mon Sep 17 00:00:00 2001 +From 5b018326db5c9ebad8a63e1e231f49d2ca65e28c Mon Sep 17 00:00:00 2001 From: Mu Qiao <qiaomuf@gentoo.org> Date: Fri, 25 Feb 2011 16:25:07 +0000 Subject: [PATCH 3/3] Won't write when nothing changed Signed-off-by: Mu Qiao <qiaomuf@gentoo.org> + Make log less excessive, accept non-alnum ssid (bug #356337) +Signed-off-by: Mu Qiao <qiaomuf@gentoo.org> --- - system-settings/plugins/ifnet/net_parser.c | 14 ++++++++++---- - system-settings/plugins/ifnet/wpa_parser.c | 3 ++- - 2 files changed, 12 insertions(+), 5 deletions(-) + system-settings/plugins/ifnet/connection_parser.c | 24 ++++++-------------- + system-settings/plugins/ifnet/net_parser.c | 8 +++++- + system-settings/plugins/ifnet/plugin.c | 4 --- + system-settings/plugins/ifnet/wpa_parser.c | 7 ++++- + 4 files changed, 18 insertions(+), 25 deletions(-) +diff --git a/system-settings/plugins/ifnet/connection_parser.c b/system-settings/plugins/ifnet/connection_parser.c +index 9b5ddc1..8600142 100644 +--- a/system-settings/plugins/ifnet/connection_parser.c ++++ b/system-settings/plugins/ifnet/connection_parser.c +@@ -627,23 +627,13 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error) + g_object_set (ip4_setting, + NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES, + TRUE, NULL); +- if (nm_setting_ip4_config_add_address +- (ip4_setting, ip4_addr)) { +- PLUGIN_PRINT (IFNET_PLUGIN_NAME, +- "new address: %d", iblock->ip); +- PLUGIN_PRINT (IFNET_PLUGIN_NAME, +- "ipv4 addresses count: %d", +- nm_setting_ip4_config_get_num_addresses +- (ip4_setting)); +- } else { +- PLUGIN_WARN (IFNET_PLUGIN_NAME, +- "ignoring duplicate IP4 address"); +- } ++ if (!nm_setting_ip4_config_add_address (ip4_setting, ip4_addr)) ++ PLUGIN_WARN (IFNET_PLUGIN_NAME, ++ "ignoring duplicate IP4 address"); + nm_ip4_address_unref (ip4_addr); + current_iblock = iblock; + iblock = iblock->next; + destroy_ip_block (current_iblock); +- + } + g_object_set (ip4_setting, + NM_SETTING_IP4_CONFIG_METHOD, +@@ -2276,11 +2266,12 @@ write_wireless_setting (NMConnection * connection, + return FALSE; + } + +- /* If the SSID contains any non-printable characters, we need to use the +- * hex notation of the SSID instead. ++ /* If the SSID contains any non-alnum characters, we need to use ++ * the hex notation of the SSID instead. (Because openrc doesn't ++ * support these characters, see bug #356337) + */ + for (i = 0; i < ssid->len; i++) { +- if (!isprint (ssid->data[i])) { ++ if (!isalnum (ssid->data[i])) { + hex_ssid = TRUE; + break; + } +@@ -2487,7 +2478,6 @@ write_ip4_setting (NMConnection * connection, gchar * conn_name, + ifnet_set_data (conn_name, "config", "dhcp"); + + /* DNS Servers */ +- ifnet_set_data (conn_name, "dns_servers", NULL); + num = nm_setting_ip4_config_get_num_dns (s_ip4); + if (num > 0) { + dns = g_string_new (NULL); diff --git a/system-settings/plugins/ifnet/net_parser.c b/system-settings/plugins/ifnet/net_parser.c -index de2db8a..e01b092 100644 +index de2db8a..57f3688 100644 --- a/system-settings/plugins/ifnet/net_parser.c +++ b/system-settings/plugins/ifnet/net_parser.c -@@ -413,10 +413,16 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value) +@@ -411,12 +411,16 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value) + } + /* Remove existing key value pair */ if (g_hash_table_lookup_extended (conn, key, &orin_key, &orin_value)) { - if (new_value && !strcmp (orin_value, new_value)) +- if (new_value && !strcmp (orin_value, new_value)) ++ if (new_value && !strcmp (orin_value, new_value)){ ++ g_free (new_value); return; -- g_hash_table_remove (conn, orin_key); -- g_free (orin_key); -- g_free (orin_value); ++ } + g_hash_table_remove (conn, orin_key); + g_free (orin_key); + g_free (orin_value); - } -+ /* Won't remove dns_servers wrt bug #356339 */ -+ if (strcmp (orin_key, "dns_servers")){ -+ g_hash_table_remove (conn, orin_key); -+ g_free (orin_key); -+ g_free (orin_value); -+ } else -+ return; + /* old key/value doesn't exist but new value is NULL */ + } else if (!value) + return; if (new_value) g_hash_table_insert (conn, g_strdup (key), new_value); net_parser_data_changed = TRUE; +diff --git a/system-settings/plugins/ifnet/plugin.c b/system-settings/plugins/ifnet/plugin.c +index 94f9e79..3952e91 100644 +--- a/system-settings/plugins/ifnet/plugin.c ++++ b/system-settings/plugins/ifnet/plugin.c +@@ -91,8 +91,6 @@ update_system_hostname (gpointer config) + { + SCPluginIfnetPrivate *priv = SC_PLUGIN_IFNET_GET_PRIVATE (config); + +- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Updating hostname"); +- + if (priv->hostname) + g_free (priv->hostname); + priv->hostname = read_hostname (IFNET_SYSTEM_HOSTNAME_FILE); +@@ -184,8 +182,6 @@ monitor_file_changes (const char *filename, + info); + g_signal_connect (monitor, "changed", G_CALLBACK (file_changed), + info); +- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Monitoring %s", filename); +- + } else + PLUGIN_WARN (IFNET_PLUGIN_NAME, + "Monitoring %s failed, error: %s", filename, diff --git a/system-settings/plugins/ifnet/wpa_parser.c b/system-settings/plugins/ifnet/wpa_parser.c -index 42c52c3..2c3869e 100644 +index 42c52c3..338c338 100644 --- a/system-settings/plugins/ifnet/wpa_parser.c +++ b/system-settings/plugins/ifnet/wpa_parser.c -@@ -468,7 +468,8 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value) +@@ -463,12 +463,15 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value) + /* Remove old key value pairs */ + if (g_hash_table_lookup_extended + (security, key, &orig_key, &orig_value)) { +- if (new_value && !strcmp(orig_value, new_value)) ++ if (new_value && !strcmp(orig_value, new_value)){ ++ g_free (new_value); + return; ++ } g_hash_table_remove (security, orig_key); g_free (orig_key); g_free (orig_value); diff --git a/net-misc/networkmanager/networkmanager-0.8.2-r8.ebuild b/net-misc/networkmanager/networkmanager-0.8.2-r8.ebuild new file mode 100644 index 000000000000..7c1c488f662d --- /dev/null +++ b/net-misc/networkmanager/networkmanager-0.8.2-r8.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.8.2-r8.ebuild,v 1.1 2011/02/26 05:59:00 qiaomuf Exp $ + +EAPI="2" + +inherit autotools eutils gnome.org linux-info + +# 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 kernel_linux resolvconf connection-sharing" + +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.4 + >=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 ) ) + !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-2.4.5 + doc? ( >=dev-util/gtk-doc-1.8 )" + +S=${WORKDIR}/${MY_P} + +sysfs_deprecated_check() { + ebegin "Checking for SYSFS_DEPRECATED support" + + if { linux_chkconfig_present SYSFS_DEPRECATED_V2; }; then + eerror "Please disable SYSFS_DEPRECATED_V2 support in your kernel config and recompile your kernel" + eerror "or NetworkManager will not work correctly." + eerror "See http://bugs.gentoo.org/333639 for more info." + die "CONFIG_SYSFS_DEPRECATED_V2 support detected!" + fi + eend $? +} + +pkg_setup() { + # FIXME. Required by -confchanges.patch, but the patch is invalid as + # ConsoleKit and PolicyKit is enough to get authorization. + enewgroup plugdev + + if use kernel_linux; then + get_version + if linux_config_exists; then + sysfs_deprecated_check + else + ewarn "Was unable to determine your kernel .config" + ewarn "Please note that if CONFIG_SYSFS_DEPRECATED_V2 is set in your kernel .config, NetworkManager will not work correctly." + ewarn "See http://bugs.gentoo.org/333639 for more info." + fi + + fi +} + +src_prepare() { + # dbus policy patch + epatch "${FILESDIR}/${P}-confchanges.patch" + # accept "gw" in /etc/conf.d/net (bug #339215) + epatch "${FILESDIR}/${P}-accept-gw.patch" + # fix shared connection wrt bug #350476 + # fix parsing dhclient.conf wrt bug #352638 + epatch "${FILESDIR}/${P}-shared-connection.patch" + # Backports #1 + epatch "${FILESDIR}/${P}-1.patch" + # won't crash upon startup for 32bit machines wrt bug #353807 + epatch "${FILESDIR}/${P}-fix-timestamp.patch" + # fix tests wrt bug #353549 + epatch "${FILESDIR}/${P}-fix-tests.patch" + # fix temporary files creation bug #349003 + epatch "${FILESDIR}/${P}-fix-tempfiles.patch" + # won't write when nothing changed (bug #356339) + epatch "${FILESDIR}/${P}-ifnet-smarter-write.patch" + eautoreconf +} + +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-dhcpcd --without-dhclient" + else + ECONF="${ECONF} --with-dhclient --without-dhcpcd" + fi + else + ECONF="${ECONF} --with-dhcpcd --without-dhclient" + 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-ifnet" 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 "" +} |