For OP (vankooch), perhaps looking at the OpenWRT's Makefile for YATE will shed some lights for you. Good luck.
thx for the tip. On the first setup I've forked the deb packages build from the debian voip team, which are outdated. I've also watched the Make file on FreeBSD. I'll have look at the pkg for OpenWRT
I can understand diana, that she don't what to split it too many packages, because it could get wired for the user. On the other side I can understand asymtrixs and I think a normal installation would be >70 modules... which is also too much for avg. user.
How about splitting the packages a bit more in to scenarios, like server, client... Assuming a client installation is alway a GUI version, including jabber client modules, google voice client modules and vice versa for the server package.
- libyate: lib file
- Yate: binary,shared,man
- Yate-dev: yate-config, includes
- Yate-doc: docs
- Yate-core: Rest of modules
- Yate-client: Client files (gtk,..), jabber, google voice client modules
- Yate-server: jabber,google server modules, monitoring, cpuload,ysnmp
- Yate-scrips: sample scripts, javascript module
- Yate-pgsql: Postgree Driver
- Yate-mysql: Mysql Driver
- Yate-openh323: OpenH323 Chan
- Yate-signaling: ysigchan, mgcpca, mgcpgw, ciscosm, sigtransport, lksctp, isupmangler
The contra is that we have modules packages and scenario packages. But we could merge yate-server and yate-server.
Btw I totally forgot the card drivers, like dahdi... never used them
For Information:
Update:Mandriva Packages from Null Team:
%package alsa
%package gsm
%package speex
%package h323
%package isdn
%package lksctp
%package openssl
%package zlib
%package pgsql
%package mysql
%package client-common
%package qt4
%package scripts
Options on FreeBSD:
OPTIONS=MYSQL "MySQL Database support" off \
PGSQL "PostgreSQL Database support" off \
SCTP "Stream Control Transmission Protocol" on \
AMR_NB "AMR Narrow Band encoder (opencore)" off \
ILBC "Enable iLBC codec" off \
SPANDSP "Enable Spandsp faxing support" off \
DAHDI "Dahdi driver" off \
H323 "H323 software channel/protocol support" off \
SSL "Enable SSL support" off \
ALSA "Enable ALSA channel support" off
OpenWRT, if I get it right you can build every modules separately and install it as plugin.
$(eval $(call BuildPackage,$(PKG_NAME)))
$(eval $(call BuildPackage,$(PKG_NAME)-collection-basic))
$(eval $(call BuildPackage,$(PKG_NAME)-scripts-php))
$(eval $(call BuildPackage,$(PKG_NAME)-scripts-perl))
$(eval $(call BuildPackage,$(PKG_NAME)-scripts-python))
$(eval $(call BuildPackage,$(PKG_NAME)-sounds))
$(eval $(call BuildPlugin,accfile,server,SIP or H.323 client (from file),))
$(eval $(call BuildPlugin,alsachan,client,ALSA Sound Channel,+alsa-lib))
$(eval $(call BuildPlugin,amrnbcodec,,AMR-NB Codec,@BROKEN)) # Missing amr-nb library
$(eval $(call BuildPlugin,analog,server,Analog (e.g. POTS) Channel,))
$(eval $(call BuildPlugin,analogdetect,server,Analog Data Detector,))
$(eval $(call BuildPlugin,analyzer,,Test Call Generator and AQ Analyzer,))
$(eval $(call BuildPlugin,callcounters,server,Count Active Call Legs,))
$(eval $(call BuildPlugin,callfork,,Call Forker,))
$(eval $(call BuildPlugin,callgen,,Call Generator,))
$(eval $(call BuildPlugin,ccongestion,server,Accept Status from Installed Engine Monitors,))
$(eval $(call BuildPlugin,cdrbuild,,Call Detail Record Builder,))
$(eval $(call BuildPlugin,cdrfile,,Call Detail Record to File,))
$(eval $(call BuildPlugin,ciscosm,server,SS7 Support,))
$(eval $(call BuildPlugin,clustering,server,Clustering Server Support,))
$(eval $(call BuildPlugin,conference,,Conference Room Mixer,))
$(eval $(call BuildPlugin,cpuload,server,Monitor CPU load and Inform Yate,))
$(eval $(call BuildPlugin,dbpbx,server,PBX IVR and Multi-routing from Database,))
$(eval $(call BuildPlugin,dbwave,server,Wav Media for DB Storage,+$(PKG_NAME)-mod-wavefile))
$(eval $(call BuildPlugin,dumbchan,,Dummy Channel,))
$(eval $(call BuildPlugin,enumroute,,ENUM Routing,))
$(eval $(call BuildPlugin,extmodule,,External Module Handler,))
$(eval $(call BuildPlugin,faxchan,,Spandsp Fax Channel,+libspandsp))
$(eval $(call BuildPlugin,filetransfer,,File Transfer Driver,))
$(eval $(call BuildPlugin,gsmcodec,,GSM Codec,+libgsm))
$(eval $(call BuildPlugin,h323chan,,Open H.323 Channel,+libopenh323 @BROKEN)) # libopenh323 doesn't create package or stagin_dir includes or libs
.....