On Tuesday 17 February 2009 22:16:59 MasterPatricko wrote:
Michal Marek wrote:
Michal Marek napsal(a):
Christof Hanke napsal(a):
due to my lazyness, I didn't read the instructions for KMP-packages and fdupes correctly. When I used the respective macros %fdupes and %suse_kernel_module_package I got really weird errors (e.g. 'fg no job control' for %fdupes), because the corresponding BuildRequires was not in place. Is it possible to integrate the suse-macros into the Expansion-check so that the real error is made more obvious ?
I fear it's hard to do it correctly. E.g. does this snippet require fdupes.rpm or not?
...
That said, a cool feature would be a script that takes the failed build log and tries to gues what went wrong, e.g. /fg: no job control/ => undefined macro. But not "I refuse to build your package because I think you are using undefined macros" :-).
Michal
Sorry for the delay....
Maybe im just being obvious, but generally when I am writing a spec file I check for the existence of any custom/distro macros before using them, makes porting them easier. True, but it's not always that the macros don't exist... for fdupes you are right, but %suse_kernel_module_package just throws "internal kmp-error" IIRC if the BuildRequires does not include the corresponding packages.
The way to avoid undefined macros killing the build is to call them with substitution, e.g. %{?fdupes} evaluates to "" (nothing) if fdupes is not defined and "%{fdupes}" if it is, etc.
Thanks, I'll do it like this. In that way, I only need one %if for the Buildrequires for the enterprise versions.
You can even do if-then e.g. %{?suse_version:%fdupes} (if suse_version is defined then run fdupes otherwise nothing).
That doesn't work, because fdupes is not in SLES_9 nor in SLE_10. Regards, Christof -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org