summaryrefslogtreecommitdiffstats
path: root/source/ap/rpm
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/rpm')
-rwxr-xr-xsource/ap/rpm/rpm.SlackBuild47
-rw-r--r--source/ap/rpm/slack-desc10
2 files changed, 45 insertions, 12 deletions
diff --git a/source/ap/rpm/rpm.SlackBuild b/source/ap/rpm/rpm.SlackBuild
index 33f570e80..63103558a 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
diff --git a/source/ap/rpm/slack-desc b/source/ap/rpm/slack-desc
index e41765e1a..cc6f3e08b 100644
--- a/source/ap/rpm/slack-desc
+++ b/source/ap/rpm/slack-desc
@@ -1,18 +1,18 @@
# 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-------------------------------------------------------|
rpm: rpm (RPM package format tool)
rpm:
rpm: RPM is a tool from Red Hat Software used to install and remove
-rpm: packages in the .rpm format. When installing RPM packages on
+rpm: packages in the .rpm format. When installing RPM packages on
rpm: Slackware, you may need to use the --nodeps and --force options.
rpm: Before installing any binary package, it's wise to examine it to
-rpm: see what it's going to do, and if it will overwrite any files. You
+rpm: see what it's going to do, and if it will overwrite any files. You
rpm: can use rpm2tgz to convert .rpm packages to .tgz packages so you
rpm: can look them over.
rpm: