#!/bin/sh set -e LOG=`pwd`/rpm.log >$LOG . ./packaging/config.sh # Create unix layout in RPM BUILD directory DST_DIR=$RPM_DIR/eiffelstudio #. ./make_unix_layout # Determine architecture case "x$ISE_PLATFORM" in "xlinux-x86") ARCH=i386;; "xlinux-x86-64") ARCH=x86_64;; "xlinux-ppc") ARCH=ppc;; *) echo "No architecture mapping for ISE_PLATFORM=$ISE_PLATFORM"; exit 1;; esac # Set up rpmbuild cmd echo $ARCH exit; RPM_CMD="rpmbuild -bb --target $ARCH" if which gpg > /dev/null; then if gpg --list-secret-keys | grep $KEY > /dev/null; then RPM_CMD="echo \"$PASS_PHRASE\" | setsid $RPM_CMD --sign --define '_gpg_name $KEY'" fi fi # Prepare spec files . $RPM_DIR/eiffelstudio.spec.sh mkdir -p $RPM_DIR/eiffelstudio/usr/share/doc/$PRODUCT cp $PACKAGING_DIR/license $RPM_DIR/eiffelstudio/usr/share/doc/$PRODUCT/LICENSE # If we have a $DOCS_DIR move it to a seperate # directory and build noarch doc package if test -d $RPM_DIR/eiffelstudio$DOCS_DIR; then . $RPM_DIR/eiffelstudio-doc.spec.sh mkdir -p $RPM_DIR/eiffelstudio-doc$DOCS_DIR mv $RPM_DIR/eiffelstudio$DOCS_DIR/* $RPM_DIR/eiffelstudio-doc$DOCS_DIR rm -r $RPM_DIR/eiffelstudio$DOCS_DIR echo "Building RPM package for $PRODUCT-doc" eval "$RPM_CMD $RPM_DIR/eiffelstudio-doc.spec >>$LOG 2>>$LOG" # Clean up documentation specific build files rm $RPM_DIR/eiffelstudio-doc.spec rm -r $RPM_DIR/eiffelstudio-doc else echo "No $RPM_DIR/eiffelstudio$DOCS_DIR, $PRODUCT-doc package will not be created" fi # Build main package echo "Building RPM package for $PRODUCT" eval "$RPM_CMD $RPM_DIR/eiffelstudio.spec >>$LOG 2>>$LOG" # Move all generated .rpm files to current directory find $RPM_DIR/RPMS -type f | xargs mv -t ./ # Clean up RPM directory rm $RPM_DIR/eiffelstudio.spec rm -r $RPM_DIR/eiffelstudio rm -r $RPM_DIR/tmp find $RPM_DIR/RPMS/* -type d | xargs rm -rf