Summary:ASTERISK-29728: menuselect: Disabled by default modules that are enabled are always recompiled
Reporter:N A (InterLinked)Labels:
Date Opened:2021-11-08 17:31:45.000-0600Date Closed:2022-04-28 14:55:48
Versions:18.8.0 Frequency of
Description:<defaultenabled>no</defaultenabled> can be added to a module so that it is not compiled by default.

However, when this happens, any time anything changes in Asterisk source and make / make install is used to recompile, any enabled (but disabled by default) modules will ALWAYS be recompiled.

This is mostly frustrating in the dev process, but there appears to be some logic wrong with menuselect here that seems to be causing this.

I'm just reporting this for now, so probably best to leave it open rather than assigning it to me.
Comments:By: Asterisk Team (asteriskteam) 2021-11-08 17:31:46.822-0600

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution. Please note that log messages and other files should not be sent to the Sangoma Asterisk Team unless explicitly asked for. All files should be placed on this issue in a sanitized fashion as needed.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

Please note that once your issue enters an open state it has been accepted. As Asterisk is an open source project there is no guarantee or timeframe on when your issue will be looked into. If you need expedient resolution you will need to find and pay a suitable developer. Asking for an update on your issue will not yield any progress on it and will not result in a response. All updates are posted to the issue when they occur.

Please note that by submitting data, code, or documentation to Sangoma through JIRA, you accept the Terms of Use present at [https://www.asterisk.org/terms-of-use/|https://www.asterisk.org/terms-of-use/].

By: George Joseph (gjoseph) 2021-11-09 06:49:06.159-0600

I never noticed this before but yeah.   We'll take a look.  In the mean time, if you don't use ccache, give it a shot.  It'll make those recompiles very quick.

By: Sean Bright (seanbright) 2021-11-09 08:50:09.703-0600

20:46 <@seanbright> it's menuselect related, that much i've been able to find out so far
20:47 < InterLinked> Ah, strictly menuselect, not in the makefile?
20:47 <@seanbright> when 'menuselect --check-deps menuselect.makeopts' runs it runs the delete_on_change files for defaultenabled=no modules
20:47 <@seanbright> correct, menuselect
20:47 < InterLinked> any obvious reason why it's doing that, or would it be fine to patch that?
20:48 <@seanbright> it's not obvious to me or there would already be a review up for it
20:48 <@seanbright> patch away
20:48 < InterLinked> Thanks, I'll play with it and see it then
20:48 <@seanbright> you're welcome
20:52 < InterLinked> Wait, where did you find the delete_on_change? I can't find anything at all in the tree for that
20:52 <@seanbright> remove_on_change maybe
20:59 < InterLinked> yeah, that's it. How is the debugging in menuselect used? I don't see any documentation for it in the wiki or the README. I see you can do make menuselect -d and get debug output for menuselect, but it compiles it when I run "make
                    install" (or what have you), so I want to debug that. Do I need to alter the makefile?
20:59 <@seanbright> not sure
21:19 <@seanbright> i think parse_existing_config() and mark_as_present() are wrong
21:19 <@seanbright> MENUSELECT_APPS in menuselect.makeopts is a list of mdules that are _not_ selected
21:19 <@seanbright> so you would want to iterate all available modules and select/deselect them
21:20 <@seanbright> not just the ones listed in the .makeopts file

By: George Joseph (gjoseph) 2021-11-09 08:54:08.968-0600

Yeah I missed that in IRC yesterday.  Thanks.

By: Friendly Automation (friendly-automation) 2022-04-28 14:55:48.978-0500

Change 18003 merged by Kevin Harwell:
menuselect: Don't erroneously recompile modules.


By: Friendly Automation (friendly-automation) 2022-04-28 14:56:07.381-0500

Change 18477 merged by Kevin Harwell:
menuselect: Don't erroneously recompile modules.


By: Friendly Automation (friendly-automation) 2022-04-28 14:57:02.594-0500

Change 18471 merged by Kevin Harwell:
menuselect: Don't erroneously recompile modules.


By: Friendly Automation (friendly-automation) 2022-04-28 15:03:21.516-0500

Change 18472 merged by Kevin Harwell:
menuselect: Don't erroneously recompile modules.