Bug 1168828 - kernel build; addon.config use causes error
kernel build; addon.config use causes error
Status: RESOLVED WORKSFORME
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Kernel
Current
All openSUSE Factory
: P5 - None : Normal (vote)
: ---
Assigned To: E-mail List
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-04-07 08:38 UTC by Jon Brightwell
Modified: 2020-04-07 10:31 UTC (History)
4 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Build log (57.69 KB, text/plain)
2020-04-07 08:38 UTC, Jon Brightwell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jon Brightwell 2020-04-07 08:38:49 UTC
Created attachment 835055 [details]
Build log

https://build.opensuse.org/package/live_build_log/home:moozaad:branches:openSUSE:Factory-lowlatency/kernel-default/standard/x86_64

There some info in the Readme.SUSE and I've added some basic config changes to addon.config but it's now causing an error in the build. It seems to be happy with the config changes but then errors after.


Changes after running `make oldconfig':
[   92s] +# CONFIG_CEC_GPIO is not set
[   92s] +# CONFIG_HZ_250 is not set
[   92s] +# CONFIG_PREEMPT_TRACER is not set
[   92s] +# CONFIG_PREEMPT_VOLUNTARY is not set
[   92s] -# CONFIG_SUSE_KERNEL_RELEASED is not set
[   92s] +CONFIG_DEBUG_PREEMPT=y
[   92s] -CONFIG_HZ_250=y
[   92s] -CONFIG_INLINE_READ_UNLOCK=y
[   92s] -CONFIG_INLINE_READ_UNLOCK_IRQ=y
[   92s] -CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
[   92s] -CONFIG_INLINE_WRITE_UNLOCK=y
[   92s] -CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
[   92s] +CONFIG_PREEMPTION=y
[   92s] +CONFIG_PREEMPT_COUNT=y
[   92s] -CONFIG_PREEMPT_VOLUNTARY=y
[   92s] +CONFIG_PREEMPT_RCU=y
[   92s] +CONFIG_TRACE_PREEMPT_TOGGLE=y
[   92s] +CONFIG_UNINLINE_SPIN_UNLOCK=y
[   92s] 
[   92s] error: Bad exit status from /var/tmp/rpm-tmp.h4b92k (%prep)
[   92s] 
[   92s] 
[   92s] RPM build errors:
[   92s]     line 153: It's not recommended to have unversioned Obsoletes: Obsoletes:      microcode_ctl
[   92s]     extra tokens at the end of %endif directive in line 1577:  %endif # %CONFIG_SUSE_KERNEL_SUPPORTED
[   92s] 
[   92s]     extra tokens at the end of %endif directive in line 1578:  %endif # %CONFIG_MODULES
[   92s] 
[   92s]     Bad exit status from /var/tmp/rpm-tmp.h4b92k (%prep)


Is the addon concept that was created 7(?) years ago, still a support approach?
Comment 1 Takashi Iwai 2020-04-07 09:32:35 UTC
The additional config mechanism should still work but admittedly very little tested.
Comment 2 Jiri Slaby 2020-04-07 09:42:59 UTC
It would be nice if you put the changed configs here:
CONFIG_PREEMPT=y
CONFIG_HZ_1000=y
CONFIG_HZ=1000

Overall, the concept still works.

You have to set the errored options to something. So put all of these in the addon and set them to =y or to is not set...
[   92s] +# CONFIG_CEC_GPIO is not set
[   92s] +# CONFIG_HZ_250 is not set
[   92s] +# CONFIG_PREEMPT_TRACER is not set
[   92s] +# CONFIG_PREEMPT_VOLUNTARY is not set
[   92s] +CONFIG_DEBUG_PREEMPT=y
[   92s] +CONFIG_PREEMPTION=y
[   92s] +CONFIG_PREEMPT_COUNT=y
[   92s] +CONFIG_PREEMPT_RCU=y
[   92s] +CONFIG_TRACE_PREEMPT_TOGGLE=y
[   92s] +CONFIG_UNINLINE_SPIN_UNLOCK=y
Comment 3 Jon Brightwell 2020-04-07 09:46:49 UTC
ok thanks, so anything that is implied needs to be explicit. Would it be possible for the merge script to handle that scenario or give a warning?
Comment 4 Jiri Slaby 2020-04-07 09:51:32 UTC
(In reply to Jon Brightwell from comment #3)
> ok thanks, so anything that is implied needs to be explicit. Would it be
> possible for the merge script to handle that scenario or give a warning?

Patches welcome ;).
Comment 5 Michal Kubeček 2020-04-07 09:56:04 UTC
In general, reported config options are those for which "make oldconfig"
would prompt you for a value. Technically, the build could use e.g. the
default (what is used if you just press enter) but we find it potentially
dangerous and the check is in place to make sure provided config is complete
and doesn't  leave any config values undetermined.

What you should keep in mind is that

  (1) changing the value of one option can make other options visible so that
      you need to provide their values
  (2) changing an option which is part of a "radio button" set usually results
      in change of other related options
Comment 6 Jon Brightwell 2020-04-07 10:28:47 UTC
That makes sense. I'll probably PR https://github.com/openSUSE/kernel-source/blob/master/doc/README.SUSE with the updated info on implicit->explicit, and expanded to be inclusive of only changing config.

Thanks everyone.
Comment 7 Jiri Slaby 2020-04-07 10:31:09 UTC
(In reply to Jon Brightwell from comment #6)
> That makes sense. I'll probably PR
> https://github.com/openSUSE/kernel-source/blob/master/doc/README.SUSE with

I would perhaps send the patch to opensuse-kernel ML or attach here. Not sure if anyone is monitoring github's PRs.