summaryrefslogtreecommitdiff
path: root/net-misc/asterisk
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-05-11 05:45:51 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-05-11 05:45:51 +0100
commit980af9d76d4b7d7541b41eeff427e5cbd5cf7ec3 (patch)
tree0b86d672e967b7f78ba20788fd85818efd54dc01 /net-misc/asterisk
parentf356af92b88d56b78588e81310493d4f5a2f6d18 (diff)
gentoo auto-resync : 11:05:2023 - 05:45:51
Diffstat (limited to 'net-misc/asterisk')
-rw-r--r--net-misc/asterisk/Manifest25
-rw-r--r--net-misc/asterisk/asterisk-16.26.1.ebuild372
-rw-r--r--net-misc/asterisk/asterisk-16.27.0.ebuild372
-rw-r--r--net-misc/asterisk/asterisk-16.29.0.ebuild377
-rw-r--r--net-misc/asterisk/asterisk-18.13.0.ebuild370
-rw-r--r--net-misc/asterisk/asterisk-18.15.0.ebuild375
-rw-r--r--net-misc/asterisk/asterisk-18.17.1.ebuild (renamed from net-misc/asterisk/asterisk-18.16.0.ebuild)6
-rw-r--r--net-misc/asterisk/asterisk-20.0.1.ebuild372
-rw-r--r--net-misc/asterisk/asterisk-20.1.0.ebuild371
-rw-r--r--net-misc/asterisk/asterisk-20.2.1.ebuild (renamed from net-misc/asterisk/asterisk-20.2.0.ebuild)6
-rw-r--r--net-misc/asterisk/files/asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch71
-rw-r--r--net-misc/asterisk/files/asterisk_wrapper-18.17.1-20.2.1227
-rw-r--r--net-misc/asterisk/files/initd-18.17.1-20.2.1311
13 files changed, 624 insertions, 2631 deletions
diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest
index b9db7305d44c..5c7fe5045c03 100644
--- a/net-misc/asterisk/Manifest
+++ b/net-misc/asterisk/Manifest
@@ -1,36 +1,25 @@
AUX 1.6.2/asterisk.logrotate4 848 BLAKE2B b169368ad6893e2fc2680b788569cf8b74657531b9484664aae2869f6dfef3ff71cf64a3fa91e90c4fdbb275a8038751fff4087129e67f63b11b81a436e459b7 SHA512 8d661424838fd9500512290785a56af4364717df87d3423ab8dc3039affd1a26fa7aae6afe2ca4fe1ce668a0172b07a96f4cc9a73eced95f25d5848f3a3f2624
AUX asterisk-16.16.2-no-var-run-install.patch 728 BLAKE2B 25fc61c4aa68d9e3243d1161e68e0b61b14b5505eadd00fdf46e1c3977e7fb536afd42dc6c9a07f400a686c19afd04fd8f00fc1cb916978783a9e54ecfe81dd4 SHA512 ab1e7ac700711125162396c4ebe590eb000f4ad6c4cbe8845794f5d06353a4a52167fcc83ee97860f38540089cad6d45f2e8589c1f30098e85479a2b4c722f75
AUX asterisk-16.29.1_18.15.1_20.0.1-noexec_stack.patch 1447 BLAKE2B 2785ea3e923d048f83bb2e25d7a645fe27e69051d43c5c4577e98218b6044cf79661d69076737d55dff8bd5be19f87dcfa24bd54003cbea3f36a736234941dc8 SHA512 05eb7e0ca1eee4f6ebae8fd3be67c34cf0d27ac90393c0c9f21f2c4fda5e69f91fbd63d7ebedbcd26f5e2498c1fd4ff9a4079fdfaf5741819892cda6f5753623
+AUX asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch 3303 BLAKE2B 262d7a632c170f1b1a19a32271aaaae6bb4b09613fba87567c7678740926850dee5246ea1a99118976790a7b583b09f452fb71cbbab09c0059bfaa17184d5665 SHA512 9a3976e43fa42c2e6eba4c2ff525529e784c68795cd2a5aea9838e8b14668a3a1796a6dfa517f8370ea3f873ac53073368ad6612c033652b40463aca451caa13
AUX asterisk.service 456 BLAKE2B 4a5da9f0e45aa3b1eff29d59317d09e061e0a0e3c0e38cd39732e7880e96b7f34a68b44001d2608a7636b1259803f567b94bdb85ef15428727427fa1081ee385 SHA512 d443c3821d50e78a76b7cad8906f560ab0f4b58007f6c9322256626bc4a502bdbd844f1ee48cdaf86d499bf78f50cebb0cfc88a0cab0c4876f4e853bc2e76aa8
AUX asterisk.service.conf 324 BLAKE2B b802f69897f050f661412631da7ddc6e3207ff0d776ad2c2cfb13677049b8e3fce8c565103057745a48a4245f8c660f805088844fdea7fb042facd32b5ec13b7 SHA512 94be3b27f9d862d357b62d14b9d59ca47487bfd4987ce3b0ea2bb862c6d03e1d3c8b536590f20295fd085166da3efdff869c4cfc37542a31933d22b6d9b73da3
AUX asterisk.tmpfiles-16.22.0-18.8.0.conf 84 BLAKE2B 133761739570a08bebb88059df1a870ddaef194bd1c5a1a4d4626d3791e3cb664b03ff51260892167a22c3cfca2caa02d162e7476070ec1374a92ef24ec799dc SHA512 680a4478d3a501c26fa19e29fad18389e7e02f04c8b9a676ae0f192fa6afbed95a826b74696c6c5459aba5aba6a16c57df8a9c5ff486e9dc8f1cbd01185e9320
AUX asterisk_wrapper-16.26.1-18.12.1 6673 BLAKE2B 3f760e26135ca1e1992205d4183ea56082765b502152b3d87d1cb276c5e84e84abcc612cb16bc13eeb585b6a4d0daf2134032207d8a7016dae59ddeb72aa7996 SHA512 1bcf747ce20cf3aeca36f9375a06ad0a031099ad50951e2049b57abf82eef673ebed499de9e81944fee6167498886e47732b4102e79f65b2c99c059ab756c166
+AUX asterisk_wrapper-18.17.1-20.2.1 7221 BLAKE2B c4c696e6e79329903e5e33cec03cd11db752e2915c247cd4d503cfc00bbafab56a560dc37c8045604b4c793b2289e03096f7b0e66535df53a375e1d74b617dbd SHA512 472ee92546dbf725e9f1fca19e258e0d6c4005923edb27bf0b6bc08a18a86913a54f85edd610c114cd867c601fc029928d49f55afec4387b54566ed3835fca7d
AUX confd-16.26.1-18.12.1 4050 BLAKE2B cda2632a9b951f2061d4d7e25b221d0473c623860aa96eeb2bf0b8a8354606cc6b22e98ac3450d160e13507c21174d086ebecce3a4b6a470a3e19dc6a6a98784 SHA512 922c59f08f75f9c18955d7337caa8e1b12a0037909903f6afee707ffca8b784011ba35188b8a921ea8b9c6238556dc70bdd1b5716af7894c09821c03b4808340
AUX initd-16.26.1-18.12.1 8869 BLAKE2B ac5d389e3af994453f258b23a1cd5c5630d19b7a1c9af78804517eab219a71d6c7bb901048ea052ed1ba89f4f553d1bf4d40252bc7838f0169e9561855574a90 SHA512 ceb6b484c97800e4e1ddfed9f1e6a8d91788f41b4abd3214882d716ea4eb01c39a2fb828351b2aa33bd1f053dee1af8f2a1c416fdf98df43860996463bf1c13c
-DIST asterisk-16.26.1.tar.gz 28001023 BLAKE2B d426566827bd3466720f94eed04a654edac3566fd7cdd77e0a1596d4536b5612e24d48e8dc6891a89f2f63feef938a5c1fd6898c5a5efcd56d1a11500fa9e00b SHA512 cc8c72c8167210bc506ee224f83208d1c0f983a9e061465a25b133fce526fdf56693a9e5cbb1f65d13cb9c9515619663748b332c704d17e21d90ef37a697948a
-DIST asterisk-16.27.0.tar.gz 28014649 BLAKE2B 785650674bb2762ab898118cf49aa2cddde60f7e42df0a882751e36053f3cfb7de94475acf6bd484a1998c04b1edd1dca2ee4e9895bf9e411d9b09f91f7a4743 SHA512 ae016a79f8c38c5ae0069d0fa7434a564c8a72efa69135ce17dc7febf220a189ef47aba064ab39a2f49be0f7d5138b36e29f2d004ba51aa3724708efce645d1e
-DIST asterisk-16.29.0.tar.gz 28105953 BLAKE2B a17dbbb1f717ba6d03da71f761f063a5b95e71f50378cf6bc3abdbaf1bcbac462be1b051c1fe1812a6f2c9082c9928a85ea60346dae742149f230ab8ec6c997f SHA512 7a83778c406dbb7d1e0eebc4eb9f51c841fc5fc987445014e685ade9e143bb81e2fb4870a6ddaf3e4721e75bbd5d6468c9d896616bb1411bad84ac6ca510d69b
+AUX initd-18.17.1-20.2.1 8882 BLAKE2B 0dd7507254955ccc21688068107211380289ff468ad74140f135097d2babdb1b31db161bf2d91fa237a883a94c4d1af84c31856cee88f07cee52a17f212ad720 SHA512 2dd51d8342e212df4d98576de8b1017d6e7fdd257a70b49d2baf78bc1640911e351ec89b14fe4c55d905d738e277f2b65d4e627535eecc5eb195e7678b3d9759
DIST asterisk-16.29.1.tar.gz 28104161 BLAKE2B 030d0c2ce296db9c38ebd45b69b8a57f368e97f6121aca77c5b1dd4eeaa9f274f4d0e404bbae1317c1c02497e155ca9fef06b82d003987621d2c46984e5f5d2c SHA512 5ae5c22b48ea0ff83a655d64a0122923e736e84d612b7936d157614b01ed1f12da76a8adb10c045023a9464dce26563c8458fcea80af3f26176ed1fcbe4e5376
DIST asterisk-16.30.0.tar.gz 28131110 BLAKE2B f230155a6347e891b531e54fe2821f1d477ed83699dd4a90c67b3307965430dbcdd04bd0ced49803776d349e29846492a6ef96e19ad3665dc610623be8de25cc SHA512 59cfbc1463dbad6ae7c6307d96b1a220fb02b3e398f96708654e58db788d57f2ca7aac8d4a290ed04f333b5c82c514ec9b95681125e3bdddc237e6c778fd2aec
-DIST asterisk-18.13.0.tar.gz 28127627 BLAKE2B 24e030d5226fb3cad8e2fedce951fab047afbdf5556821bc246acc3731f25398d47eac7b7e0a97f019d9e97cc6f8990967019db62845f21f3b3459a2c3fced02 SHA512 085dfcf15f99d7d96b49a720156678c4de5a88b55375257a9a1234f9dd83f21eed1685d4177dae5978272608e690582367c6c34fdef91bbad54299594d0ce9df
-DIST asterisk-18.15.0.tar.gz 28219845 BLAKE2B 712e14bcc2f24b645c39fdfbae19771134e065a9f83187e6578aeb70686a19e66faef4fb700089379274b7fbe9f99cdeec92761fa734926b3bb5db2f02cad8ff SHA512 acf202246e149ddc44ffb688a834455420d6ab53989560568cdccf0da121821ee946c45085c964b52632e24109741908d3f4c00ca00d0b4a9402c128becd9e28
DIST asterisk-18.15.1.tar.gz 28216621 BLAKE2B f354a49111b22fe37caf72ba552d8ecc3dec17605771d153d05b01d7e3017c6a50087309c37078d32b6dc375bbb14dfee89356eb46355f47374a08d5427179a1 SHA512 c8bee50023b137d95b02ce770c9983fc3d8cfc10f7d714ab658fb118813ccf29d97b0ada64bfd2795ce3a0f9ecfe82bd85ab3abefe9c8cc83454cd50ff8e5cf5
-DIST asterisk-18.16.0.tar.gz 28278347 BLAKE2B 3e588d3ff6b14eb5334b0c2cca07ee026b9db20e83b07d0e21b1ec2d3fed8779c4e188248d151d9ac6e46da96e0e6a5673429394c84e0d445457d84f1ecc8eee SHA512 50cebb63e270a802a14e43c07ed1b9bf6b989a6a608c44d5aa3f415e66d4306523e5f916be21d6cef260e35fd097d2dc25ec850987dc407df873446c784f737a
DIST asterisk-18.17.0.tar.gz 28293243 BLAKE2B 8a162d7cac92df2b6dd430fedc1446a302b1b9c1061ddd4a236fd5797e8be17d53d7179d23a7c8bd4260c73d34dea2db2b9ebffd4eebb2ed714a286838bc5ddf SHA512 1a5dd9715811a8b699d49b057ef42f68ddc88cc22a568836a6a778f6ff22d3923f81840aef425819bb59f28bb27e321154ef9e1d3deba5ed7d39c7eca562e40e
-DIST asterisk-20.0.1.tar.gz 27983541 BLAKE2B a7d5f2b4d7721c66bb04ab395f97432791824b8e1136b224a03e52dd78d600f358278ad1a7dd2ec8684d5b850c3e65d5e14b98f7ecc3cee2ef93c4287e541dd3 SHA512 91e4835fd01233c81af0120d511522881af69e65abcc62a9e2241c89357a970b94901dfd7a7fcdbeba59eb3aa4c27f95735f2a10891f1ad6f2c36bb3244423e4
-DIST asterisk-20.1.0.tar.gz 28043611 BLAKE2B a9476afc1764b05193625724707077c92e975b8c78d89b9ed41a4b123d3b5d04c90f1e09d1cd20c4181ca1ea7d6e3d9f81521676540c7bfaa806ba51b462371f SHA512 e31652b37f918b1be0c395122b1013576a551c962c056963f87c2fce3561689b8a565e9b74e3fff0394879a505532d55d175ef9860dd9589323074b51149aaf6
-DIST asterisk-20.2.0.tar.gz 28058875 BLAKE2B 6944a286c5a629abe24f4b2c0bcb737dd792c5093a43214854a46de3f73036eda3520755900665400ff20e8c2f577b288d5eb934b4475190c8dcc689ce030962 SHA512 e4dcb074e6889b75d974ea83389434b9df8617b1a8b9ce051c764c874747645de6bc44f7e20e915e555b89f965a4c6dca97fd9fa6b9cad59b4d175f6bb26137a
-EBUILD asterisk-16.26.1.ebuild 11546 BLAKE2B 15fd447002f0181cce20b1386e987d38f74f09b4e8a307af8ec694c5197d258b8d7dfe367b8915945e21f80e0bf1a325a57f5ab8cc0bd787ee4928beb9fb0acf SHA512 6a5d185014e469eeb1609982691477b8359e8210fd925725630cb4df7e87c8e6fb0e97dfefcb9a3f2d5e812a3f317daadcfa45354418c97548e87e768ecffdb8
-EBUILD asterisk-16.27.0.ebuild 11548 BLAKE2B 5aef62cec87e4a1317349f7c99ac265e4926a18dc924c265b4704544ecfc35c58b11cba9fd52ae0601603b1820bae4f1e8665a7845b95437148aaf9d1d45da49 SHA512 f6dfea15e9ba0ca959e4a344cb280d9b5e488dd1f22d87e4198100d06e5bb246f7e7bdb7ce3cc116560c994d5d4973cb9a86b698be8f09eaad40e4652bad6706
-EBUILD asterisk-16.29.0.ebuild 11809 BLAKE2B fc78e275ac3248cc2b766b041577df7281c03adc4e8cbffdd27bff7db85f1b80b423230356f50126603ce0ea43f418b1c89653c499f421734029731c3029ade6 SHA512 788cc4819ca7d7b1ac96391cf011430ea518069e7dc8917c9b868735e072a954b821eaf803e69c8bfb555b73d74305148d5668e88f29f588873526ea78a5e681
+DIST asterisk-18.17.1.tar.gz 28284281 BLAKE2B ab60d993f18ff7fec6a58358862e3477488a62f55b72a6c60ade87503818ee6db5a1a0eeed906abf1050517e0487461f619a671ca37a54a7867f98d4b62419cc SHA512 75311693a090c001a323ad673d0df7befbed87bf1250ff836eded552b0329a38a019c6ad9f9ed8fcd58e09798900ebb3c5546f2a571d601adf63d34559242151
+DIST asterisk-20.2.1.tar.gz 28050306 BLAKE2B c9f0dbbb2b73748dd7f33b74473026c978e8c02f9e8be58beccdb525b5927729d104fc0cb5b2bf79f03236f3289f0fdc9856cf4a1a2e006aa790bce6904cd80a SHA512 3abd0f6f2f2a2ff1095336f0d9272fdf781414f4dd4c89816ff91c0384d7b6e3dde2ae8924dba359c6cf4361229690458f2ed014d59aa853c8618ba1492b9834
EBUILD asterisk-16.29.1.ebuild 11876 BLAKE2B f26e339dab2fd90cecafe8b0c075dcef4ae75a3602a1c7adb22ec9792166cbb3c3639349f718a7a895b5071876af76982163896bde31245b1e614d830461cb0a SHA512 57624034782f857b181fda0c92ffcbe502ec1ef94a45e1f2f5c27b2863000fee46661d47acd79658450a37dc331b90f8439e9a5bb66999216abda86fbd48b852
EBUILD asterisk-16.30.0.ebuild 11878 BLAKE2B b014caae90e7369df675d5871523849782f6c7007403f0eff2e3a9e46747192bd53cf7eda92be4330ceaa934111d08b468c223af47d6015944f4729a74810829 SHA512 36af62aecec49cc9e503bce3aa2056c4668789f1da7ddbcae437013a16da64854bc9f388a440cfcccd26021e2505e55e3535392c148d335b2f3e60a35a71316c
-EBUILD asterisk-18.13.0.ebuild 11508 BLAKE2B efbd671ddc4ca3425747655380366c8590ede57867dcb715ec378f34968ea75c873f36a955f0ddfaae0312c7a66f08bad172894fb8e52ec15e0f16c4030be261 SHA512 19e22f39c9739236e055b0f58674fc277c1d8ad5e9563d5db01328f65b7ab9c43f6e47fbf80b5d9ff26762c2970b5bb5a19a31510fe85f73e3be34236d0bed2e
-EBUILD asterisk-18.15.0.ebuild 11771 BLAKE2B 5c025b649c0e5921da9d6f70fddcff509f838dfca10811d28a216c1fbc98cf0b86c1e1d1c99e15973da8de47995bc90b73bb7a6d240090e858b6743ddd8c3d03 SHA512 caef4b8e91395d546ee04daa157ae861907af481340a633fa52698f884d29e9b8b3e94e7915931d75fd2466901d1c6349571eb81625603df7e8643b3afe79d0b
EBUILD asterisk-18.15.1.ebuild 11838 BLAKE2B ee5dc893fb2138d7f6b3984d861306dc236027bd19f6a84232d5d2739df5aacbea04cb545b4fc6c991bff3a4b1097b63e32e449a3037380084c9705e02db2277 SHA512 1ddf9419cc19b13198b22a33bb49f2c15583e01e21cf6d9967614f39f7bc806ff6fdda956c9b1eea3b1ec252f90acf307aa8ea4556593331602d9e7466ecfdf4
-EBUILD asterisk-18.16.0.ebuild 11774 BLAKE2B 77cd5ea457c2e247a93f5de9fe90de87e521e7276a7495254d117528303368b2d7b187a3392cf8b0f7dc86fee3f54ef968746a37739b93e6f15e6505628831a7 SHA512 5504d01a655bd4dceae757d57c190754098f051e7ab191d872a35b13b55133a4af8cd6143bb887715eb7166dc6d33dd4f0b17e5c571d40517cd10b28d691952d
EBUILD asterisk-18.17.0.ebuild 11774 BLAKE2B 77cd5ea457c2e247a93f5de9fe90de87e521e7276a7495254d117528303368b2d7b187a3392cf8b0f7dc86fee3f54ef968746a37739b93e6f15e6505628831a7 SHA512 5504d01a655bd4dceae757d57c190754098f051e7ab191d872a35b13b55133a4af8cd6143bb887715eb7166dc6d33dd4f0b17e5c571d40517cd10b28d691952d
-EBUILD asterisk-20.0.1.ebuild 11663 BLAKE2B 553afce95de786b141d6b1122f3f8a5e155e13bf9f0e229f421df0edec44ef533c69f7ae54670fb343d122bf3a80b74cdf3bea67928d386cdae564cd18022167 SHA512 f81ef03cf19e5e2e8c2b48dbe5f6190b300dbf2f0676bce2cc7f881a9f6112096beb4da86dbc3b84d710896b8860872c908039987a9bce01e71a86a5d2f0eebe
-EBUILD asterisk-20.1.0.ebuild 11597 BLAKE2B 9173a5c35b2ec61b94a3fd5864a9a231e92e365a4aa18bea0cb4a8a3179963c2fa806e869c4d76e33afa52fbfd7d0e49173c661f3ea32f79bc721bb0e3a13e39 SHA512 267da55bf2c45fdcfa324dab4a9738c4e922cb6867f7ba769133e7a406899455656007200a2d44b4a58c3f818fe2502aa86b66849ac33e83dd42a4894b6c9114
-EBUILD asterisk-20.2.0.ebuild 11597 BLAKE2B 9173a5c35b2ec61b94a3fd5864a9a231e92e365a4aa18bea0cb4a8a3179963c2fa806e869c4d76e33afa52fbfd7d0e49173c661f3ea32f79bc721bb0e3a13e39 SHA512 267da55bf2c45fdcfa324dab4a9738c4e922cb6867f7ba769133e7a406899455656007200a2d44b4a58c3f818fe2502aa86b66849ac33e83dd42a4894b6c9114
+EBUILD asterisk-18.17.1.ebuild 11893 BLAKE2B e279eb21e2093e64b4f5169d05de382abb3d408cd07c5d4c4a65b58241cf15b8fd87af8e09624cc1e3dc2aac260cd68ae0a8cf0a6ece035161ef5d7ff9ae6f15 SHA512 cff623204429a910877a18217f9e166adcbf9175991dd006e44b994b6ed140d91ce984489776f50fe6b9efdeeec2e5eeefde205f25013f10bf8d560d321d397d
+EBUILD asterisk-20.2.1.ebuild 11716 BLAKE2B e36fa8e3fc140dbc04838127a792b6693c662feee0111b09e5753563ae099789266e5d70239e234b2ec4d8b9d1ed33d11de21dc3e24592ae4a75aacac92ef49d SHA512 458434726c5a5418c99a9c8b6bfee6067e38ef4053b78593dc6eed5807801e1080c559d55e644c0ec3f78ed0181489a639588cda154f050826e276bf3a0ddf3c
MISC metadata.xml 1565 BLAKE2B c41d24677c65e3006de867263e723e2530cae9185e260235576df5245e64c49244db82bb2febeb30935b38b5ec1eb5d26f3756f2559868248e766084fe6abcd8 SHA512 465a0a71dbafc0144a2bef2d3cdfe35dbc8e070a8bdd8cfed75c53971a6d9334ca81b4dc575d676cbb43a77f7004a92f992cf9eab3c8bfdd5c8c976dee0d210e
diff --git a/net-misc/asterisk/asterisk-16.26.1.ebuild b/net-misc/asterisk/asterisk-16.26.1.ebuild
deleted file mode 100644
index 92057c69d284..000000000000
--- a/net-misc/asterisk/asterisk-16.26.1.ebuild
+++ /dev/null
@@ -1,372 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{1..4} )
-
-inherit autotools linux-info lua-single systemd toolchain-funcs tmpfiles
-
-DESCRIPTION="Asterisk: A Modular Open Source PBX System"
-HOMEPAGE="https://www.asterisk.org/"
-SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0/${PV%%.*}"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
-
-IUSE_VOICEMAIL_STORAGE=(
- +voicemail_storage_file
- voicemail_storage_odbc
- voicemail_storage_imap
-)
-IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl dahdi debug deprecated doc freetds gtalk http iconv ilbc ldap lua mysql newt odbc oss pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd syslog systemd unbound vorbis xmpp"
-IUSE_EXPAND="VOICEMAIL_STORAGE"
-REQUIRED_USE="gtalk? ( xmpp )
- lua? ( ${LUA_REQUIRED_USE} )
- ^^ ( ${IUSE_VOICEMAIL_STORAGE[*]//+/} )
- voicemail_storage_odbc? ( odbc )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-16.16.2-no-var-run-install.patch"
-)
-
-DEPEND="acct-user/asterisk
- acct-group/asterisk
- dev-db/sqlite:3
- dev-libs/popt
- >=dev-libs/jansson-2.11:=
- dev-libs/libedit
- dev-libs/libxml2:2
- dev-libs/libxslt
- sys-apps/util-linux
- sys-libs/zlib
- virtual/libcrypt:=
- alsa? ( media-libs/alsa-lib )
- bluetooth? ( net-wireless/bluez:= )
- calendar? (
- net-libs/neon:=
- dev-libs/libical:=
- dev-libs/iksemel
- )
- caps? ( sys-libs/libcap )
- blocks? ( sys-libs/blocksruntime )
- cluster? ( sys-cluster/corosync )
- codec2? ( media-libs/codec2:= )
- curl? ( net-misc/curl )
- dahdi? (
- net-libs/libpri
- net-misc/dahdi-tools
- )
- freetds? ( dev-db/freetds )
- gtalk? ( dev-libs/iksemel )
- http? ( dev-libs/gmime:2.6 )
- iconv? ( virtual/libiconv )
- ilbc? ( media-libs/libilbc )
- ldap? ( net-nds/openldap:= )
- lua? ( ${LUA_DEPS} )
- mysql? ( dev-db/mysql-connector-c:= )
- newt? ( dev-libs/newt )
- odbc? ( dev-db/unixODBC )
- pjproject? ( >=net-libs/pjproject-2.9:= )
- portaudio? ( media-libs/portaudio )
- postgres? ( dev-db/postgresql:* )
- radius? ( net-dialup/freeradius-client )
- snmp? ( net-analyzer/net-snmp:= )
- span? ( media-libs/spandsp )
- speex? (
- media-libs/libogg
- media-libs/speex
- media-libs/speexdsp
- )
- srtp? ( net-libs/libsrtp:0 )
- ssl? (
- dev-libs/openssl:0=
- )
- systemd? ( sys-apps/systemd )
- !systemd? ( !sys-apps/systemd )
- unbound? ( net-dns/unbound )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- )
- voicemail_storage_imap? ( virtual/imap-c-client )
- xmpp? ( dev-libs/iksemel )
-"
-
-RDEPEND="${DEPEND}
- net-misc/asterisk-core-sounds
- net-misc/asterisk-extra-sounds
- net-misc/asterisk-moh-opsound
- selinux? ( sec-policy/selinux-asterisk )
- syslog? ( virtual/logger )"
-
-BDEPEND="dev-libs/libxml2:2
- virtual/pkgconfig"
-
-QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+"
-
-_make_args=(
- "NOISY_BUILD=yes"
- "ASTDBDIR=\$(ASTDATADIR)/astdb"
- "ASTVARRUNDIR=/run/asterisk"
- "ASTCACHEDIR=/var/cache/asterisk"
- "OPTIMIZE="
- "DEBUG="
- "DESTDIR=${D}"
- "CONFIG_SRC=configs/samples"
- "CONFIG_EXTEN=.sample"
-)
-
-pkg_pretend() {
- 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
-
- [[ "${MERGE_TYPE}" == binary ]] && return
-
- if tc-is-clang; then
- use blocks || die "CC=clang requires USE=blocks"
- else
- use blocks && die "USE=blocks can only be used with CC=clang"
- fi
-}
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
- AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" \
- AC_CONFIG_SUBDIRS=menuselect eautoreconf
-}
-
-src_configure() {
- local vmst
- local copt cstate
-
- econf \
- SED=sed \
- LUA_VERSION="${ELUA#lua}" \
- --libdir="/usr/$(get_libdir)" \
- --localstatedir="/var" \
- --with-crypto \
- --with-gsm=internal \
- --with-popt \
- --with-z \
- --with-libedit \
- --without-jansson-bundled \
- --without-pjproject-bundled \
- $(use_with caps cap) \
- $(use_with codec2) \
- $(use_with lua lua) \
- $(use_with http gmime) \
- $(use_with newt) \
- $(use_with pjproject) \
- $(use_with portaudio) \
- $(use_with ssl) \
- $(use_with unbound)
-
- _menuselect() {
- menuselect/menuselect "$@" || die "menuselect $* failed."
- }
-
- _use_select() {
- local state=$(use "$1" && echo enable || echo disable)
- shift # remove use from parameters
-
- while [[ -n $1 ]]; do
- _menuselect --${state} "$1" menuselect.makeopts
- shift
- done
- }
-
- # 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 "${_make_args[@]}" menuselect.makeopts
-
- # Disable BUILD_NATIVE (bug #667498)
- _menuselect --disable build_native menuselect.makeopts
-
- # Broken functionality is forcibly disabled (bug #360143)
- _menuselect --disable chan_misdn menuselect.makeopts
- _menuselect --disable chan_ooh323 menuselect.makeopts
-
- # Utility set is forcibly enabled (bug #358001)
- _menuselect --enable smsq menuselect.makeopts
- _menuselect --enable streamplayer menuselect.makeopts
- _menuselect --enable aelparse menuselect.makeopts
- _menuselect --enable astman menuselect.makeopts
-
- # this is connected, otherwise it would not find
- # ast_pktccops_gate_alloc symbol
- _menuselect --enable chan_mgcp menuselect.makeopts
- _menuselect --enable res_pktccops menuselect.makeopts
-
- # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
- _menuselect --enable pbx_dundi menuselect.makeopts
- _menuselect --enable func_aes menuselect.makeopts
- _menuselect --enable chan_iax2 menuselect.makeopts
-
- # SQlite3 is now the main database backend, enable related features
- _menuselect --enable cdr_sqlite3_custom menuselect.makeopts
- _menuselect --enable cel_sqlite3_custom menuselect.makeopts
-
- # Disable conversion tools (which fails to compile in some cases).
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # The others are based on USE-flag settings
- _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 codec2 codec_codec2
- _use_select curl func_curl res_config_curl res_curl
- _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
- _use_select deprecated app_macro
- _use_select freetds {cdr,cel}_tds
- _use_select gtalk chan_motif
- _use_select http res_http_post
- _use_select iconv func_iconv
- _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 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 speex format_ogg_speex
- _use_select srtp res_srtp
- _use_select statsd res_statsd res_{endpoint,chan}_stats
- _use_select syslog cdr_syslog
- _use_select vorbis format_ogg_vorbis
- _use_select xmpp res_xmpp
-
- # Voicemail storage ...
- for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do
- if use "${vmst#+}"; then
- _menuselect --enable "$(echo "${vmst##*_}" | tr '[:lower:]' '[:upper:]')_STORAGE" menuselect.makeopts
- fi
- done
-
- if use debug; then
- for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do
- _menuselect --enable "${o}" menuselect.makeopts
- done
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do
- cstate=--enable
- [[ "${copt}" == -* ]] && cstate=--disable
- ebegin "Custom option ${copt#[-+]} ${cstate:2}d"
- _menuselect ${cstate} "${copt#[-+]}"
- eend $?
- done
- fi
-}
-
-src_compile() {
- emake "${_make_args[@]}"
-}
-
-src_install() {
- local d
-
- dodir "/usr/$(get_libdir)/pkgconfig"
-
- diropts -m 0750 -o root -g asterisk
- dodir /etc/asterisk
-
- emake "${_make_args[@]}" install install-configs
-
- fowners asterisk: /var/lib/asterisk/astdb
-
- if use radius; then
- insinto /etc/radiusclient/
- doins contrib/dictionary.digium
- fi
-
- # keep directories
- diropts -m 0750 -o asterisk -g root
- keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing}
- diropts -m 0750 -o asterisk -g asterisk
- keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
-
- newsbin "${FILESDIR}/asterisk_wrapper-16.26.1-18.12.1" asterisk_wrapper
- newinitd "${FILESDIR}"/initd-16.26.1-18.12.1 asterisk
- newconfd "${FILESDIR}"/confd-16.26.1-18.12.1 asterisk
-
- systemd_dounit "${FILESDIR}"/asterisk.service
- newtmpfiles "${FILESDIR}"/asterisk.tmpfiles-16.22.0-18.8.0.conf asterisk.conf
- systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
-
- # Reset diropts else dodoc uses it for doc installations.
- diropts -m0755
-
- # install the upgrade documentation
- dodoc UPGRADE* BUGS CREDITS
-
- # install extra documentation
- use doc && dodoc doc/*.{txt,pdf}
-
- # install logrotate snippet; bug #329281
- #
- insinto /etc/logrotate.d
- newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
-
- # Asterisk installs a few folders that's empty by design,
- # but still required. This finds them, and marks them for
- # portage.
- while read d <&3; do
- keepdir "${d#${ED}}"
- done 3< <(find "${ED}"/var -type d -empty || die "Find failed.")
-}
-
-pkg_postinst() {
- tmpfiles_process asterisk.conf
-
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then
- elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:"
- elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- fi
-
- if use deprecated; then
- ewarn "You really aught to port whatever code you have that depends on this since these are going to go away."
- ewarn "Refer: https://wiki.asterisk.org/wiki/display/AST/Module+Deprecation"
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used"
- ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org"
- fi
-
- if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then
- ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb"
- ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set"
- ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these"
- ewarn "steps to migrate:"
- ewarn "1. /etc/init.d/asterisk stop"
- ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/"
- ewarn "3. /etc/init.d/asterisk start"
- ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned."
- fi
-}
diff --git a/net-misc/asterisk/asterisk-16.27.0.ebuild b/net-misc/asterisk/asterisk-16.27.0.ebuild
deleted file mode 100644
index 357286071693..000000000000
--- a/net-misc/asterisk/asterisk-16.27.0.ebuild
+++ /dev/null
@@ -1,372 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{1..4} )
-
-inherit autotools linux-info lua-single systemd toolchain-funcs tmpfiles
-
-DESCRIPTION="Asterisk: A Modular Open Source PBX System"
-HOMEPAGE="https://www.asterisk.org/"
-SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0/${PV%%.*}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-
-IUSE_VOICEMAIL_STORAGE=(
- +voicemail_storage_file
- voicemail_storage_odbc
- voicemail_storage_imap
-)
-IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl dahdi debug deprecated doc freetds gtalk http iconv ilbc ldap lua mysql newt odbc oss pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd syslog systemd unbound vorbis xmpp"
-IUSE_EXPAND="VOICEMAIL_STORAGE"
-REQUIRED_USE="gtalk? ( xmpp )
- lua? ( ${LUA_REQUIRED_USE} )
- ^^ ( ${IUSE_VOICEMAIL_STORAGE[*]//+/} )
- voicemail_storage_odbc? ( odbc )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-16.16.2-no-var-run-install.patch"
-)
-
-DEPEND="acct-user/asterisk
- acct-group/asterisk
- dev-db/sqlite:3
- dev-libs/popt
- >=dev-libs/jansson-2.11:=
- dev-libs/libedit
- dev-libs/libxml2:2
- dev-libs/libxslt
- sys-apps/util-linux
- sys-libs/zlib
- virtual/libcrypt:=
- alsa? ( media-libs/alsa-lib )
- bluetooth? ( net-wireless/bluez:= )
- calendar? (
- net-libs/neon:=
- dev-libs/libical:=
- dev-libs/iksemel
- )
- caps? ( sys-libs/libcap )
- blocks? ( sys-libs/blocksruntime )
- cluster? ( sys-cluster/corosync )
- codec2? ( media-libs/codec2:= )
- curl? ( net-misc/curl )
- dahdi? (
- net-libs/libpri
- net-misc/dahdi-tools
- )
- freetds? ( dev-db/freetds )
- gtalk? ( dev-libs/iksemel )
- http? ( dev-libs/gmime:2.6 )
- iconv? ( virtual/libiconv )
- ilbc? ( media-libs/libilbc )
- ldap? ( net-nds/openldap:= )
- lua? ( ${LUA_DEPS} )
- mysql? ( dev-db/mysql-connector-c:= )
- newt? ( dev-libs/newt )
- odbc? ( dev-db/unixODBC )
- pjproject? ( >=net-libs/pjproject-2.9:= )
- portaudio? ( media-libs/portaudio )
- postgres? ( dev-db/postgresql:* )
- radius? ( net-dialup/freeradius-client )
- snmp? ( net-analyzer/net-snmp:= )
- span? ( media-libs/spandsp )
- speex? (
- media-libs/libogg
- media-libs/speex
- media-libs/speexdsp
- )
- srtp? ( net-libs/libsrtp:0 )
- ssl? (
- dev-libs/openssl:0=
- )
- systemd? ( sys-apps/systemd )
- !systemd? ( !sys-apps/systemd )
- unbound? ( net-dns/unbound )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- )
- voicemail_storage_imap? ( virtual/imap-c-client )
- xmpp? ( dev-libs/iksemel )
-"
-
-RDEPEND="${DEPEND}
- net-misc/asterisk-core-sounds
- net-misc/asterisk-extra-sounds
- net-misc/asterisk-moh-opsound
- selinux? ( sec-policy/selinux-asterisk )
- syslog? ( virtual/logger )"
-
-BDEPEND="dev-libs/libxml2:2
- virtual/pkgconfig"
-
-QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+"
-
-_make_args=(
- "NOISY_BUILD=yes"
- "ASTDBDIR=\$(ASTDATADIR)/astdb"
- "ASTVARRUNDIR=/run/asterisk"
- "ASTCACHEDIR=/var/cache/asterisk"
- "OPTIMIZE="
- "DEBUG="
- "DESTDIR=${D}"
- "CONFIG_SRC=configs/samples"
- "CONFIG_EXTEN=.sample"
-)
-
-pkg_pretend() {
- 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
-
- [[ "${MERGE_TYPE}" == binary ]] && return
-
- if tc-is-clang; then
- use blocks || die "CC=clang requires USE=blocks"
- else
- use blocks && die "USE=blocks can only be used with CC=clang"
- fi
-}
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
- AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" \
- AC_CONFIG_SUBDIRS=menuselect eautoreconf
-}
-
-src_configure() {
- local vmst
- local copt cstate
-
- econf \
- SED=sed \
- LUA_VERSION="${ELUA#lua}" \
- --libdir="/usr/$(get_libdir)" \
- --localstatedir="/var" \
- --with-crypto \
- --with-gsm=internal \
- --with-popt \
- --with-z \
- --with-libedit \
- --without-jansson-bundled \
- --without-pjproject-bundled \
- $(use_with caps cap) \
- $(use_with codec2) \
- $(use_with lua lua) \
- $(use_with http gmime) \
- $(use_with newt) \
- $(use_with pjproject) \
- $(use_with portaudio) \
- $(use_with ssl) \
- $(use_with unbound)
-
- _menuselect() {
- menuselect/menuselect "$@" || die "menuselect $* failed."
- }
-
- _use_select() {
- local state=$(use "$1" && echo enable || echo disable)
- shift # remove use from parameters
-
- while [[ -n $1 ]]; do
- _menuselect --${state} "$1" menuselect.makeopts
- shift
- done
- }
-
- # 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 "${_make_args[@]}" menuselect.makeopts
-
- # Disable BUILD_NATIVE (bug #667498)
- _menuselect --disable build_native menuselect.makeopts
-
- # Broken functionality is forcibly disabled (bug #360143)
- _menuselect --disable chan_misdn menuselect.makeopts
- _menuselect --disable chan_ooh323 menuselect.makeopts
-
- # Utility set is forcibly enabled (bug #358001)
- _menuselect --enable smsq menuselect.makeopts
- _menuselect --enable streamplayer menuselect.makeopts
- _menuselect --enable aelparse menuselect.makeopts
- _menuselect --enable astman menuselect.makeopts
-
- # this is connected, otherwise it would not find
- # ast_pktccops_gate_alloc symbol
- _menuselect --enable chan_mgcp menuselect.makeopts
- _menuselect --enable res_pktccops menuselect.makeopts
-
- # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
- _menuselect --enable pbx_dundi menuselect.makeopts
- _menuselect --enable func_aes menuselect.makeopts
- _menuselect --enable chan_iax2 menuselect.makeopts
-
- # SQlite3 is now the main database backend, enable related features
- _menuselect --enable cdr_sqlite3_custom menuselect.makeopts
- _menuselect --enable cel_sqlite3_custom menuselect.makeopts
-
- # Disable conversion tools (which fails to compile in some cases).
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # The others are based on USE-flag settings
- _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 codec2 codec_codec2
- _use_select curl func_curl res_config_curl res_curl
- _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
- _use_select deprecated app_macro
- _use_select freetds {cdr,cel}_tds
- _use_select gtalk chan_motif
- _use_select http res_http_post
- _use_select iconv func_iconv
- _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 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 speex format_ogg_speex
- _use_select srtp res_srtp
- _use_select statsd res_statsd res_{endpoint,chan}_stats
- _use_select syslog cdr_syslog
- _use_select vorbis format_ogg_vorbis
- _use_select xmpp res_xmpp
-
- # Voicemail storage ...
- for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do
- if use "${vmst#+}"; then
- _menuselect --enable "$(echo "${vmst##*_}" | tr '[:lower:]' '[:upper:]')_STORAGE" menuselect.makeopts
- fi
- done
-
- if use debug; then
- for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do
- _menuselect --enable "${o}" menuselect.makeopts
- done
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do
- cstate=--enable
- [[ "${copt}" == -* ]] && cstate=--disable
- ebegin "Custom option ${copt#[-+]} ${cstate:2}d"
- _menuselect ${cstate} "${copt#[-+]}"
- eend $?
- done
- fi
-}
-
-src_compile() {
- emake "${_make_args[@]}"
-}
-
-src_install() {
- local d
-
- dodir "/usr/$(get_libdir)/pkgconfig"
-
- diropts -m 0750 -o root -g asterisk
- dodir /etc/asterisk
-
- emake "${_make_args[@]}" install install-configs
-
- fowners asterisk: /var/lib/asterisk/astdb
-
- if use radius; then
- insinto /etc/radiusclient/
- doins contrib/dictionary.digium
- fi
-
- # keep directories
- diropts -m 0750 -o asterisk -g root
- keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing}
- diropts -m 0750 -o asterisk -g asterisk
- keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
-
- newsbin "${FILESDIR}/asterisk_wrapper-16.26.1-18.12.1" asterisk_wrapper
- newinitd "${FILESDIR}"/initd-16.26.1-18.12.1 asterisk
- newconfd "${FILESDIR}"/confd-16.26.1-18.12.1 asterisk
-
- systemd_dounit "${FILESDIR}"/asterisk.service
- newtmpfiles "${FILESDIR}"/asterisk.tmpfiles-16.22.0-18.8.0.conf asterisk.conf
- systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
-
- # Reset diropts else dodoc uses it for doc installations.
- diropts -m0755
-
- # install the upgrade documentation
- dodoc UPGRADE* BUGS CREDITS
-
- # install extra documentation
- use doc && dodoc doc/*.{txt,pdf}
-
- # install logrotate snippet; bug #329281
- #
- insinto /etc/logrotate.d
- newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
-
- # Asterisk installs a few folders that's empty by design,
- # but still required. This finds them, and marks them for
- # portage.
- while read d <&3; do
- keepdir "${d#${ED}}"
- done 3< <(find "${ED}"/var -type d -empty || die "Find failed.")
-}
-
-pkg_postinst() {
- tmpfiles_process asterisk.conf
-
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then
- elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:"
- elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- fi
-
- if use deprecated; then
- ewarn "You really aught to port whatever code you have that depends on this since these are going to go away."
- ewarn "Refer: https://wiki.asterisk.org/wiki/display/AST/Module+Deprecation"
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used"
- ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org"
- fi
-
- if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then
- ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb"
- ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set"
- ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these"
- ewarn "steps to migrate:"
- ewarn "1. /etc/init.d/asterisk stop"
- ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/"
- ewarn "3. /etc/init.d/asterisk start"
- ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned."
- fi
-}
diff --git a/net-misc/asterisk/asterisk-16.29.0.ebuild b/net-misc/asterisk/asterisk-16.29.0.ebuild
deleted file mode 100644
index 6d68818bc88a..000000000000
--- a/net-misc/asterisk/asterisk-16.29.0.ebuild
+++ /dev/null
@@ -1,377 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{1..4} )
-
-inherit autotools linux-info lua-single systemd toolchain-funcs tmpfiles
-
-DESCRIPTION="Asterisk: A Modular Open Source PBX System"
-HOMEPAGE="https://www.asterisk.org/"
-SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0/${PV%%.*}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-
-IUSE_VOICEMAIL_STORAGE=(
- +voicemail_storage_file
- voicemail_storage_odbc
- voicemail_storage_imap
-)
-IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl dahdi debug deprecated doc freetds gtalk http iconv ilbc ldap lua mysql newt odbc oss pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd syslog systemd unbound vorbis xmpp"
-IUSE_EXPAND="VOICEMAIL_STORAGE"
-REQUIRED_USE="gtalk? ( xmpp )
- lua? ( ${LUA_REQUIRED_USE} )
- ^^ ( ${IUSE_VOICEMAIL_STORAGE[*]//+/} )
- voicemail_storage_odbc? ( odbc )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-16.16.2-no-var-run-install.patch"
-)
-
-DEPEND="acct-user/asterisk
- acct-group/asterisk
- dev-db/sqlite:3
- dev-libs/popt
- >=dev-libs/jansson-2.11:=
- dev-libs/libedit
- dev-libs/libxml2:2
- dev-libs/libxslt
- sys-apps/util-linux
- sys-libs/zlib
- virtual/libcrypt:=
- alsa? ( media-libs/alsa-lib )
- bluetooth? ( net-wireless/bluez:= )
- calendar? (
- net-libs/neon:=
- dev-libs/libical:=
- dev-libs/iksemel
- )
- caps? ( sys-libs/libcap )
- blocks? ( sys-libs/blocksruntime )
- cluster? ( sys-cluster/corosync )
- codec2? ( media-libs/codec2:= )
- curl? ( net-misc/curl )
- dahdi? (
- net-libs/libpri
- net-misc/dahdi-tools
- )
- freetds? ( dev-db/freetds )
- gtalk? ( dev-libs/iksemel )
- http? ( dev-libs/gmime:2.6 )
- iconv? ( virtual/libiconv )
- ilbc? ( media-libs/libilbc )
- ldap? ( net-nds/openldap:= )
- lua? ( ${LUA_DEPS} )
- mysql? ( dev-db/mysql-connector-c:= )
- newt? ( dev-libs/newt )
- odbc? ( dev-db/unixODBC )
- pjproject? ( >=net-libs/pjproject-2.9:= )
- portaudio? ( media-libs/portaudio )
- postgres? ( dev-db/postgresql:* )
- radius? ( net-dialup/freeradius-client )
- snmp? ( net-analyzer/net-snmp:= )
- span? ( media-libs/spandsp )
- speex? (
- media-libs/libogg
- media-libs/speex
- media-libs/speexdsp
- )
- srtp? ( net-libs/libsrtp:0 )
- ssl? (
- dev-libs/openssl:0=
- )
- systemd? ( sys-apps/systemd )
- !systemd? ( !sys-apps/systemd )
- unbound? ( net-dns/unbound )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- )
- voicemail_storage_imap? ( net-libs/c-client[ssl=] )
- xmpp? ( dev-libs/iksemel )
-"
-
-RDEPEND="${DEPEND}
- net-misc/asterisk-core-sounds
- net-misc/asterisk-extra-sounds
- net-misc/asterisk-moh-opsound
- selinux? ( sec-policy/selinux-asterisk )
- syslog? ( virtual/logger )"
-
-BDEPEND="dev-libs/libxml2:2
- virtual/pkgconfig"
-
-QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+"
-
-_make_args=(
- "NOISY_BUILD=yes"
- "ASTDBDIR=\$(ASTDATADIR)/astdb"
- "ASTVARRUNDIR=/run/asterisk"
- "ASTCACHEDIR=/var/cache/asterisk"
- "OPTIMIZE="
- "DEBUG="
- "DESTDIR=${D}"
- "CONFIG_SRC=configs/samples"
- "CONFIG_EXTEN=.sample"
-)
-
-pkg_pretend() {
- 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
-
- [[ "${MERGE_TYPE}" == binary ]] && return
-
- if tc-is-clang; then
- use blocks || die "CC=clang requires USE=blocks"
- else
- use blocks && die "USE=blocks can only be used with CC=clang"
- fi
-}
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
- AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" \
- AC_CONFIG_SUBDIRS=menuselect eautoreconf
-}
-
-src_configure() {
- local vmst
- local copt cstate
-
- econf \
- SED=sed \
- LUA_VERSION="${ELUA#lua}" \
- --libdir="/usr/$(get_libdir)" \
- --localstatedir="/var" \
- --with-crypto \
- --with-gsm=internal \
- --with-popt \
- --with-z \
- --with-libedit \
- --without-jansson-bundled \
- --without-pjproject-bundled \
- $(use_with caps cap) \
- $(use_with codec2) \
- $(use_with lua lua) \
- $(use_with http gmime) \
- $(use_with newt) \
- $(use_with pjproject) \
- $(use_with portaudio) \
- $(use_with ssl) \
- $(use_with unbound)
-
- _menuselect() {
- menuselect/menuselect "$@" || die "menuselect $* failed."
- }
-
- _use_select() {
- local state=$(use "$1" && echo enable || echo disable)
- shift # remove use from parameters
-
- while [[ -n $1 ]]; do
- _menuselect --${state} "$1" menuselect.makeopts
- shift
- done
- }
-
- # 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 "${_make_args[@]}" menuselect.makeopts
-
- # Disable astdb2* tools. We've been on sqlite long enough
- # that this should really no longer be a problem (bug #https://bugs.gentoo.org/872194)
- _menuselect --disable astdb2sqlite3 menuselect.makeopts
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # Disable BUILD_NATIVE (bug #667498)
- _menuselect --disable build_native menuselect.makeopts
-
- # Broken functionality is forcibly disabled (bug #360143)
- _menuselect --disable chan_misdn menuselect.makeopts
- _menuselect --disable chan_ooh323 menuselect.makeopts
-
- # Utility set is forcibly enabled (bug #358001)
- _menuselect --enable smsq menuselect.makeopts
- _menuselect --enable streamplayer menuselect.makeopts
- _menuselect --enable aelparse menuselect.makeopts
- _menuselect --enable astman menuselect.makeopts
-
- # this is connected, otherwise it would not find
- # ast_pktccops_gate_alloc symbol
- _menuselect --enable chan_mgcp menuselect.makeopts
- _menuselect --enable res_pktccops menuselect.makeopts
-
- # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
- _menuselect --enable pbx_dundi menuselect.makeopts
- _menuselect --enable func_aes menuselect.makeopts
- _menuselect --enable chan_iax2 menuselect.makeopts
-
- # SQlite3 is now the main database backend, enable related features
- _menuselect --enable cdr_sqlite3_custom menuselect.makeopts
- _menuselect --enable cel_sqlite3_custom menuselect.makeopts
-
- # Disable conversion tools (which fails to compile in some cases).
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # The others are based on USE-flag settings
- _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 codec2 codec_codec2
- _use_select curl func_curl res_config_curl res_curl
- _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
- _use_select deprecated app_macro
- _use_select freetds {cdr,cel}_tds
- _use_select gtalk chan_motif
- _use_select http res_http_post
- _use_select iconv func_iconv
- _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 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 speex format_ogg_speex
- _use_select srtp res_srtp
- _use_select statsd res_statsd res_{endpoint,chan}_stats
- _use_select syslog cdr_syslog
- _use_select vorbis format_ogg_vorbis
- _use_select xmpp res_xmpp
-
- # Voicemail storage ...
- for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do
- if use "${vmst#+}"; then
- _menuselect --enable "$(echo "${vmst##*_}" | tr '[:lower:]' '[:upper:]')_STORAGE" menuselect.makeopts
- fi
- done
-
- if use debug; then
- for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do
- _menuselect --enable "${o}" menuselect.makeopts
- done
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do
- cstate=--enable
- [[ "${copt}" == -* ]] && cstate=--disable
- ebegin "Custom option ${copt#[-+]} ${cstate:2}d"
- _menuselect ${cstate} "${copt#[-+]}"
- eend $?
- done
- fi
-}
-
-src_compile() {
- emake "${_make_args[@]}"
-}
-
-src_install() {
- local d
-
- dodir "/usr/$(get_libdir)/pkgconfig"
-
- diropts -m 0750 -o root -g asterisk
- dodir /etc/asterisk
-
- emake "${_make_args[@]}" install install-configs
-
- fowners asterisk: /var/lib/asterisk/astdb
-
- if use radius; then
- insinto /etc/radiusclient/
- doins contrib/dictionary.digium
- fi
-
- # keep directories
- diropts -m 0750 -o asterisk -g root
- keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing}
- diropts -m 0750 -o asterisk -g asterisk
- keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
-
- newsbin "${FILESDIR}/asterisk_wrapper-16.26.1-18.12.1" asterisk_wrapper
- newinitd "${FILESDIR}"/initd-16.26.1-18.12.1 asterisk
- newconfd "${FILESDIR}"/confd-16.26.1-18.12.1 asterisk
-
- systemd_dounit "${FILESDIR}"/asterisk.service
- newtmpfiles "${FILESDIR}"/asterisk.tmpfiles-16.22.0-18.8.0.conf asterisk.conf
- systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
-
- # Reset diropts else dodoc uses it for doc installations.
- diropts -m0755
-
- # install the upgrade documentation
- dodoc UPGRADE* BUGS CREDITS
-
- # install extra documentation
- use doc && dodoc doc/*.{txt,pdf}
-
- # install logrotate snippet; bug #329281
- #
- insinto /etc/logrotate.d
- newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
-
- # Asterisk installs a few folders that's empty by design,
- # but still required. This finds them, and marks them for
- # portage.
- while read d <&3; do
- keepdir "${d#${ED}}"
- done 3< <(find "${ED}"/var -type d -empty || die "Find failed.")
-}
-
-pkg_postinst() {
- tmpfiles_process asterisk.conf
-
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then
- elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:"
- elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- fi
-
- if use deprecated; then
- ewarn "You really aught to port whatever code you have that depends on this since these are going to go away."
- ewarn "Refer: https://wiki.asterisk.org/wiki/display/AST/Module+Deprecation"
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used"
- ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org"
- fi
-
- if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then
- ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb"
- ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set"
- ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these"
- ewarn "steps to migrate:"
- ewarn "1. /etc/init.d/asterisk stop"
- ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/"
- ewarn "3. /etc/init.d/asterisk start"
- ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned."
- fi
-}
diff --git a/net-misc/asterisk/asterisk-18.13.0.ebuild b/net-misc/asterisk/asterisk-18.13.0.ebuild
deleted file mode 100644
index 4294a967beb9..000000000000
--- a/net-misc/asterisk/asterisk-18.13.0.ebuild
+++ /dev/null
@@ -1,370 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{1..4} )
-
-inherit autotools linux-info lua-single systemd toolchain-funcs tmpfiles
-
-DESCRIPTION="Asterisk: A Modular Open Source PBX System"
-HOMEPAGE="https://www.asterisk.org/"
-SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0/${PV%%.*}"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
-
-IUSE_VOICEMAIL_STORAGE=(
- voicemail_storage_odbc
- voicemail_storage_imap
-)
-IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl dahdi debug deprecated doc freetds gtalk http iconv ilbc ldap lua mysql newt odbc oss pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd syslog systemd unbound vorbis xmpp"
-IUSE_EXPAND="VOICEMAIL_STORAGE"
-REQUIRED_USE="gtalk? ( xmpp )
- lua? ( ${LUA_REQUIRED_USE} )
- voicemail_storage_odbc? ( odbc )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-16.16.2-no-var-run-install.patch"
-)
-
-DEPEND="acct-user/asterisk
- acct-group/asterisk
- dev-db/sqlite:3
- dev-libs/popt
- >=dev-libs/jansson-2.11:=
- dev-libs/libedit
- dev-libs/libxml2:2
- dev-libs/libxslt
- sys-apps/util-linux
- sys-libs/zlib
- virtual/libcrypt:=
- alsa? ( media-libs/alsa-lib )
- bluetooth? ( net-wireless/bluez:= )
- calendar? (
- net-libs/neon:=
- dev-libs/libical:=
- dev-libs/iksemel
- )
- caps? ( sys-libs/libcap )
- blocks? ( sys-libs/blocksruntime )
- cluster? ( sys-cluster/corosync )
- codec2? ( media-libs/codec2:= )
- curl? ( net-misc/curl )
- dahdi? (
- net-libs/libpri
- net-misc/dahdi-tools
- )
- freetds? ( dev-db/freetds )
- gtalk? ( dev-libs/iksemel )
- http? ( dev-libs/gmime:2.6 )
- iconv? ( virtual/libiconv )
- ilbc? ( media-libs/libilbc )
- ldap? ( net-nds/openldap:= )
- lua? ( ${LUA_DEPS} )
- mysql? ( dev-db/mysql-connector-c:= )
- newt? ( dev-libs/newt )
- odbc? ( dev-db/unixODBC )
- pjproject? ( >=net-libs/pjproject-2.12:= )
- portaudio? ( media-libs/portaudio )
- postgres? ( dev-db/postgresql:* )
- radius? ( net-dialup/freeradius-client )
- snmp? ( net-analyzer/net-snmp:= )
- span? ( media-libs/spandsp )
- speex? (
- media-libs/libogg
- media-libs/speex
- media-libs/speexdsp
- )
- srtp? ( net-libs/libsrtp:0 )
- ssl? (
- dev-libs/openssl:0=
- )
- systemd? ( sys-apps/systemd )
- !systemd? ( !sys-apps/systemd )
- unbound? ( net-dns/unbound )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- )
- voicemail_storage_imap? ( virtual/imap-c-client )
- xmpp? ( dev-libs/iksemel )
-"
-
-RDEPEND="${DEPEND}
- net-misc/asterisk-core-sounds
- net-misc/asterisk-extra-sounds
- net-misc/asterisk-moh-opsound
- selinux? ( sec-policy/selinux-asterisk )
- syslog? ( virtual/logger )"
-
-BDEPEND="dev-libs/libxml2:2
- virtual/pkgconfig"
-
-QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+"
-
-_make_args=(
- "NOISY_BUILD=yes"
- "ASTDBDIR=\$(ASTDATADIR)/astdb"
- "ASTVARRUNDIR=/run/asterisk"
- "ASTCACHEDIR=/var/cache/asterisk"
- "OPTIMIZE="
- "DEBUG="
- "DESTDIR=${D}"
- "CONFIG_SRC=configs/samples"
- "CONFIG_EXTEN=.sample"
-)
-
-pkg_pretend() {
- 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
-
- [[ "${MERGE_TYPE}" == binary ]] && return
-
- if tc-is-clang; then
- use blocks || die "CC=clang requires USE=blocks"
- else
- use blocks && die "USE=blocks can only be used with CC=clang"
- fi
-}
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
- AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" \
- AC_CONFIG_SUBDIRS=menuselect eautoreconf
-}
-
-src_configure() {
- local vmst
- local copt cstate
-
- econf \
- LUA_VERSION="${ELUA#lua}" \
- --libdir="/usr/$(get_libdir)" \
- --localstatedir="/var" \
- --with-crypto \
- --with-gsm=internal \
- --with-popt \
- --with-z \
- --with-libedit \
- --without-jansson-bundled \
- --without-pjproject-bundled \
- $(use_with caps cap) \
- $(use_with codec2) \
- $(use_with lua lua) \
- $(use_with http gmime) \
- $(use_with newt) \
- $(use_with pjproject) \
- $(use_with portaudio) \
- $(use_with ssl) \
- $(use_with unbound)
-
- _menuselect() {
- menuselect/menuselect "$@" || die "menuselect $* failed."
- }
-
- _use_select() {
- local state=$(use "$1" && echo enable || echo disable)
- shift # remove use from parameters
-
- while [[ -n $1 ]]; do
- _menuselect --${state} "$1" menuselect.makeopts
- shift
- done
- }
-
- # 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 "${_make_args[@]}" menuselect.makeopts
-
- # Disable BUILD_NATIVE (bug #667498)
- _menuselect --disable build_native menuselect.makeopts
-
- # Broken functionality is forcibly disabled (bug #360143)
- _menuselect --disable chan_misdn menuselect.makeopts
- _menuselect --disable chan_ooh323 menuselect.makeopts
-
- # Utility set is forcibly enabled (bug #358001)
- _menuselect --enable smsq menuselect.makeopts
- _menuselect --enable streamplayer menuselect.makeopts
- _menuselect --enable aelparse menuselect.makeopts
- _menuselect --enable astman menuselect.makeopts
-
- # this is connected, otherwise it would not find
- # ast_pktccops_gate_alloc symbol
- _menuselect --enable chan_mgcp menuselect.makeopts
- _menuselect --enable res_pktccops menuselect.makeopts
-
- # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
- _menuselect --enable pbx_dundi menuselect.makeopts
- _menuselect --enable func_aes menuselect.makeopts
- _menuselect --enable chan_iax2 menuselect.makeopts
-
- # SQlite3 is now the main database backend, enable related features
- _menuselect --enable cdr_sqlite3_custom menuselect.makeopts
- _menuselect --enable cel_sqlite3_custom menuselect.makeopts
-
- # Disable conversion tools (which fails to compile in some cases).
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # The others are based on USE-flag settings
- _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 codec2 codec_codec2
- _use_select curl func_curl res_config_curl res_curl
- _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
- _use_select deprecated app_macro
- _use_select freetds {cdr,cel}_tds
- _use_select gtalk chan_motif
- _use_select http res_http_post
- _use_select iconv func_iconv
- _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 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 speex format_ogg_speex
- _use_select srtp res_srtp
- _use_select statsd res_statsd res_{endpoint,chan}_stats
- _use_select syslog cdr_syslog
- _use_select vorbis format_ogg_vorbis
- _use_select xmpp res_xmpp
-
- # Voicemail storage ...
- _menuselect --enable app_voicemail menuselect.makeopts
- for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do
- if use "${vmst#+}"; then
- _menuselect --enable "app_voicemail_${vmst##*_}" menuselect.makeopts
- fi
- done
-
- if use debug; then
- for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do
- _menuselect --enable "${o}" menuselect.makeopts
- done
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do
- cstate=--enable
- [[ "${copt}" == -* ]] && cstate=--disable
- ebegin "Custom option ${copt#[-+]} ${cstate:2}d"
- _menuselect ${cstate} "${copt#[-+]}"
- eend $?
- done
- fi
-}
-
-src_compile() {
- emake "${_make_args[@]}"
-}
-
-src_install() {
- local d
-
- dodir "/usr/$(get_libdir)/pkgconfig"
-
- diropts -m 0750 -o root -g asterisk
- dodir /etc/asterisk
-
- emake "${_make_args[@]}" install install-headers install-configs
-
- fowners asterisk: /var/lib/asterisk/astdb
-
- if use radius; then
- insinto /etc/radiusclient/
- doins contrib/dictionary.digium
- fi
-
- # keep directories
- diropts -m 0750 -o asterisk -g root
- keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing}
- diropts -m 0750 -o asterisk -g asterisk
- keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
-
- newsbin "${FILESDIR}/asterisk_wrapper-16.26.1-18.12.1" asterisk_wrapper
- newinitd "${FILESDIR}"/initd-16.26.1-18.12.1 asterisk
- newconfd "${FILESDIR}"/confd-16.26.1-18.12.1 asterisk
-
- systemd_dounit "${FILESDIR}"/asterisk.service
- newtmpfiles "${FILESDIR}"/asterisk.tmpfiles-16.22.0-18.8.0.conf asterisk.conf
- systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
-
- # Reset diropts else dodoc uses it for doc installations.
- diropts -m0755
-
- # install the upgrade documentation
- dodoc UPGRADE* BUGS CREDITS
-
- # install extra documentation
- use doc && dodoc doc/*.{txt,pdf}
-
- # install logrotate snippet; bug #329281
- #
- insinto /etc/logrotate.d
- newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
-
- # Asterisk installs a few folders that's empty by design,
- # but still required. This finds them, and marks them for
- # portage.
- while read d <&3; do
- keepdir "${d#${ED}}"
- done 3< <(find "${ED}"/var -type d -empty || die "Find failed.")
-}
-
-pkg_postinst() {
- tmpfiles_process asterisk.conf
-
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then
- elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:"
- elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- fi
-
- if use deprecated; then
- ewarn "You really aught to port whatever code you have that depends on this since these are going to go away."
- ewarn "Refer: https://wiki.asterisk.org/wiki/display/AST/Module+Deprecation"
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used"
- ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org"
- fi
-
- if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then
- ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb"
- ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set"
- ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these"
- ewarn "steps to migrate:"
- ewarn "1. /etc/init.d/asterisk stop"
- ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/"
- ewarn "3. /etc/init.d/asterisk start"
- ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned."
- fi
-}
diff --git a/net-misc/asterisk/asterisk-18.15.0.ebuild b/net-misc/asterisk/asterisk-18.15.0.ebuild
deleted file mode 100644
index 6f67640cb4aa..000000000000
--- a/net-misc/asterisk/asterisk-18.15.0.ebuild
+++ /dev/null
@@ -1,375 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{1..4} )
-
-inherit autotools linux-info lua-single systemd toolchain-funcs tmpfiles
-
-DESCRIPTION="Asterisk: A Modular Open Source PBX System"
-HOMEPAGE="https://www.asterisk.org/"
-SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0/${PV%%.*}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-
-IUSE_VOICEMAIL_STORAGE=(
- voicemail_storage_odbc
- voicemail_storage_imap
-)
-IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl dahdi debug deprecated doc freetds gtalk http iconv ilbc ldap lua mysql newt odbc oss pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd syslog systemd unbound vorbis xmpp"
-IUSE_EXPAND="VOICEMAIL_STORAGE"
-REQUIRED_USE="gtalk? ( xmpp )
- lua? ( ${LUA_REQUIRED_USE} )
- voicemail_storage_odbc? ( odbc )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-16.16.2-no-var-run-install.patch"
-)
-
-DEPEND="acct-user/asterisk
- acct-group/asterisk
- dev-db/sqlite:3
- dev-libs/popt
- >=dev-libs/jansson-2.11:=
- dev-libs/libedit
- dev-libs/libxml2:2
- dev-libs/libxslt
- sys-apps/util-linux
- sys-libs/zlib
- virtual/libcrypt:=
- alsa? ( media-libs/alsa-lib )
- bluetooth? ( net-wireless/bluez:= )
- calendar? (
- net-libs/neon:=
- dev-libs/libical:=
- dev-libs/iksemel
- )
- caps? ( sys-libs/libcap )
- blocks? ( sys-libs/blocksruntime )
- cluster? ( sys-cluster/corosync )
- codec2? ( media-libs/codec2:= )
- curl? ( net-misc/curl )
- dahdi? (
- net-libs/libpri
- net-misc/dahdi-tools
- )
- freetds? ( dev-db/freetds )
- gtalk? ( dev-libs/iksemel )
- http? ( dev-libs/gmime:2.6 )
- iconv? ( virtual/libiconv )
- ilbc? ( media-libs/libilbc )
- ldap? ( net-nds/openldap:= )
- lua? ( ${LUA_DEPS} )
- mysql? ( dev-db/mysql-connector-c:= )
- newt? ( dev-libs/newt )
- odbc? ( dev-db/unixODBC )
- pjproject? ( >=net-libs/pjproject-2.12:= )
- portaudio? ( media-libs/portaudio )
- postgres? ( dev-db/postgresql:* )
- radius? ( net-dialup/freeradius-client )
- snmp? ( net-analyzer/net-snmp:= )
- span? ( media-libs/spandsp )
- speex? (
- media-libs/libogg
- media-libs/speex
- media-libs/speexdsp
- )
- srtp? ( net-libs/libsrtp:0 )
- ssl? (
- dev-libs/openssl:0=
- )
- systemd? ( sys-apps/systemd )
- !systemd? ( !sys-apps/systemd )
- unbound? ( net-dns/unbound )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- )
- voicemail_storage_imap? ( net-libs/c-client[ssl=] )
- xmpp? ( dev-libs/iksemel )
-"
-
-RDEPEND="${DEPEND}
- net-misc/asterisk-core-sounds
- net-misc/asterisk-extra-sounds
- net-misc/asterisk-moh-opsound
- selinux? ( sec-policy/selinux-asterisk )
- syslog? ( virtual/logger )"
-
-BDEPEND="dev-libs/libxml2:2
- virtual/pkgconfig"
-
-QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+"
-
-_make_args=(
- "NOISY_BUILD=yes"
- "ASTDBDIR=\$(ASTDATADIR)/astdb"
- "ASTVARRUNDIR=/run/asterisk"
- "ASTCACHEDIR=/var/cache/asterisk"
- "OPTIMIZE="
- "DEBUG="
- "DESTDIR=${D}"
- "CONFIG_SRC=configs/samples"
- "CONFIG_EXTEN=.sample"
-)
-
-pkg_pretend() {
- 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
-
- [[ "${MERGE_TYPE}" == binary ]] && return
-
- if tc-is-clang; then
- use blocks || die "CC=clang requires USE=blocks"
- else
- use blocks && die "USE=blocks can only be used with CC=clang"
- fi
-}
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
- AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" \
- AC_CONFIG_SUBDIRS=menuselect eautoreconf
-}
-
-src_configure() {
- local vmst
- local copt cstate
-
- econf \
- LUA_VERSION="${ELUA#lua}" \
- --libdir="/usr/$(get_libdir)" \
- --localstatedir="/var" \
- --with-crypto \
- --with-gsm=internal \
- --with-popt \
- --with-z \
- --with-libedit \
- --without-jansson-bundled \
- --without-pjproject-bundled \
- $(use_with caps cap) \
- $(use_with codec2) \
- $(use_with lua lua) \
- $(use_with http gmime) \
- $(use_with newt) \
- $(use_with pjproject) \
- $(use_with portaudio) \
- $(use_with ssl) \
- $(use_with unbound)
-
- _menuselect() {
- menuselect/menuselect "$@" || die "menuselect $* failed."
- }
-
- _use_select() {
- local state=$(use "$1" && echo enable || echo disable)
- shift # remove use from parameters
-
- while [[ -n $1 ]]; do
- _menuselect --${state} "$1" menuselect.makeopts
- shift
- done
- }
-
- # 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 "${_make_args[@]}" menuselect.makeopts
-
- # Disable astdb2* tools. We've been on sqlite long enough
- # that this should really no longer be a problem (bug #https://bugs.gentoo.org/872194)
- _menuselect --disable astdb2sqlite3 menuselect.makeopts
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # Disable BUILD_NATIVE (bug #667498)
- _menuselect --disable build_native menuselect.makeopts
-
- # Broken functionality is forcibly disabled (bug #360143)
- _menuselect --disable chan_misdn menuselect.makeopts
- _menuselect --disable chan_ooh323 menuselect.makeopts
-
- # Utility set is forcibly enabled (bug #358001)
- _menuselect --enable smsq menuselect.makeopts
- _menuselect --enable streamplayer menuselect.makeopts
- _menuselect --enable aelparse menuselect.makeopts
- _menuselect --enable astman menuselect.makeopts
-
- # this is connected, otherwise it would not find
- # ast_pktccops_gate_alloc symbol
- _menuselect --enable chan_mgcp menuselect.makeopts
- _menuselect --enable res_pktccops menuselect.makeopts
-
- # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
- _menuselect --enable pbx_dundi menuselect.makeopts
- _menuselect --enable func_aes menuselect.makeopts
- _menuselect --enable chan_iax2 menuselect.makeopts
-
- # SQlite3 is now the main database backend, enable related features
- _menuselect --enable cdr_sqlite3_custom menuselect.makeopts
- _menuselect --enable cel_sqlite3_custom menuselect.makeopts
-
- # Disable conversion tools (which fails to compile in some cases).
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # The others are based on USE-flag settings
- _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 codec2 codec_codec2
- _use_select curl func_curl res_config_curl res_curl
- _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
- _use_select deprecated app_macro
- _use_select freetds {cdr,cel}_tds
- _use_select gtalk chan_motif
- _use_select http res_http_post
- _use_select iconv func_iconv
- _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 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 speex format_ogg_speex
- _use_select srtp res_srtp
- _use_select statsd res_statsd res_{endpoint,chan}_stats
- _use_select syslog cdr_syslog
- _use_select vorbis format_ogg_vorbis
- _use_select xmpp res_xmpp
-
- # Voicemail storage ...
- _menuselect --enable app_voicemail menuselect.makeopts
- for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do
- if use "${vmst#+}"; then
- _menuselect --enable "app_voicemail_${vmst##*_}" menuselect.makeopts
- fi
- done
-
- if use debug; then
- for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do
- _menuselect --enable "${o}" menuselect.makeopts
- done
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do
- cstate=--enable
- [[ "${copt}" == -* ]] && cstate=--disable
- ebegin "Custom option ${copt#[-+]} ${cstate:2}d"
- _menuselect ${cstate} "${copt#[-+]}"
- eend $?
- done
- fi
-}
-
-src_compile() {
- emake "${_make_args[@]}"
-}
-
-src_install() {
- local d
-
- dodir "/usr/$(get_libdir)/pkgconfig"
-
- diropts -m 0750 -o root -g asterisk
- dodir /etc/asterisk
-
- emake "${_make_args[@]}" install install-headers install-configs
-
- fowners asterisk: /var/lib/asterisk/astdb
-
- if use radius; then
- insinto /etc/radiusclient/
- doins contrib/dictionary.digium
- fi
-
- # keep directories
- diropts -m 0750 -o asterisk -g root
- keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing}
- diropts -m 0750 -o asterisk -g asterisk
- keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
-
- newsbin "${FILESDIR}/asterisk_wrapper-16.26.1-18.12.1" asterisk_wrapper
- newinitd "${FILESDIR}"/initd-16.26.1-18.12.1 asterisk
- newconfd "${FILESDIR}"/confd-16.26.1-18.12.1 asterisk
-
- systemd_dounit "${FILESDIR}"/asterisk.service
- newtmpfiles "${FILESDIR}"/asterisk.tmpfiles-16.22.0-18.8.0.conf asterisk.conf
- systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
-
- # Reset diropts else dodoc uses it for doc installations.
- diropts -m0755
-
- # install the upgrade documentation
- dodoc UPGRADE* BUGS CREDITS
-
- # install extra documentation
- use doc && dodoc doc/*.{txt,pdf}
-
- # install logrotate snippet; bug #329281
- #
- insinto /etc/logrotate.d
- newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
-
- # Asterisk installs a few folders that's empty by design,
- # but still required. This finds them, and marks them for
- # portage.
- while read d <&3; do
- keepdir "${d#${ED}}"
- done 3< <(find "${ED}"/var -type d -empty || die "Find failed.")
-}
-
-pkg_postinst() {
- tmpfiles_process asterisk.conf
-
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then
- elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:"
- elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- fi
-
- if use deprecated; then
- ewarn "You really aught to port whatever code you have that depends on this since these are going to go away."
- ewarn "Refer: https://wiki.asterisk.org/wiki/display/AST/Module+Deprecation"
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used"
- ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org"
- fi
-
- if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then
- ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb"
- ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set"
- ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these"
- ewarn "steps to migrate:"
- ewarn "1. /etc/init.d/asterisk stop"
- ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/"
- ewarn "3. /etc/init.d/asterisk start"
- ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned."
- fi
-}
diff --git a/net-misc/asterisk/asterisk-18.16.0.ebuild b/net-misc/asterisk/asterisk-18.17.1.ebuild
index 3aeec65e1492..b2e2fa41bd6b 100644
--- a/net-misc/asterisk/asterisk-18.16.0.ebuild
+++ b/net-misc/asterisk/asterisk-18.17.1.ebuild
@@ -27,6 +27,7 @@ REQUIRED_USE="gtalk? ( xmpp )
PATCHES=(
"${FILESDIR}/asterisk-16.16.2-no-var-run-install.patch"
+ "${FILESDIR}/asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch"
)
DEPEND="acct-user/asterisk
@@ -114,6 +115,7 @@ _make_args=(
"DESTDIR=${D}"
"CONFIG_SRC=configs/samples"
"CONFIG_EXTEN=.sample"
+ "AST_FORTIFY_SOURCE="
)
pkg_pretend() {
@@ -310,8 +312,8 @@ src_install() {
diropts -m 0750 -o asterisk -g asterisk
keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
- newsbin "${FILESDIR}/asterisk_wrapper-16.26.1-18.12.1" asterisk_wrapper
- newinitd "${FILESDIR}"/initd-16.26.1-18.12.1 asterisk
+ newsbin "${FILESDIR}/asterisk_wrapper-18.17.1-20.2.1" asterisk_wrapper
+ newinitd "${FILESDIR}"/initd-18.17.1-20.2.1 asterisk
newconfd "${FILESDIR}"/confd-16.26.1-18.12.1 asterisk
systemd_dounit "${FILESDIR}"/asterisk.service
diff --git a/net-misc/asterisk/asterisk-20.0.1.ebuild b/net-misc/asterisk/asterisk-20.0.1.ebuild
deleted file mode 100644
index 44307ed35aed..000000000000
--- a/net-misc/asterisk/asterisk-20.0.1.ebuild
+++ /dev/null
@@ -1,372 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{1..4} )
-
-inherit autotools linux-info lua-single systemd toolchain-funcs tmpfiles
-
-DESCRIPTION="Asterisk: A Modular Open Source PBX System"
-HOMEPAGE="https://www.asterisk.org/"
-SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0/${PV%%.*}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-
-IUSE_VOICEMAIL_STORAGE=(
- voicemail_storage_odbc
- voicemail_storage_imap
-)
-IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl dahdi debug deprecated doc freetds gtalk http iconv ilbc ldap lua mysql newt odbc pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd systemd unbound vorbis xmpp"
-IUSE_EXPAND="VOICEMAIL_STORAGE"
-REQUIRED_USE="gtalk? ( xmpp )
- lua? ( ${LUA_REQUIRED_USE} )
- voicemail_storage_odbc? ( odbc )
-"
-
-PATCHES=(
- "${FILESDIR}/asterisk-16.16.2-no-var-run-install.patch"
- "${FILESDIR}/asterisk-16.29.1_18.15.1_20.0.1-noexec_stack.patch"
-)
-
-DEPEND="acct-user/asterisk
- acct-group/asterisk
- dev-db/sqlite:3
- dev-libs/popt
- >=dev-libs/jansson-2.11:=
- dev-libs/libedit
- dev-libs/libxml2:2
- dev-libs/libxslt
- sys-apps/util-linux
- sys-libs/zlib
- virtual/libcrypt:=
- alsa? ( media-libs/alsa-lib )
- bluetooth? ( net-wireless/bluez:= )
- calendar? (
- net-libs/neon:=
- dev-libs/libical:=
- dev-libs/iksemel
- )
- caps? ( sys-libs/libcap )
- blocks? ( sys-libs/blocksruntime )
- cluster? ( sys-cluster/corosync )
- codec2? ( media-libs/codec2:= )
- curl? ( net-misc/curl )
- dahdi? (
- net-libs/libpri
- net-misc/dahdi-tools
- )
- freetds? ( dev-db/freetds )
- gtalk? ( dev-libs/iksemel )
- http? ( dev-libs/gmime:2.6 )
- iconv? ( virtual/libiconv )
- ilbc? ( media-libs/libilbc )
- ldap? ( net-nds/openldap:= )
- lua? ( ${LUA_DEPS} )
- mysql? ( dev-db/mysql-connector-c:= )
- newt? ( dev-libs/newt )
- odbc? ( dev-db/unixODBC )
- pjproject? ( >=net-libs/pjproject-2.12:= )
- portaudio? ( media-libs/portaudio )
- postgres? ( dev-db/postgresql:* )
- radius? ( net-dialup/freeradius-client )
- snmp? ( net-analyzer/net-snmp:= )
- span? ( media-libs/spandsp )
- speex? (
- media-libs/libogg
- media-libs/speex
- media-libs/speexdsp
- )
- srtp? ( net-libs/libsrtp:0 )
- ssl? (
- dev-libs/openssl:0=
- )
- systemd? ( sys-apps/systemd )
- !systemd? ( !sys-apps/systemd )
- unbound? ( net-dns/unbound )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- )
- voicemail_storage_imap? ( net-libs/c-client[ssl=] )
- xmpp? ( dev-libs/iksemel )
-"
-
-RDEPEND="${DEPEND}
- net-misc/asterisk-core-sounds
- net-misc/asterisk-extra-sounds
- net-misc/asterisk-moh-opsound
- selinux? ( sec-policy/selinux-asterisk )"
-
-BDEPEND="dev-libs/libxml2:2
- virtual/pkgconfig"
-
-QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+"
-
-_make_args=(
- "NOISY_BUILD=yes"
- "ASTDBDIR=\$(ASTDATADIR)/astdb"
- "ASTVARRUNDIR=/run/asterisk"
- "ASTCACHEDIR=/var/cache/asterisk"
- "OPTIMIZE="
- "DEBUG="
- "DESTDIR=${D}"
- "CONFIG_SRC=configs/samples"
- "CONFIG_EXTEN=.sample"
-)
-
-pkg_pretend() {
- 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
-
- [[ "${MERGE_TYPE}" == binary ]] && return
-
- if tc-is-clang; then
- use blocks || die "CC=clang requires USE=blocks"
- else
- use blocks && die "USE=blocks can only be used with CC=clang"
- fi
-}
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
- AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" \
- AC_CONFIG_SUBDIRS=menuselect eautoreconf
-}
-
-src_configure() {
- local vmst
- local copt cstate
-
- econf \
- LUA_VERSION="${ELUA#lua}" \
- --libdir="/usr/$(get_libdir)" \
- --localstatedir="/var" \
- --with-crypto \
- --with-gsm=internal \
- --with-popt \
- --with-z \
- --with-libedit \
- --without-jansson-bundled \
- --without-pjproject-bundled \
- $(use_with caps cap) \
- $(use_with codec2) \
- $(use_with lua lua) \
- $(use_with http gmime) \
- $(use_with newt) \
- $(use_with pjproject) \
- $(use_with portaudio) \
- $(use_with ssl) \
- $(use_with unbound)
-
- _menuselect() {
- menuselect/menuselect "$@" || die "menuselect $* failed."
- }
-
- _use_select() {
- local state=$(use "$1" && echo enable || echo disable)
- shift # remove use from parameters
-
- while [[ -n $1 ]]; do
- _menuselect --${state} "$1" menuselect.makeopts
- shift
- done
- }
-
- # 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 "${_make_args[@]}" menuselect.makeopts
-
- # Disable astdb2* tools. We've been on sqlite long enough
- # that this should really no longer be a problem (bug #https://bugs.gentoo.org/872194)
- _menuselect --disable astdb2sqlite3 menuselect.makeopts
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # Disable BUILD_NATIVE (bug #667498)
- _menuselect --disable build_native menuselect.makeopts
-
- # Broken functionality is forcibly disabled (bug #360143)
- _menuselect --disable chan_ooh323 menuselect.makeopts
-
- # Utility set is forcibly enabled (bug #358001)
- _menuselect --enable smsq menuselect.makeopts
- _menuselect --enable streamplayer menuselect.makeopts
- _menuselect --enable aelparse menuselect.makeopts
- _menuselect --enable astman menuselect.makeopts
-
- # this is connected, otherwise it would not find
- # ast_pktccops_gate_alloc symbol
- _menuselect --enable chan_mgcp menuselect.makeopts
- _menuselect --enable res_pktccops menuselect.makeopts
-
- # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
- _menuselect --enable pbx_dundi menuselect.makeopts
- _menuselect --enable func_aes menuselect.makeopts
- _menuselect --enable chan_iax2 menuselect.makeopts
-
- # SQlite3 is now the main database backend, enable related features
- _menuselect --enable cdr_sqlite3_custom menuselect.makeopts
- _menuselect --enable cel_sqlite3_custom menuselect.makeopts
-
- # Disable conversion tools (which fails to compile in some cases).
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # The others are based on USE-flag settings
- _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 codec2 codec_codec2
- _use_select curl func_curl res_config_curl res_curl
- _use_select dahdi app_meetme chan_dahdi codec_dahdi res_timing_dahdi
- _use_select deprecated app_macro chan_sip res_monitor
- _use_select freetds {cdr,cel}_tds
- _use_select gtalk chan_motif
- _use_select http res_http_post
- _use_select iconv func_iconv
- _use_select ilbc codec_ilbc format_ilbc
- _use_select ldap res_config_ldap
- _use_select lua pbx_lua
- _use_select mysql res_config_mysql
- _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc
- _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 speex format_ogg_speex
- _use_select srtp res_srtp
- _use_select statsd res_statsd res_{endpoint,chan}_stats
- _use_select vorbis format_ogg_vorbis
- _use_select xmpp res_xmpp
-
- # Voicemail storage ...
- _menuselect --enable app_voicemail menuselect.makeopts
- for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do
- if use "${vmst#+}"; then
- _menuselect --enable "app_voicemail_${vmst##*_}" menuselect.makeopts
- fi
- done
-
- if use debug; then
- for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do
- _menuselect --enable "${o}" menuselect.makeopts
- done
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do
- cstate=--enable
- [[ "${copt}" == -* ]] && cstate=--disable
- ebegin "Custom option ${copt#[-+]} ${cstate:2}d"
- _menuselect ${cstate} "${copt#[-+]}"
- eend $?
- done
- fi
-}
-
-src_compile() {
- emake "${_make_args[@]}"
-}
-
-src_install() {
- local d
-
- dodir "/usr/$(get_libdir)/pkgconfig"
-
- diropts -m 0750 -o root -g asterisk
- dodir /etc/asterisk
-
- emake "${_make_args[@]}" install install-headers install-configs
-
- fowners asterisk: /var/lib/asterisk/astdb
-
- if use radius; then
- insinto /etc/radiusclient/
- doins contrib/dictionary.digium
- fi
-
- # keep directories
- diropts -m 0750 -o asterisk -g root
- keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing}
- diropts -m 0750 -o asterisk -g asterisk
- keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
-
- newsbin "${FILESDIR}/asterisk_wrapper-16.26.1-18.12.1" asterisk_wrapper
- newinitd "${FILESDIR}"/initd-16.26.1-18.12.1 asterisk
- newconfd "${FILESDIR}"/confd-16.26.1-18.12.1 asterisk
-
- systemd_dounit "${FILESDIR}"/asterisk.service
- newtmpfiles "${FILESDIR}"/asterisk.tmpfiles-16.22.0-18.8.0.conf asterisk.conf
- systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
-
- # Reset diropts else dodoc uses it for doc installations.
- diropts -m0755
-
- # install the upgrade documentation
- dodoc UPGRADE* BUGS CREDITS
-
- # install extra documentation
- use doc && dodoc doc/*.{txt,pdf}
-
- # install logrotate snippet; bug #329281
- #
- insinto /etc/logrotate.d
- newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
-
- # Asterisk installs a few folders that's empty by design,
- # but still required. This finds them, and marks them for
- # portage.
- while read d <&3; do
- keepdir "${d#${ED}}"
- done 3< <(find "${ED}"/var -type d -empty || die "Find failed.")
-}
-
-pkg_postinst() {
- tmpfiles_process asterisk.conf
-
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then
- elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:"
- elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- fi
-
- if use deprecated; then
- ewarn "You really aught to port whatever code you have that depends on this since these are going to go away."
- ewarn "Refer: https://wiki.asterisk.org/wiki/display/AST/Module+Deprecation"
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used"
- ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org"
- fi
-
- if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then
- ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb"
- ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set"
- ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these"
- ewarn "steps to migrate:"
- ewarn "1. /etc/init.d/asterisk stop"
- ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/"
- ewarn "3. /etc/init.d/asterisk start"
- ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned."
- fi
-}
diff --git a/net-misc/asterisk/asterisk-20.1.0.ebuild b/net-misc/asterisk/asterisk-20.1.0.ebuild
deleted file mode 100644
index 78b8025b2537..000000000000
--- a/net-misc/asterisk/asterisk-20.1.0.ebuild
+++ /dev/null
@@ -1,371 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{1..4} )
-
-inherit autotools linux-info lua-single systemd toolchain-funcs tmpfiles
-
-DESCRIPTION="Asterisk: A Modular Open Source PBX System"
-HOMEPAGE="https://www.asterisk.org/"
-SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0/${PV%%.*}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-
-IUSE_VOICEMAIL_STORAGE=(
- voicemail_storage_odbc
- voicemail_storage_imap
-)
-IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl dahdi debug deprecated doc freetds gtalk http iconv ilbc ldap lua mysql newt odbc pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd systemd unbound vorbis xmpp"
-IUSE_EXPAND="VOICEMAIL_STORAGE"
-REQUIRED_USE="gtalk? ( xmpp )
- lua? ( ${LUA_REQUIRED_USE} )
- voicemail_storage_odbc? ( odbc )
-"
-
-PATCHES=(
- "${FILESDIR}/asterisk-16.16.2-no-var-run-install.patch"
-)
-
-DEPEND="acct-user/asterisk
- acct-group/asterisk
- dev-db/sqlite:3
- dev-libs/popt
- >=dev-libs/jansson-2.11:=
- dev-libs/libedit
- dev-libs/libxml2:2
- dev-libs/libxslt
- sys-apps/util-linux
- sys-libs/zlib
- virtual/libcrypt:=
- alsa? ( media-libs/alsa-lib )
- bluetooth? ( net-wireless/bluez:= )
- calendar? (
- net-libs/neon:=
- dev-libs/libical:=
- dev-libs/iksemel
- )
- caps? ( sys-libs/libcap )
- blocks? ( sys-libs/blocksruntime )
- cluster? ( sys-cluster/corosync )
- codec2? ( media-libs/codec2:= )
- curl? ( net-misc/curl )
- dahdi? (
- net-libs/libpri
- net-misc/dahdi-tools
- )
- freetds? ( dev-db/freetds )
- gtalk? ( dev-libs/iksemel )
- http? ( dev-libs/gmime:2.6 )
- iconv? ( virtual/libiconv )
- ilbc? ( media-libs/libilbc )
- ldap? ( net-nds/openldap:= )
- lua? ( ${LUA_DEPS} )
- mysql? ( dev-db/mysql-connector-c:= )
- newt? ( dev-libs/newt )
- odbc? ( dev-db/unixODBC )
- pjproject? ( >=net-libs/pjproject-2.12:= )
- portaudio? ( media-libs/portaudio )
- postgres? ( dev-db/postgresql:* )
- radius? ( net-dialup/freeradius-client )
- snmp? ( net-analyzer/net-snmp:= )
- span? ( media-libs/spandsp )
- speex? (
- media-libs/libogg
- media-libs/speex
- media-libs/speexdsp
- )
- srtp? ( net-libs/libsrtp:0 )
- ssl? (
- dev-libs/openssl:0=
- )
- systemd? ( sys-apps/systemd )
- !systemd? ( !sys-apps/systemd )
- unbound? ( net-dns/unbound )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- )
- voicemail_storage_imap? ( net-libs/c-client[ssl=] )
- xmpp? ( dev-libs/iksemel )
-"
-
-RDEPEND="${DEPEND}
- net-misc/asterisk-core-sounds
- net-misc/asterisk-extra-sounds
- net-misc/asterisk-moh-opsound
- selinux? ( sec-policy/selinux-asterisk )"
-
-BDEPEND="dev-libs/libxml2:2
- virtual/pkgconfig"
-
-QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+"
-
-_make_args=(
- "NOISY_BUILD=yes"
- "ASTDBDIR=\$(ASTDATADIR)/astdb"
- "ASTVARRUNDIR=/run/asterisk"
- "ASTCACHEDIR=/var/cache/asterisk"
- "OPTIMIZE="
- "DEBUG="
- "DESTDIR=${D}"
- "CONFIG_SRC=configs/samples"
- "CONFIG_EXTEN=.sample"
-)
-
-pkg_pretend() {
- 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
-
- [[ "${MERGE_TYPE}" == binary ]] && return
-
- if tc-is-clang; then
- use blocks || die "CC=clang requires USE=blocks"
- else
- use blocks && die "USE=blocks can only be used with CC=clang"
- fi
-}
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
- AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" \
- AC_CONFIG_SUBDIRS=menuselect eautoreconf
-}
-
-src_configure() {
- local vmst
- local copt cstate
-
- econf \
- LUA_VERSION="${ELUA#lua}" \
- --libdir="/usr/$(get_libdir)" \
- --localstatedir="/var" \
- --with-crypto \
- --with-gsm=internal \
- --with-popt \
- --with-z \
- --with-libedit \
- --without-jansson-bundled \
- --without-pjproject-bundled \
- $(use_with caps cap) \
- $(use_with codec2) \
- $(use_with lua lua) \
- $(use_with http gmime) \
- $(use_with newt) \
- $(use_with pjproject) \
- $(use_with portaudio) \
- $(use_with ssl) \
- $(use_with unbound)
-
- _menuselect() {
- menuselect/menuselect "$@" || die "menuselect $* failed."
- }
-
- _use_select() {
- local state=$(use "$1" && echo enable || echo disable)
- shift # remove use from parameters
-
- while [[ -n $1 ]]; do
- _menuselect --${state} "$1" menuselect.makeopts
- shift
- done
- }
-
- # 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 "${_make_args[@]}" menuselect.makeopts
-
- # Disable astdb2* tools. We've been on sqlite long enough
- # that this should really no longer be a problem (bug #https://bugs.gentoo.org/872194)
- _menuselect --disable astdb2sqlite3 menuselect.makeopts
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # Disable BUILD_NATIVE (bug #667498)
- _menuselect --disable build_native menuselect.makeopts
-
- # Broken functionality is forcibly disabled (bug #360143)
- _menuselect --disable chan_ooh323 menuselect.makeopts
-
- # Utility set is forcibly enabled (bug #358001)
- _menuselect --enable smsq menuselect.makeopts
- _menuselect --enable streamplayer menuselect.makeopts
- _menuselect --enable aelparse menuselect.makeopts
- _menuselect --enable astman menuselect.makeopts
-
- # this is connected, otherwise it would not find
- # ast_pktccops_gate_alloc symbol
- _menuselect --enable chan_mgcp menuselect.makeopts
- _menuselect --enable res_pktccops menuselect.makeopts
-
- # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
- _menuselect --enable pbx_dundi menuselect.makeopts
- _menuselect --enable func_aes menuselect.makeopts
- _menuselect --enable chan_iax2 menuselect.makeopts
-
- # SQlite3 is now the main database backend, enable related features
- _menuselect --enable cdr_sqlite3_custom menuselect.makeopts
- _menuselect --enable cel_sqlite3_custom menuselect.makeopts
-
- # Disable conversion tools (which fails to compile in some cases).
- _menuselect --disable astdb2bdb menuselect.makeopts
-
- # The others are based on USE-flag settings
- _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 codec2 codec_codec2
- _use_select curl func_curl res_config_curl res_curl
- _use_select dahdi app_meetme chan_dahdi codec_dahdi res_timing_dahdi
- _use_select deprecated app_macro chan_sip res_monitor
- _use_select freetds {cdr,cel}_tds
- _use_select gtalk chan_motif
- _use_select http res_http_post
- _use_select iconv func_iconv
- _use_select ilbc codec_ilbc format_ilbc
- _use_select ldap res_config_ldap
- _use_select lua pbx_lua
- _use_select mysql res_config_mysql
- _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc
- _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 speex format_ogg_speex
- _use_select srtp res_srtp
- _use_select statsd res_statsd res_{endpoint,chan}_stats
- _use_select vorbis format_ogg_vorbis
- _use_select xmpp res_xmpp
-
- # Voicemail storage ...
- _menuselect --enable app_voicemail menuselect.makeopts
- for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do
- if use "${vmst#+}"; then
- _menuselect --enable "app_voicemail_${vmst##*_}" menuselect.makeopts
- fi
- done
-
- if use debug; then
- for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do
- _menuselect --enable "${o}" menuselect.makeopts
- done
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do
- cstate=--enable
- [[ "${copt}" == -* ]] && cstate=--disable
- ebegin "Custom option ${copt#[-+]} ${cstate:2}d"
- _menuselect ${cstate} "${copt#[-+]}"
- eend $?
- done
- fi
-}
-
-src_compile() {
- emake "${_make_args[@]}"
-}
-
-src_install() {
- local d
-
- dodir "/usr/$(get_libdir)/pkgconfig"
-
- diropts -m 0750 -o root -g asterisk
- dodir /etc/asterisk
-
- emake "${_make_args[@]}" install install-headers install-configs
-
- fowners asterisk: /var/lib/asterisk/astdb
-
- if use radius; then
- insinto /etc/radiusclient/
- doins contrib/dictionary.digium
- fi
-
- # keep directories
- diropts -m 0750 -o asterisk -g root
- keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing}
- diropts -m 0750 -o asterisk -g asterisk
- keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
-
- newsbin "${FILESDIR}/asterisk_wrapper-16.26.1-18.12.1" asterisk_wrapper
- newinitd "${FILESDIR}"/initd-16.26.1-18.12.1 asterisk
- newconfd "${FILESDIR}"/confd-16.26.1-18.12.1 asterisk
-
- systemd_dounit "${FILESDIR}"/asterisk.service
- newtmpfiles "${FILESDIR}"/asterisk.tmpfiles-16.22.0-18.8.0.conf asterisk.conf
- systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
-
- # Reset diropts else dodoc uses it for doc installations.
- diropts -m0755
-
- # install the upgrade documentation
- dodoc UPGRADE* BUGS CREDITS
-
- # install extra documentation
- use doc && dodoc doc/*.{txt,pdf}
-
- # install logrotate snippet; bug #329281
- #
- insinto /etc/logrotate.d
- newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
-
- # Asterisk installs a few folders that's empty by design,
- # but still required. This finds them, and marks them for
- # portage.
- while read d <&3; do
- keepdir "${d#${ED}}"
- done 3< <(find "${ED}"/var -type d -empty || die "Find failed.")
-}
-
-pkg_postinst() {
- tmpfiles_process asterisk.conf
-
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then
- elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:"
- elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
- fi
-
- if use deprecated; then
- ewarn "You really aught to port whatever code you have that depends on this since these are going to go away."
- ewarn "Refer: https://wiki.asterisk.org/wiki/display/AST/Module+Deprecation"
- fi
-
- if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then
- ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used"
- ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org"
- fi
-
- if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then
- ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb"
- ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set"
- ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these"
- ewarn "steps to migrate:"
- ewarn "1. /etc/init.d/asterisk stop"
- ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/"
- ewarn "3. /etc/init.d/asterisk start"
- ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned."
- fi
-}
diff --git a/net-misc/asterisk/asterisk-20.2.0.ebuild b/net-misc/asterisk/asterisk-20.2.1.ebuild
index 78b8025b2537..e4e12e12fba8 100644
--- a/net-misc/asterisk/asterisk-20.2.0.ebuild
+++ b/net-misc/asterisk/asterisk-20.2.1.ebuild
@@ -27,6 +27,7 @@ REQUIRED_USE="gtalk? ( xmpp )
PATCHES=(
"${FILESDIR}/asterisk-16.16.2-no-var-run-install.patch"
+ "${FILESDIR}/asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch"
)
DEPEND="acct-user/asterisk
@@ -113,6 +114,7 @@ _make_args=(
"DESTDIR=${D}"
"CONFIG_SRC=configs/samples"
"CONFIG_EXTEN=.sample"
+ "AST_FORTIFY_SOURCE="
)
pkg_pretend() {
@@ -306,8 +308,8 @@ src_install() {
diropts -m 0750 -o asterisk -g asterisk
keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
- newsbin "${FILESDIR}/asterisk_wrapper-16.26.1-18.12.1" asterisk_wrapper
- newinitd "${FILESDIR}"/initd-16.26.1-18.12.1 asterisk
+ newsbin "${FILESDIR}/asterisk_wrapper-18.17.1-20.2.1" asterisk_wrapper
+ newinitd "${FILESDIR}"/initd-18.17.1-20.2.1 asterisk
newconfd "${FILESDIR}"/confd-16.26.1-18.12.1 asterisk
systemd_dounit "${FILESDIR}"/asterisk.service
diff --git a/net-misc/asterisk/files/asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch b/net-misc/asterisk/files/asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch
new file mode 100644
index 000000000000..540888368223
--- /dev/null
+++ b/net-misc/asterisk/files/asterisk-18.17.1-20.2.1-configure-fix-test-code-to-match-gethostbyname_r-pro.patch
@@ -0,0 +1,71 @@
+From 79468a12c3533720c938731a8b7728ba4ff5a326 Mon Sep 17 00:00:00 2001
+From: Jaco Kroon <jaco@uls.co.za>
+Date: Wed, 10 May 2023 23:13:17 +0200
+Subject: [PATCH] configure: fix test code to match gethostbyname_r prototype.
+
+This enables the test to work with CC=clang.
+
+Without this the test for 6 args would fail with:
+
+utils.c:99:12: error: static declaration of 'gethostbyname_r' follows non-static declaration
+static int gethostbyname_r (const char *name, struct hostent *ret, char *buf,
+ ^
+/usr/include/netdb.h:177:12: note: previous declaration is here
+extern int gethostbyname_r (const char *__restrict __name,
+ ^
+
+Fixing the expected return type to int sorts this out.
+
+Signed-off-by: Jaco Kroon <jaco@uls.co.za>
+---
+ configure | 4 ++--
+ configure.ac | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure b/configure
+index bf78e2aade..b046dfc755 100755
+--- a/configure
++++ b/configure
+@@ -17537,7 +17537,7 @@ $as_echo_n "checking for gethostbyname_r with 6 arguments... " >&6; }
+ int
+ main ()
+ {
+-struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL);
++int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL);
+ ;
+ return 0;
+ }
+@@ -17565,7 +17565,7 @@ $as_echo_n "checking for gethostbyname_r with 5 arguments... " >&6; }
+ int
+ main ()
+ {
+-struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL);
++int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL);
+ ;
+ return 0;
+ }
+diff --git a/configure.ac b/configure.ac
+index ab6632beac..aeec352054 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -962,7 +962,7 @@ if test "x$have_gethostbyname_r_public_declaration" = "xyes"; then
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([#include <stdlib.h>
+ #include <netdb.h>],
+- [struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL);])],
++ [int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL);])],
+ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_GETHOSTBYNAME_R_6], 1, [Define to 1 if your system has gethostbyname_r with 6 arguments.]),
+ AC_MSG_RESULT(no)
+@@ -972,7 +972,7 @@ if test "x$have_gethostbyname_r_public_declaration" = "xyes"; then
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([#include <stdlib.h>
+ #include <netdb.h>],
+- [struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL);])],
++ [int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL);])],
+ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_GETHOSTBYNAME_R_5], 1, [Define to 1 if your system has gethostbyname_r with 5 arguments.]),
+ AC_MSG_RESULT(no)
+--
+2.39.3
+
diff --git a/net-misc/asterisk/files/asterisk_wrapper-18.17.1-20.2.1 b/net-misc/asterisk/files/asterisk_wrapper-18.17.1-20.2.1
new file mode 100644
index 000000000000..1a85eccf9b25
--- /dev/null
+++ b/net-misc/asterisk/files/asterisk_wrapper-18.17.1-20.2.1
@@ -0,0 +1,227 @@
+#! /bin/sh
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+progname="$(basename "$0")"
+
+T="$(getopt -o "h" --long "help,corecompress:,corerename:,crashemail:,dumpcore:,instance:,maxfd:,nicelevel:,restartdelay:,rundir:,syslog,tty:" -n "$progname" -- "$@")"
+eval set -- "${T}"
+
+# bash builtins are special ...
+echo_e="$([ "${SHELL}" = "/bin/bash" ] && echo "echo -e" || echo echo)"
+
+rundir=/run/asterisk
+restartdelay=5
+nicelevel=0
+maxfd=4096
+dumpcore=0
+unset tty instance syslog corecompress corerename crashemail
+
+usage() {
+ cat <<USAGE
+USAGE: $progname [options] -- asterisk options"
+OPTIONS:
+ -h|--help
+ Output this text and exit.
+ --corecompress[=tool]
+ asterisk's address space can get quite large, compressing the core dumps can
+ save significant space, especially if asterisk core dumps frequently.
+ --corerename pattern
+ It's assumed core files (if enabled) will go into PWD, this specifies a
+ rename pattern. The following % codes are recognised:
+ %h - hostname
+ %D - date in format YYYYMMDD
+ %T - time in format HHMMSS
+ It must be mentioned that if kernel.core_pattern (sysctl) is modified
+ from the default 'core' value this option is unlikely to work.
+ --crashemail email@address
+ This will send an email whenver asterisk crashes (does not terminate
+ cleanly with a zero exit code). You need a working sendmail binary.
+ --dumpcore sizelimit
+ Maximum size of core limit, or the word unlimited. Default is disabled
+ (sizelimit of 0).
+ --instance name
+ Updated label for sylog logger.
+ --maxfd maxfd
+ Sets the maximum number of file descriptors (default 4096).
+ --nicelevel nicelevel
+ Will set the asterisk nice level to the specified value.
+ --restartdelay delay_in_seconds
+ Number of seconds to wait before attempting to restart asterisk. This helps
+ to avoid tight-loop crashes. Defaults to 5s. Minimum 1.
+ --rundir path
+ Where to store the asterisk asterisk_wrapper.pid file. In order to terminate the
+ wrapper (when asterisk next terminates), remove this file.
+ --syslog
+ Pass to redirect output to syslog rather than using stdout and stderr.
+ --tty tty
+ If asterisk should be attached to a TTY device, then pass this, eg --tty /dev/tty8.
+ Use of this is not recommended in general.
+
+NOTE: There are some quirks with bash getopt shunting non-options prior to --
+ to asterisk options, so be careful of this. Typically stuff will break.
+USAGE
+}
+
+matchreg() {
+ local v=$1
+ shift
+ echo "$v" | grep -q "$@"
+}
+
+while [ "$1" != "--" ]; do
+ case "$1" in
+ --corecompress|--corerename|--crashemail|--dumpcore|--instance|--maxfd|--nicelevel|--restartdelay|--rundir|--tty)
+ eval "${1#--}=\"\${2}\""
+ shift 2
+ ;;
+ --syslog)
+ eval "${1#--}=1"
+ shift
+ ;;
+ --help|-h)
+ usage
+ exit 0
+ ;;
+ *)
+ echo "BUG: Don't know how to process option $1." >&2
+ usage >&2
+ exit 1
+ ;;
+ esac
+done
+shift # --
+
+if ! matchreg "${restartdelay}" "^[1-9][0-9]*$"; then
+ echo "Invalid --restartdelay value ${restartdelay}, resetting to 5." >&2
+ restartdelay=5
+fi
+
+if ! matchreg "${maxfd}" "^[1-9][0-9]*$"; then
+ echo "Invalid --maxfd value, resetting to 4096." >&2
+ maxfd=4096
+fi
+
+if [ $maxfd -lt 1024 ]; then
+ echo "maxfd is guaranteed too low, bumping to at least 1024" >&2
+ maxfd=1024
+fi
+
+if [ -n "${nicelevel}" ] && ! matchreg "${nicelevel}" -E "^-?[0-9]+$"; then
+ echo "Invalid --nicelevel which much be a valid integer (values from -20 to 20 makes sense)."
+ exit 1
+fi
+
+if [ -n "${corecompress}" -a ! -x "${corecompress}" ]; then
+ corecompress=$(which "${corecompress}" 2>/dev/null)
+ [ -z "${corecompress}" ] && echo "Error locating core compression tool, disabling core compression." >&2
+fi
+
+# Before here will still be output (potentially munged, to the terminal).
+if [ -n "${syslog}" ]; then
+ tdir="$(mktemp -d)"
+ tfifo="${tdir}/asterisk_wrapper.logger.fifo"
+ mkfifo "${tfifo}"
+ logger -t "asterisk_wrapper${instance:+:}${instance}" --id=$$ >/dev/null 2>&1 <"${tfifo}" &
+ exec 1>"${tfifo}"
+ exec 2>&1
+
+ rm "${tfifo}"
+ rmdir "${tdir}"
+fi
+
+echo "Initializing ${progname}"
+
+cleanup(){
+ # There is a tiny race here, if this gets replaced inbetween the read and the rm.
+ # To fix this is quite complex in that we need to keep an fd, compare inode numbers
+ # and manage flock's.
+ [ -r "${rundir}/${progname}.pid" ] && \
+ [ "$(cat "${rundir}/${progname}.pid")" = $$ ] && \
+ rm "${rundir}/${progname}.pid"
+}
+trap cleanup EXIT
+
+# We could be clobbering an old version's pid, in which case it'll just terminate on
+# it's next iteration. Towards this end, if asterisk.pid exists, attempt to find it's
+# config file and request a core stop when convenient so that we can take over.
+echo $$ > "${rundir}/${progname}.pid"
+if [ -r "${rundir}/asterisk.pid" ]; then
+ ast_pid="$(cat "${rundir}/asterisk.pid")"
+ [ -r "/proc/${ast_pid}/cmdline" ] && ast_conf="$(tr '\0' '\n' < "/proc/${ast_pid}/cmdline" | grep -A1 '^-C$' | tail -n1)" && /usr/sbin/asterisk -C "${ast_conf:-/etc/asterisk/asterisk.conf}" -rx "core stop when convenient"
+ # We may hit a few (depending on how busy the server is a great many number) loop failures still ...
+fi
+
+prlimit --core=${dumpcore} --pid=$$
+prlimit --nofile=${maxfd} --pid=$$
+
+ast_cmd=/usr/sbin/asterisk
+if [ -n "${nicelevel}" ]; then
+ ast_cmd="nice -n ${nicelevel} ${ast_cmd}"
+fi
+
+while [ -r "${rundir}/${progname}.pid" ]; do
+ # Another instance is looking to replace us, so terminate.
+ if [ "$(cat "${rundir}/${progname}.pid")" != $$ ]; then
+ break
+ fi
+
+ echo "Starting asterisk with ${ast_cmd} $*"
+ if [ -n "${tty+yes}" ]; then
+ /bin/stty -F "${tty}" sane
+ ${ast_cmd} "$@" >"${tty}" 2>&1 <"${tty}"
+ result=$?
+ else
+ # Purposefully leave stderr alone, this will under certain odd cases (like exceptions,
+ # and other odd cases logged from glibc) result in those logs at least being captured
+ # in syslog.
+ ${ast_cmd} "$@" </dev/null >/dev/null
+ result=$?
+ fi
+
+ if [ "$result" -eq 0 ]; then
+ echo "Asterisk terminated normally."
+ break
+ fi
+
+ if [ "$result" -gt 128 ]; then
+ signal="$(( result - 128 ))"
+ signame="$(kill -l $signal 2>/dev/null)"
+ MSG="Asterisk terminated with Signal: $signal (SIG${signame:-???})"
+
+ # TODO: figure out how to use /proc/sys/kernel/core_pattern here, but if someone is using
+ # that, chances are they're already dealing with what we want here.
+ if [ -r core ]; then
+ if [ -n "${corerename+yes}" ]; then
+ core_target="$(echo "${core_pattern}" | sed -e "s/%h/$(hostname)/" \
+ -e "s/%D/$(date +%Y%m%d)/" -e "s/%T/$(date +%H%M%S)/")"
+ mv core "${core_target}"
+ core_target=$(readlink -f "${core_target}")
+ else
+ core_target=$(readlink -f core)
+ fi
+
+ if [ -n "${corecompress}" && -x "${corecompress}" ]; then
+ "${corecompress}" "${core_target}"
+ fi
+
+ MSG="${MSG}\r\nCore dumped: ${core_target}"
+ fi
+ else
+ MSG="Asterisk terminated with return code: $result"
+ fi
+
+ [ -n "${tty+yes}" ] \
+ && echo "${MSG}" >"${tty}" \
+ || echo "${MSG}"
+
+ if [ -n "${crashemail+yes}" && -x /usr/sbin/sendmail ]; then
+ $echo_e -n "Subject: Asterisk crashed\r\n${MSG}\r\n" |\
+ /usr/sbin/sendmail "${crashemail}"
+ fi
+ echo "Restarting asterisk after ${restartdelay}s ..."
+ sleep "${restartdelay}"
+done
+
+echo "Terminating $progname."
+exit 0
diff --git a/net-misc/asterisk/files/initd-18.17.1-20.2.1 b/net-misc/asterisk/files/initd-18.17.1-20.2.1
new file mode 100644
index 000000000000..7d48b36456bf
--- /dev/null
+++ b/net-misc/asterisk/files/initd-18.17.1-20.2.1
@@ -0,0 +1,311 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="forcestop reload"
+
+depend() {
+ need net
+ use nscd dns dahdi mysql postgresql slapd capi
+}
+
+is_running() {
+ [ -r "${ast_rundir}/asterisk.pid" ] || return 1
+ PID="$(cat "${ast_rundir}/asterisk.pid")"
+ [ -d "/proc/${PID}" ] || return 1
+ EXE="$(readlink -f /proc/${PID}/exe)"
+ EXE="${EXE% (deleted)}" # in case asterisk got upgraded and we're still looking at an old one.
+ [ "${EXE}" = /usr/sbin/asterisk ] || return 1 # pid got re-used for another process.
+
+ # PID reported in pidfile is active, and is still an asterisk instance.
+ return 0
+}
+
+# Sets up a few variables for us for use
+# ast_instancename: eg, asterisk when RC_SVCNAME=asterisk, or asterisk(foo) when asterisk.foo.
+# ast_rundir: directory to be used as run folder (pid and ctl files).
+setup_svc_variables()
+{
+ local t
+
+ ast_instancename=asterisk
+ ast_rundir=/run/${RC_SVCNAME}
+ ast_logdir=/var/log/${RC_SVCNAME}
+ ast_confdir=/etc/${RC_SVCNAME}
+ ast_cachedir=/var/cache/asterisk
+ ast_stop_timeout=120
+ ast_stop_method="gracefully"
+
+ if [ "${RC_SVCNAME}" != "asterisk" ]; then
+ t="${RC_SVCNAME#asterisk.}"
+ if [ "${RC_SVCNAME}" = "${t}" ]; then
+ eerror "Invalid SVCNAME of ${RC_SVCNAME}, must be of the format asterisk.name."
+ return 1
+ fi
+ ast_instancename="${ast_instancename}(${t})"
+ fi
+
+ [ -n "${ASTERISK_RUNDIR}" ] && ast_rundir="${ASTERISK_RUNDIR}"
+ [ -n "${ASTERISK_LOGDIR}" ] && ast_logdir="${ASTERISK_LOGDIR}"
+ [ -n "${ASTERISK_CONFDIR}" ] && ast_confdir="${ASTERISK_CONFDIR}"
+ [ -n "${ASTERISK_CACHEDIR}" ] && ast_confdir="${ASTERISK_CACHEDIR}"
+ [ -n "${ASTERISK_STOP_TIMEOUT}" ] && ast_stop_timeout="${ASTERISK_STOP_TIMEOUT}"
+ case "${ASTERISK_STOP_METHOD}" in
+ gracefully|when\ convenient|now)
+ ast_stop_method="${ASTERISK_STOP_METHOD}"
+ ;;
+ esac
+ ast_group=
+ if [ -n "${ASTERISK_USER}" ]; then
+ ast_user="${ASTERISK_USER%%:*}"
+ if [ "${ast_user}" != "${ASTERISK_USER}" ]; then
+ ast_group="${ASTERISK_USER#*:}"
+ ast_group="${ast_group%%:*}"
+ fi
+ fi
+
+ [ -z "${ast_user}" ] && ast_user=asterisk
+
+ ast_pgroup="$(getent group $(getent passwd "${ast_user}" | awk -F: '{ print $4 }') | sed -re 's/:.*//')"
+
+ return 0
+}
+
+start() {
+ local OPTS PID
+ local tmp x
+
+ local OPTS ARGS WRAPPER_OPTS
+
+ setup_svc_variables || return $?
+
+ ebegin "Starting ${ast_instancename} PBX"
+
+ eindent
+
+ # filter (redundant) arguments
+ OPTS="$(echo "${ASTERISK_OPTS}" | sed -re "s:-[cfF]::g")"
+
+ # default options
+ OPTS="${OPTS}${OPTS:+ }-C ${ast_confdir}/asterisk.conf -f" # don't fork / detach breaks wrapper script...
+
+ WRAPPER_OPTS="--syslog"
+ if [ "${RC_SVCNAME}" != "asterisk" ]; then
+ WRAPPER_OPTS="${WRAPPER_OPTS} --instance ${RC_SVCNAME#asterisk.}"
+ fi
+ WRAPPER_OPTS="${WRAPPER_OPTS} --rundir ${ast_rundir}"
+
+ # ensure that ASTERISK_RESTART_DELAY is integer.
+ ASTERISK_RESTART_DELAY="$(echo "${ASTERISK_RESTART_DELAY}" | sed -re 's/^([0-9]*).*/\1/')"
+ [ -z "${ASTERISK_RESTART_DELAY}" ] && ASTERISK_RESTART_DELAY=5
+ WRAPPER_OPTS="${WRAPPER_OPTS} --restartdelay ${ASTERISK_RESTART_DELAY}"
+
+ if [ -n "${ASTERISK_CORE_SIZE}" ] &&
+ [ "${ASTERISK_CORE_SIZE}" != "0" ]; then
+ WRAPPER_OPTS="${WRAPPER_OPTS} --dumpcore ${ASTERISK_CORE_SIZE}"
+ OPTS="${OPTS} -g"
+
+ if [ -n "${ASTERISK_CORE_DIR}" ] && \
+ [ ! -d "${ASTERISK_CORE_DIR}" ]
+ then
+ checkpath -d -m 0755 -o ${ast_user}:${ast_group} "${ASTERISK_CORE_DIR}"
+ fi
+ ASTERISK_CORE_DIR="${ASTERISK_CORE_DIR:-/tmp}"
+
+ cd "${ASTERISK_CORE_DIR}"
+ einfo "Core dump size : ${ASTERISK_CORE_SIZE}"
+ einfo "Core dump location : ${ASTERISK_CORE_DIR}"
+
+ if [ -n "${ASTERISK_CORE_COMPRESS}" ]; then
+ einfo "Core compression tool : ${ASTERISK_CORE_COMPRESS}"
+ WRAPPER_OPTS="${WRAPPER_OPTS} --corecompress ${ASTERISK_CORE_COMPRESS}"
+ fi
+
+ if yesno "${ASTERISK_CORE_USEHOSTNAME}"; then
+ WRAPPER_OPTS="${WRAPPER_OPTS} --corerename core-%H-%D-%T"
+ else
+ WRAPPER_OPTS="${WRAPPER_OPTS} --corerename core-%D-%T"
+ fi
+ else
+ cd /
+ fi
+
+ if [ -n "${ASTERISK_MAX_FD}" ]; then
+ WRAPPER_OPTS="${WRAPPER_OPTS} --maxfd ${ASTERISK_MAX_FD}"
+ einfo "Max open filedescriptors : ${ASTERISK_MAX_FD}"
+ fi
+
+ if [ -n "${ASTERISK_NICE}" ]; then
+ if [ ${ASTERISK_NICE} -ge -20 ] && \
+ [ ${ASTERISK_NICE} -le 19 ]; then
+ einfo "Nice level : ${ASTERISK_NICE}"
+ WRAPPER_OPTS="${WRAPPER_OPTS} --nicelevel ${ASTERISK_NICE}"
+ else
+ eerror "Nice value must be between -20 and 19"
+ return 1
+ fi
+ fi
+
+ if [ -n "${ASTERISK_NOTIFY_EMAIL}" ]; then
+ if [ -x /usr/sbin/sendmail ]; then
+ einfo "Email notifications go to : ${ASTERISK_NOTIFY_EMAIL}"
+ WRAPPER_OPTS="${WRAPPER_OPTS} --crashemail ${ASTERISK_NOTIFY_EMAIL}"
+ else
+ ewarn "Notifications disabled, /usr/sbin/sendmail doesn't exist or is not executable!"
+ fi
+ fi
+
+ if [ -n "${ASTERISK_TTY}" ]; then
+ for x in "${ASTERISK_TTY}" \
+ "/dev/tty${ASTERISK_TTY}" \
+ "/dev/vc/${ASTERISK_TTY}"
+ do
+ if [ -c "${x}" ]; then
+ TTY="${x}"
+ fi
+ done
+ if [ -n "${TTY}" ]; then
+ einfo "Messages are sent to : ${TTY}"
+ WRAPPER_OPTS="${WRAPPER_OPTS} --tty ${TTY}"
+ else
+ ewarn "ASTERISK_TTY=${TTY} ignored, not valid."
+ fi
+ fi
+
+ if yesno "${ASTERISK_CONSOLE}" && [ -n "${TTY}" ]; then
+ einfo "Starting Asterisk console : Yes"
+ OPTS="${OPTS} -c"
+ fi
+
+ if ! getent passwd "${ast_user}" >/dev/null 2>&1; then
+ eerror "Requested to run asterisk as ${ast_user}, which doesn't exist."
+ return 1
+ fi
+ OPTS="${OPTS} -U ${ast_user}"
+
+ if [ -n "${ast_group}" ] && ! getent group "${ast_group}" >/dev/null 2>&1; then
+ eerror "Requested to run ${ast_instancename} with group ${ast_group}, which doesn't exist."
+ return 1
+ fi
+ [ -n "${ast_group}" ] && OPTS="${OPTS} -G ${ast_group}"
+
+ if [ "${ast_user}" = root ]; then
+ ewarn "Starting asterisk as root is not recommended (SERIOUS SECURITY CONSIDERATIONS)."
+ elif [ "${ast_group}" = root ]; then
+ ewarn "Starting asterisk with group root is not recommended (SERIOUS SECURITY CONSIDERATIONS)."
+ fi
+
+ checkpath -d -m 0755 -o "${ast_user}:${ast_group}" "${ast_logdir}" "${ast_rundir}"
+ checkpath -d -m 0750 -o "${ast_user}:${ast_group}" "${ast_cachedir}"
+
+ einfo "Starting asterisk as : ${ast_user}:${ast_group:-${ast_pgroup} (+supplementaries)}"
+ einfo "Wrapper options : ${WRAPPER_OPTS}"
+ einfo "Asterisk options : ${OPTS}"
+
+ /usr/sbin/asterisk_wrapper ${WRAPPER_OPTS} -- ${OPTS} &
+ result=$?
+
+ if [ $result -eq 0 ]; then
+ # 2 seconds should be enough for asterisk to start
+ sleep 2
+ is_running
+ result=$?
+
+ [ $result -eq 0 ] || wrapperstop
+ fi
+
+ eoutdent
+ eend $result
+
+ if [ $result -eq 0 ] && yesno "${ASTERISK_WAITBOOTED}"; then
+ if [ ! -r "${ast_rundir}/asterisk.ctl" ]; then
+ # asterisk can crash during startup ...
+ ebegin "Waiting for ctl file to appear"
+ while is_running && [ ! -r "${ast_rundir}/asterisk.ctl" ]; do
+ sleep 1
+ done
+ is_running
+ result=$?
+ eend $result
+ fi
+ if [ $result -eq 0 ]; then
+ ebegin "Waiting for ${ast_instancename} to fully boot"
+ /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "core waitfullybooted" >/dev/null 2>&1
+ eend $?
+ fi
+ fi
+
+ return $result
+}
+
+wrapperstop() {
+ # Older path.
+ if [ -r "${ast_rundir}/wrapper_loop.running" ]; then
+ ebegin "Signalling ${ast_instancename} wrapper script to terminate"
+ rm "${ast_rundir}/wrapper_loop.running"
+ eend $?
+ fi
+
+ if [ -r "${ast_rundir}/asterisk_wrapper.pid" ]; then
+ ebegin "Signalling ${ast_instancename} wrapper script to terminate"
+ rm "${ast_rundir}/asterisk_wrapper.pid"
+ eend $?
+ fi
+
+ return 0
+}
+
+forcestop() {
+ setup_svc_variables || return $?
+
+ # Just to be sure - when we want to forcestop we should make it all tear down.
+ wrapperstop
+
+ ebegin "Stopping ${ast_instancename} PBX"
+ start-stop-daemon --stop --pidfile /run/asterisk/asterisk.pid
+ eend $?
+}
+
+stop() {
+ setup_svc_variables || return $?
+
+ wrapperstop
+
+ if ! is_running; then
+ eerror "${ast_instancename} is not running!"
+ return 0
+ fi
+
+ ebegin "Stopping ${ast_instancename} PBX ${ast_stop_method}"
+ /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "core stop ${ast_stop_method}" >/dev/null 2>&1
+ # Now we have to wait until asterisk has _really_ stopped.
+ sleep 1
+ if is_running; then
+ einfon "Waiting for ${ast_instancename} to shutdown ."
+ local cnt=0
+ while is_running; do
+ cnt="$(expr $cnt + 2)"
+ if [ ${ast_stop_timeout} -gt 0 -a $cnt -gt ${ast_stop_timeout} ] ; then
+ echo
+ eend 1 "Failed waiting for ${ast_instancename} to stop."
+ return 1
+ fi
+ sleep 2
+ printf "."
+ done
+ echo
+ fi
+ eend 0
+}
+
+reload() {
+ setup_svc_variables || return $?
+
+ if is_running; then
+ ebegin "Requesting ${ast_instancename} to reload configuration"
+ /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "module reload" >/dev/null 2>&1
+ eend $?
+ else
+ eerror "${ast_instancename} is not running!"
+ fi
+}