1bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson#!/bin/sh -e 2bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 3bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson# Run this from the 'packages' directory, just under rootdir 4bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 5bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson# We can only build rpm packages, if the rpm build tools are installed 6bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonif [ \! -x /usr/bin/rpmbuild ] 7bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonthen 8bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson echo "Cannot find /usr/bin/rpmbuild. Not building an rpm." 1>&2 9bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson exit 0 10bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonfi 11bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 12bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson# Check the commandline flags 13bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee WilsonPACKAGE="$1" 14bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee WilsonVERSION="$2" 15bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonfullname="${PACKAGE}-${VERSION}" 16bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonarchive=../$fullname.tar.gz 17bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 18bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonif [ -z "$1" -o -z "$2" ] 19bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonthen 20bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson echo "Usage: $0 <package name> <package version>" 1>&2 21bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson exit 0 22bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonfi 23bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 24bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson# Double-check we're in the packages directory, just under rootdir 25bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonif [ \! -r ../Makefile -a \! -r ../INSTALL ] 26bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonthen 27bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson echo "Must run $0 in the 'packages' directory, under the root directory." 1>&2 28bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson echo "Also, you must run \"make dist\" before running this script." 1>&2 29bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson exit 0 30bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonfi 31bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 32bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonif [ \! -r "$archive" ] 33bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonthen 34bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson echo "Cannot find $archive. Run \"make dist\" first." 1>&2 35bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson exit 0 36bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonfi 37bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 38bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson# Create the directory where the input lives, and where the output should live 39bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee WilsonRPM_SOURCE_DIR="/tmp/rpmsource-$fullname" 40bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee WilsonRPM_BUILD_DIR="/tmp/rpmbuild-$fullname" 41bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 42bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsontrap 'rm -rf $RPM_SOURCE_DIR $RPM_BUILD_DIR; exit $?' EXIT SIGHUP SIGINT SIGTERM 43bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 44bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonrm -rf "$RPM_SOURCE_DIR" "$RPM_BUILD_DIR" 45bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonmkdir "$RPM_SOURCE_DIR" 46bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonmkdir "$RPM_BUILD_DIR" 47bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 48bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsoncp "$archive" "$RPM_SOURCE_DIR" 49bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 50bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonrpmbuild -bb rpm/rpm.spec \ 51bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson --define "NAME $PACKAGE" \ 52bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson --define "VERSION $VERSION" \ 53bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson --define "_sourcedir $RPM_SOURCE_DIR" \ 54bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson --define "_builddir $RPM_BUILD_DIR" \ 55bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson --define "_rpmdir $RPM_SOURCE_DIR" 56bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 57bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson# We put the output in a directory based on what system we've built for 58bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsondestdir=rpm-unknown 59bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonif [ -r /etc/issue ] 60bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonthen 61bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson grep "Red Hat.*release 7" /etc/issue >/dev/null 2>&1 && destdir=rh7 62bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson grep "Red Hat.*release 8" /etc/issue >/dev/null 2>&1 && destdir=rh8 63bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson grep "Red Hat.*release 9" /etc/issue >/dev/null 2>&1 && destdir=rh9 64bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson if grep Fedora /etc/issue >/dev/null; then 65bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson destdir=fc`grep Fedora /etc/issue | cut -d' ' -f 4`; 66bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson fi 67bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonfi 68bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 69bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonrm -rf "$destdir" 70bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonmkdir -p "$destdir" 71bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson# We want to get not only the main package but devel etc, hence the middle * 72bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonmv "$RPM_SOURCE_DIR"/*/"${PACKAGE}"-*"${VERSION}"*.rpm "$destdir" 73bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 74bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonecho 75bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilsonecho "The rpm package file(s) are located in $PWD/$destdir" 76