Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=openjava.git;a=commitdiff;h=805174843d002d34db635f6ae3ccabdd6b502b3e

commit 805174843d002d34db635f6ae3ccabdd6b502b3e
Author: James Buren <[email protected]>
Date:   Wed Jun 6 07:53:17 2012 -0500

networkmanager-0.9.4.0-4-x86_64
* convert to use systemd schema
* change off consolekit to systemd

diff --git a/source/network/networkmanager/FrugalBuild 
b/source/network/networkmanager/FrugalBuild
index ac59048..c393d65 100644
--- a/source/network/networkmanager/FrugalBuild
+++ b/source/network/networkmanager/FrugalBuild
@@ -5,7 +5,7 @@ pkgname=networkmanager
_F_gnome_name=NetworkManager
_F_gnome_ext=.tar.xz
pkgver=0.9.4.0
-pkgrel=3
+pkgrel=4
pkgdesc="Network Management daemon"
depends=('wireless_tools' 'iproute2' 'dhcpcd>=5.1.3' 'nss' 'libgcrypt' \
'libnl>=3.2.9' 'ppp' 'wpa_supplicant' 'iptables' 'polkit' 'libgudev' 
'ca-certificates' \
@@ -18,21 +18,27 @@ options=('scriptlet')
backup=('etc/NetworkManager/nm-system-settings.conf')
source=($source \
nm-system-settings.conf \
-       nm-polkit-permissive.patch)
+       nm-polkit-permissive.patch \
+       kernel-3.4.patch)
sha1sums=('bf5c1857bad5a3321a57488c2b87537c9fb7ee9b' \
'5a7c9957783a275692101e5471022056cff6f096' \
-          '785b8efef6057540906a2ff90619b5afddff59b6')
+          '785b8efef6057540906a2ff90619b5afddff59b6' \
+          '5ef94158fade1d05331cdc065fd73e86bf236534')
_F_cd_path=$_F_gnome_name-$pkgver
replaces=('nm-openconnect')

