The Samba-Bugzilla – Bug 8576
Feature request: option for WAF to ignore unknown options
Last modified: 2012-05-04 08:32:19 UTC
Some build systems (such as Fedora) specifies certain configure arguments that WAF does not understand (e.g. --disable-silent-rules). As a result, the configure script (and subsequent build) fails.
WAF should just ignore unknown configure flags instead of treating them as a failure.
I think it's on advantage that waf doesn't ignore unknown options.
You can filter the option in the spec file.
(In reply to comment #1)
> I think it's on advantage that waf doesn't ignore unknown options.
> You can filter the option in the spec file.
It's extremely non-trivial to filter it out in the spec file. The packaging guidelines for Fedora require using the %configure macro because it makes it possible for the default configure options to be changed/fixed with a trivial rebuild, rather than requiring packager intervention (if for a contrived example the decision was made to change to using /usr/local as a prefix or something).
For what it's worth, I think the addition of this autotools-specific option was a mistake and I have https://bugzilla.redhat.com/show_bug.cgi?id=744766 open to address it.
However, I think this is likely to be an issue for other packagers in the future as well. At minimum, please allow an extra tolerance flag like (--ignore-unknown) to be passed.
adding a --ignore-unknown sounds useful, do you want to provide a patch?
(In reply to comment #3)
> adding a --ignore-unknown sounds useful, do you want to provide a patch?
I took a look at the WAF upstream sources. I think that writing this patch is beyond my capabilities at this time. Here's what I learned, though: WAF uses python's optparse library to split the command-line into two categories: options and commands. So all recognized options become 'option' objects, and the remains are passed to WAF as commands (in the same way that 'configure' and 'build' are commands; perhaps 'targets' would be a better term).
So I think what would need to be done is adding a new default option --ignore-unknown that would set a global variable that would result in unknown options that cannot be executed as commands to be reported as warnings and ignored, rather than errors aborting the configuration.
Stephen Gallagher: such an abomination will not go in Waf. But feel free to hack the optparse module for Fedora.
ita. Fedora and Red Hat are essential partners to the Samba project. We need to make our build system work for them in order to be useful at all.
Stephen, would a wrapper that can strip out unknown options before they get passed to waf help here ?
Is this really a release blocker?
(In reply to comment #7)
> Is this really a release blocker?
I'd say no. The original issue that spawned this was that the Fedora and RHEL build-systems changed their "configure" macro to include "--disable-silent-rules", which WAF did not support. We have subsequently worked around the problem by adding --disable-silent-rules as a do-nothing option in WAF.
Thanks, Stephen. I guess you guys are still interested in adding this in case there are other options specified in the future, but I'll reduce the importance.
This is more like a feature request, than a bug.