source: npl/internetserver/iproute2/iproute2.SlackBuild.orig

Last change on this file was 2154c77, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

various updates

  • Property mode set to 100755
File size: 4.5 KB
Line 
1#!/bin/sh
2
3# Copyright 2005-2016  Patrick J. Volkerding, Sebeka, MN, USA
4# All rights reserved.
5#
6# Redistribution and use of this script, with or without modification, is
7# permitted provided that the following conditions are met:
8#
9# 1. Redistributions of this script must retain the above copyright
10#    notice, this list of conditions and the following disclaimer.
11#
12#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
13#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
14#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
15#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
16#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
17#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
18#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
19#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
20#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
21#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22
23PKGNAM=iproute2
24VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
25BUILD=${BUILD:-1}
26
27#NUMJOBS=${NUMJOBS:-" -j7 "}
28
29# Automatically determine the architecture we're building on:
30if [ -z "$ARCH" ]; then
31  case "$( uname -m )" in
32    i?86) export ARCH=i586 ;;
33    arm*) export ARCH=arm ;;
34    # Unless $ARCH is already set, use uname -m for all other archs:
35       *) export ARCH=$( uname -m ) ;;
36  esac
37fi
38
39if [ "$ARCH" = "i586" ]; then
40  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
41  LIBDIRSUFFIX=""
42elif [ "$ARCH" = "s390" ]; then
43  SLKCFLAGS="-O2"
44  LIBDIRSUFFIX=""
45elif [ "$ARCH" = "x86_64" ]; then
46  SLKCFLAGS="-O2 -fPIC"
47  LIBDIRSUFFIX="64"
48else
49  SLKCFLAGS="-O2"
50  LIBDIRSUFFIX=""
51fi
52
53CWD=$(pwd)
54TMP=${TMP:-/tmp}
55PKG=$TMP/package-iproute2
56
57rm -rf $PKG
58mkdir -p $TMP $PKG
59cd $TMP
60rm -rf iproute2-$VERSION
61tar xvf $CWD/iproute2-$VERSION.tar.xz || exit 1
62cd iproute2-$VERSION
63
64chown -R root:root .
65find . \
66  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
67  -exec chmod 755 {} \; -o \
68  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
69  -exec chmod 644 {} \;
70
71./configure  # This is okay, really :-)
72
73make \
74  CCOPTS="$SLKCFLAGS" \
75  LIBDIR=/usr/lib${LIBDIRSUFFIX} \
76  CONFDIR=/etc/iproute2 \
77  DOCDIR=/usr/doc/iproute2-$VERSION \
78  MANDIR=/usr/man \
79  DBM_INCLUDE=/usr/include/db48 \
80  $NUMJOBS || exit 1
81
82make install \
83  LIBDIR=/usr/lib${LIBDIRSUFFIX} \
84  CONFDIR=/etc/iproute2 \
85  DOCDIR=/usr/doc/iproute2-$VERSION \
86  MANDIR=/usr/man \
87  DBM_INCLUDE=/usr/include/db48 \
88  DESTDIR=$PKG || exit 1
89
90mkdir -p $PKG/usr
91make install LIBDIR=/usr/lib${LIBDIRSUFFIX} DESTDIR=$PKG/usr/ || exit 1
92
93# This stuff has always been installed under /sbin rather than
94# /usr/sbin, as the latter could possibly be network-mounted, and
95# these utilities may be needed to set up that network, so move
96# them appropriately, but leave symlinks in /usr/sbin so that
97# any scripts using absolute paths will work either way:
98#mkdir $PKG/sbin
99mv $PKG/usr/sbin/* $PKG/sbin
100( cd $PKG/usr/sbin
101  for file in ../../sbin/* ; do
102    ln -sf $file .
103  done
104)
105
106# Don't clobber existing config files
107for file in $PKG/etc/iproute2/* ; do
108  mv $file ${file}.new
109done
110
111# Remove junk:
112[ -d $PKG/usr/usr ] && rm -r $PKG/usr/usr
113[ -d $PKG/usr/var ] && rm -r $PKG/usr/var
114[ -d $PKG/usr/etc ] && rm -r $PKG/usr/etc
115
116find $PKG | xargs file | grep -e "executable" -e "shared object" \
117  | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
118
119# Compress and if needed symlink the man pages:
120if [ -d $PKG/usr/man ]; then
121  ( cd $PKG/usr/man
122    for manpagedir in $(find . -type d -name "man*") ; do
123      ( cd $manpagedir
124        for eachpage in $( find . -type l -maxdepth 1) ; do
125          ln -s $( readlink $eachpage ).gz $eachpage.gz
126          rm $eachpage
127        done
128        gzip -9 *.?
129      )
130    done
131  )
132fi
133
134mkdir -p $PKG/usr/doc/iproute2-$VERSION
135cp -a COPYING RE* \
136  $PKG/usr/doc/iproute2-$VERSION
137
138# If there's a ChangeLog, installing at least part of the recent history
139# is useful, but don't let it get totally out of control:
140if [ -r ChangeLog ]; then
141  DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
142  cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
143  touch -r ChangeLog $DOCSDIR/ChangeLog
144fi
145
146mkdir -p $PKG/install
147cat $CWD/slack-desc > $PKG/install/slack-desc
148zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
149
150cd $PKG
151/sbin/makepkg -l y -c n $TMP/iproute2-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
152
Note: See TracBrowser for help on using the repository browser.