Summary:ASTERISK-12429: [patch] dummy-select - a simplified menuselect replacement
Reporter:Tzafrir Cohen (tzafrir)Labels:
Date Opened:2008-07-22 15:58:36Date Closed:2009-05-12 15:18:59
Versions:Frequency of
Environment:Attachments:( 0) Makefile
( 1) menuselect
( 2) menuselect-1.1
Description:When working on Asterisk in a git repository by mirroring the main one with git-svn, the svn:externals "symbolic links" are difficult to emulate.
There is a poorly nearly-half-working substitution using git submodules. But with the changing externals in Asterisk it is not fun to work with.

For that reason I decided I want to replace menuselect with a version that is as compact as possible and yet has all the functionality I need.

The new version currently only operates in batch mode. It takes configuration from a simple config file (currently named build_tools/conf) and generates the usual files menuselect generates.

See the script for complete documentation.

Also included is a Makefile to provide dummy targets for the menuselect directory and to generate empty files that menuselect may depend on in the main makefile.

Known limitation: does not support "conflicts". Adding it would probably take much extra work (basically: saving a snapshot of the current state on each new candidate evaluated). And there is currently only one conflict that doesn't yet bother me personally :-) .


Tested on 1.4 and tested to build on trunk.

The script is a single perl script. On each run it currently reads every source file. I have not tried yet to optimize this or any other aspect (e.g.: the excessing accesses to 'keys %ModInfo long after I stopped adding entries there. most of them are to go directly to 'sort' afterwards). Still not as much as the configure script that would core right before it.

Currently it only gives an irritating delay if the files of the asterisk source are not in the cache, That is, if you run it twice, the second run will be fast enough. I'll worry about performance later.
Comments:By: Tzafrir Cohen (tzafrir) 2008-08-09 12:11:36

Minor change: warn if the configure script put an invalid value (anything that is not 0 or 1) in build_tools/menuselect-deps .

By: Tzafrir Cohen (tzafrir) 2008-09-02 14:39:50

Fixed handling of XML inputs. I'm still not sure what to do about the extra devmode CFLAGS.

By: Leif Madsen (lmadsen) 2008-12-09 08:04:06.000-0600

Assigned to Russell as this looks like something he may be able to make a decision on. If you can't move this forward, please reassign as necessary. Thanks!

By: Digium Subversion (svnbot) 2008-12-09 10:02:51.000-0600

Repository: menuselect
Revision: 434

A   trunk/contrib/
A   trunk/contrib/Makefile-dummy
A   trunk/contrib/menuselect-dummy

r434 | russell | 2008-12-09 10:02:50 -0600 (Tue, 09 Dec 2008) | 11 lines

Add tzafrir's minimal menuselect emulation perl script which can be used in
lieu of menuselect in cases where menuselect isn't available, such as when
trying to use git-svn.

(closes issue ASTERISK-12429)
Reported by: tzafrir
     Makefile uploaded by tzafrir (license 46)
     menuselect uploaded by tzafrir (license 46)
Tested by: tzafrir



By: Tzafrir Cohen (tzafrir) 2009-02-16 15:13:42.000-0600

Attached is an up-to-date version of menuselect that can build trunk.

In addition, please set svn:executable on this script, so it would be executable on an svn export.

By: Tzafrir Cohen (tzafrir) 2009-04-25 06:08:11

Uploaded a new version, that can work with 1.4 trough trunk.

Latest version could be found at


By: Digium Subversion (svnbot) 2009-05-12 15:18:57

Repository: menuselect
Revision: 511

U   trunk/contrib/Makefile-dummy
UU  trunk/contrib/menuselect-dummy

r511 | tilghman | 2009-05-12 15:18:57 -0500 (Tue, 12 May 2009) | 6 lines

Update menuselect to tzafrir's current contributed Perl script
(closes issue ASTERISK-12429)
Reported by: tzafrir
      menuselect-1.1 uploaded by tzafrir (license 46)