On Fri, Jan 05, 2024 at 02:18:08 -0800, Andrea Bolognani wrote: > On Fri, Jan 05, 2024 at 10:53:10AM +0100, Peter Krempa wrote: > > - mingw builds for some unkonwn-to-me reason use > > '--auto-features=enabled' which is weird > > - the logic handling errors in use of the 'nbdkit_config_default' meson > > option is a bit questionable: > > > > --auto-features=enabled -Dnbdkit=disabled -Dnbdkit_config_default=auto > > > > should NOT result in a failure even when the basic logic says so > > > > My patch is strictly fixing the build failure by explicitly disabling > > nbdkit_config_default on mingw and enabling 'nbdkit' only on rhel>=9. > > > > You can investigate how to improve the questionable logic in > > auto-selection of nbdkit_config_default. > > In the long run, the logic should probably just be "if > nbdkit_config_default is auto, then use the same value as nbdkit". > Right now of course that can't work because we want to keep the > former disabled by default. > > The question is, when auto-features=enabled is used, can you really > implement something reasonable? In other words, can you tell > > --auto-features=enabled -Dnbdkit_config_default=auto > > and > > -Dnbdkit_config_default=enabled > > apart? If that's not the case, auto-features=enabled seems pretty > much completely broken. > > Explicitly setting -Dnbdkit_config_default=disabled in the mingw part > of the spec file was the right thing to do anyway, it was just > unfortunately missed. Thankfully, now that we do mingw RPM builds as > part of the CI pipeline, it was caught reasonably early :) A brief look into meson docs and a few tries seem to confirm your suspicion that auto-features=enabled is an anti-feature. If you declare an option as a 'feature' in meson_options.txt (a config file with .txt siuffix?!?!?) then internally it's a UserFeatureOption object and you have the .enabled(), .disabled(). and .auto() methods at your disposal, but they operate on the final value after 'auto-features' was applied to any 'auto' setting. Even newer methods such as '.disable_auto_if()' seem to apply only when the final setting is auto, so auto-features=enabled breaks it. IMO auto-features=enabled shouldn't be used and definitely not in our spec file. I can see value in auto-features=disabled though, which IMO should be preferable also in spec files. _______________________________________________ Devel mailing list -- devel@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx