|
Packit |
18d29c |
#!/bin/sh -e
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
# Run this from the 'packages' directory, just under rootdir
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
# We can only build rpm packages, if the rpm build tools are installed
|
|
Packit |
18d29c |
if [ \! -x /usr/bin/rpmbuild ]
|
|
Packit |
18d29c |
then
|
|
Packit |
18d29c |
echo "Cannot find /usr/bin/rpmbuild. Not building an rpm." 1>&2
|
|
Packit |
18d29c |
exit 0
|
|
Packit |
18d29c |
fi
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
# Check the commandline flags
|
|
Packit |
18d29c |
PACKAGE="$1"
|
|
Packit |
18d29c |
VERSION="$2"
|
|
Packit |
18d29c |
fullname="${PACKAGE}-${VERSION}"
|
|
Packit |
18d29c |
archive=../$fullname.tar.gz
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
if [ -z "$1" -o -z "$2" ]
|
|
Packit |
18d29c |
then
|
|
Packit |
18d29c |
echo "Usage: $0 <package name> <package version>" 1>&2
|
|
Packit |
18d29c |
exit 0
|
|
Packit |
18d29c |
fi
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
# Double-check we're in the packages directory, just under rootdir
|
|
Packit |
18d29c |
if [ \! -r ../Makefile -a \! -r ../INSTALL ]
|
|
Packit |
18d29c |
then
|
|
Packit |
18d29c |
echo "Must run $0 in the 'packages' directory, under the root directory." 1>&2
|
|
Packit |
18d29c |
echo "Also, you must run \"make dist\" before running this script." 1>&2
|
|
Packit |
18d29c |
exit 0
|
|
Packit |
18d29c |
fi
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
if [ \! -r "$archive" ]
|
|
Packit |
18d29c |
then
|
|
Packit |
18d29c |
echo "Cannot find $archive. Run \"make dist\" first." 1>&2
|
|
Packit |
18d29c |
exit 0
|
|
Packit |
18d29c |
fi
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
# Create the directory where the input lives, and where the output should live
|
|
Packit |
18d29c |
RPM_SOURCE_DIR="/tmp/rpmsource-$fullname"
|
|
Packit |
18d29c |
RPM_BUILD_DIR="/tmp/rpmbuild-$fullname"
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
trap 'rm -rf $RPM_SOURCE_DIR $RPM_BUILD_DIR; exit $?' EXIT SIGHUP SIGINT SIGTERM
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
rm -rf "$RPM_SOURCE_DIR" "$RPM_BUILD_DIR"
|
|
Packit |
18d29c |
mkdir "$RPM_SOURCE_DIR"
|
|
Packit |
18d29c |
mkdir "$RPM_BUILD_DIR"
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
cp "$archive" "$RPM_SOURCE_DIR"/v"$VERSION".tar.gz
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
rpmbuild -bb rpm/rpm.spec \
|
|
Packit |
18d29c |
--define "NAME $PACKAGE" \
|
|
Packit |
18d29c |
--define "VERSION $VERSION" \
|
|
Packit |
18d29c |
--define "_sourcedir $RPM_SOURCE_DIR" \
|
|
Packit |
18d29c |
--define "_builddir $RPM_BUILD_DIR" \
|
|
Packit |
18d29c |
--define "_rpmdir $RPM_SOURCE_DIR"
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
# We put the output in a directory based on what system we've built for
|
|
Packit |
18d29c |
destdir=rpm-unknown
|
|
Packit |
18d29c |
if [ -r /etc/issue ]
|
|
Packit |
18d29c |
then
|
|
Packit |
18d29c |
grep "Red Hat.*release 7" /etc/issue >/dev/null 2>&1 && destdir=rh7
|
|
Packit |
18d29c |
grep "Red Hat.*release 8" /etc/issue >/dev/null 2>&1 && destdir=rh8
|
|
Packit |
18d29c |
grep "Red Hat.*release 9" /etc/issue >/dev/null 2>&1 && destdir=rh9
|
|
Packit |
18d29c |
if grep Fedora /etc/issue >/dev/null; then
|
|
Packit |
18d29c |
destdir=fc`grep Fedora /etc/issue | cut -d' ' -f 4`;
|
|
Packit |
18d29c |
fi
|
|
Packit |
18d29c |
fi
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
rm -rf "$destdir"
|
|
Packit |
18d29c |
mkdir -p "$destdir"
|
|
Packit |
18d29c |
# We want to get not only the main package but devel etc, hence the middle *
|
|
Packit |
18d29c |
mv "$RPM_SOURCE_DIR"/*/"${PACKAGE}"-*"${VERSION}"*.rpm "$destdir"
|
|
Packit |
18d29c |
|
|
Packit |
18d29c |
echo
|
|
Packit |
18d29c |
echo "The rpm package file(s) are located in $PWD/$destdir"
|