#!/bin/sh -e tmpd=$(mktemp -d /tmp/${0##*/}.XXXXXX) trap "rm -Rf ${tmpd}" EXIT #tmpd=/tmp/my.dir #rm -Rf ${tmpd} && mkdir -p ${tmpd} mkdir -p ${tmpd}/SPECS ${tmpd}/SOURCES ${tmpd}/BUILD echo "hello" > ${tmpd}/SOURCES/mysource.txt cat > ${tmpd}/SPECS/my.spec <<"EOF" %define my_var "123" Summary: A Term-ReadLine-Gnu access API for perl from CPAN Version: 1.11 Release: 1.0 Name: mypackage Group: Development/Libraries License: Public Source0: mysource.txt %description This is my package %prep echo "my_var[prep]=%{my_var}" %define my_var "456" %build echo "my_var[build]=%{my_var}" exit 1 %install %files -f file.list %defattr(-,root,root) EOF echo rpmbuild --define "_topdir ${tmpd}" -bb "${tmpd}/SPECS/my.spec" rpmbuild --quiet --define "_topdir ${tmpd}" -bb "${tmpd}/SPECS/my.spec"