Re: [asterisk-dev] Which enviroments are supported, really?

2018-01-26 Thread Corey Farrell
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?

2018-01-26 Thread George Joseph
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?

2018-01-26 Thread Alexander Traud
> 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?

2018-01-22 Thread George Joseph
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?

2018-01-22 Thread George Joseph
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?

2018-01-22 Thread Alexander Traud
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?

2018-01-22 Thread Tzafrir Cohen
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?

2018-01-21 Thread Corey Farrell
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?

2018-01-21 Thread Alexander Traud
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