[asterisk-dev] Re: [svn-commits] file: branch file/zaptel-firmware r1814 - in /team/file/zaptel-firmware: ./ b...

Tzafrir Cohen tzafrir.cohen at xorcom.com
Mon Jan 15 23:36:51 MST 2007


Hi

I'm not so sure I like those changes...

On Mon, Jan 15, 2007 at 10:26:11PM -0000, svn-commits at lists.digium.com wrote:
> Author: file
> Date: Mon Jan 15 16:26:10 2007
> New Revision: 1814
> 
> URL: http://svn.digium.com/view/zaptel?view=rev&rev=1814
> Log:
> Add firmware selection to menuselect.
> 
> Added:
>     team/file/zaptel-firmware/build_tools/make_tree   (with props)
>     team/file/zaptel-firmware/firmware/
>     team/file/zaptel-firmware/firmware/firmware.xml   (with props)
>     team/file/zaptel-firmware/zaptel.xml   (with props)
> Removed:
>     team/file/zaptel-firmware/menuselect-tree
> Modified:
>     team/file/zaptel-firmware/Makefile
> 
> Modified: team/file/zaptel-firmware/Makefile
> URL: http://svn.digium.com/view/zaptel/team/file/zaptel-firmware/Makefile?view=diff&rev=1814&r1=1813&r2=1814
> ==============================================================================
> --- team/file/zaptel-firmware/Makefile (original)
> +++ team/file/zaptel-firmware/Makefile Mon Jan 15 16:26:10 2007
> @@ -523,7 +523,7 @@
>  
>  dist-clean: clean
>  	@$(MAKE) -C menuselect dist-clean
> -	rm -f makeopts menuselect.makeopts
> +	rm -f makeopts menuselect.makeopts menuselect-tree
>  	rm -f config.log config.status
>  
>  config.status: configure
> @@ -544,3 +544,7 @@
>  
>  menuselect/menuselect: menuselect/menuselect.c menuselect/menuselect_curses.c menuselect/menuselect_stub.c menuselect/menuselect.h menuselect/linkedlists.h config.status
>  	@CFLAGS="" $(MAKE) -C menuselect
> +
> +menuselect-tree: zaptel.xml firmware/firmware.xml
> +	@echo "Generating input for menuselect ..."
> +	@build_tools/make_tree > $@
> 
> Added: team/file/zaptel-firmware/build_tools/make_tree
> URL: http://svn.digium.com/view/zaptel/team/file/zaptel-firmware/build_tools/make_tree?view=auto&rev=1814
> ==============================================================================
> --- team/file/zaptel-firmware/build_tools/make_tree (added)
> +++ team/file/zaptel-firmware/build_tools/make_tree Mon Jan 15 16:26:10 2007
> @@ -1,0 +1,8 @@
> +#!/bin/sh
> +
> +echo "<?xml version=\"1.0\"?>"
> +echo
> +echo "<menu name=\"Zaptel Module Selection\">"
> +cat zaptel.xml
> +cat firmware/firmware.xml
> +echo "</menu>"

This is why I don't like XML files: you can't really easily merge two
real XML files into one.

Thus you're forced to work with files that are "almost" XML files, and
not guaranteed to be well-manipulated by XML-manipulating tools.

What do we actually have in zaptel.xml?

> 
> Propchange: team/file/zaptel-firmware/build_tools/make_tree
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: team/file/zaptel-firmware/build_tools/make_tree
> ------------------------------------------------------------------------------
>     svn:executable = *
> 
> Propchange: team/file/zaptel-firmware/build_tools/make_tree
> ------------------------------------------------------------------------------
>     svn:keywords = Author Date Id Revision
> 
> Propchange: team/file/zaptel-firmware/build_tools/make_tree
> ------------------------------------------------------------------------------
>     svn:mime-type = text/plain
> 
> Added: team/file/zaptel-firmware/firmware/firmware.xml
> URL: http://svn.digium.com/view/zaptel/team/file/zaptel-firmware/firmware/firmware.xml?view=auto&rev=1814
> ==============================================================================
> --- team/file/zaptel-firmware/firmware/firmware.xml (added)
> +++ team/file/zaptel-firmware/firmware/firmware.xml Mon Jan 15 16:26:10 2007
> @@ -1,0 +1,5 @@
> +	<category name="MENUSELECT_FIRMWARE" displayname="Binary Firmware Packages" positive_output="yes">
> +		<member name="FIRMWARE-OCTASIC" displayname="Octasic Echo Cancellation Firmware" >
> +			<defaultenabled>yes</defaultenabled>
> +		</member>
> +	</category>
> 
> Propchange: team/file/zaptel-firmware/firmware/firmware.xml
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: team/file/zaptel-firmware/firmware/firmware.xml
> ------------------------------------------------------------------------------
>     svn:keywords = Author Date Id Revision
> 
> Propchange: team/file/zaptel-firmware/firmware/firmware.xml
> ------------------------------------------------------------------------------
>     svn:mime-type = text/plain
> 
> Added: team/file/zaptel-firmware/zaptel.xml
> URL: http://svn.digium.com/view/zaptel/team/file/zaptel-firmware/zaptel.xml?view=auto&rev=1814
> ==============================================================================
> --- team/file/zaptel-firmware/zaptel.xml (added)
> +++ team/file/zaptel-firmware/zaptel.xml Mon Jan 15 16:26:10 2007
> @@ -1,0 +1,62 @@
> +<category name="MENUSELECT_MODULES" displayname="Kernel Modules">
> +	<member name="pciradio" displayname="PCI Radio" remove_on_change="pciradio.o pciradio.ko">

