From 27e179c63e0d80f4bd10dff9fe493a13847b7e60 Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Tue, 30 Dec 2014 21:16:04 +0000 Subject: [PATCH] provide systemd service files, bug #529192 Package-Manager: portage-2.2.15/cvs/Linux x86_64 Manifest-Sign-Key: 0xBD3A97A3 --- net-misc/asterisk/ChangeLog | 13 +- net-misc/asterisk/Manifest | 27 +- net-misc/asterisk/asterisk-11.14.2-r1.ebuild | 324 +++++++++++++++++ net-misc/asterisk/asterisk-11.15.0-r1.ebuild | 324 +++++++++++++++++ net-misc/asterisk/asterisk-12.7.2-r1.ebuild | 325 ++++++++++++++++++ net-misc/asterisk/asterisk-12.8.0-r1.ebuild | 325 ++++++++++++++++++ net-misc/asterisk/files/asterisk.service | 23 ++ net-misc/asterisk/files/asterisk.service.conf | 11 + .../asterisk/files/asterisk.tmpfiles.conf | 2 + 9 files changed, 1368 insertions(+), 6 deletions(-) create mode 100644 net-misc/asterisk/asterisk-11.14.2-r1.ebuild create mode 100644 net-misc/asterisk/asterisk-11.15.0-r1.ebuild create mode 100644 net-misc/asterisk/asterisk-12.7.2-r1.ebuild create mode 100644 net-misc/asterisk/asterisk-12.8.0-r1.ebuild create mode 100644 net-misc/asterisk/files/asterisk.service create mode 100644 net-misc/asterisk/files/asterisk.service.conf create mode 100644 net-misc/asterisk/files/asterisk.tmpfiles.conf diff --git a/net-misc/asterisk/ChangeLog b/net-misc/asterisk/ChangeLog index 286620fb9b91..bd329e827a2e 100644 --- a/net-misc/asterisk/ChangeLog +++ b/net-misc/asterisk/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for net-misc/asterisk # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.513 2014/12/28 16:39:12 titanofold Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.514 2014/12/30 21:15:52 tamiko Exp $ + +*asterisk-11.14.2-r1 (30 Dec 2014) +*asterisk-11.15.0-r1 (30 Dec 2014) +*asterisk-12.8.0-r1 (30 Dec 2014) +*asterisk-12.7.2-r1 (30 Dec 2014) + + 30 Dec 2014; Matthias Maier +asterisk-11.14.2-r1.ebuild, + +asterisk-11.15.0-r1.ebuild, +asterisk-12.7.2-r1.ebuild, + +asterisk-12.8.0-r1.ebuild, +files/asterisk.service, + +files/asterisk.service.conf, +files/asterisk.tmpfiles.conf: + provide systemd service files, bug #529192 28 Dec 2014; Aaron W. Swenson asterisk-11.14.2.ebuild, asterisk-11.15.0.ebuild, asterisk-12.7.2.ebuild, diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest index 85d6b809ca4c..17100ba5a38b 100644 --- a/net-misc/asterisk/Manifest +++ b/net-misc/asterisk/Manifest @@ -10,22 +10,39 @@ AUX 1.8.0/asterisk.confd 2203 SHA256 32f60bc5ff42edb1ecda236f6e87d67fd723533658b AUX 1.8.0/asterisk.initd7 9382 SHA256 7951901371035da2cb958d029ddbd8af276a5de7becd01c9bd36d0c4576461f8 SHA512 44dc81f3b3cab8e65344dcb2767fdd6b573f9ee587c78afa6873995a019b60c1c8bfda1c9f3baf6b5e71ae76ca62fff53e5f2e27deaeb4f88fc78bfd54593707 WHIRLPOOL dfd7f5c4c7fe5c65181a30259bf96f5a813548733b298e9c41319812d4cd47035147616264d4bb91193fcfe81f6ea9fcdbb288a3759b9e86041116885613637b AUX 1.8.0/find_call_ids.sh 1078 SHA256 185d0f55f54d044eb4b4dc64954e5191f8b993d139749bfe869e34f3ecff9d09 SHA512 1690eb3ea9eb51711df9fd7c121dbc520a2a15870fa06523f096968386ca68a132a46e361b9d19367c7089cd9ad18132ed02ef0aedd990d5939550182a3366c9 WHIRLPOOL f123f60557066707d0c276451af32f5561abb8db7e8d4eeb3a2da871ae0245108e42d28c7ff77d228a963e5f5326f7382b0ac54f92fc1bfeec2c085b9b237a15 AUX 1.8.0/find_call_sip_trace.sh 1115 SHA256 e1ebeb1dab05f552f89f380719d319cdf579cb6aeb86a9010e13e14c57f55985 SHA512 e679f3953b2e397d7c80bb2f0ca3db848f07ba97ca139c87224de4467f8172034eb4372e5ddd68116774a7b9d5fd48aa30d809e2af2c6e6e0747762c69090b6a WHIRLPOOL 8c30be245556b37dd45dd5ff5cf5c3141050f60c3e286631520f8114e167c6bd4f7930be21e57e93fd183ab65dfbd3b95b8e342808870979b67977f3ce189ebf +AUX asterisk.service 456 SHA256 a49fb681161d05b18b1cb6e8c3952de3baf53830709e38cfb125c4cf5085bb81 SHA512 d443c3821d50e78a76b7cad8906f560ab0f4b58007f6c9322256626bc4a502bdbd844f1ee48cdaf86d499bf78f50cebb0cfc88a0cab0c4876f4e853bc2e76aa8 WHIRLPOOL f428284c586240a9e8bcba535cf34924d924649b0891c5306a911ab1416e30ff42f43941dc2aade73bcbfdc6f833b6c14341a39167051adb8365b43e5dfd987d +AUX asterisk.service.conf 324 SHA256 cc6e988f846fdf25f9dadc01c9ac274c168cd71278bf13bdb3f14ea08083877f SHA512 94be3b27f9d862d357b62d14b9d59ca47487bfd4987ce3b0ea2bb862c6d03e1d3c8b536590f20295fd085166da3efdff869c4cfc37542a31933d22b6d9b73da3 WHIRLPOOL efa9e1432e89efec4a0f78ac41f78e26e236f6397c528b6e5bd9d8b9191e4af8480d1ad5fbd3b12e5343e54ac4be5c20fd026ea437cfb28466ad96b9e3e4c988 +AUX asterisk.tmpfiles.conf 88 SHA256 7433786daa004699e290009d77690eafddeb475c06b2fc682c2c0ee2f8f3541c SHA512 a3bdc4608f8fa9e71c2ba398e7a12ed91b7f6c6eb52c96daa86133d382bd08e84d8dd5c1749baa0d1c9c6c5fca9be7aa932eb946d188869294af5b7062ed7a23 WHIRLPOOL dc175f7754f63bb2b04da2aa111f87947bd3a360992c1f65c16fcd3153c82d693dd2cd1ec69963a89eb11fed7c45ecc268f086347ad595acb6fab7b05cc9ba79 DIST asterisk-11.14.2.tar.gz 34967655 SHA256 c9a7a9cf4b4512333853a8f53ea243cd8b0bc62123a397b20e03835ad1497f7e SHA512 d91f0c6c64ab7c764159a52f87c9a5804e52984307295cbd8d4b8d3214b8d2ad075924610798405bb1f0227541997943a00750f5f8da2191500985d5c7ba0169 WHIRLPOOL 1863df103a950461c9262bb30ca12638355453fd76f9054952ecd831656e5f3945f8c378f45d3057036bfaf2bee1e24163b890e8465a738ff8344986ac965d20 DIST asterisk-11.15.0.tar.gz 34981005 SHA256 20a20d116a70f2187f3ddcf79e3109f62054b20b402d6bdd28a2cefc245bbb99 SHA512 12ff80d3f5e07ec6a2845ab27513cb61f2d94864e376ba96ceee9a1f15402d5c810cf96ee74bfcaab7eb785f68a1b9b072ac715046bae7ab25617cc8fd27d711 WHIRLPOOL cf01fabf9c0d304cfcfdbcb9010a9756e3fb166819bf1f4f6c65126d9dc31a5954a7b53a218baef2c32003cac72a756fb6cf169779100568dd627cc680d8695d DIST asterisk-12.7.2.tar.gz 56867200 SHA256 1d4df46319ab20b985e65d65530d72f6413e71682a6984f786fce4fe08c11a7f SHA512 5ba560d7c38371f93cf175c7bddbfdb5902bd17168a21e70769364a689598e796881576d5a6aa28db3d7301e3d5796bb34c1a2e24decf075f437ddd109fdd4ec WHIRLPOOL 96961153cb877943073df8fe8c487fdf362383d8db80b5b79e44487d494a8c46fccb955fb70628159686ae86c93afa72ba9403a3800e5df12f55e06a021f8b63 DIST asterisk-12.8.0.tar.gz 56901101 SHA256 2ba6a53d01c029d5ac13105b5e10d14695ec3a16f363bae8b17ae733dcfb2aab SHA512 a98dca92d8c304469b625556f32d74f54e9f49c47ecfce2fce8967ae66c8ae2dd237f89ea5a93ac00b9229fb6c71451a2ae6b81afe00009c2b773325fe794344 WHIRLPOOL dc5d4be638a256d4e85f329b10c694b1f7bc43bbc7adc7a79ab2ce5012678681940d8dfd5d2ab9c63ef41ea6d59aef14b9562303305f20a61c05985636527a29 DIST gentoo-asterisk-patchset-3.14.tar.bz2 5954 SHA256 20daa50d3e9131fcb783ea9fc39a2183e75e81d4a41337ab432c5cbde24cb74c SHA512 78fb2657047cc7f9590c1e5a3c796e0d78b3cc28eed121d8c824b778af8ef8797870206587faf99bf4f97c367899ccc158b1d84c2d5dceaa3b8dd60907ef3f7b WHIRLPOOL 356a9949b4729052b68b8bf004885b237cd7074f29244c6f31a87461dcdc86e3174769710fee212890cbe2d3f7f25821997de4ba75046a7d2731e464f74349f4 +EBUILD asterisk-11.14.2-r1.ebuild 9682 SHA256 cc43706c96b2dcff56918955e56abe1eacde8f3bdaa6d41de3d6956c9f2f1f37 SHA512 b248c82db0c5d03ea47cb0fa47a4459f2f2b24fb6ec3a31b9bd20e1ddfd5e5c66d264bab7d2bd25493db0298141f798f10f35c78a78adf9672f739a3648b8dd7 WHIRLPOOL 68c2f1cd62b4aaa67cb2c44569535e34f5d5ab7e610e1151e00b3f50ff980ec32c05b1894f90a3a9ba9aa78f092e4df335f8441576bf12a5712f5f17519a619d EBUILD asterisk-11.14.2.ebuild 9490 SHA256 2e3d6ffe819339e143a3440dd13ef56471a83e09090cc58069b9154d48f15ac5 SHA512 755fc0ce803550f8955af431bd6cce6cecbcb388f94209435516d275381e9c71ba36f5ae2b64ed30ce77d6953c98bdeff68560a6aebf94b04c98d05a4e95863b WHIRLPOOL 7b7446675ffc3d22a8e88b9586cc8ce6cad11d13f84b0c1a6b0f93b17769fea003b1e449544d41d280522d6abef462721402f16576eca6db864c869405eccf3e +EBUILD asterisk-11.15.0-r1.ebuild 9682 SHA256 122b660bf9b3582c88e551ef8aa0beaec9a2deb7e9037b28d48225ae4df9fe11 SHA512 500775d4680f16318c4e31a71e7621a21364fca03b68927c28cd8c91e26c13b9e88956bfe7284ef42ed7e79c365c5246c3316d59e5e3a94903b03f20074a9297 WHIRLPOOL 1b624aad6a8f7b9311ebb40d7d6b1ddda184bb82ab36bf40422bda2608fd313d6c7c09c8cdfe1de08cc3ed4d8da99ea04539e56bc42c6ab02d1b3f15b86bc3cf EBUILD asterisk-11.15.0.ebuild 9492 SHA256 b9fd25b82b572379dc6f3d3fe50c4715c58207cb1e65ef50bdc37bc836ff3990 SHA512 9d3053f0757f74df2e29ee8baf6667fdc41ac6a148bcc4e7c1c685aa293e08cc1e3986d5de9ff07ac967b6324674c9ae94cfb53d2ca5ef0d53bf7d5cc51bd014 WHIRLPOOL 43502bf013e81185612997f585c12acfb0a71a6b5b6c1ea2e68700876d35e01c8268b047d3e1920bb798ceef51bb6a5fb050e5a45aa5980159b1fac75f416654 +EBUILD asterisk-12.7.2-r1.ebuild 9699 SHA256 0dd5956791280012b8549edadb9c8a22e037dc2f04d12faee99a68f4c03d0a58 SHA512 66086dcf73f6e47a89491464af2f746d12677db7a830b4ee4a22b3475d46b0439ed297216755af5357179b662d18692dc78e1bacc6ba793ac9f5eba3d3301759 WHIRLPOOL 536837e5e6ba42f4506dd6749402cfb6d5d555395506ef2a2d30d01ef3f70ea88c24280ccc917149f0226c1cf9cdc1e5444365eafc1ee472e6a513f2a64d3c1b EBUILD asterisk-12.7.2.ebuild 9509 SHA256 8d431694161140cc5a3c229c500ddbe833f7e64231cfbb0697d4f2048f4fe8f4 SHA512 9342be1d85823ba98ee1f3b8ce9ae2c514c97867e36f01d4a9213cd1c26c842fede4d78ae698f9c9155fc9ce2d575ccae4bb5eab16550ba04384ef89f1d67049 WHIRLPOOL 71d5b5af14c174326cfb538081441b43fe1a9c182ff76a42ac3db38a0e3559f529612e9ae2cf291285f1142bf644a2fbe13a8c34a008ac27e3dd908bfcf5e4b2 +EBUILD asterisk-12.8.0-r1.ebuild 9699 SHA256 1dabd7e805dfbbe35fb787f2c56c979c00645a5f15db91c8e2fbe0cd5078ed65 SHA512 21315ce8e39cd765c12f4f75921d589bd4c7e85484a9477d975df8177e21c0629ae86af469652178dfaf0362cb2e600bd6bff52f09ba044ea68c8cf6d06a0504 WHIRLPOOL 8566e6dc53e8beab8bcc6ce9d375784a19e94a9399ea77225bc79c043fc264a32ec9be930f60548f32f8e1c97a114ba6903559f1e4db9c5678fb0bb54fcc5ed1 EBUILD asterisk-12.8.0.ebuild 9509 SHA256 996b4651e231b84808a84e8cf8197926b4038676028015c02b35a2c2defc16b0 SHA512 10abb9c463184512e94c51ff1b6e3458409c3030776f12198350337217d339006265a331a7c00918c5850749877dc55f849a7e7ff2be0c7ef0d97d34d10ea11f WHIRLPOOL 56b3267e2eb342e78774644c0ecf00a7ceef375fa7d485a8beaac878c93e6211fda640ea5db60693a1c4c2fc3f7c9f0adb7cc2a719a841f07e5dca6c5bd3fdd5 -MISC ChangeLog 23619 SHA256 6508dfa78ecc81347aa0984f5ad70ff73f5420959c4fd9a68bfad32d1049a656 SHA512 2a2ae13a4c6026c225195c1062050ca0c3a5f5e5e49d95f728fd70c7b68233c65d110dc7487ae59b4884e2c1d73aaf842d3e65045ce64721a8d141d8f9672acd WHIRLPOOL 1c8ab88cb78b65907516ab75f9560a10d25e3909c7262d2a426142bdff871cd85a59b310ba303b741c8f7b8904938a0728d7795eb83aad3c476aa5123cc1ae37 +MISC ChangeLog 24056 SHA256 d6c1330e9b31b08cc67e8869fed81b2a152524c84f840cf445e5ccc2f6beae2e SHA512 cf5668fbebc4a6c688175550ec2d1b703fe75d7fd0945871182a195c612f1a42ed78caab8e216af5cfa6e31ee1055246df7514fdf6b13b4f2517305c636844dd WHIRLPOOL 50e0443ad0380c2785258f15a4d699d408e4678fa758d0291967e1d8521326e6c40633f6471409e4204786276ea2e07aa037caa1e9b092c8a96b2abe0beb8505 MISC ChangeLog-2012 113409 SHA256 6beb419f0c2e63641c73f2c14bd0c3a6a319c65bca8be526aa441fac2104fc9c SHA512 08c037acd578b9c3c387a80e45e80a68c4da84e63fced30215f22ec14eb6e223348d8e7d68f4decdf8a2d8cd0933b3f7fa3adddf7cd80bb407498b3e2868d917 WHIRLPOOL be0f2192531f7477545ccc0f10d9a50f36228e8d8d0e2773ccce3799c2d1b5e1b7be70d96502f759c7c878f88efd83122fc9230374c40c8963fe0bc7ff014b87 MISC metadata.xml 1080 SHA256 297d1772ab811058eefd6d99d80eff0c552dd1c4c1a55a2d5cafebd14e7b85f9 SHA512 fce6e57053f835e396553796ea3ff64c9411f81fed6e07c77e37b00f23b01739962afb069497764cabf38c3d2f3fcfccdbd0ac41a3da06969ee95faf7e2e3999 WHIRLPOOL 148361759ded02f98c735b0e8d2f72a37b908f8484cd978055ee05c9dc9b290c29c3983a51c4ffebe943a149e3d0df0df2c9b548256027a0ee5df289d63337b0 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2 +Version: GnuPG v2.1 -iF4EAREIAAYFAlSgMjMACgkQVxOqA9G7/aB5tgD9G4Ct2+MsWfzBLIqkE9sWY4Fl -vpt0c7ZEepx14e6WGogBAJtRiZuMH2mTW1N78/WXBFm93MHPRSnONZxwhfF8EnKO -=7m3S +iQIcBAEBCAAGBQJUoxYJAAoJELhOzYlK7nn/MswQAIHhD6WG7P2HIO5Gqj+fxJYZ +TjB2RlIFa7GH3jhFKLiMFC4PcevtAqqNOZDpgJBjPc6tBDRM32BRrL4p+hgfVRQf +k+kKqhIRn9iJJKMHE4TAb1MBFa+p2yKF9QxPUbuy9dfnQDK53CA4PIE6KiWTi19Y +MSoVBJxVAzzOi4eRPV8pjILeVDZ/gQgswKjw6Pu7/k7HyiM2PQPjO6JKzJrgpTNt +zGapdo/rTjA2TXWKEdZFs6ej5tAHzzI/k8ZP6+RwVdYyblj6e4Vu3hMMBI2sY8KO +AToDJ9Y9YWIrn/OBP8OB4ZPTF5AnO1YorIUlT/y/H9EhsEHhF+k8kxKm0DZqRL/w +thmNlaatAsxO7GwZdsp66OlyfVkGknsjy5EAQupDOnUeETWc8hjYQFNhpJnXeuLY +Zzs4apJi4oBFBfeSv/keLhYzykVWkfj9wMGzvI67qyRiqqSSOe7HsoMQznkDTyRU +KsJOn5aT7lwm9UtJ0n+05cXjuJRBpm5WcxeCB20WKAqOnt+uVtdOFKHoCDECPXW7 +UBzfNBu877NORnpsdutzb9hUAn7VOHic6cw1aYHYYhxWsWxuTu+noIqJYU4KtacD +qOkPV0CluIItZKMwIBIT2J0MGGYRPK5iPsPssq4IiRbb4QyJFCE7TlKzkrz2sp2G +6FrbqL5IriZKES3PdA4B +=QAnm -----END PGP SIGNATURE----- diff --git a/net-misc/asterisk/asterisk-11.14.2-r1.ebuild b/net-misc/asterisk/asterisk-11.14.2-r1.ebuild new file mode 100644 index 000000000000..44c1b33dec73 --- /dev/null +++ b/net-misc/asterisk/asterisk-11.14.2-r1.ebuild @@ -0,0 +1,324 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-11.14.2-r1.ebuild,v 1.1 2014/12/30 21:15:52 tamiko Exp $ + +EAPI=5 +inherit autotools base eutils linux-info multilib user systemd + +MY_P="${PN}-${PV/_/-}" + +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-3.14.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE_VOICEMAIL_STORAGE=" + +voicemail_storage_file + voicemail_storage_odbc + voicemail_storage_imap +" +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 selinux snmp span speex srtp static syslog vorbis" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( jabber ) + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) + voicemail_storage_odbc? ( odbc ) +" + +EPATCH_SUFFIX="patch" +PATCHES=( "${WORKDIR}/asterisk-patchset" ) + +CDEPEND="dev-db/sqlite:3 + dev-libs/popt + dev-libs/libxml2 + dev-libs/openssl + sys-libs/ncurses + sys-libs/zlib + 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 ) + freetds? ( dev-db/freetds ) + gtalk? ( dev-libs/iksemel ) + http? ( dev-libs/gmime:2.6 ) + iconv? ( virtual/libiconv ) + ilbc? ( dev-libs/ilbc-rfc3951 ) + jabber? ( dev-libs/iksemel ) + ldap? ( net-nds/openldap ) + libedit? ( dev-libs/libedit ) + lua? ( dev-lang/lua ) + mysql? ( virtual/mysql ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + osplookup? ( net-libs/osptoolkit ) + portaudio? ( media-libs/portaudio ) + postgres? ( dev-db/postgresql ) + radius? ( net-dialup/radiusclient-ng ) + snmp? ( net-analyzer/net-snmp ) + span? ( media-libs/spandsp ) + speex? ( media-libs/speex ) + srtp? ( net-libs/libsrtp ) + vorbis? ( media-libs/libvorbis )" + +DEPEND="${CDEPEND} + !net-libs/openh323 + !net-libs/pjsip + voicemail_storage_imap? ( virtual/imap-c-client ) + virtual/pkgconfig +" + +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-asterisk ) + syslog? ( virtual/logger )" + +PDEPEND="net-misc/asterisk-core-sounds + net-misc/asterisk-extra-sounds + net-misc/asterisk-moh-opsound" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + CONFIG_CHECK="~!NF_CONNTRACK_SIP" + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users + have reported that this module dropped critical SIP packets in their deployments. You + may want to disable it if you see such problems." + check_extra_config + + enewgroup asterisk + enewgroup dialout 20 + enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout" +} + +src_prepare() { + base_src_prepare + AT_M4DIR=autoconf eautoreconf +} + +src_configure() { + local vmst + + econf \ + --libdir="/usr/$(get_libdir)" \ + --localstatedir="/var" \ + --with-crypto \ + --with-gsm=internal \ + --with-popt \ + --with-ssl \ + --with-z \ + --without-pwlib \ + $(use_with caps cap) \ + $(use_with http gmime) \ + $(use_with newt) \ + $(use_with portaudio) + + # Blank out sounds/sounds.xml file to prevent + # asterisk from installing sounds files (we pull them in via + # asterisk-{core,extra}-sounds and asterisk-moh-opsound. + >"${S}"/sounds/sounds.xml + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + emake menuselect.makeopts + + # Broken functionality is forcibly disabled (bug #360143) + menuselect/menuselect --disable chan_misdn menuselect.makeopts + menuselect/menuselect --disable chan_ooh323 menuselect.makeopts + + # Utility set is forcibly enabled (bug #358001) + menuselect/menuselect --enable smsq menuselect.makeopts + menuselect/menuselect --enable streamplayer menuselect.makeopts + menuselect/menuselect --enable aelparse menuselect.makeopts + menuselect/menuselect --enable astman menuselect.makeopts + + # this is connected, otherwise it would not find + # ast_pktccops_gate_alloc symbol + menuselect/menuselect --enable chan_mgcp menuselect.makeopts + menuselect/menuselect --enable res_pktccops menuselect.makeopts + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + menuselect/menuselect --enable pbx_dundi menuselect.makeopts + menuselect/menuselect --enable func_aes menuselect.makeopts + menuselect/menuselect --enable chan_iax2 menuselect.makeopts + + # SQlite3 is now the main database backend, enable related features + menuselect/menuselect --enable cdr_sqlite3_custom menuselect.makeopts + menuselect/menuselect --enable cel_sqlite3_custom menuselect.makeopts + + # The others are based on USE-flag settings + use_select() { + local state=$(use "$1" && echo enable || echo disable) + shift # remove use from parameters + + while [[ -n $1 ]]; do + menuselect/menuselect --${state} "$1" menuselect.makeopts + shift + done + } + + use_select alsa chan_alsa + 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 app_meetme chan_dahdi codec_dahdi res_timing_dahdi + use_select freetds {cdr,cel}_tds + use_select gtalk chan_motif + use_select http res_http_post + use_select iconv func_iconv + use_select jabber res_xmpp + use_select ilbc codec_ilbc format_ilbc + 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 oss chan_oss + use_select postgres {cdr,cel}_pgsql res_config_pgsql + use_select radius {cdr,cel}_radius + use_select snmp res_snmp + use_select span res_fax_spandsp + use_select speex {codec,func}_speex + use_select srtp res_srtp + use_select syslog cdr_syslog + use_select vorbis format_ogg_vorbis + + # Voicemail storage ... + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do + if use ${vmst}; then + menuselect/menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do + menuselect/menuselect --enable $o menuselect.makeopts + done + fi +} + +src_compile() { + ASTLDFLAGS="${LDFLAGS}" emake +} + +src_install() { + mkdir -p "${D}"usr/$(get_libdir)/pkgconfig || die + emake DESTDIR="${D}" installdirs + emake DESTDIR="${D}" install + + if use radius; then + insinto /etc/radiusclient-ng/ + doins contrib/dictionary.digium + fi + diropts -m 0750 -o root -g asterisk + keepdir /etc/asterisk + if use samples; then + emake DESTDIR="${D}" samples + for conffile in "${D}"etc/asterisk/*.* + do + chown root:root $conffile + chmod 0644 $conffile + done + einfo "Sample files have been installed" + else + einfo "Skipping installation of sample files..." + rm -f "${D}"var/lib/asterisk/mohmp3/* || die + rm -f "${D}"var/lib/asterisk/sounds/demo-* || die + rm -f "${D}"var/lib/asterisk/agi-bin/* || die + rm -f "${D}"etc/asterisk/* || die + fi + rm -rf "${D}"var/spool/asterisk/voicemail/default || die + + # keep directories + diropts -m 0770 -o asterisk asterisk + keepdir /var/lib/asterisk + keepdir /var/spool/asterisk + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + newinitd "${FILESDIR}"/1.8.0/asterisk.initd7 asterisk + newconfd "${FILESDIR}"/1.8.0/asterisk.confd asterisk + + systemd_dounit "${FILESDIR}"/asterisk.service + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf + + # install the upgrade documentation + # + dodoc README UPGRADE* BUGS CREDITS + + # install extra documentation + # + if use doc + then + dodoc doc/*.txt + dodoc doc/*.pdf + fi + + # install SIP scripts; bug #300832 + # + dodoc "${FILESDIR}/1.6.2/sip_calc_auth" + dodoc "${FILESDIR}/1.8.0/find_call_sip_trace.sh" + dodoc "${FILESDIR}/1.8.0/find_call_ids.sh" + dodoc "${FILESDIR}/1.6.2/call_data.txt" + + # install logrotate snippet; bug #329281 + # + insinto /etc/logrotate.d + newins "${FILESDIR}/1.6.2/asterisk.logrotate3" asterisk +} + +pkg_postinst() { + # + # Announcements, warnings, reminders... + # + einfo "Asterisk has been installed" + echo + elog "If you want to know more about asterisk, visit these sites:" + elog "http://www.asteriskdocs.org/" + elog "http://www.voip-info.org/wiki-Asterisk" + echo + elog "http://www.automated.it/guidetoasterisk.htm" + echo + elog "Gentoo VoIP IRC Channel:" + elog "#gentoo-voip @ irc.freenode.net" + echo + echo + elog "Please read the Asterisk 11 upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+11" +} + +pkg_config() { + einfo "Do you want to reset file permissions and ownerships (y/N)?" + + read tmp + tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')" + + if [[ "$tmp" = "y" ]] ||\ + [[ "$tmp" = "yes" ]] + then + einfo "Resetting permissions to defaults..." + + for x in spool run lib log; do + chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk + chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk + done + + chown -R root:asterisk "${ROOT}"etc/asterisk + chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk + + einfo "done" + else + einfo "skipping" + fi +} diff --git a/net-misc/asterisk/asterisk-11.15.0-r1.ebuild b/net-misc/asterisk/asterisk-11.15.0-r1.ebuild new file mode 100644 index 000000000000..2ebf4e75223a --- /dev/null +++ b/net-misc/asterisk/asterisk-11.15.0-r1.ebuild @@ -0,0 +1,324 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-11.15.0-r1.ebuild,v 1.1 2014/12/30 21:15:52 tamiko Exp $ + +EAPI=5 +inherit autotools base eutils linux-info multilib user systemd + +MY_P="${PN}-${PV/_/-}" + +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-3.14.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE_VOICEMAIL_STORAGE=" + +voicemail_storage_file + voicemail_storage_odbc + voicemail_storage_imap +" +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 selinux snmp span speex srtp static syslog vorbis" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( jabber ) + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) + voicemail_storage_odbc? ( odbc ) +" + +EPATCH_SUFFIX="patch" +PATCHES=( "${WORKDIR}/asterisk-patchset" ) + +CDEPEND="dev-db/sqlite:3 + dev-libs/popt + dev-libs/libxml2 + dev-libs/openssl + sys-libs/ncurses + sys-libs/zlib + 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 ) + freetds? ( dev-db/freetds ) + gtalk? ( dev-libs/iksemel ) + http? ( dev-libs/gmime:2.6 ) + iconv? ( virtual/libiconv ) + ilbc? ( dev-libs/ilbc-rfc3951 ) + jabber? ( dev-libs/iksemel ) + ldap? ( net-nds/openldap ) + libedit? ( dev-libs/libedit ) + lua? ( dev-lang/lua ) + mysql? ( virtual/mysql ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + osplookup? ( net-libs/osptoolkit ) + portaudio? ( media-libs/portaudio ) + postgres? ( dev-db/postgresql ) + radius? ( net-dialup/radiusclient-ng ) + snmp? ( net-analyzer/net-snmp ) + span? ( media-libs/spandsp ) + speex? ( media-libs/speex ) + srtp? ( net-libs/libsrtp ) + vorbis? ( media-libs/libvorbis )" + +DEPEND="${CDEPEND} + !net-libs/openh323 + !net-libs/pjsip + voicemail_storage_imap? ( virtual/imap-c-client ) + virtual/pkgconfig +" + +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-asterisk ) + syslog? ( virtual/logger )" + +PDEPEND="net-misc/asterisk-core-sounds + net-misc/asterisk-extra-sounds + net-misc/asterisk-moh-opsound" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + CONFIG_CHECK="~!NF_CONNTRACK_SIP" + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users + have reported that this module dropped critical SIP packets in their deployments. You + may want to disable it if you see such problems." + check_extra_config + + enewgroup asterisk + enewgroup dialout 20 + enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout" +} + +src_prepare() { + base_src_prepare + AT_M4DIR=autoconf eautoreconf +} + +src_configure() { + local vmst + + econf \ + --libdir="/usr/$(get_libdir)" \ + --localstatedir="/var" \ + --with-crypto \ + --with-gsm=internal \ + --with-popt \ + --with-ssl \ + --with-z \ + --without-pwlib \ + $(use_with caps cap) \ + $(use_with http gmime) \ + $(use_with newt) \ + $(use_with portaudio) + + # Blank out sounds/sounds.xml file to prevent + # asterisk from installing sounds files (we pull them in via + # asterisk-{core,extra}-sounds and asterisk-moh-opsound. + >"${S}"/sounds/sounds.xml + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + emake menuselect.makeopts + + # Broken functionality is forcibly disabled (bug #360143) + menuselect/menuselect --disable chan_misdn menuselect.makeopts + menuselect/menuselect --disable chan_ooh323 menuselect.makeopts + + # Utility set is forcibly enabled (bug #358001) + menuselect/menuselect --enable smsq menuselect.makeopts + menuselect/menuselect --enable streamplayer menuselect.makeopts + menuselect/menuselect --enable aelparse menuselect.makeopts + menuselect/menuselect --enable astman menuselect.makeopts + + # this is connected, otherwise it would not find + # ast_pktccops_gate_alloc symbol + menuselect/menuselect --enable chan_mgcp menuselect.makeopts + menuselect/menuselect --enable res_pktccops menuselect.makeopts + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + menuselect/menuselect --enable pbx_dundi menuselect.makeopts + menuselect/menuselect --enable func_aes menuselect.makeopts + menuselect/menuselect --enable chan_iax2 menuselect.makeopts + + # SQlite3 is now the main database backend, enable related features + menuselect/menuselect --enable cdr_sqlite3_custom menuselect.makeopts + menuselect/menuselect --enable cel_sqlite3_custom menuselect.makeopts + + # The others are based on USE-flag settings + use_select() { + local state=$(use "$1" && echo enable || echo disable) + shift # remove use from parameters + + while [[ -n $1 ]]; do + menuselect/menuselect --${state} "$1" menuselect.makeopts + shift + done + } + + use_select alsa chan_alsa + 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 app_meetme chan_dahdi codec_dahdi res_timing_dahdi + use_select freetds {cdr,cel}_tds + use_select gtalk chan_motif + use_select http res_http_post + use_select iconv func_iconv + use_select jabber res_xmpp + use_select ilbc codec_ilbc format_ilbc + 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 oss chan_oss + use_select postgres {cdr,cel}_pgsql res_config_pgsql + use_select radius {cdr,cel}_radius + use_select snmp res_snmp + use_select span res_fax_spandsp + use_select speex {codec,func}_speex + use_select srtp res_srtp + use_select syslog cdr_syslog + use_select vorbis format_ogg_vorbis + + # Voicemail storage ... + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do + if use ${vmst}; then + menuselect/menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do + menuselect/menuselect --enable $o menuselect.makeopts + done + fi +} + +src_compile() { + ASTLDFLAGS="${LDFLAGS}" emake +} + +src_install() { + mkdir -p "${D}"usr/$(get_libdir)/pkgconfig || die + emake DESTDIR="${D}" installdirs + emake DESTDIR="${D}" install + + if use radius; then + insinto /etc/radiusclient-ng/ + doins contrib/dictionary.digium + fi + diropts -m 0750 -o root -g asterisk + keepdir /etc/asterisk + if use samples; then + emake DESTDIR="${D}" samples + for conffile in "${D}"etc/asterisk/*.* + do + chown root:root $conffile + chmod 0644 $conffile + done + einfo "Sample files have been installed" + else + einfo "Skipping installation of sample files..." + rm -f "${D}"var/lib/asterisk/mohmp3/* || die + rm -f "${D}"var/lib/asterisk/sounds/demo-* || die + rm -f "${D}"var/lib/asterisk/agi-bin/* || die + rm -f "${D}"etc/asterisk/* || die + fi + rm -rf "${D}"var/spool/asterisk/voicemail/default || die + + # keep directories + diropts -m 0770 -o asterisk asterisk + keepdir /var/lib/asterisk + keepdir /var/spool/asterisk + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + newinitd "${FILESDIR}"/1.8.0/asterisk.initd7 asterisk + newconfd "${FILESDIR}"/1.8.0/asterisk.confd asterisk + + systemd_dounit "${FILESDIR}"/asterisk.service + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf + + # install the upgrade documentation + # + dodoc README UPGRADE* BUGS CREDITS + + # install extra documentation + # + if use doc + then + dodoc doc/*.txt + dodoc doc/*.pdf + fi + + # install SIP scripts; bug #300832 + # + dodoc "${FILESDIR}/1.6.2/sip_calc_auth" + dodoc "${FILESDIR}/1.8.0/find_call_sip_trace.sh" + dodoc "${FILESDIR}/1.8.0/find_call_ids.sh" + dodoc "${FILESDIR}/1.6.2/call_data.txt" + + # install logrotate snippet; bug #329281 + # + insinto /etc/logrotate.d + newins "${FILESDIR}/1.6.2/asterisk.logrotate3" asterisk +} + +pkg_postinst() { + # + # Announcements, warnings, reminders... + # + einfo "Asterisk has been installed" + echo + elog "If you want to know more about asterisk, visit these sites:" + elog "http://www.asteriskdocs.org/" + elog "http://www.voip-info.org/wiki-Asterisk" + echo + elog "http://www.automated.it/guidetoasterisk.htm" + echo + elog "Gentoo VoIP IRC Channel:" + elog "#gentoo-voip @ irc.freenode.net" + echo + echo + elog "Please read the Asterisk 11 upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+11" +} + +pkg_config() { + einfo "Do you want to reset file permissions and ownerships (y/N)?" + + read tmp + tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')" + + if [[ "$tmp" = "y" ]] ||\ + [[ "$tmp" = "yes" ]] + then + einfo "Resetting permissions to defaults..." + + for x in spool run lib log; do + chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk + chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk + done + + chown -R root:asterisk "${ROOT}"etc/asterisk + chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk + + einfo "done" + else + einfo "skipping" + fi +} diff --git a/net-misc/asterisk/asterisk-12.7.2-r1.ebuild b/net-misc/asterisk/asterisk-12.7.2-r1.ebuild new file mode 100644 index 000000000000..26e128227f8a --- /dev/null +++ b/net-misc/asterisk/asterisk-12.7.2-r1.ebuild @@ -0,0 +1,325 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-12.7.2-r1.ebuild,v 1.1 2014/12/30 21:15:52 tamiko Exp $ + +EAPI=5 +inherit autotools base eutils linux-info multilib user systemd + +MY_P="${PN}-${PV/_/-}" + +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-3.14.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE_VOICEMAIL_STORAGE=" + +voicemail_storage_file + voicemail_storage_odbc + voicemail_storage_imap +" +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 selinux snmp span speex srtp static syslog vorbis" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( jabber ) + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) + voicemail_storage_odbc? ( odbc ) +" + +EPATCH_SUFFIX="patch" +PATCHES=( "${WORKDIR}/asterisk-patchset" ) + +CDEPEND="dev-db/sqlite:3 + dev-libs/popt + dev-libs/jansson + dev-libs/libxml2 + dev-libs/openssl + sys-libs/ncurses + sys-libs/zlib + 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 ) + freetds? ( dev-db/freetds ) + gtalk? ( dev-libs/iksemel ) + http? ( dev-libs/gmime:2.6 ) + iconv? ( virtual/libiconv ) + ilbc? ( dev-libs/ilbc-rfc3951 ) + jabber? ( dev-libs/iksemel ) + ldap? ( net-nds/openldap ) + libedit? ( dev-libs/libedit ) + lua? ( dev-lang/lua ) + mysql? ( virtual/mysql ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + osplookup? ( net-libs/osptoolkit ) + portaudio? ( media-libs/portaudio ) + postgres? ( dev-db/postgresql ) + radius? ( net-dialup/radiusclient-ng ) + snmp? ( net-analyzer/net-snmp ) + span? ( media-libs/spandsp ) + speex? ( media-libs/speex ) + srtp? ( net-libs/libsrtp ) + vorbis? ( media-libs/libvorbis )" + +DEPEND="${CDEPEND} + !net-libs/openh323 + !net-libs/pjsip + voicemail_storage_imap? ( virtual/imap-c-client ) + virtual/pkgconfig +" + +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-asterisk ) + syslog? ( virtual/logger )" + +PDEPEND="net-misc/asterisk-core-sounds + net-misc/asterisk-extra-sounds + net-misc/asterisk-moh-opsound" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + CONFIG_CHECK="~!NF_CONNTRACK_SIP" + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users + have reported that this module dropped critical SIP packets in their deployments. You + may want to disable it if you see such problems." + check_extra_config + + enewgroup asterisk + enewgroup dialout 20 + enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout" +} + +src_prepare() { + base_src_prepare + AT_M4DIR=autoconf eautoreconf +} + +src_configure() { + local vmst + + econf \ + --libdir="/usr/$(get_libdir)" \ + --localstatedir="/var" \ + --with-crypto \ + --with-gsm=internal \ + --with-popt \ + --with-ssl \ + --with-z \ + --without-pwlib \ + $(use_with caps cap) \ + $(use_with http gmime) \ + $(use_with newt) \ + $(use_with portaudio) + + # Blank out sounds/sounds.xml file to prevent + # asterisk from installing sounds files (we pull them in via + # asterisk-{core,extra}-sounds and asterisk-moh-opsound. + >"${S}"/sounds/sounds.xml + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + emake menuselect.makeopts + + # Broken functionality is forcibly disabled (bug #360143) + menuselect/menuselect --disable chan_misdn menuselect.makeopts + menuselect/menuselect --disable chan_ooh323 menuselect.makeopts + + # Utility set is forcibly enabled (bug #358001) + menuselect/menuselect --enable smsq menuselect.makeopts + menuselect/menuselect --enable streamplayer menuselect.makeopts + menuselect/menuselect --enable aelparse menuselect.makeopts + menuselect/menuselect --enable astman menuselect.makeopts + + # this is connected, otherwise it would not find + # ast_pktccops_gate_alloc symbol + menuselect/menuselect --enable chan_mgcp menuselect.makeopts + menuselect/menuselect --enable res_pktccops menuselect.makeopts + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + menuselect/menuselect --enable pbx_dundi menuselect.makeopts + menuselect/menuselect --enable func_aes menuselect.makeopts + menuselect/menuselect --enable chan_iax2 menuselect.makeopts + + # SQlite3 is now the main database backend, enable related features + menuselect/menuselect --enable cdr_sqlite3_custom menuselect.makeopts + menuselect/menuselect --enable cel_sqlite3_custom menuselect.makeopts + + # The others are based on USE-flag settings + use_select() { + local state=$(use "$1" && echo enable || echo disable) + shift # remove use from parameters + + while [[ -n $1 ]]; do + menuselect/menuselect --${state} "$1" menuselect.makeopts + shift + done + } + + use_select alsa chan_alsa + 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 app_meetme chan_dahdi codec_dahdi res_timing_dahdi + use_select freetds {cdr,cel}_tds + use_select gtalk chan_motif + use_select http res_http_post + use_select iconv func_iconv + use_select jabber res_xmpp + use_select ilbc codec_ilbc format_ilbc + 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 oss chan_oss + use_select postgres {cdr,cel}_pgsql res_config_pgsql + use_select radius {cdr,cel}_radius + use_select snmp res_snmp + use_select span res_fax_spandsp + use_select speex {codec,func}_speex + use_select srtp res_srtp + use_select syslog cdr_syslog + use_select vorbis format_ogg_vorbis + + # Voicemail storage ... + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do + if use ${vmst}; then + menuselect/menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do + menuselect/menuselect --enable $o menuselect.makeopts + done + fi +} + +src_compile() { + ASTLDFLAGS="${LDFLAGS}" emake +} + +src_install() { + mkdir -p "${D}"usr/$(get_libdir)/pkgconfig || die + emake DESTDIR="${D}" installdirs + emake DESTDIR="${D}" install + + if use radius; then + insinto /etc/radiusclient-ng/ + doins contrib/dictionary.digium + fi + diropts -m 0750 -o root -g asterisk + keepdir /etc/asterisk + if use samples; then + emake DESTDIR="${D}" samples + for conffile in "${D}"etc/asterisk/*.* + do + chown root:root $conffile + chmod 0644 $conffile + done + einfo "Sample files have been installed" + else + einfo "Skipping installation of sample files..." + rm -f "${D}"var/lib/asterisk/mohmp3/* || die + rm -f "${D}"var/lib/asterisk/sounds/demo-* || die + rm -f "${D}"var/lib/asterisk/agi-bin/* || die + rm -f "${D}"etc/asterisk/* || die + fi + rm -rf "${D}"var/spool/asterisk/voicemail/default || die + + # keep directories + diropts -m 0770 -o asterisk asterisk + keepdir /var/lib/asterisk + keepdir /var/spool/asterisk + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + newinitd "${FILESDIR}"/1.8.0/asterisk.initd7 asterisk + newconfd "${FILESDIR}"/1.8.0/asterisk.confd asterisk + + systemd_dounit "${FILESDIR}"/asterisk.service + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf + + # install the upgrade documentation + # + dodoc README UPGRADE* BUGS CREDITS + + # install extra documentation + # + if use doc + then + dodoc doc/*.txt + dodoc doc/*.pdf + fi + + # install SIP scripts; bug #300832 + # + dodoc "${FILESDIR}/1.6.2/sip_calc_auth" + dodoc "${FILESDIR}/1.8.0/find_call_sip_trace.sh" + dodoc "${FILESDIR}/1.8.0/find_call_ids.sh" + dodoc "${FILESDIR}/1.6.2/call_data.txt" + + # install logrotate snippet; bug #329281 + # + insinto /etc/logrotate.d + newins "${FILESDIR}/1.6.2/asterisk.logrotate3" asterisk +} + +pkg_postinst() { + # + # Announcements, warnings, reminders... + # + einfo "Asterisk has been installed" + echo + elog "If you want to know more about asterisk, visit these sites:" + elog "http://www.asteriskdocs.org/" + elog "http://www.voip-info.org/wiki-Asterisk" + echo + elog "http://www.automated.it/guidetoasterisk.htm" + echo + elog "Gentoo VoIP IRC Channel:" + elog "#gentoo-voip @ irc.freenode.net" + echo + echo + elog "Please read the Asterisk 12 upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+12" +} + +pkg_config() { + einfo "Do you want to reset file permissions and ownerships (y/N)?" + + read tmp + tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')" + + if [[ "$tmp" = "y" ]] ||\ + [[ "$tmp" = "yes" ]] + then + einfo "Resetting permissions to defaults..." + + for x in spool run lib log; do + chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk + chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk + done + + chown -R root:asterisk "${ROOT}"etc/asterisk + chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk + + einfo "done" + else + einfo "skipping" + fi +} diff --git a/net-misc/asterisk/asterisk-12.8.0-r1.ebuild b/net-misc/asterisk/asterisk-12.8.0-r1.ebuild new file mode 100644 index 000000000000..2c764fdcfadd --- /dev/null +++ b/net-misc/asterisk/asterisk-12.8.0-r1.ebuild @@ -0,0 +1,325 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-12.8.0-r1.ebuild,v 1.1 2014/12/30 21:15:52 tamiko Exp $ + +EAPI=5 +inherit autotools base eutils linux-info multilib user systemd + +MY_P="${PN}-${PV/_/-}" + +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-3.14.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE_VOICEMAIL_STORAGE=" + +voicemail_storage_file + voicemail_storage_odbc + voicemail_storage_imap +" +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 selinux snmp span speex srtp static syslog vorbis" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( jabber ) + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) + voicemail_storage_odbc? ( odbc ) +" + +EPATCH_SUFFIX="patch" +PATCHES=( "${WORKDIR}/asterisk-patchset" ) + +CDEPEND="dev-db/sqlite:3 + dev-libs/popt + dev-libs/jansson + dev-libs/libxml2 + dev-libs/openssl + sys-libs/ncurses + sys-libs/zlib + 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 ) + freetds? ( dev-db/freetds ) + gtalk? ( dev-libs/iksemel ) + http? ( dev-libs/gmime:2.6 ) + iconv? ( virtual/libiconv ) + ilbc? ( dev-libs/ilbc-rfc3951 ) + jabber? ( dev-libs/iksemel ) + ldap? ( net-nds/openldap ) + libedit? ( dev-libs/libedit ) + lua? ( dev-lang/lua ) + mysql? ( virtual/mysql ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + osplookup? ( net-libs/osptoolkit ) + portaudio? ( media-libs/portaudio ) + postgres? ( dev-db/postgresql ) + radius? ( net-dialup/radiusclient-ng ) + snmp? ( net-analyzer/net-snmp ) + span? ( media-libs/spandsp ) + speex? ( media-libs/speex ) + srtp? ( net-libs/libsrtp ) + vorbis? ( media-libs/libvorbis )" + +DEPEND="${CDEPEND} + !net-libs/openh323 + !net-libs/pjsip + voicemail_storage_imap? ( virtual/imap-c-client ) + virtual/pkgconfig +" + +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-asterisk ) + syslog? ( virtual/logger )" + +PDEPEND="net-misc/asterisk-core-sounds + net-misc/asterisk-extra-sounds + net-misc/asterisk-moh-opsound" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + CONFIG_CHECK="~!NF_CONNTRACK_SIP" + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users + have reported that this module dropped critical SIP packets in their deployments. You + may want to disable it if you see such problems." + check_extra_config + + enewgroup asterisk + enewgroup dialout 20 + enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout" +} + +src_prepare() { + base_src_prepare + AT_M4DIR=autoconf eautoreconf +} + +src_configure() { + local vmst + + econf \ + --libdir="/usr/$(get_libdir)" \ + --localstatedir="/var" \ + --with-crypto \ + --with-gsm=internal \ + --with-popt \ + --with-ssl \ + --with-z \ + --without-pwlib \ + $(use_with caps cap) \ + $(use_with http gmime) \ + $(use_with newt) \ + $(use_with portaudio) + + # Blank out sounds/sounds.xml file to prevent + # asterisk from installing sounds files (we pull them in via + # asterisk-{core,extra}-sounds and asterisk-moh-opsound. + >"${S}"/sounds/sounds.xml + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + emake menuselect.makeopts + + # Broken functionality is forcibly disabled (bug #360143) + menuselect/menuselect --disable chan_misdn menuselect.makeopts + menuselect/menuselect --disable chan_ooh323 menuselect.makeopts + + # Utility set is forcibly enabled (bug #358001) + menuselect/menuselect --enable smsq menuselect.makeopts + menuselect/menuselect --enable streamplayer menuselect.makeopts + menuselect/menuselect --enable aelparse menuselect.makeopts + menuselect/menuselect --enable astman menuselect.makeopts + + # this is connected, otherwise it would not find + # ast_pktccops_gate_alloc symbol + menuselect/menuselect --enable chan_mgcp menuselect.makeopts + menuselect/menuselect --enable res_pktccops menuselect.makeopts + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + menuselect/menuselect --enable pbx_dundi menuselect.makeopts + menuselect/menuselect --enable func_aes menuselect.makeopts + menuselect/menuselect --enable chan_iax2 menuselect.makeopts + + # SQlite3 is now the main database backend, enable related features + menuselect/menuselect --enable cdr_sqlite3_custom menuselect.makeopts + menuselect/menuselect --enable cel_sqlite3_custom menuselect.makeopts + + # The others are based on USE-flag settings + use_select() { + local state=$(use "$1" && echo enable || echo disable) + shift # remove use from parameters + + while [[ -n $1 ]]; do + menuselect/menuselect --${state} "$1" menuselect.makeopts + shift + done + } + + use_select alsa chan_alsa + 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 app_meetme chan_dahdi codec_dahdi res_timing_dahdi + use_select freetds {cdr,cel}_tds + use_select gtalk chan_motif + use_select http res_http_post + use_select iconv func_iconv + use_select jabber res_xmpp + use_select ilbc codec_ilbc format_ilbc + 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 oss chan_oss + use_select postgres {cdr,cel}_pgsql res_config_pgsql + use_select radius {cdr,cel}_radius + use_select snmp res_snmp + use_select span res_fax_spandsp + use_select speex {codec,func}_speex + use_select srtp res_srtp + use_select syslog cdr_syslog + use_select vorbis format_ogg_vorbis + + # Voicemail storage ... + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do + if use ${vmst}; then + menuselect/menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do + menuselect/menuselect --enable $o menuselect.makeopts + done + fi +} + +src_compile() { + ASTLDFLAGS="${LDFLAGS}" emake +} + +src_install() { + mkdir -p "${D}"usr/$(get_libdir)/pkgconfig || die + emake DESTDIR="${D}" installdirs + emake DESTDIR="${D}" install + + if use radius; then + insinto /etc/radiusclient-ng/ + doins contrib/dictionary.digium + fi + diropts -m 0750 -o root -g asterisk + keepdir /etc/asterisk + if use samples; then + emake DESTDIR="${D}" samples + for conffile in "${D}"etc/asterisk/*.* + do + chown root:root $conffile + chmod 0644 $conffile + done + einfo "Sample files have been installed" + else + einfo "Skipping installation of sample files..." + rm -f "${D}"var/lib/asterisk/mohmp3/* || die + rm -f "${D}"var/lib/asterisk/sounds/demo-* || die + rm -f "${D}"var/lib/asterisk/agi-bin/* || die + rm -f "${D}"etc/asterisk/* || die + fi + rm -rf "${D}"var/spool/asterisk/voicemail/default || die + + # keep directories + diropts -m 0770 -o asterisk asterisk + keepdir /var/lib/asterisk + keepdir /var/spool/asterisk + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + newinitd "${FILESDIR}"/1.8.0/asterisk.initd7 asterisk + newconfd "${FILESDIR}"/1.8.0/asterisk.confd asterisk + + systemd_dounit "${FILESDIR}"/asterisk.service + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf + + # install the upgrade documentation + # + dodoc README UPGRADE* BUGS CREDITS + + # install extra documentation + # + if use doc + then + dodoc doc/*.txt + dodoc doc/*.pdf + fi + + # install SIP scripts; bug #300832 + # + dodoc "${FILESDIR}/1.6.2/sip_calc_auth" + dodoc "${FILESDIR}/1.8.0/find_call_sip_trace.sh" + dodoc "${FILESDIR}/1.8.0/find_call_ids.sh" + dodoc "${FILESDIR}/1.6.2/call_data.txt" + + # install logrotate snippet; bug #329281 + # + insinto /etc/logrotate.d + newins "${FILESDIR}/1.6.2/asterisk.logrotate3" asterisk +} + +pkg_postinst() { + # + # Announcements, warnings, reminders... + # + einfo "Asterisk has been installed" + echo + elog "If you want to know more about asterisk, visit these sites:" + elog "http://www.asteriskdocs.org/" + elog "http://www.voip-info.org/wiki-Asterisk" + echo + elog "http://www.automated.it/guidetoasterisk.htm" + echo + elog "Gentoo VoIP IRC Channel:" + elog "#gentoo-voip @ irc.freenode.net" + echo + echo + elog "Please read the Asterisk 12 upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+12" +} + +pkg_config() { + einfo "Do you want to reset file permissions and ownerships (y/N)?" + + read tmp + tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')" + + if [[ "$tmp" = "y" ]] ||\ + [[ "$tmp" = "yes" ]] + then + einfo "Resetting permissions to defaults..." + + for x in spool run lib log; do + chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk + chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk + done + + chown -R root:asterisk "${ROOT}"etc/asterisk + chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk + + einfo "done" + else + einfo "skipping" + fi +} diff --git a/net-misc/asterisk/files/asterisk.service b/net-misc/asterisk/files/asterisk.service new file mode 100644 index 000000000000..08245d9fe87f --- /dev/null +++ b/net-misc/asterisk/files/asterisk.service @@ -0,0 +1,23 @@ +[Unit] +Description=Asterisk PBX and telephony daemon. +After=network.target + +[Service] +Type=simple +WorkingDirectory=/var/lib/asterisk +User=asterisk +Group=asterisk +ExecStart=/usr/sbin/asterisk -f -C /etc/asterisk/asterisk.conf +ExecStop=/usr/sbin/asterisk -rx 'core stop now' +ExecReload=/usr/sbin/asterisk -rx 'core reload' + +LimitNOFILE=4096 +ProtectSystem=full +ProtectHome=yes +PrivateTmp=yes + +Restart=always +RestartSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/net-misc/asterisk/files/asterisk.service.conf b/net-misc/asterisk/files/asterisk.service.conf new file mode 100644 index 000000000000..b7f83b71c5b0 --- /dev/null +++ b/net-misc/asterisk/files/asterisk.service.conf @@ -0,0 +1,11 @@ +# Uncomment the following 7 lines to start asterisk with a console on tty7 +# +# Warning! Use only for debugging, this is a potential security issue! +# +# [Service] +# ExecStart= +# ExecStart=/usr/sbin/asterisk -f -c -C /etc/asterisk/asterisk.conf +# TTYPath=/dev/tty7 +# StandardInput=tty +# StandardOutput=tty +# StandardError=tty diff --git a/net-misc/asterisk/files/asterisk.tmpfiles.conf b/net-misc/asterisk/files/asterisk.tmpfiles.conf new file mode 100644 index 000000000000..637302a27373 --- /dev/null +++ b/net-misc/asterisk/files/asterisk.tmpfiles.conf @@ -0,0 +1,2 @@ +d /var/run/asterisk 0750 asterisk asterisk +d /var/spool/asterisk 0750 asterisk asterisk -- 2.26.2