Author: glen Date: Sun Jun 28 16:59:30 2009 GMT Module: packages Tag: HEAD ---- Log message: - update r1.38
---- Files affected: packages/rpm-build-tools: adapter.sh (1.4 -> 1.5) ---- Diffs: ================================================================ Index: packages/rpm-build-tools/adapter.sh diff -u packages/rpm-build-tools/adapter.sh:1.4 packages/rpm-build-tools/adapter.sh:1.5 --- packages/rpm-build-tools/adapter.sh:1.4 Wed Sep 24 16:56:03 2008 +++ packages/rpm-build-tools/adapter.sh Sun Jun 28 18:59:25 2009 @@ -1,8 +1,5 @@ #!/bin/sh # -# This is adapter v0.30-RELEASE. Adapter adapts .spec files for PLD Linux. -# -# Copyright (C) 1999-2008 PLD Team <[email protected]> # Authors: # MichaĆ Kuratczyk <[email protected]> # Sebastian Zagrodzki <[email protected]> @@ -15,9 +12,18 @@ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -self=$(basename "$0") -adapter=$(dirname "$0")/adapter.awk -usage="Usage: $self [FLAGS] SPECFILE +RCSID='$Id$' +r=${RCSID#* * } +rev=${r%% *} +VERSION="v0.31/$rev" +VERSIONSTRING="\ +Adapter adapts .spec files for PLD Linux. +$VERSION (C) 1999-2009 Free Penguins". + +PROGRAM=${0##*/} +dir=$(d=$0; [ -L "$d" ] && d=$(readlink "$d"); dirname "$d") +adapter=$dir/adapter.awk +usage="Usage: $PROGRAM [FLAGS] SPECFILE -s|--no-sort|--skip-sort skip BuildRequires, Requires sorting @@ -27,20 +33,21 @@ skip desc wrapping -a|--skip-defattr skip %defattr corrections - +-o + do not do any diffing, just dump the output " if [ ! -x /usr/bin/getopt ]; then - echo >&1 "You need to install util-linux to use adapter" + echo >&2 "You need to install util-linux to use adapter" exit 1 fi if [ ! -x /usr/bin/patch ]; then - echo >&1 "You need to install patch to use adapter" + echo >&2 "You need to install patch to use adapter" exit 1 fi -t=`getopt -o hsmda --long help,sort,sort-br,no-macros,skip-macros,skip-desc,skip-defattr -n "$self" -- "$@"` || exit $? +t=$(getopt -o hsomdaV --long help,version,sort,sort-br,no-macros,skip-macros,skip-desc,skip-defattr -n "$PROGRAM" -- "$@") || exit $? eval set -- "$t" while true; do @@ -61,12 +68,19 @@ -a|--skip-defattr) export SKIP_DEFATTR=1 ;; + -V|--version) + echo "$VERSIONSTRING" + exit 0 + ;; + -o) + outputonly=1 + ;; --) shift break ;; *) - echo 2>&1 "$self: Internal error: [$1] not recognized!" + echo >&2 "$PROGRAM: Internal error: \`$1' not recognized!" exit 1 ;; esac @@ -130,20 +144,82 @@ ' "$@" } -adapterize() -{ - local tmpdir - tmpdir=$(mktemp -d ${TMPDIR:-/tmp}/adapter-XXXXXX) || exit - if grep -q '\.UTF-8' $SPECFILE; then - awk=gawk - else - awk=awk - fi +# import selected macros for adapter.awk +# you should update the list also in adapter.awk when making changes here +import_rpm_macros() { + macros=" + _topdir + _prefix + _bindir + _sbindir + _libdir + _sysconfdir + _datadir + _includedir + _mandir + _infodir + _examplesdir + _defaultdocdir + _kdedocdir + _gtkdocdir + _desktopdir + _pixmapsdir + _javadir + + perl_sitearch + perl_archlib + perl_privlib + perl_vendorlib + perl_vendorarch + perl_sitelib + + py_sitescriptdir + py_sitedir + py_scriptdir + py_ver + + ruby_archdir + ruby_ridir + ruby_rubylibdir + ruby_sitearchdir + ruby_sitelibdir + ruby_rdocdir + + php_pear_dir + php_data_dir + tmpdir +" + eval_expr="" + for macro in $macros; do + eval_expr="$eval_expr\nexport $macro='%{$macro}'" + done + + + # get cvsaddress for changelog section + # using rpm macros as too lazy to add ~/.adapterrc parsing support. + eval_expr="$eval_expr + export _cvsmaildomain='%{?_cvsmaildomain}%{!?_cvsmaildomain:@pld-linux.org}' + export _cvsmailfeedback='%{?_cvsmailfeedback}%{!?_cvsmailfeedback:PLD Team <[email protected]>}' + " + + eval $(rpm --eval "$(echo -e $eval_expr)") +} + +adapterize() { + local workdir + workdir=$(mktemp -d ${TMPDIR:-/tmp}/adapter-XXXXXX) || exit + awk=gawk + + local tmp=$workdir/$(basename $SPECFILE) || exit + + import_rpm_macros + + LC_ALL=en_US.UTF-8 $awk -f $adapter $SPECFILE > $tmp || exit - local tmp=$tmpdir/$(basename $SPECFILE) || exit - $awk -f $adapter $SPECFILE > $tmp || exit + if [ "$outputonly" = 1 ]; then + cat $tmp - if [ "$(diff --brief $SPECFILE $tmp)" ]; then + elif [ "$(diff --brief $SPECFILE $tmp)" ]; then diff -u $SPECFILE $tmp > $tmp.diff if [ -t 1 ]; then diffcol $tmp.diff | less -r @@ -186,7 +262,7 @@ echo "The SPEC is perfect ;)" fi - rm -rf $tmpdir + rm -rf $workdir } SPECFILE="$1" ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/rpm-build-tools/adapter.sh?r1=1.4&r2=1.5&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