+_F_systemd_scriptlet="$pkgname.install"
+_F_systemd_units=(NetworkManager=)
+Finclude systemd
+
build() {
Fcd
Fsed "-Werror" "" configure
Fpatchall
Fmake --with-distro=frugalware --with-crypto=nss \
--with-dhcp-client=dhcpcd --with-systemdsystemunitdir=/lib/systemd/system \
-               --disable-wimax --with-system-ca-path=/etc/ssl/certs \
-               --with-dbus-sys-dir=/etc/dbus-1/system.d 
--enable-introspection=yes
+               --with-system-ca-path=/etc/ssl/certs 
--with-dbus-sys-dir=/etc/dbus-1/system.d \
+               --enable-introspection=yes --with-session-tracking=systemd
Fmakeinstall
Fmkdir etc/NetworkManager/system-connections
Fmkdir var/run/NetworkManager
@@ -45,6 +51,8 @@ build() {
cat > $Fdestdir/etc/tmpfiles.d/networkmanager.conf << EOF
d $Flocalstatedir/run/NetworkManager 0755 root root -
EOF
+       Fgenscriptlet
}

+
# optimization OK
diff --git a/source/network/networkmanager/kernel-3.4.patch 
b/source/network/networkmanager/kernel-3.4.patch
new file mode 100644
index 0000000..9be9d71
--- /dev/null
+++ b/source/network/networkmanager/kernel-3.4.patch
@@ -0,0 +1,42 @@
+From 6b64e4db2f3c9cfc0e0e240cf0bc58f3b3e90c1f Mon Sep 17 00:00:00 2001
+From: Jiří KlimeÅ¡ <[email protected]>
+Date: Wed, 28 Mar 2012 14:42:24 +0000
+Subject: ppp: don't use struct ifpppstatsreq that was removed from 
linux/ip_ppp.h
+
+in recent kernels.
+
+We can use ifreq and ppp_stats structures separately. They needn't have to
+to be packed in a structure.
+---
+diff --git a/src/ppp-manager/nm-ppp-manager.c 
b/src/ppp-manager/nm-ppp-manager.c
+index 59698c3..243d2e1 100644
+--- a/src/ppp-manager/nm-ppp-manager.c
++++ b/src/ppp-manager/nm-ppp-manager.c
+@@ -304,18 +304,20 @@ monitor_cb (gpointer user_data)
+ {
+       NMPPPManager *manager = NM_PPP_MANAGER (user_data);
+       NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE (manager);
+-      struct ifpppstatsreq req;
++      struct ifreq req;
++      struct ppp_stats stats;
+
+       memset (&req, 0, sizeof (req));
+-      req.stats_ptr = (caddr_t) &req.stats;
++      memset (&stats, 0, sizeof (stats));
++      req.ifr_data = (caddr_t) &stats;
+
+-      strncpy (req.ifr__name, priv->ip_iface, sizeof (req.ifr__name));
++      strncpy (req.ifr_name, priv->ip_iface, sizeof (req.ifr_name));
+       if (ioctl (priv->monitor_fd, SIOCGPPPSTATS, &req) < 0) {
+               nm_log_warn (LOGD_PPP, "could not read ppp stats: %s", strerror 
(errno));
+       } else {
+               g_signal_emit (manager, signals[STATS], 0,
+-                             req.stats.p.ppp_ibytes,
+-                             req.stats.p.ppp_obytes);
++                             stats.p.ppp_ibytes,
++                             stats.p.ppp_obytes);
+       }
+
+       return TRUE;
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/source/network/networkmanager/networkmanager.install 
b/source/network/networkmanager/networkmanager.install
index aa01c0f..37a61db 100644
--- a/source/network/networkmanager/networkmanager.install
+++ b/source/network/networkmanager/networkmanager.install
@@ -1,3 +1,6 @@
+sysvinit_units=(@_F_sysvinit_units@)
+systemd_units=(@_F_systemd_units@)
+
update_host()
{
host=`cat /etc/hostname`
@@ -5,30 +8,60 @@ update_host()
echo "updating hostname NetworkManager with $host"
sed -i "/hostname/s/frugalwarehostname/$host/" 
/etc/NetworkManager/nm-system-settings.conf
fi
+
+       echo "To enable NetworkManager on bootup:"
+       echo "systemctl disable netconfig.service"
+       echo "systemctl disable wicd.service"
+       echo "systemctl enable NetworkManager.service"
}
+
post_install()
{
update_host
-       systemctl daemon-reload >/dev/null 2>&1
-       echo "For enable NetworkManager on boot:"
-       echo "systemctl enable NetworkManager.service"
-       #systemctl enable NetworkManager.service >/dev/null 2>&1
+
+       local unit
+       local op
+
+       for i in ${sysvinit_units[@]}; do
+               chkconfig --del rc.$i >/dev/null 2>&1
+       done
+
+       for i in ${systemd_units[@]}; do
+               unit=$(echo $i | cut -f 1 -d '=')
+               op=$(echo $i | cut -f 2 -d '=')
+               if echo $op | grep -q 'e'; then
+                       systemctl enable $unit.service >/dev/null 2>&1
+               fi
+               if echo $op | grep -q 's'; then
+                       systemctl start $unit.service >/dev/null 2>&1
+               fi
+       done
}

post_upgrade()
{
update_host
+
+       for i in ${sysvinit_units[@]}; do
+               chkconfig --del rc.$i >/dev/null 2>&1
+       done
+
systemctl daemon-reload >/dev/null 2>&1
-       systemctl try-restart NetworkManager.service >/dev/null 2>&1
-       echo "For enable NetworkManager on boot:"
-       echo "systemctl enable NetworkManager.service"
-       #systemctl enable NetworkManager.service >/dev/null 2>&1
}

pre_remove()
{
-       systemctl stop NetworkManager.service >/dev/null 2>&1
-       systemctl disable NetworkManager.service >/dev/null 2>&1
+       local unit
+
+       for i in ${sysvinit_units[@]}; do
+               chkconfig --del rc.$i >/dev/null 2>&1
+       done
+
+       for i in ${systemd_units[@]}; do
+               unit=$(echo $i | cut -f 1 -d '=')
+               systemctl --no-reload disable $unit.service >/dev/null 2>&1
+               systemctl stop $unit.service >/dev/null 2>&1
+       done
}

post_remove()
@@ -38,7 +71,4 @@ post_remove()

op=$1
shift
-
$op $*
-
-# vim: ft=sh
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to