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