This ebuild is a placeholder for the upcoming 11.0 LTS release of Asterisk. Based upon the ebuild of 10.7.0. Ebuild runs fine but seems to have issues with higher parallel making - at least on my site (-j16 with icecc). Needs a new patchset - I've deleted '04-alarm-receiver-use-playtones.patch' as it seems to be already patched by Digium; small changes to '08-non-blocking-ssl-needs-poll.patch'.
Created attachment 322316 [details] updated ebuild
Created attachment 322318 [details] updated patchset
Comment on attachment 322316 [details] updated ebuild --- asterisk-10.7.0.ebuild 2012-08-27 12:10:22.000000000 +0200 +++ - 2012-08-27 12:22:27.475422860 +0200 @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-10.7.0.ebuild,v 1.2 2012/08/25 17:30:08 swift Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-10.7.0.ebuild,v 1.1 2012/07/31 10:27:55 chainsaw Exp $ EAPI=4 inherit autotools base eutils linux-info multilib @@ -10,7 +10,7 @@ DESCRIPTION="Asterisk: A Modular Open Source PBX System" HOMEPAGE="http://www.asterisk.org/" SRC_URI="http://downloads.asterisk.org/pub/telephony/asterisk/releases/${MY_P}.tar.gz - mirror://gentoo/gentoo-asterisk-patchset-2.5.tar.bz2" + mirror://gentoo/gentoo-asterisk-patchset-2.6.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" @@ -20,7 +20,7 @@ voicemail_storage_odbc voicemail_storage_imap " -IUSE="${IUSE_VOICEMAIL_STORAGE} ais alsa bluetooth calendar +caps curl dahdi debug doc freetds gtalk http iconv jabber jingle ldap lua mysql newt +samples odbc osplookup oss portaudio postgres radius selinux snmp span speex srtp static syslog vorbis" +IUSE="${IUSE_VOICEMAIL_STORAGE} alsa bluetooth calendar +caps cluster curl dahdi debug doc freetds gtalk http iconv ilbc jabber ldap libedit lua mysql newt +samples odbc osplookup oss portaudio postgres radius snmp span speex srtp static syslog vorbis" IUSE_EXPAND="VOICEMAIL_STORAGE" REQUIRED_USE="gtalk? ( jabber ) ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) @@ -36,13 +36,13 @@ dev-libs/openssl sys-libs/ncurses sys-libs/zlib - ais? ( sys-cluster/openais ) alsa? ( media-libs/alsa-lib ) bluetooth? ( net-wireless/bluez ) calendar? ( net-libs/neon dev-libs/libical dev-libs/iksemel ) caps? ( sys-libs/libcap ) + cluster? ( sys-cluster/corosync ) curl? ( net-misc/curl ) dahdi? ( >=net-libs/libpri-1.4.12_beta2 net-misc/dahdi-tools ) @@ -50,9 +50,10 @@ gtalk? ( dev-libs/iksemel ) http? ( dev-libs/gmime:2.4 ) iconv? ( virtual/libiconv ) + ilbc? ( dev-libs/ilbc-rfc3951 ) jabber? ( dev-libs/iksemel ) - jingle? ( dev-libs/iksemel ) ldap? ( net-nds/openldap ) + libedit? ( dev-libs/libedit ) lua? ( dev-lang/lua ) mysql? ( virtual/mysql ) newt? ( dev-libs/newt ) @@ -61,7 +62,6 @@ portaudio? ( media-libs/portaudio ) postgres? ( dev-db/postgresql-base ) radius? ( net-dialup/radiusclient-ng ) - selinux? ( sec-policy/selinux-asterisk ) snmp? ( net-analyzer/net-snmp ) span? ( media-libs/spandsp ) speex? ( media-libs/speex ) @@ -158,23 +158,28 @@ done } - use_select ais res_ais + # For a list of changes se <https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+11> also. + # - chan_gtalk is deprecated in favour of chan_motif + # - res_jabber is deprecated in favour of res_xmpp + # - chan_jingle is deprecated in favour of chan_motif (see gtalk) + # use_select alsa chan_alsa - use_select bluetooth chan_mobile + use_select bluetooth chan_mobile use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} + use_select cluster res_corosync use_select curl func_curl res_config_curl res_curl use_select dahdi app_dahdibarge app_dahdiras chan_dahdi codec_dahdi res_timing_dahdi use_select freetds {cdr,cel}_tds - use_select gtalk chan_gtalk + use_select gtalk chan_motif use_select http res_http_post use_select iconv func_iconv - use_select jabber res_jabber - use_select jingle chan_jingle + use_select ilbc codec_ilbc format_ilbc + use_select jabber res_xmpp use_select ldap res_config_ldap use_select lua pbx_lua use_select mysql app_mysql cdr_mysql res_config_mysql use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc - use_select osplookup app_osplookup + use_select osplookup app_osplookup use_select oss chan_oss use_select postgres {cdr,cel}_pgsql res_config_pgsql use_select radius {cdr,cel}_radius
Created attachment 327520 [details] gentoo-asterisk-patchset-3.0.tar.bz2 The ported SSL fix is missing components so can't be accepted as-is. From the upstream bug report comes a newer approach, with a new name. Fix from Pacho Ramos added, gmime-related. Everything applies, but some "pjnath" related upstream breakage explodes horribly for parallel make and will need to be fixed.
Created attachment 327522 [details] asterisk-11.0.0.ebuild Proposed ebuild. pjnath idiocy will need to be fixed before this can be committed to portage.
Created attachment 327524 [details] gentoo-asterisk-patchset-3.0.tar.bz2 Now with the parallel build issue addressed, based on the patch that Shaun Ruffell sent upstream to PJSIP. This is patch 11.
Fails the installation phase like so: Installing modules from funcs... Installing modules from apps... Installing modules from main... make[1]: Entering directory `/var/tmp/portage/net-misc/asterisk-11.0.0/work/asterisk-11.0.0' .pjlib-x86_64-unknown-linux-gnu.depend:408: *** missing separator. Stop. make[4]: *** [depend] Error 2 make[3]: *** [dep] Error 1 make[2]: *** [pjproject] Error 2 make[1]: *** [res] Error 2 make[1]: Leaving directory `/var/tmp/portage/net-misc/asterisk-11.0.0/work/asterisk-11.0.0' make: *** [_cleantest_all] Error 2 make: *** Waiting for unfinished jobs.... Installing modules from res... Patience depleted. You tell me what that's about.
Early in the compile phase I get this error. Makefile:81: pjproject/build.mak: No such file or directory It only appears the first time you build (ie removing /var/tmp/portage/net-misc/asterisk-11.0.0/{.configured,.compiled} resolves it. Don't think that is the cause of this though. I'm not getting the same error every time. A few examples: .pjlib-i686-pc-linux-gnu.depend:450: *** missing separator. Stop. .pjlib-i686-pc-linux-gnu.depend:648: *** missing separator. Stop. .pjlib-i686-pc-linux-gnu.depend:547: *** missing separator. Stop. This is only a problem with parallel make (-jN). It works when I remove -j5 from /etc/portage/make.conf. Looks like a race condition. .pjlib-i686-pc-linux-gnu.depend is created every time you run make, not only when compiling. It sems that in the install phase a new make is forked before the .depened-file is completely created.
I've got an ugly resolution, that still keeps make resonably parallel. If I understand it, the root of this problem is that make forks of serveral processes for same target. In the top Makefile the target bininstall: depends on _cleantest_all and all the installations. _cleantest_all recreates the dependency files, and so does some of the xxx-install targets. The right solution would be to set up dependencies between the .depend files and the source .c and .h files. I leave that exercise to the upstream maintainers. See the attached patch.
Created attachment 327706 [details, diff] Eliminate race condition in top level Makefile with make -jN
30 Oct 2012; Tony Vroon <chainsaw@gentoo.org> package.mask: Mask 11.0.0 release due to the amount of work needed to build. Release is suspect and will need additional testing. +*asterisk-11.0.0 (30 Oct 2012) + + 30 Oct 2012; Tony Vroon <chainsaw@gentoo.org> +asterisk-11.0.0.ebuild, + metadata.xml: + Initial release on 11 (LTS) branch. Distro patchset & ebuild menuselect logic + ported by Oliver Jaksch. Build system tamed and parallelised by Erik Wallin. + Closes bug #432894. Patch from Pacho Ramos inverts logic in gmime detection + and facilitates the pending removal of 2.4 from the portage tree, closes bug + #439846. This is currently masked and not recommended for deployment.
*** Bug 441012 has been marked as a duplicate of this bug. ***