diff options
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 |
commit | 9664bee729d487bcc0a0bc35859f8e13d5421c75 (patch) | |
tree | b428a16618e36ed864a8d76ea3435e19a452bf90 /source/n/NetworkManager | |
parent | 75a4a592e5ccda30715f93563d741b83e0dcf39e (diff) | |
download | current-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.gz |
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.patch | 27 | ||||
-rw-r--r-- | source/n/NetworkManager/55NetworkManager | 42 | ||||
-rwxr-xr-x | source/n/NetworkManager/NetworkManager.SlackBuild | 154 | ||||
-rw-r--r-- | source/n/NetworkManager/NetworkManager.conf.new | 11 | ||||
-rw-r--r-- | source/n/NetworkManager/README | 15 | ||||
-rw-r--r-- | source/n/NetworkManager/doinst.sh | 32 | ||||
-rw-r--r-- | source/n/NetworkManager/slack-desc | 19 |
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 00000000..fff4194b --- /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 00000000..f3c6df5e --- /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 00000000..d7e9d1f8 --- /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 00000000..71945e90 --- /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 00000000..5556f27f --- /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 00000000..2b419b26 --- /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 00000000..2a47aaa3 --- /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: |