Duplication of information. The name "pciradio appears 3 times.
No kernel build system (nither 2.4 nor 2.6) actually requies that. 

There is also no need to explicitly remove the .ko file: the kernel 2.6
system does that very well

> +	</member>
> +	<member name="tor2" displayname="Tormenta 2" remove_on_change="tor2.o tor2.ko">
> +	</member>
> +	<member name="torisa" displayname="Tormenta ISA" remove_on_change="torisa.o torisa.ko">
> +	</member>
> +	<member name="wcfxo" displayname="Wildcard X100P" remove_on_change="wcfxo.o wcfxo.ko">
> +	</member>
> +	<member name="wct1xxp" displayname="Wildcard T100P / E100P" remove_on_change="wct1xxp.o wct1xxp.ko">
> +	</member>
> +	<member name="wct4xxp" displayname="Wildcard TE4XXP / TE2XXP" remove_on_change="wct4xxp.o wct4xxp.ko">
> +	</member>
> +	<member name="wctdm" displayname="Wildcard TDM400P" remove_on_change="wctdm.o wctdm.ko">
> +	</member>
> +	<member name="wctdm24xxp" displayname="Wildcard TDM2400P" remove_on_change="wctdm24xxp.o wctdm24xxp.ko">
> +	</member>
> +	<member name="wcte11xp" displayname="Wildcard TE110P" remove_on_change="wcte11xp.o wcte11xp.ko">
> +	</member>
> +	<member name="wcusb" displayname="Wildcard S100U" remove_on_change="wcusb.o wcusb.ko">
> +	</member>
> +	<member name="xpp_usb" displayname="Astribank">

Plain wrong. xpp_usb is not the relevant module name. The relevant name
here for the build system is the subdirectory xpp/

I can't find the other subdirectory (wct4xxp) here.

I have longago suggested to simply give directories a '/' suffix and
thereby fully integrate them. This would allow very easy overriding of
the modules list from either configure or make.

Current makefile will automatically build those two subdirectories, no
matter what the user chooses for xpp_usb.

> +	</member>
> +	<member name="zaptel" displayname="Zaptel" remove_on_change="zaptel.o zaptel.ko">
> +	</member>
> +	<member name="ztd-eth" displayname="TDMoE" remove_on_change="ztd-eth.o ztd-eth.ko">
> +	</member>
> +	<member name="ztd-loc" displayname="Local" remove_on_change="ztd-loc.o ztd-loc.ko">
> +	</member>
> +	<member name="ztdummy" displayname="Dummy Timing Interface" remove_on_change="ztdummy.o ztdummy.ko">
> +	</member>
> +	<member name="ztdynamic" displayname="Dynamic" remove_on_change="ztdynamic.o ztdynamic.ko">
> +	</member>
> +	<member name="zttranscode" displayname="Zaptel Transcoders" remove_on_change="zttranscode.o zttranscode.ko">
> +	</member>
> +</category>
> +
> +<category name="MENUSELECT_UTILS" displayname="Utilities">
> +	<member name="fxotune" remove_on_change="fxotune fxotune.o">

Here: duplicate information again, and actually no new new information
at all.

> +	</member>
> +	<member name="fxstest" remove_on_change="fxstest fxstest.o">
> +		<defaultenabled>no</defaultenabled>
> +	</member>
> +	<member name="sethdlc-new" remove_on_change="sethdlc-new sethdlc-new.o">
> +		<defaultenabled>no</defaultenabled>
> +	</member>
> +	<member name="ztcfg" remove_on_change="ztcfg ztcfg.o">
> +	</member>
> +	<member name="ztdiag" remove_on_change="ztdiag ztdiag.o">
> +		<defaultenabled>no</defaultenabled>
> +	</member>
> +	<member name="ztmonitor" remove_on_change="ztmonitor ztmonitor.o">
> +	</member>
> +	<member name="ztspeed" remove_on_change="ztspeed ztspeed.o">
> +	</member>
> +	<member name="zttest" remove_on_change="zttest zttest.o">
> +	</member>
> +	<member name="zttool" remove_on_change="zttool zttool.o">
> +		<depend>libnewt</depend>
> +	</member>
> +</category>
> +

Thus the XML files here only make it more complicated to add extra
modules, and don't make the build system simpler.

-- 
               Tzafrir Cohen       
icq#16849755                    jabber:tzafrir at jabber.org
+972-50-7952406           mailto:tzafrir.cohen at xorcom.com       
http://www.xorcom.com  iax:guest at local.xorcom.com/tzafrir


More information about the asterisk-dev mailing list