Re: [asterisk-dev] Which enviroments are supported, really?
If you are looking to work with FreeBSD I'd suggest starting at FreshPorts [1]. Someone has done the work to get Asterisk working on FreeBSD and they've got Asterisk 13.19.0 (they're keeping it current). [1] https://www.freshports.org/net/asterisk13/ On 01/26/2018 06:41 AM, Alexander Traud wrote: Testing FreeBSD poses other problems however. None of us really work with BSD based distributions so it would take more time that we have available to do any serious testing there. Can you give an example of those anticipated problems? Greater differences allow deeper learning. Especially, OpenBSD and FreeBSD look like promising candidates with their different default shells and compilers. If you have a look at my reported issues, those were just copy-and-paste mistakes, slipped through errors, and wrong assumptions; trivial things. But big enough to be a show-stopper for a novice user. I am not about Continues Integration. I am about a manual test after a major release (for example before the xx.2 release) on platforms which should do, but which were not tested. I am not about running the whole Test Suite but just about installing Asterisk and running it once (to double-check there are no loader issues and no false errors). That took me seconds (after updating the dependencies lists for those platforms in the script install_prereq). Then, one goes through the findings. As described above, often easy to fix, especially for the one who introduced that code change. Ideally the remaining issues are reported on Jira, with a note that those issues must be fixed by the community. Done. Integrators and maintainers on those platforms can then use that information as starting point while creating their patches. That should even ease their contribution back upstream. -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
Re: [asterisk-dev] Which enviroments are supported, really?
On Fri, Jan 26, 2018 at 4:41 AM, Alexander Traud wrote: > > Testing FreeBSD poses other problems however. None of us really work > > with BSD based distributions so it would take more time that we have > > available to do any serious testing there. > > Can you give an example of those anticipated problems? > > Greater differences allow deeper learning. Especially, OpenBSD and FreeBSD > look like promising candidates with their different default shells and > compilers. If you have a look at my reported issues, those were just > copy-and-paste mistakes, slipped through errors, and wrong assumptions; > trivial things. But big enough to be a show-stopper for a novice user. > > I am not about Continues Integration. I am about a manual test after a > major release (for example before the xx.2 release) on platforms which > should do, but which were not tested. I am not about running the whole Test > Suite but just about installing Asterisk and running it once (to > double-check there are no loader issues and no false errors). That took me > seconds (after updating the dependencies lists for those platforms in the > script install_prereq). > > Then, one goes through the findings. As described above, often easy to > fix, especially for the one who introduced that code change. Ideally the > remaining issues are reported on Jira, with a note that those issues must > be fixed by the community. Done. > > Integrators and maintainers on those platforms can then use that > information as starting point while creating their patches. That should > even ease their contribution back upstream. > At the present time all non-Linux distributions/operating systems are entirely community supported. We just don't have the resources to expand testing or to deal with issues reported on those other platforms. We are thinking about how to deal with install_prereq however. Possibly splitting it into supported and unsupported and/or maybe adding options to control whether all known dependencies are installed or jus tthose required to support core functionality. It may also be possible to tie it into the scripts we use to set up our jenkins slaves so that we're not using 2 different sets of packages. This isn't high on our priority list though. > > > -- > _ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > asterisk-dev mailing list > To UNSUBSCRIBE or update options visit: >http://lists.digium.com/mailman/listinfo/asterisk-dev > -- George Joseph Digium, Inc. | Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
Re: [asterisk-dev] Which enviroments are supported, really?
> Testing FreeBSD poses other problems however. None of us really work > with BSD based distributions so it would take more time that we have > available to do any serious testing there. Can you give an example of those anticipated problems? Greater differences allow deeper learning. Especially, OpenBSD and FreeBSD look like promising candidates with their different default shells and compilers. If you have a look at my reported issues, those were just copy-and-paste mistakes, slipped through errors, and wrong assumptions; trivial things. But big enough to be a show-stopper for a novice user. I am not about Continues Integration. I am about a manual test after a major release (for example before the xx.2 release) on platforms which should do, but which were not tested. I am not about running the whole Test Suite but just about installing Asterisk and running it once (to double-check there are no loader issues and no false errors). That took me seconds (after updating the dependencies lists for those platforms in the script install_prereq). Then, one goes through the findings. As described above, often easy to fix, especially for the one who introduced that code change. Ideally the remaining issues are reported on Jira, with a note that those issues must be fixed by the community. Done. Integrators and maintainers on those platforms can then use that information as starting point while creating their patches. That should even ease their contribution back upstream. -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
Re: [asterisk-dev] Which enviroments are supported, really?
On Mon, Jan 22, 2018 at 3:03 AM, Alexander Traud wrote: > I am not about the bugs themselves. I am going to fix and/or report them. > I fixed already several of them. And more are coming. However, I am > interested which environments are supported. > > After a mayor release like Asterisk 15, I would have expected that someone > does a cross-check before the 15.1 release, at least before the 15.2 > release. Those eight steps are automatic stuff. All one has to do is to > setup a new virtual machine, with a vanilla installation. Then, the actual > work is to double-check the results (of configure, make, and make install). > Obviously, nobody does this. Even those who do the ports, either do not > understand the result of configure correctly or ignore it without > reporting. For example, in BSD, the external library libedit is the > default, no need to build the internal one of Asterisk. However, > ./configure of Asterisk fails to find it and (tries to) build its own one. > That is an issue since commit 7d4ccea (summer 2012). > > I was so surprised about the number of issues. One can learn so much by > doing interoperability tests. And in this case, this learning is near to > free. > > > Ubuntu 16.04 LTS (x86_64) > > That is great news (for me), because that is my main platform. > Consequently, I do not have to consider to move. > > > ... Fedora ... > > ASTERISK-27598, for more details see ASTERISK-27599 > That was reported in May 2017: ASTERISK-26981. > Actually, the first report was in December 2015: ASTERISK-24597. > > > ... GNU bash ... > > ASTERISK-27606 > >From a distribution perspective, Ubuntu (Josh, Kevin and Richard) and Fedora (myself and Ben) are what the Digium dev team uses for their own development desktops so those are going to get the most daily testing. As Corey mentioned though, we also test on CentOS7, both 32-bit and 64-bit builds. Havingf said that though, while I think we do a pretty good job testing building and running Asterisk on those distributions, we could probably do a better job of testing the development and production environment setup process, especially install_prereq. Maybe we could set up a weekly periodic Jenkins job to start with a clean official docker image from each of the 3 distros and do an environment setup from scratch just using the tools available in the asterisk tarball. Testing FreeBSD poses other problems however. None of us really work with BSD based distributions so it would take more time that we have available to do any serious testing there. > > > > -- > _ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > asterisk-dev mailing list > To UNSUBSCRIBE or update options visit: >http://lists.digium.com/mailman/listinfo/asterisk-dev > -- George Joseph Digium, Inc. | Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
Re: [asterisk-dev] Which enviroments are supported, really?
On Mon, Jan 22, 2018 at 1:34 AM, Tzafrir Cohen wrote: > On Sun, Jan 21, 2018 at 01:20:50PM -0500, Corey Farrell wrote: > > > As for jenkins2.asterisk.org, only Linux is tested. The active build > agents > > are: > > > > * CentOS 7 (x86 and x86_64) > > * Fedora 25 (x86_64) > > * Ubuntu 16 (x86_64) > > [...] > > > GNU bash is required by some scripts (they have #!/bin/bash). Any scripts > > that have '#!/bin/sh' should not use bash only features but I'm not sure > if > > this is ever tested. > > Is the Ubuntu CI system explicitly configured with /bin/sh to be bash? > If not, this should be tested. > They are. /bin/sh -> /etc/alternatives/sh -> /bin/bash > > See the output of: ls -l /bin/sh # on that system. The default is > dash. > > -- >Tzafrir Cohen > +972-50-7952406 mailto:tzafrir.co...@xorcom.com > http://www.xorcom.com > > -- > _ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > asterisk-dev mailing list > To UNSUBSCRIBE or update options visit: >http://lists.digium.com/mailman/listinfo/asterisk-dev > -- George Joseph Digium, Inc. | Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
Re: [asterisk-dev] Which enviroments are supported, really?
I am not about the bugs themselves. I am going to fix and/or report them. I fixed already several of them. And more are coming. However, I am interested which environments are supported. After a mayor release like Asterisk 15, I would have expected that someone does a cross-check before the 15.1 release, at least before the 15.2 release. Those eight steps are automatic stuff. All one has to do is to setup a new virtual machine, with a vanilla installation. Then, the actual work is to double-check the results (of configure, make, and make install). Obviously, nobody does this. Even those who do the ports, either do not understand the result of configure correctly or ignore it without reporting. For example, in BSD, the external library libedit is the default, no need to build the internal one of Asterisk. However, ./configure of Asterisk fails to find it and (tries to) build its own one. That is an issue since commit 7d4ccea (summer 2012). I was so surprised about the number of issues. One can learn so much by doing interoperability tests. And in this case, this learning is near to free. > Ubuntu 16.04 LTS (x86_64) That is great news (for me), because that is my main platform. Consequently, I do not have to consider to move. > ... Fedora ... ASTERISK-27598, for more details see ASTERISK-27599 That was reported in May 2017: ASTERISK-26981. Actually, the first report was in December 2015: ASTERISK-24597. > ... GNU bash ... ASTERISK-27606 -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
Re: [asterisk-dev] Which enviroments are supported, really?
On Sun, Jan 21, 2018 at 01:20:50PM -0500, Corey Farrell wrote: > As for jenkins2.asterisk.org, only Linux is tested. The active build agents > are: > > * CentOS 7 (x86 and x86_64) > * Fedora 25 (x86_64) > * Ubuntu 16 (x86_64) [...] > GNU bash is required by some scripts (they have #!/bin/bash). Any scripts > that have '#!/bin/sh' should not use bash only features but I'm not sure if > this is ever tested. Is the Ubuntu CI system explicitly configured with /bin/sh to be bash? If not, this should be tested. See the output of: ls -l /bin/sh # on that system. The default is dash. -- Tzafrir Cohen +972-50-7952406 mailto:tzafrir.co...@xorcom.com http://www.xorcom.com -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
Re: [asterisk-dev] Which enviroments are supported, really?
The only wiki page I found on non-Linux is [1]. Probably the clearest statement is in the README.md [2]. I think we should probably add a more negative spin to the comments about Other platforms, at minimum state that they are not actively tested and may break at any time. As for jenkins2.asterisk.org, only Linux is tested. The active build agents are: * CentOS 7 (x86 and x86_64) * Fedora 25 (x86_64) * Ubuntu 16 (x86_64) Ubuntu 14 (x86_64 and x86) is listed in CI but they have been offline for a while so they aren't currently tested automatically. I've recently made a change which caused CentOS 6 to stop building, I got a report as soon as the next RC was released. I'm confused by your statement that things don't work in Fedora unless you're trying to compile with LLVM or clang (ASTERISK-26205). All active versions of Fedora should work, I'm guessing many inactive (end of life) versions of Fedora will also work. For OSX I've made some changes recently to get compile working, never went beyond that. My goal was simply to be able to run 'make && git review' from OSX, I've never attempted to run the binaries. GNU bash is required by some scripts (they have #!/bin/bash). Any scripts that have '#!/bin/sh' should not use bash only features but I'm not sure if this is ever tested. I'm not aware of any continuous testing done with compilers other than GCC. [1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+on+%28Open%29Solaris [2] https://github.com/asterisk/asterisk/#supported-operating-systems On 01/21/2018 08:58 AM, Alexander Traud wrote: Recently, I was hit by a missing dependency of an external library (ASTERISK-27475). Because I was not able to resolve the issue otherwise, I re-visited the first-time experience of Asterisk, thinking that should solve my issue for sure. wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz tar -zxf asterisk-* cd asterisk-* sudo ./contrib/scripts/install_prereq install ./configure --with-pjproject-bundled make sudo make install samples config sudo asterisk -c Those eight steps are the path for a novice user to get Asterisk going. Consequently, those steps have to succeed in a supported environment, without a single error and should not give warnings. In OpenBSD, FreeBSD, and Fedora - with the current release (Asterisk 13.19 or 15.2) - these steps lead into errors. Asterisk is not even built! Furthermore, external libraries are not found by the script configure, the wrong ones are installed, and (even essential) ones are missing. Make errors out, PJProject and Asterisk are not built. Even when all issues are fixed or circumvented, the command-line interface of Asterisk prints not only warnings but several errors in such a standard installation. I contributed back many of my fixes to the current branches already. So the next releases should give a better out-of-the-box experience. However, all those issues could have been found by static testing, just executing the above commands on a virtual machine. Looking at the amount of issues, I asked myself whether I am doing something wrong. Especially as diagnosis revealed that some issues were 18 months old. Therefore: Which environments (platform, shell, and compiler) are really supported by the Asterisk team (has to work) and what is community contributed (should work)? shell: GNU bash compiler: GCC platform: CentOS 7 That is used by the continuous integration machine(s) and FreePBX currently. What else has to work? I do not earn a penny because of Asterisk. I do not want to waste time with a so lala supported environment. There must be a wiki entry, blog post, video, or mail summarizing the environments. For some reason, I was not able to find it, yet. -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
[asterisk-dev] Which enviroments are supported, really?
Recently, I was hit by a missing dependency of an external library (ASTERISK-27475). Because I was not able to resolve the issue otherwise, I re-visited the first-time experience of Asterisk, thinking that should solve my issue for sure. wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz tar -zxf asterisk-* cd asterisk-* sudo ./contrib/scripts/install_prereq install ./configure --with-pjproject-bundled make sudo make install samples config sudo asterisk -c Those eight steps are the path for a novice user to get Asterisk going. Consequently, those steps have to succeed in a supported environment, without a single error and should not give warnings. In OpenBSD, FreeBSD, and Fedora - with the current release (Asterisk 13.19 or 15.2) - these steps lead into errors. Asterisk is not even built! Furthermore, external libraries are not found by the script configure, the wrong ones are installed, and (even essential) ones are missing. Make errors out, PJProject and Asterisk are not built. Even when all issues are fixed or circumvented, the command-line interface of Asterisk prints not only warnings but several errors in such a standard installation. I contributed back many of my fixes to the current branches already. So the next releases should give a better out-of-the-box experience. However, all those issues could have been found by static testing, just executing the above commands on a virtual machine. Looking at the amount of issues, I asked myself whether I am doing something wrong. Especially as diagnosis revealed that some issues were 18 months old. Therefore: Which environments (platform, shell, and compiler) are really supported by the Asterisk team (has to work) and what is community contributed (should work)? shell: GNU bash compiler: GCC platform: CentOS 7 That is used by the continuous integration machine(s) and FreePBX currently. What else has to work? I do not earn a penny because of Asterisk. I do not want to waste time with a so lala supported environment. There must be a wiki entry, blog post, video, or mail summarizing the environments. For some reason, I was not able to find it, yet. -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev