On Dec 31, 2007, at 8:55 AM, Ralf S. Engelschall wrote:
>
>
> I think you did the wrong change here, Jeff. You now removed just the
> hack which has broken --define, but --predefine is still in the
> code (a
> few lines above). For "ripping --predefine entirely" you also have to
> remove the remaining POPT_PREDEFINE stuff...
>
Yep. The hack that you found is a hack to the --predfine hack which
was a hack to macros which were a hack to rpmrc and so it goes.
I'll put --predefine on death row, and rework immediately after rpm-5.0.
(I'm a bit loathe to mess with initialization atm -- if I miss,
everything will break).
Note this section just below however:
/*@-type@*/
/* XXX adding macro to global context isn't Right Thing
Todo. */
(void) rpmDefineMacro(NULL, t, RMIL_CMDLINE);
(void) rpmDefineMacro(rpmCLIMacroContext, t, RMIL_CMDLINE);
/*@=type@*/
The CLI macro context is layered over the global macro context later.
Which means that there is one additional element in the stack
under certain conditions, which will break %{@foo} spew.
73 de Jeff
Received on Mon Dec 31 15:11:09 2007