1311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff#!/bin/sh -e 264fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# Copyright 2005 Google Inc. 364fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# Author: Craig Silverstein 464fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# 564fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# Licensed under the Apache License, Version 2.0 (the "License"); 664fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# you may not use this file except in compliance with the License. 764fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# You may obtain a copy of the License at 864fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# 964fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# http://www.apache.org/licenses/LICENSE-2.0 1064fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# 1164fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# Unless required by applicable law or agreed to in writing, software 1264fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# distributed under the License is distributed on an "AS IS" BASIS, 1364fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1464fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# See the License for the specific language governing permissions and 1564fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# limitations under the License. 1664fe2324403ea78dbd781073f4e5b34768676e2copenvcdiff@gmail.com# 17311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# Run this from the 'packages' directory, just under rootdir 18311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 19311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# We can only build rpm packages, if the rpm build tools are installed 20311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffif [ \! -x /usr/bin/rpmbuild ] 21311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffthen 22311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff echo "Cannot find /usr/bin/rpmbuild. Not building an rpm." 1>&2 23311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff exit 0 24311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifffi 25311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 26311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# Check the commandline flags 27311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffPACKAGE="$1" 28311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffVERSION="$2" 29311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifffullname="${PACKAGE}-${VERSION}" 30311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffarchive=../$fullname.tar.gz 31311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 32311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffif [ -z "$1" -o -z "$2" ] 33311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffthen 34311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff echo "Usage: $0 <package name> <package version>" 1>&2 35311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff exit 0 36311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifffi 37311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 38311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# Double-check we're in the packages directory, just under rootdir 39311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffif [ \! -r ../Makefile -a \! -r ../INSTALL ] 40311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffthen 41311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff echo "Must run $0 in the 'packages' directory, under the root directory." 1>&2 42311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff echo "Also, you must run \"make dist\" before running this script." 1>&2 43311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff exit 0 44311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifffi 45311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 46311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffif [ \! -r "$archive" ] 47311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffthen 48311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff echo "Cannot find $archive. Run \"make dist\" first." 1>&2 49311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff exit 0 50311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifffi 51311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 52311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# Create the directory where the input lives, and where the output should live 53311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffRPM_SOURCE_DIR="/tmp/rpmsource-$fullname" 54311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffRPM_BUILD_DIR="/tmp/rpmbuild-$fullname" 55311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 56311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifftrap 'rm -rf $RPM_SOURCE_DIR $RPM_BUILD_DIR; exit $?' EXIT SIGHUP SIGINT SIGTERM 57311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 58311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffrm -rf "$RPM_SOURCE_DIR" "$RPM_BUILD_DIR" 59311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffmkdir "$RPM_SOURCE_DIR" 60311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffmkdir "$RPM_BUILD_DIR" 61311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 62311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffcp "$archive" "$RPM_SOURCE_DIR" 63311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 64311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffrpmbuild -bb rpm/rpm.spec \ 65311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff --define "NAME $PACKAGE" \ 66311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff --define "VERSION $VERSION" \ 67311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff --define "_sourcedir $RPM_SOURCE_DIR" \ 68311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff --define "_builddir $RPM_BUILD_DIR" \ 69311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff --define "_rpmdir $RPM_SOURCE_DIR" 70311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 71311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# We put the output in a directory based on what system we've built for 72311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffdestdir=rpm-unknown 73311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffif [ -r /etc/issue ] 74311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffthen 75311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff grep "Red Hat.*release 7" /etc/issue >/dev/null 2>&1 && destdir=rh7 76311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff grep "Red Hat.*release 8" /etc/issue >/dev/null 2>&1 && destdir=rh8 77311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff grep "Red Hat.*release 9" /etc/issue >/dev/null 2>&1 && destdir=rh9 78311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff if grep Fedora /etc/issue >/dev/null; then 79311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff destdir=fc`grep Fedora /etc/issue | cut -d' ' -f 4`; 80311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff fi 81311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifffi 82311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 83311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffrm -rf "$destdir" 84311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffmkdir -p "$destdir" 85311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# We want to get not only the main package but devel etc, hence the middle * 86311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffmv "$RPM_SOURCE_DIR"/*/"${PACKAGE}"-*"${VERSION}"*.rpm "$destdir" 87311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff 88311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffecho 89311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffecho "The rpm package file(s) are located in $PWD/$destdir" 90