Index: third_party/tcmalloc/vendor/packages/rpm.sh |
diff --git a/third_party/tcmalloc/vendor/packages/rpm.sh b/third_party/tcmalloc/vendor/packages/rpm.sh |
new file mode 100644 |
index 0000000000000000000000000000000000000000..448a0327f2a269d9b4f348c6fef3ed4d68f0d481 |
--- /dev/null |
+++ b/third_party/tcmalloc/vendor/packages/rpm.sh |
@@ -0,0 +1,86 @@ |
+#!/bin/sh -e |
+ |
+# Run this from the 'packages' directory, just under rootdir |
+ |
+# We can only build rpm packages, if the rpm build tools are installed |
+if [ \! -x /usr/bin/rpmbuild ] |
+then |
+ echo "Cannot find /usr/bin/rpmbuild. Not building an rpm." 1>&2 |
+ exit 0 |
+fi |
+ |
+# Check the commandline flags |
+PACKAGE="$1" |
+VERSION="$2" |
+fullname="${PACKAGE}-${VERSION}" |
+archive=../$fullname.tar.gz |
+ |
+if [ -z "$1" -o -z "$2" ] |
+then |
+ echo "Usage: $0 <package name> <package version>" 1>&2 |
+ exit 0 |
+fi |
+ |
+# Double-check we're in the packages directory, just under rootdir |
+if [ \! -r ../Makefile -a \! -r ../INSTALL ] |
+then |
+ echo "Must run $0 in the 'packages' directory, under the root directory." 1>&2 |
+ echo "Also, you must run \"make dist\" before running this script." 1>&2 |
+ exit 0 |
+fi |
+ |
+if [ \! -r "$archive" ] |
+then |
+ echo "Cannot find $archive. Run \"make dist\" first." 1>&2 |
+ exit 0 |
+fi |
+ |
+# Create the directory where the input lives, and where the output should live |
+RPM_SOURCE_DIR="/tmp/rpmsource-$fullname" |
+RPM_BUILD_DIR="/tmp/rpmbuild-$fullname" |
+ |
+trap 'rm -rf $RPM_SOURCE_DIR $RPM_BUILD_DIR; exit $?' EXIT SIGHUP SIGINT SIGTERM |
+ |
+rm -rf "$RPM_SOURCE_DIR" "$RPM_BUILD_DIR" |
+mkdir "$RPM_SOURCE_DIR" |
+mkdir "$RPM_BUILD_DIR" |
+ |
+cp "$archive" "$RPM_SOURCE_DIR" |
+ |
+# rpmbuild -- as far as I can tell -- asks the OS what CPU it has. |
+# This may differ from what kind of binaries gcc produces. dpkg |
+# does a better job of this, so if we can run 'dpkg --print-architecture' |
+# to get the build CPU, we use that in preference of the rpmbuild |
+# default. |
+target=`dpkg --print-architecture 2>/dev/null || echo ""` |
+if [ -n "$target" ] |
+then |
+ target=" --target $target" |
+fi |
+ |
+rpmbuild -bb rpm/rpm.spec $target \ |
+ --define "NAME $PACKAGE" \ |
+ --define "VERSION $VERSION" \ |
+ --define "_sourcedir $RPM_SOURCE_DIR" \ |
+ --define "_builddir $RPM_BUILD_DIR" \ |
+ --define "_rpmdir $RPM_SOURCE_DIR" |
+ |
+# We put the output in a directory based on what system we've built for |
+destdir=rpm-unknown |
+if [ -r /etc/issue ] |
+then |
+ grep "Red Hat.*release 7" /etc/issue >/dev/null 2>&1 && destdir=rh7 |
+ grep "Red Hat.*release 8" /etc/issue >/dev/null 2>&1 && destdir=rh8 |
+ grep "Red Hat.*release 9" /etc/issue >/dev/null 2>&1 && destdir=rh9 |
+ grep "Fedora Core.*release 1" /etc/issue >/dev/null 2>&1 && destdir=fc1 |
+ grep "Fedora Core.*release 2" /etc/issue >/dev/null 2>&1 && destdir=fc2 |
+ grep "Fedora Core.*release 3" /etc/issue >/dev/null 2>&1 && destdir=fc3 |
+fi |
+ |
+rm -rf "$destdir" |
+mkdir -p "$destdir" |
+# We want to get not only the main package but devel etc, hence the middle * |
+mv "$RPM_SOURCE_DIR"/*/"${PACKAGE}"-*"${VERSION}"*.rpm "$destdir" |
+ |
+echo |
+echo "The rpm package file(s) are located in $PWD/$destdir" |