summaryrefslogtreecommitdiff
path: root/source/ap/rpm/rpm.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/rpm/rpm.SlackBuild')
-rwxr-xr-xsource/ap/rpm/rpm.SlackBuild47
1 files changed, 40 insertions, 7 deletions
diff --git a/source/ap/rpm/rpm.SlackBuild b/source/ap/rpm/rpm.SlackBuild
index 33f570e8..63103558 100755
--- a/source/ap/rpm/rpm.SlackBuild
+++ b/source/ap/rpm/rpm.SlackBuild
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/bash
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,9 +22,11 @@
# Build RPM (of all things) for Slackware.
+cd $(dirname $0) ; CWD=$(pwd)
+
PKGNAM=rpm
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -38,6 +40,14 @@ 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
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
@@ -55,9 +65,19 @@ elif [ "$ARCH" = "armel" ]; then
LIBDIRSUFFIX=""
fi
+if [ -x /usr/bin/rpm ]; then
+ echo "RPM detected."
+ echo
+ echo "The rpm package needs to be removed before building to ensure that"
+ echo "the binaries do not link to earlier library versions."
+ echo
+ echo "Removing the rpm package in 15 seconds, and then continuing with the build."
+ sleep 15
+ removepkg rpm
+fi
+
DB_INC="/usr/include/db48"
-CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=/tmp/package-rpm
@@ -66,8 +86,8 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf rpm-$VERSION
-xz -dc $CWD/rpm-$VERSION.tar.xz | tar xvf - || exit 1
-cd rpm-$VERSION
+tar xvf $CWD/rpm-$VERSION.tar.?z || exit 1
+cd rpm-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -93,11 +113,24 @@ LDFLAGS="-ldl" \
--without-lua \
--without-dmalloc \
--enable-sqlite3 \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+cd python
+ python setup.py install --root=$PKG || exit 1
+ python3 setup.py install --root=$PKG || exit 1
+cd -
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# This used to be at /bin/rpm, so make a symlink from there to the new
+# location:
+mkdir -p $PKG/bin
+ln -s ../usr/bin/rpm $PKG/bin/rpm
+
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null