#!/bin/bash # Autobuild doesn't support package names with macros. This script will update versions in package names. ORIG_SPEC=${2%-mono} ORIG_SPEC=${ORIG_SPEC%-qt4} # Never update -mono file when it is already opened. It will break advanced build scripts: if test "$2" != "$ORIG_SPEC" ; then exit fi if ! test -f $1/$ORIG_SPEC.spec ; then exit fi for PKGNAME in avahi-client avahi-common avahi-core avahi-ui avahi-glib avahi-gobject avahi-qt4 ; do # Packages with name ending by number needs separator if test x`echo $PKGNAME | sed "s/.*[0-9]$//"` = x ; then SEPARATOR=- else SEPARATOR= fi sed -i " 1,/%changelog/ { # Copy ${PKGNAME//-/_}_soname to hold space /^%define ${PKGNAME//-/_}_soname / { h; s/^%define ${PKGNAME//-/_}_soname //; x; }; # Update ${PKGNAME}_soname everywhere /$PKGNAME$SEPARATOR[0-9][0-9]*\([[:space:]].*\|\)\$/ { G; s/$PKGNAME$SEPARATOR[0-9][0-9]*\([[:space:]].*\|\)\n\(.*\)/$PKGNAME$SEPARATOR\2\1/; }; };" $1/$ORIG_SPEC.spec done # Edit file to fit -mono build needs: sed ' s/spec file for package avahi/spec file for package avahi-mono/; s/build_core\ 1/build_core 0/; s/build_mono\ 0/build_mono 1/; s/^.ame:.*/&-mono/; # No more needed. #s/^..hangelog.*/& mono/; /^# WARNING: After editing/,/^# to update spec files/d /^%define[[:space:]]*_name/i \ # Do not edit this auto generated file! Edit avahi.spec. ' <$1/$ORIG_SPEC.spec >$1/$ORIG_SPEC-mono.spec.new perl $1/update_spec.pl $1/$ORIG_SPEC-mono.spec.new attributes > $1/$ORIG_SPEC-mono.spec rm $1/$ORIG_SPEC-mono.spec.new # Edit file to fit -glib2 build needs: sed ' s/spec file for package avahi/spec file for package avahi-glib2/; s/build_core\ 1/build_core 0/; s/build_glib2\ 0/build_glib2 1/; s/^.ame:.*/&-glib2/; # No more needed. #s/^..hangelog.*/& qt/; /^# WARNING: After editing/,/^# to update spec files/d /^%define[[:space:]]*_name/i \ # Do not edit this auto generated file! Edit avahi.spec. ' <$1/$ORIG_SPEC.spec >$1/$ORIG_SPEC-glib2.spec.new perl $1/update_spec.pl $1/$ORIG_SPEC-glib2.spec.new attributes > $1/$ORIG_SPEC-glib2.spec rm $1/$ORIG_SPEC-glib2.spec.new # Edit file to fit -qt4 build needs: sed ' s/spec file for package avahi/spec file for package avahi-qt4/; s/build_core\ 1/build_core 0/; s/build_qt4\ 0/build_qt4 1/; s/^.ame:.*/&-qt4/; # No more needed. #s/^..hangelog.*/& qt/; /^# WARNING: After editing/,/^# to update spec files/d /^%define[[:space:]]*_name/i \ # Do not edit this auto generated file! Edit avahi.spec. ' <$1/$ORIG_SPEC.spec >$1/$ORIG_SPEC-qt4.spec.new perl $1/update_spec.pl $1/$ORIG_SPEC-qt4.spec.new attributes > $1/$ORIG_SPEC-qt4.spec rm $1/$ORIG_SPEC-qt4.spec.new # Not wanted for avahi: #cp -a $1/$ORIG_SPEC.changes $1/$ORIG_SPEC-glib2.changes #cp -a $1/$ORIG_SPEC.changes $1/$ORIG_SPEC-mono.changes #cp -a $1/$ORIG_SPEC.changes $1/$ORIG_SPEC-qt.changes