#!/bin/sh if [ "$#" -eq 0 ] ; then echo "Usage: $0 [gem2 gem3 ...]" exit 1 fi GEMS="$*" if ! gem list --local | grep -q gem2rpm ; then echo "You need to install gem2rpm; run 'gem install gem2rpm'" exit 1 fi tmp=$(mktemp -d) RPM_TOPDIR="$tmp" export RPM_TOPDIR pushd $tmp mkdir -p SOURCES SPECS BUILD SRPMS RPMS for gem in $GEMS; do (cd SOURCES; gem fetch $gem) 2>&1 | grep '^ERROR: ' && exit 1 set -e spec="SPECS/rubygem-$gem.spec" gem2rpm SOURCES/$gem*.gem > $spec # concatonate line continuations for easier substituting. sed -i -ne '/\\$/N; /\\$/! { s/\\\n//g; p; }' $spec # Hacks to handle CentOS gem builds go here. case $gem in mysql) sed -i -e 's@^gem install.*@& -- --with-mysql-lib=/usr/lib64/mysql --with-mysql-include=/usr/include/mysql@' $spec ;; stompserver) sed -i -e 's@^URL: .*@URL: http://stompserver.rubyforge.org/@' $spec ;; esac rpmbuild -ba $spec --buildroot $PWD/BUILD-$gem --define "_topdir $tmp" $spec done popd find $tmp -name '*.rpm' -print0 | xargs -0 -n1 sh -c 'cp -v $1 .' - rm -r "$tmp"