summaryrefslogtreecommitdiff
path: root/source/n/NetworkManager
diff options
context:
space:
mode:
Diffstat (limited to 'source/n/NetworkManager')
-rwxr-xr-xsource/n/NetworkManager/NetworkManager.SlackBuild39
-rw-r--r--source/n/NetworkManager/patches/0000-slackware-use-fqdn.diff31
-rw-r--r--source/n/NetworkManager/rc.networkmanager2
-rw-r--r--source/n/NetworkManager/slack-desc8
4 files changed, 70 insertions, 10 deletions
diff --git a/source/n/NetworkManager/NetworkManager.SlackBuild b/source/n/NetworkManager/NetworkManager.SlackBuild
index d152c07c..caa28ba7 100755
--- a/source/n/NetworkManager/NetworkManager.SlackBuild
+++ b/source/n/NetworkManager/NetworkManager.SlackBuild
@@ -1,7 +1,7 @@
-#!/bin/sh
+#!/bin/bash
# Copyright 2010, 2011, 2014, 2016 Robby Workman, Northport, Alabama, USA
-# Copyright 2013, 2014, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2013, 2014, 2015, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,9 +23,11 @@
# Modified 2011, 2012 by Eric Hameleers, Eindhoven, NL
+cd $(dirname $0) ; CWD=$(pwd)
+
PKGNAM=NetworkManager
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -39,9 +41,16 @@ if [ -z "$ARCH" ]; then
esac
fi
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
NUMJOBS=${NUMJOBS:-" -j7 "}
-CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
OUTPUT=${OUTPUT:-/tmp}
@@ -84,6 +93,21 @@ find . \
# Find the version number for pppd, used to specify the plugin directory:
PPPD=$(echo /usr/lib${LIBDIRSUFFIX}/pppd/?.?.? | rev | cut -f 1 -d / | rev)
+# Apply bugfix patches from upstream git:
+for dfile in $CWD/patches/* ; do
+ zcat $dfile | patch -p1 --verbose || exit 1
+done
+
+# For git-patched builds
+autoreconf -vif
+automake
+./autogen.sh
+
+# Configuring --enable-json-validation --enable-ovs requires the Jansson
+# json-c library. If there's any interest or usefulness with that, let me
+# know. The library is fairly small, but in order to actually use team
+# interfaces will probably require more stuff (not sure how much).
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -103,6 +127,8 @@ CXXFLAGS="$SLKCFLAGS" \
--with-modem-manager-1=yes \
--with-nmtui=yes \
--disable-vala \
+ --disable-json-validation \
+ --disable-ovs \
--with-session-tracking=consolekit \
--with-suspend-resume=consolekit \
--with-hostname-persist=slackware \
@@ -111,6 +137,9 @@ CXXFLAGS="$SLKCFLAGS" \
make $NUMJOBS || exit 1
make install DESTDIR=$PKG || exit 1
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -163,7 +192,7 @@ fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg --prepend -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/NetworkManager/patches/0000-slackware-use-fqdn.diff b/source/n/NetworkManager/patches/0000-slackware-use-fqdn.diff
new file mode 100644
index 00000000..f96f580f
--- /dev/null
+++ b/source/n/NetworkManager/patches/0000-slackware-use-fqdn.diff
@@ -0,0 +1,31 @@
+--- ./src/nm-hostname-manager.c.orig 2017-11-10 09:46:25.000000000 -0600
++++ ./src/nm-hostname-manager.c 2017-11-10 17:42:41.829996568 -0600
+@@ -134,8 +134,7 @@
+ {
+ gs_free char *contents = NULL;
+ gs_strfreev char **all_lines = NULL;
+- char *tmp;
+- guint i, j = 0;
++ guint i = 0;
+
+ if (!g_file_get_contents (path, &contents, NULL, NULL))
+ return NULL;
+@@ -145,17 +144,7 @@
+ g_strstrip (all_lines[i]);
+ if (all_lines[i][0] == '#' || all_lines[i][0] == '\0')
+ continue;
+- tmp = &all_lines[i][0];
+- /* We only want up to the first '.' -- the rest of the */
+- /* fqdn is defined in /etc/hosts */
+- while (tmp[j] != '\0') {
+- if (tmp[j] == '.') {
+- tmp[j] = '\0';
+- break;
+- }
+- j++;
+- }
+- return g_shell_unquote (tmp, NULL);
++ return g_shell_unquote (&all_lines[i][0], NULL);
+ }
+ return NULL;
+ }
diff --git a/source/n/NetworkManager/rc.networkmanager b/source/n/NetworkManager/rc.networkmanager
index dbdf19d5..b6b311ed 100644
--- a/source/n/NetworkManager/rc.networkmanager
+++ b/source/n/NetworkManager/rc.networkmanager
@@ -33,7 +33,7 @@ nm_start()
fi
echo "Starting NetworkManager daemon: $NETWORKMANAGER_BIN"
- $NETWORKMANAGER_BIN
+ XDG_CACHE_HOME=/root/.cache $NETWORKMANAGER_BIN
}
nm_status()
diff --git a/source/n/NetworkManager/slack-desc b/source/n/NetworkManager/slack-desc
index 96496048..31e34d44 100644
--- a/source/n/NetworkManager/slack-desc
+++ b/source/n/NetworkManager/slack-desc
@@ -1,15 +1,15 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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: 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).