summaryrefslogtreecommitdiffstats
path: root/source/n/NetworkManager
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2012-09-26 01:10:42 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:51:55 +0200
commit9664bee729d487bcc0a0bc35859f8e13d5421c75 (patch)
treeb428a16618e36ed864a8d76ea3435e19a452bf90 /source/n/NetworkManager
parent75a4a592e5ccda30715f93563d741b83e0dcf39e (diff)
downloadcurrent-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.gz
current-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.xz
Slackware 14.0slackware-14.0
Wed Sep 26 01:10:42 UTC 2012 Slackware 14.0 x86_64 stable is released! We're perfectionists here at Slackware, so this release has been a long time a-brewing. But we think you'll agree that it was worth the wait. Slackware 14.0 combines modern components, ease of use, and flexible configuration... our "KISS" philosophy demands it. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Thanks to everyone who helped make this happen. The Slackware team, the upstream developers, and (of course) the awesome Slackware user community. Have fun! :-)
Diffstat (limited to 'source/n/NetworkManager')
-rw-r--r--source/n/NetworkManager/11-initialize-nm-remote-settings.patch27
-rw-r--r--source/n/NetworkManager/55NetworkManager42
-rwxr-xr-xsource/n/NetworkManager/NetworkManager.SlackBuild154
-rw-r--r--source/n/NetworkManager/NetworkManager.conf.new11
-rw-r--r--source/n/NetworkManager/README15
-rw-r--r--source/n/NetworkManager/doinst.sh32
-rw-r--r--source/n/NetworkManager/slack-desc19
7 files changed, 300 insertions, 0 deletions
diff --git a/source/n/NetworkManager/11-initialize-nm-remote-settings.patch b/source/n/NetworkManager/11-initialize-nm-remote-settings.patch
new file mode 100644
index 000000000..fff4194ba
--- /dev/null
+++ b/source/n/NetworkManager/11-initialize-nm-remote-settings.patch
@@ -0,0 +1,27 @@
+commit dd0460697c4e281fe277b53916d5251332e1aafc
+Author: Jiří Klimeš <jklimes@redhat.com>
+Date: Tue Mar 27 22:36:55 2012 +0200
+
+ libnm-glib: initialize NMRemoteSettings in nm_remote_settings_new() (rh #806664)
+
+ The object was not initialized after creation in nm_remote_settings_new(). This
+ was a regression caused by 762df85234e7a042a2a5d31053e6cc273ae3e2ec.
+
+diff --git a/libnm-glib/nm-remote-settings.c b/libnm-glib/nm-remote-settings.c
+index 8f213f9..b6b6c18 100644
+--- a/libnm-glib/nm-remote-settings.c
++++ b/libnm-glib/nm-remote-settings.c
+@@ -728,7 +728,12 @@ properties_changed_cb (DBusGProxy *proxy,
+ NMRemoteSettings *
+ nm_remote_settings_new (DBusGConnection *bus)
+ {
+- return g_object_new (NM_TYPE_REMOTE_SETTINGS, NM_REMOTE_SETTINGS_BUS, bus, NULL);
++ NMRemoteSettings *settings;
++
++ settings = g_object_new (NM_TYPE_REMOTE_SETTINGS, NM_REMOTE_SETTINGS_BUS, bus, NULL);
++
++ _nm_remote_settings_ensure_inited (settings);
++ return settings;
+ }
+
+ static void
diff --git a/source/n/NetworkManager/55NetworkManager b/source/n/NetworkManager/55NetworkManager
new file mode 100644
index 000000000..f3c6df5e5
--- /dev/null
+++ b/source/n/NetworkManager/55NetworkManager
@@ -0,0 +1,42 @@
+#!/bin/sh
+# If we are running NetworkManager, tell it we are going to sleep.
+# TODO: Make NetworkManager smarter about how to handle sleep/resume
+# If we are asleep for less time than it takes for TCP to reset a
+# connection, and we are assigned the same IP on resume, we should
+# not break established connections. Apple can do this, and it is
+# rather nifty.
+
+. "${PM_FUNCTIONS}"
+
+suspend_nm()
+{
+ # Tell NetworkManager to shut down networking
+ printf "Having NetworkManager put all interaces to sleep..."
+ dbus_send --system \
+ --dest=org.freedesktop.NetworkManager \
+ /org/freedesktop/NetworkManager \
+ org.freedesktop.NetworkManager.sleep && \
+ echo Done. || echo Failed.
+}
+
+resume_nm()
+{
+ # Wake up NetworkManager and make it do a new connection
+ printf "Having NetworkManager wake interfaces back up..."
+ dbus_send --system \
+ --dest=org.freedesktop.NetworkManager \
+ /org/freedesktop/NetworkManager \
+ org.freedesktop.NetworkManager.wake && \
+ echo Done. || echo Failed.
+}
+
+case "$1" in
+ hibernate|suspend)
+ suspend_nm
+ ;;
+ thaw|resume)
+ resume_nm
+ ;;
+ *) exit $NA
+ ;;
+esac
diff --git a/source/n/NetworkManager/NetworkManager.SlackBuild b/source/n/NetworkManager/NetworkManager.SlackBuild
new file mode 100755
index 000000000..d7e9d1f8b
--- /dev/null
+++ b/source/n/NetworkManager/NetworkManager.SlackBuild
@@ -0,0 +1,154 @@
+#!/bin/sh
+
+# Slackware build script for NetworkManager
+
+# Copyright 2010,2011 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Modified 2011, 2012 by Eric Hameleers, Eindhoven, NL
+
+PKGNAM=NetworkManager
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
+TAG=${TAG:-}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ armv7hl) export ARCH=$MARCH ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$MARCH ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/11-initialize-nm-remote-settings.patch.gz | patch -p1 --verbose || exit 1
+
+# Find the version off pppd installed or else assume we are on -current:
+PPPD=$( basename $(find /usr/lib${LIBDIRSUFFIX}/pppd -type d -maxdepth 1 -mindepth 1) )
+[ -z "$PPPD" ] && PPPD=2.4.5
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --with-pppd-plugin-dir=/usr/lib${LIBDIRSUFFIX}/pppd/$PPPD \
+ --with-crypto=nss \
+ --enable-more-warnings=no \
+ --without-resolvconf \
+ --with-dhcpcd=/sbin/dhcpcd \
+ --with-dhclient=yes \
+ --build=$TARGET || exit 1
+
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+# Don't run NetworkManager by default just because it got installed.
+# Instead, the init script will have to be made executable first.
+# This should avoid nasty surprises on potentially remotely located machines.
+chmod 644 $PKG/etc/rc.d/rc.networkmanager
+
+# Don't clobber existing rc.networkmanager
+mv $PKG/etc/rc.d/rc.networkmanager $PKG/etc/rc.d/rc.networkmanager.new
+
+# Add a 'starter' NetworkManager.conf file
+# This sets the hostname (during postinstall) to match the system's name
+# and defines dhcpcd as the dhcp client to use
+mkdir -p $PKG/etc/NetworkManager
+cat $CWD/NetworkManager.conf.new > \
+ $PKG/etc/NetworkManager/NetworkManager.conf.new
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS CONTRIBUTING COPYING ChangeLog INSTALL NEWS README TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+# In case someone needs this still:
+cp $CWD/55NetworkManager $PKG/usr/doc/$PKGNAM-$VERSION/
+cat $CWD/$PKGNAM.SlackBuild > $PKG/usr/doc/$PKGNAM-$VERSION/$PKGNAM.SlackBuild
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog
+ touch -r ChangeLog $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}
+
diff --git a/source/n/NetworkManager/NetworkManager.conf.new b/source/n/NetworkManager/NetworkManager.conf.new
new file mode 100644
index 000000000..71945e907
--- /dev/null
+++ b/source/n/NetworkManager/NetworkManager.conf.new
@@ -0,0 +1,11 @@
+# /etc/NetworkManager/NetworkManager.conf
+#
+# See NetworkManager.conf(5) for more information on this file
+
+[main]
+plugins=keyfile
+dhcp=dhcpcd
+
+[keyfile]
+hostname=yourhostname
+
diff --git a/source/n/NetworkManager/README b/source/n/NetworkManager/README
new file mode 100644
index 000000000..5556f27f8
--- /dev/null
+++ b/source/n/NetworkManager/README
@@ -0,0 +1,15 @@
+NetworkManager attempts to keep an active network connection available at all
+times. The point of NetworkManager is to make networking configuration and
+setup as painless and automatic as possible. NetworkManager is intended to
+replace default route, replace other routes, set IP addresses, and in general
+configure networking as NM sees fit (with the possibility of manual override as
+necessary). In effect, the goal of NetworkManager is to make networking Just
+Work with a minimum of user hassle, but still allow customization and a high
+level of manual network control.
+
+You will probably want to install network-manager-applet (for a configuration
+UI) for sure, along with ModemManager (if you want support for configuring
+broadband modem connections) perhaps one or more of the VPN-related addons.
+
+You will also need to start rc.networkmanager during boot - you can use
+rc.local, or perhaps you'll want to edit rc.M's call to rc.wicd... :-)
diff --git a/source/n/NetworkManager/doinst.sh b/source/n/NetworkManager/doinst.sh
new file mode 100644
index 000000000..2b419b26b
--- /dev/null
+++ b/source/n/NetworkManager/doinst.sh
@@ -0,0 +1,32 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ config ${NEW}
+}
+
+if [ -e etc/HOSTNAME ]; then
+ sed -i "s,yourhostname,$(cat etc/HOSTNAME | cut -f1 -d .)," \
+ etc/NetworkManager/NetworkManager.conf.new
+fi
+
+preserve_perms etc/rc.d/rc.networkmanager.new
+config etc/NetworkManager/NetworkManager.conf.new
+
diff --git a/source/n/NetworkManager/slack-desc b/source/n/NetworkManager/slack-desc
new file mode 100644
index 000000000..2a47aaa38
--- /dev/null
+++ b/source/n/NetworkManager/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+NetworkManager: NetworkManager (Networking that Just Works)
+NetworkManager:
+NetworkManager: The point of NetworkManager is to make networking configuration and
+NetworkManager: setup as painless and automatic as possible. NetworkManager sets IP
+NetworkManager: addresses, default routes, associating with wireless access points
+NetworkManager: or wired LANs, and other network configuration settings in a simple,
+NetworkManager: automated fashion (manual overrides are still possible).
+NetworkManager:
+NetworkManager:
+NetworkManager: Home page: http://projects.gnome.org/NetworkManager/
+NetworkManager: