X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=repackage.sh;h=96a4fd9a210331cd15910eb948d5ee0b35a28257;hb=3e5d0ee427278c4c7de0bb065ccddaa3f676ec5a;hp=07a3faec0e5cc5db1c4b8ca3a707de2c1aa296aa;hpb=13fccae7b0757dab5249928dac84df20b9552765;p=packages%2Frpm-build-tools.git diff --git a/repackage.sh b/repackage.sh old mode 100644 new mode 100755 index 07a3fae..96a4fd9 --- a/repackage.sh +++ b/repackage.sh @@ -19,6 +19,27 @@ set -e +skip_dep_generators() { + local dep + for dep in \ + font \ + gstreamer \ + java \ + kernel \ + libtool \ + mimetype \ + mono \ + perl \ + php \ + pkgconfig \ + python \ + ruby \ + ; do + printf "--define __%s_provides%%{nil}\n" $dep + printf "--define __%s_requires%%{nil}\n" $dep + done +} + rpmbuild() { # preprocess args, we must have --target as first arg to rpmbuild # we need to grab also dir where spec resides @@ -60,6 +81,9 @@ rpmbuild() { --define '_binary_payload w5.gzdio' \ --define '__spec_install_pre %___build_pre' \ --define '__spec_clean_body %{nil}' \ + --define '_enable_debug_packages 0' \ + ${bb+$(skip_dep_generators)} \ + ${bb+--define '%py_postclean(-x:) %{nil}'} \ $a || exit } @@ -87,13 +111,30 @@ specdump() { eval rpm-specdump $a || echo >&2 $? } +if [ $# = 0 ]; then + # if no spec name passed, glob *.spec + set -- *.spec + if [ ! -f "$1" -o $# -gt 1 ]; then + echo >&2 "ERROR: Too many or too few .spec files found" + echo >&2 "Usage: ${0##*/} PACKAGE.spec" + exit 1 + fi +else + # $1 must be spec, ensure it has .spec ext + spec=$1; shift + set -- ${spec%.spec}.spec "$@" +fi + tmp=$(specdump "$@" | awk '$2 == "_target_cpu" {print $3}') if [ "$tmp" ]; then TARGET="$tmp" fi -# just create the rpm's if -bb is somewhere in the args -if [[ *$@* != *-bb* ]]; then - rpmbuild -bi "$@" +# skip -bi if -bb is somewhere in the args +if [[ *$@* = *-bb* ]]; then + bb= +else + bb= rpmbuild -bi "$@" + unset bb fi rpmbuild -bb "$@"