Discussion:
trying to put "--define 'macro value'" in a variable
Brian J. Murrell
2008-04-01 21:56:28 UTC
Permalink
This is not making any sense to me. Please observe:

$ rpmbuild --version
RPM version 4.4.1
$ RPMBUILD_ARGS="--nodeps"
$ set -x
$ RPMBUILD_DEFINES="--define '_buildshell /bin/bash'"
+ RPMBUILD_DEFINES='--define '\''_buildshell /bin/bash'\'''
$ rpmbuild $RPMBUILD_ARGS --rebuild SRPMS/opensm-3.1.10-1.ofed1.3.src.rpm $RPMBUILD_DEFINES
+ rpmbuild --nodeps --rebuild SRPMS/opensm-3.1.10-1.ofed1.3.src.rpm --define ''\''_buildshell' '/bin/bash'\'''
error: Macro % has illegal name (%define)
error: Macro % has illegal name (%define)
...
$ rpmbuild $RPMBUILD_ARGS --rebuild SRPMS/opensm-3.1.10-1.ofed1.3.src.rpm --define '_buildshell /bin/bash'
+ rpmbuild --nodeps --rebuild SRPMS/opensm-3.1.10-1.ofed1.3.src.rpm --define '_buildshell /bin/bash'
[ no Macro errors ]

I can't see why putting the "--define 'macro value'" in a shell variable
and substituting it onto the rpmbuild command line is having the ill
effects that it is.

Anyone got any ideas before I start digging into rpmb and popt any
deeper?

Thanx,
b.
Jos Vos
2008-04-01 22:03:20 UTC
Permalink
Post by Brian J. Murrell
I can't see why putting the "--define 'macro value'" in a shell variable
and substituting it onto the rpmbuild command line is having the ill
effects that it is.
Anyone got any ideas before I start digging into rpmb and popt any
deeper?
Why don't you put macros in ~/.rpmmacros to avoid ugly shell variable
escape issues? In my build environments, I usally create a tmpdir
with .rpmmacros and set $HOME accordingly (per build, if necessary).
--
-- Jos Vos <***@xos.nl>
-- X/OS Experts in Open Systems BV | Phone: +31 20 6938364
-- Amsterdam, The Netherlands | Fax: +31 20 6948204
Loading...