<p>Martin McCarthy has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.asterisk.org/c/asterisk/+/19939">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Files changed;<br><br>contrib/scripts/install_prereq.sh<br><br>List of Changes;<br><br>- Reimagining of the install_prereq.sh script.<br>- Error handling.<br>- Reformatting of the script.<br>- Tighter logic control.<br><br>ASTERISK-30359 #close<br><br>Change-Id: I4bd53ae429e113a76d13a23b48da714a8eefad26<br>---<br>M contrib/scripts/install_prereq<br>1 file changed, 730 insertions(+), 304 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/39/19939/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/contrib/scripts/install_prereq b/contrib/scripts/install_prereq</span><br><span>index 5843853..1dd2a0a 100755</span><br><span>--- a/contrib/scripts/install_prereq</span><br><span>+++ b/contrib/scripts/install_prereq</span><br><span>@@ -1,437 +1,843 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#! /bin/sh</span><br><span style="color: hsl(0, 100%, 40%);">-#</span><br><span style="color: hsl(0, 100%, 40%);">-# $Id$</span><br><span style="color: hsl(0, 100%, 40%);">-#</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-# install_prereq: a script to install distribution-specific</span><br><span style="color: hsl(0, 100%, 40%);">-# prerequirements</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Prerequisite Installer for Asterisk</span><br><span style="color: hsl(120, 100%, 40%);">+# Revision: 2</span><br><span style="color: hsl(120, 100%, 40%);">+# Amended by Martin McCarthy</span><br><span style="color: hsl(120, 100%, 40%);">+# 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# This script will help prepare your system for installing Asterisk by installing prerequisite packages required to run it.</span><br><span style="color: hsl(120, 100%, 40%);">+# - Supported distros;</span><br><span style="color: hsl(120, 100%, 40%);">+# - DragonFly</span><br><span style="color: hsl(120, 100%, 40%);">+# - FreeBSD</span><br><span style="color: hsl(120, 100%, 40%);">+# - OpenBSD</span><br><span style="color: hsl(120, 100%, 40%);">+# - NetBSD</span><br><span style="color: hsl(120, 100%, 40%);">+# - Gentoo</span><br><span style="color: hsl(120, 100%, 40%);">+# - Arch Linux</span><br><span style="color: hsl(120, 100%, 40%);">+# - openSUSE</span><br><span style="color: hsl(120, 100%, 40%);">+# - Red Hat Enterprise Linux</span><br><span style="color: hsl(120, 100%, 40%);">+# - Debian</span><br><span style="color: hsl(120, 100%, 40%);">+#  ============================================</span><br><span> set -e</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-usage() {</span><br><span style="color: hsl(0, 100%, 40%);">-       echo "$0: a script to install distribution-specific prerequirement"</span><br><span style="color: hsl(0, 100%, 40%);">-   echo 'Revision: $Id$'</span><br><span style="color: hsl(0, 100%, 40%);">-   echo ""</span><br><span style="color: hsl(0, 100%, 40%);">-       echo "Usage: $0:                    Shows this message."</span><br><span style="color: hsl(0, 100%, 40%);">-      echo "Usage: $0 test                Prints commands it is about to run."</span><br><span style="color: hsl(0, 100%, 40%);">-      echo "Usage: $0 install             Really install."</span><br><span style="color: hsl(0, 100%, 40%);">-  echo "Usage: $0 install-unpackaged  Really install unpackaged requirements."</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Functions - Start</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: handle_debian</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: this function will handle installation of Debian packages</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+handle_debian() {</span><br><span style="color: hsl(120, 100%, 40%);">+    if ! [ -x "$(command -v aptitude)" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        # Inform the user</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing aptitude..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        apt-get install -y aptitude</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+    </span><br><span style="color: hsl(120, 100%, 40%);">+    extra_packs=`check_installed_debs $PACKAGES_DEBIAN`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    $testcmd aptitude update</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing extra packs...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        $testcmd aptitude install -y $extra_packs</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Basic build system:</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: handle_rh</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: this function will handle installation of Red Hat packages</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+handle_rh() {</span><br><span style="color: hsl(120, 100%, 40%);">+    extra_packs=`check_installed_rpms $PACKAGES_RH`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing extra packs...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        $testcmd yum install --skip-broken --assumeyes $extra_packs</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: handle_gentoo</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: this function will handle installation of Gentoo packages</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+handle_gentoo() {</span><br><span style="color: hsl(120, 100%, 40%);">+    extra_packs=`check_installed_equery $PACKAGES_GENTOO`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing extra packs...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        $testcmd emerge $extra_packs</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: handle_arch</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: this function will handle installation of Arch Linux packages</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+handle_arch() {</span><br><span style="color: hsl(120, 100%, 40%);">+    extra_packs=`check_installed_pacman $PACKAGES_ARCH`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing extra packs...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        $testcmd pacman -S --asexplicit --noconfirm $extra_packs</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: handle_nbsd</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: this function will handle installation of NetBSD packages</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+handle_nbsd() {</span><br><span style="color: hsl(120, 100%, 40%);">+    extra_packs=`check_installed_pkgs $PACKAGES_NBSD`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        if [ -z "$PKG_PATH" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+            # See NetBSD Problem Report #48177 (http://gnats.netbsd.org/48177)</span><br><span style="color: hsl(120, 100%, 40%);">+            export PKG_PATH="http://cdn.NetBSD.org/pub/pkgsrc/packages/$(uname -s)/$(uname -p)/$(uname -r)/All"</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing extra packs...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        $testcmd pkg_add $extra_packs</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: handle_obsd</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: this function will handle installation of OpenBSD packages</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+handle_obsd() {</span><br><span style="color: hsl(120, 100%, 40%);">+    extra_packs=`check_installed_pkgs $PACKAGES_OBSD`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing extra packs...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        $testcmd pkg_add $extra_packs</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: handle_fbsd</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: this function will handle installation of FreeBSD packages</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+handle_fbsd() {</span><br><span style="color: hsl(120, 100%, 40%);">+    extra_packs=`check_installed_fpkgs $PACKAGES_FBSD`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing extra packs...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        $testcmd pkg install -y $extra_packs</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: handle_dbsd</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: this function will handle installation of DragonFlyBSD packages</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+handle_dbsd() {</span><br><span style="color: hsl(120, 100%, 40%);">+    extra_packs=`check_installed_fpkgs $PACKAGES_DBSD`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing extra packs...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        $testcmd pkg install -y $extra_packs</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: handle_SUSE</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: this function will handle installation of openSUSE packages</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+handle_SUSE() {</span><br><span style="color: hsl(120, 100%, 40%);">+    extra_packs=`check_installed_zypper $PACKAGES_SUSE`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing extra packs...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        $testcmd zypper install --no-confirm $extra_packs</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: usage</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: display help information on how to use the script.</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+usage() {</span><br><span style="color: hsl(120, 100%, 40%);">+    # Display help to the user</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "======================================"</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "!!! No command line arguments were passed !!!"</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "Here are some examples of valid arguments;"</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "$0:                    will display this help text."</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "$0 test                prints commands to be run but does not run them."</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "$0 install             will install the prerequisite packages."</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "$0 install-unpackaged  will install the unpackaged requirements."</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "This script will now exit"</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "======================================"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: in_test_mode</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: activate test mode</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+in_test_mode() {</span><br><span style="color: hsl(120, 100%, 40%);">+    test "$testcmd" != ''</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: check_installed_debs</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: check if Debian packages are installed.</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+check_installed_debs() {</span><br><span style="color: hsl(120, 100%, 40%);">+    for pack in "$@" ; do</span><br><span style="color: hsl(120, 100%, 40%);">+        tocheck="${tocheck} ^${pack}$ ~P^${pack}$"</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "Checking installed packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    pkgs=$(aptitude -F '%c %p' search ${tocheck} 2>/dev/null | awk '/^p/{print $2}')</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ ${#pkgs} -ne 0 ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo $pkgs | sed -r -e "s/ ?[^ :]+:i386//g"</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: check_installed_rpms</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: check if RPM packages are installed.</span><br><span style="color: hsl(120, 100%, 40%);">+# Parsing the output of YUM is close to impossible</span><br><span style="color: hsl(120, 100%, 40%);">+# so we'll use RPM and hope for the best!</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+check_installed_rpms() {</span><br><span style="color: hsl(120, 100%, 40%);">+    for pack in "$@"</span><br><span style="color: hsl(120, 100%, 40%);">+    do</span><br><span style="color: hsl(120, 100%, 40%);">+        if ! rpm -q $pack >/dev/null 2>/dev/null</span><br><span style="color: hsl(120, 100%, 40%);">+            then</span><br><span style="color: hsl(120, 100%, 40%);">+                echo $pack</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: check_installed_equery</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: Check if Gentoo packages are installed.</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+check_installed_equery() {</span><br><span style="color: hsl(120, 100%, 40%);">+    for pack in "$@"</span><br><span style="color: hsl(120, 100%, 40%);">+    do</span><br><span style="color: hsl(120, 100%, 40%);">+        # equery --quiet list $pack</span><br><span style="color: hsl(120, 100%, 40%);">+        # is slower and would require the optional app-portage/gentoolkit</span><br><span style="color: hsl(120, 100%, 40%);">+        # /var/lib/portage/world would be the non-dep list</span><br><span style="color: hsl(120, 100%, 40%);">+        pack_with_version=${pack/:/-} # replace a possible version with '-'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        if ! ls -d /var/db/pkg/${pack_with_version}* >/dev/null 2>/dev/null</span><br><span style="color: hsl(120, 100%, 40%);">+            then</span><br><span style="color: hsl(120, 100%, 40%);">+                echo $pack</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: check_installed_pacman</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: check if Arch Linux packages are installed.</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+check_installed_pacman() {</span><br><span style="color: hsl(120, 100%, 40%);">+    for pack in "$@"</span><br><span style="color: hsl(120, 100%, 40%);">+    do</span><br><span style="color: hsl(120, 100%, 40%);">+        if ! pacman -Q --explicit $pack >/dev/null 2>/dev/null</span><br><span style="color: hsl(120, 100%, 40%);">+            then</span><br><span style="color: hsl(120, 100%, 40%);">+                echo $pack</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: check_installed_pkgs</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: check installed packages.</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+check_installed_pkgs() {</span><br><span style="color: hsl(120, 100%, 40%);">+    for pack in "$@"</span><br><span style="color: hsl(120, 100%, 40%);">+    do</span><br><span style="color: hsl(120, 100%, 40%);">+        if [ `pkg_info -a | grep $pack | wc -l` = 0 ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+            echo $pack</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: check_installed_fpkgs</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: check installed packages.</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+check_installed_fpkgs() {</span><br><span style="color: hsl(120, 100%, 40%);">+    for pack in "$@"</span><br><span style="color: hsl(120, 100%, 40%);">+    do</span><br><span style="color: hsl(120, 100%, 40%);">+        if [ `pkg info -a | grep $pack | wc -l` = 0 ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+            echo $pack</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: check_installed_zypper</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: check installed packages.</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+check_installed_zypper() {</span><br><span style="color: hsl(120, 100%, 40%);">+    for pack in "$@"</span><br><span style="color: hsl(120, 100%, 40%);">+    do</span><br><span style="color: hsl(120, 100%, 40%);">+        if ! zypper se -ixnC $pack >/dev/null 2>/dev/null</span><br><span style="color: hsl(120, 100%, 40%);">+            then</span><br><span style="color: hsl(120, 100%, 40%);">+                echo $pack</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Function name: install_unpackaged</span><br><span style="color: hsl(120, 100%, 40%);">+# Date: 01/11/22</span><br><span style="color: hsl(120, 100%, 40%);">+# Function description: install optional extra packages for Asterisk</span><br><span style="color: hsl(120, 100%, 40%);">+# ==========================================</span><br><span style="color: hsl(120, 100%, 40%);">+install_unpackaged() {</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "*** Installing NBS (Network Broadcast Sound) ***"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    svn co https://svn.digium.com/svn/nbs/trunk nbs-trunk</span><br><span style="color: hsl(120, 100%, 40%);">+    cd nbs-trunk</span><br><span style="color: hsl(120, 100%, 40%);">+    make all install</span><br><span style="color: hsl(120, 100%, 40%);">+    cd ..</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # Only install libresample if it wasn't installed via package</span><br><span style="color: hsl(120, 100%, 40%);">+    if ! test -f /usr/include/libresample.h; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "*** Installing libresample ***"</span><br><span style="color: hsl(120, 100%, 40%);">+        svn co https://svn.digium.com/svn/thirdparty/libresample/trunk libresample-trunk</span><br><span style="color: hsl(120, 100%, 40%);">+        cd libresample-trunk</span><br><span style="color: hsl(120, 100%, 40%);">+        ./configure</span><br><span style="color: hsl(120, 100%, 40%);">+        make all install</span><br><span style="color: hsl(120, 100%, 40%);">+        cd ..</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # Only install Jansson if it wasn't installed via package</span><br><span style="color: hsl(120, 100%, 40%);">+    if ! test -f /usr/include/jansson.h; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "*** Installing jansson ***"</span><br><span style="color: hsl(120, 100%, 40%);">+        wget -O - http://www.digip.org/jansson/releases/jansson-${JANSSON_VER}.tar.gz | zcat | tar -xf -</span><br><span style="color: hsl(120, 100%, 40%);">+        cd jansson-${JANSSON_VER}</span><br><span style="color: hsl(120, 100%, 40%);">+        ./configure</span><br><span style="color: hsl(120, 100%, 40%);">+        make all install</span><br><span style="color: hsl(120, 100%, 40%);">+        cd ..</span><br><span style="color: hsl(120, 100%, 40%);">+        if test -d /etc/ld.so.conf.d; then</span><br><span style="color: hsl(120, 100%, 40%);">+            echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local.conf</span><br><span style="color: hsl(120, 100%, 40%);">+        else # for example: Slackware 14.2</span><br><span style="color: hsl(120, 100%, 40%);">+            echo "/usr/local/lib" > /etc/ld.so.conf</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+        /sbin/ldconfig</span><br><span style="color: hsl(120, 100%, 40%);">+     fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # Only install libsrtp2 if it wasn't installed via package</span><br><span style="color: hsl(120, 100%, 40%);">+    if ! test -f /usr/include/srtp/srtp.h; then</span><br><span style="color: hsl(120, 100%, 40%);">+        if ! test -f /usr/include/srtp2/srtp.h; then</span><br><span style="color: hsl(120, 100%, 40%);">+            echo "*** Installing libsrtp2 ***"</span><br><span style="color: hsl(120, 100%, 40%);">+            wget -O - http://github.com/cisco/libsrtp/archive/v2.tar.gz | zcat | tar -xf -</span><br><span style="color: hsl(120, 100%, 40%);">+            cd libsrtp-2</span><br><span style="color: hsl(120, 100%, 40%);">+            ./configure --enable-openssl</span><br><span style="color: hsl(120, 100%, 40%);">+            make shared_library install</span><br><span style="color: hsl(120, 100%, 40%);">+            cd ..</span><br><span style="color: hsl(120, 100%, 40%);">+            if test -d /etc/ld.so.conf.d; then</span><br><span style="color: hsl(120, 100%, 40%);">+                echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local.conf</span><br><span style="color: hsl(120, 100%, 40%);">+            else # for example: Slackware 14.2</span><br><span style="color: hsl(120, 100%, 40%);">+                echo "/usr/local/lib" > /etc/ld.so.conf</span><br><span style="color: hsl(120, 100%, 40%);">+            fi</span><br><span style="color: hsl(120, 100%, 40%);">+            /sbin/ldconfig</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    if ! test -f /usr/include/pjlib.h; then</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "PJProject not installed, yet. Therefore, please, run"</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "./configure --with-pjproject-bundled"</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    return</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Functions - End</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Global Variables - Start</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# DEBIAN PACKAGES</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# Basic build system</span><br><span> PACKAGES_DEBIAN="build-essential pkg-config"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: basic requirements:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - basic prerequisite packages</span><br><span> PACKAGES_DEBIAN="$PACKAGES_DEBIAN libedit-dev libjansson-dev libsqlite3-dev uuid-dev libxml2-dev"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for addons:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - addon packages</span><br><span> PACKAGES_DEBIAN="$PACKAGES_DEBIAN libspeex-dev libspeexdsp-dev libogg-dev libvorbis-dev libasound2-dev portaudio19-dev libcurl4-openssl-dev xmlstarlet bison flex"</span><br><span> PACKAGES_DEBIAN="$PACKAGES_DEBIAN libpq-dev unixodbc-dev libneon27-dev libgmime-2.6-dev libgmime-3.0-dev liblua5.2-dev liburiparser-dev libxslt1-dev libssl-dev"</span><br><span style="color: hsl(0, 100%, 40%);">-PACKAGES_DEBIAN="$PACKAGES_DEBIAN libmysqlclient-dev libbluetooth-dev libradcli-dev freetds-dev libjack-jackd2-dev bash libcap-dev"</span><br><span style="color: hsl(120, 100%, 40%);">+PACKAGES_DEBIAN="$PACKAGES_DEBIAN libvpb-dev libmysqlclient-dev libbluetooth-dev libradcli-dev freetds-dev libosptk-dev libjack-jackd2-dev bash libcap-dev"</span><br><span> PACKAGES_DEBIAN="$PACKAGES_DEBIAN libsnmp-dev libiksemel-dev libcorosync-common-dev libcpg-dev libcfg-dev libnewt-dev libpopt-dev libical-dev libspandsp-dev"</span><br><span> PACKAGES_DEBIAN="$PACKAGES_DEBIAN libresample1-dev libc-client2007e-dev binutils-dev libsrtp0-dev libsrtp2-dev libgsm1-dev doxygen graphviz zlib1g-dev libldap2-dev"</span><br><span> PACKAGES_DEBIAN="$PACKAGES_DEBIAN libcodec2-dev libfftw3-dev libsndfile1-dev libunbound-dev"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for the unpackaged below:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk- subversion</span><br><span> PACKAGES_DEBIAN="$PACKAGES_DEBIAN wget subversion"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for ./configure --with-pjproject-bundled:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - packages to run ./configure --with-pjproject-bundled</span><br><span> PACKAGES_DEBIAN="$PACKAGES_DEBIAN bzip2 patch"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Basic build system:</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# RED HAT PACKAGES</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# Basic build system</span><br><span> PACKAGES_RH="make gcc gcc-c++ pkgconfig"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: basic requirements:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - basic prerequisite packages</span><br><span> PACKAGES_RH="$PACKAGES_RH libedit-devel jansson-devel libuuid-devel sqlite-devel libxml2-devel"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for addons:</span><br><span style="color: hsl(0, 100%, 40%);">-PACKAGES_RH="$PACKAGES_RH speex-devel speexdsp-devel libogg-devel libvorbis-devel portaudio-devel libcurl-devel xmlstarlet bison flex"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - addon packages</span><br><span style="color: hsl(120, 100%, 40%);">+PACKAGES_RH="$PACKAGES_RH speex-devel speexdsp-devel libogg-devel libvorbis-devel alsa-lib-devel portaudio-devel libcurl-devel xmlstarlet bison flex"</span><br><span> PACKAGES_RH="$PACKAGES_RH postgresql-devel unixODBC-devel neon-devel gmime-devel lua-devel uriparser-devel libxslt-devel openssl-devel"</span><br><span> PACKAGES_RH="$PACKAGES_RH mysql-devel bluez-libs-devel radcli-devel freetds-devel jack-audio-connection-kit-devel bash libcap-devel"</span><br><span> PACKAGES_RH="$PACKAGES_RH net-snmp-devel iksemel-devel corosynclib-devel newt-devel popt-devel libical-devel spandsp-devel"</span><br><span> PACKAGES_RH="$PACKAGES_RH libresample-devel uw-imap-devel binutils-devel libsrtp-devel gsm-devel doxygen graphviz zlib-devel openldap-devel hoard"</span><br><span> PACKAGES_RH="$PACKAGES_RH codec2-devel fftw-devel libsndfile-devel unbound-devel"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for the unpackaged below:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk- subversion</span><br><span> PACKAGES_RH="$PACKAGES_RH wget subversion"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for ./configure --with-pjproject-bundled:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - packages to run ./configure --with-pjproject-bundled</span><br><span> PACKAGES_RH="$PACKAGES_RH bzip2 patch"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Basic build system:</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# OpenSUSE PACKAGES</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# Basic build system</span><br><span> PACKAGES_SUSE="make gcc gcc-c++ pkg-config"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: basic requirements:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - basic prerequisite packages</span><br><span> PACKAGES_SUSE="$PACKAGES_SUSE libedit-devel libjansson-devel libuuid-devel sqlite3-devel libxml2-devel"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for addons:</span><br><span style="color: hsl(0, 100%, 40%);">-PACKAGES_SUSE="$PACKAGES_SUSE speex-devel speexdsp-devel libogg-devel libvorbis-devel portaudio-devel libcurl-devel xmlstarlet bison flex"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - addon packages</span><br><span style="color: hsl(120, 100%, 40%);">+PACKAGES_SUSE="$PACKAGES_SUSE speex-devel speexdsp-devel libogg-devel libvorbis-devel alsa-devel portaudio-devel libcurl-devel xmlstarlet bison flex"</span><br><span> PACKAGES_SUSE="$PACKAGES_SUSE postgresql-devel unixODBC-devel libneon-devel gmime-devel lua-devel liburiparser-devel libxslt-devel libopenssl-devel"</span><br><span> PACKAGES_SUSE="$PACKAGES_SUSE libmysqlclient-devel bluez-devel freeradius-client-devel freetds-devel bash libcap-devel"</span><br><span> PACKAGES_SUSE="$PACKAGES_SUSE net-snmp-devel iksemel-devel libcorosync-devel newt-devel popt-devel libical-devel spandsp-devel"</span><br><span> PACKAGES_SUSE="$PACKAGES_SUSE imap-devel libsrtp2-devel libgsm-devel doxygen graphviz zlib-devel openldap2-devel"</span><br><span> PACKAGES_SUSE="$PACKAGES_SUSE codec2-devel fftw3-devel libsndfile-devel unbound-devel"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for the unpackaged below:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk- subversion</span><br><span> PACKAGES_SUSE="$PACKAGES_SUSE wget subversion"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for ./configure --with-pjproject-bundled:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - packages to run ./configure --with-pjproject-bundled</span><br><span> PACKAGES_SUSE="$PACKAGES_SUSE bzip2 patch"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Basic build system:</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# ARCH PACKAGES</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# Basic build system</span><br><span> PACKAGES_ARCH="make gcc pkg-config"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: basic requirements:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - basic prerequisite packages</span><br><span> PACKAGES_ARCH="$PACKAGES_ARCH libedit jansson libutil-linux libxml2 sqlite"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for addons:</span><br><span style="color: hsl(0, 100%, 40%);">-PACKAGES_ARCH="$PACKAGES_ARCH speex speexdsp libogg libvorbis portaudio curl xmlstarlet bison flex"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - addon packages</span><br><span style="color: hsl(120, 100%, 40%);">+PACKAGES_ARCH="$PACKAGES_ARCH speex speexdsp libogg libvorbis alsa-lib portaudio curl xmlstarlet bison flex"</span><br><span> PACKAGES_ARCH="$PACKAGES_ARCH postgresql-libs unixodbc neon gmime lua uriparser libxslt openssl"</span><br><span> PACKAGES_ARCH="$PACKAGES_ARCH libmariadbclient bluez-libs radcli freetds bash libcap"</span><br><span> PACKAGES_ARCH="$PACKAGES_ARCH net-snmp libnewt popt libical spandsp"</span><br><span> PACKAGES_ARCH="$PACKAGES_ARCH c-client binutils libsrtp gsm doxygen graphviz zlib libldap"</span><br><span> PACKAGES_ARCH="$PACKAGES_ARCH fftw libsndfile unbound"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for the unpackaged below:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk- subversion</span><br><span> PACKAGES_ARCH="$PACKAGES_ARCH wget subversion"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for ./configure --with-pjproject-bundled:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - packages to run ./configure --with-pjproject-bundled</span><br><span> PACKAGES_ARCH="$PACKAGES_ARCH bzip2 patch"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Basic build system:</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# GENTOO PACKAGES</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# Basic build system</span><br><span> PACKAGES_GENTOO="sys-devel/make sys-devel/gcc dev-util/pkgconfig"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: basic requirements:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - basic prerequisite packages</span><br><span> PACKAGES_GENTOO="$PACKAGES_GENTOO dev-libs/libedit dev-libs/jansson sys-libs/e2fsprogs-libs dev-libs/libxml2 dev-db/sqlite"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for addons:</span><br><span style="color: hsl(0, 100%, 40%);">-PACKAGES_GENTOO="$PACKAGES_GENTOO media-libs/speex media-libs/speexdsp media-libs/libogg media-libs/libvorbis media-libs/portaudio net-misc/curl app-text/xmlstarlet sys-devel/bison sys-devel/flex"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - addon packages</span><br><span style="color: hsl(120, 100%, 40%);">+PACKAGES_GENTOO="$PACKAGES_GENTOO media-libs/speex media-libs/speexdsp media-libs/libogg media-libs/libvorbis media-libs/alsa-lib media-libs/portaudio net-misc/curl app-text/xmlstarlet sys-devel/bison sys-devel/flex"</span><br><span> PACKAGES_GENTOO="$PACKAGES_GENTOO dev-db/postgresql dev-db/unixODBC net-libs/neon dev-libs/gmime dev-lang/lua dev-libs/uriparser dev-libs/libxslt dev-libs/openssl"</span><br><span> PACKAGES_GENTOO="$PACKAGES_GENTOO virtual/libmysqlclient net-wireless/bluez net-dialup/radiusclient-ng dev-db/freetds app-shells/bash sys-libs/libcap"</span><br><span> PACKAGES_GENTOO="$PACKAGES_GENTOO net-analyzer/net-snmp dev-libs/iksemel sys-cluster/corosync dev-libs/newt dev-libs/popt dev-libs/libical media-libs/spandsp"</span><br><span> PACKAGES_GENTOO="$PACKAGES_GENTOO net-libs/c-client sys-devel/binutils net-libs/libsrtp media-sound/gsm media-libs/libilbc app-doc/doxygen sys-libs/zlib net-nds/openldap"</span><br><span> PACKAGES_GENTOO="$PACKAGES_GENTOO sci-libs/fftw media-libs/libsndfile net-dns/unbound"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for the unpackaged below:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk- subversion</span><br><span> PACKAGES_GENTOO="$PACKAGES_GENTOO net-misc/wget dev-vcs/subversion"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for ./configure --with-pjproject-bundled:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - packages to run ./configure --with-pjproject-bundled</span><br><span> PACKAGES_GENTOO="$PACKAGES_GENTOO app-arch/bzip2 sys-devel/patch"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Basic build system:</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# NetBSD PACKAGES</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# Basic build system</span><br><span> PACKAGES_NBSD="gmake pkg-config"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: basic requirements:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - basic prerequisite packages</span><br><span> PACKAGES_NBSD="$PACKAGES_NBSD editline jansson sqlite3 libuuid libxml2"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for addons:</span><br><span style="color: hsl(0, 100%, 40%);">-PACKAGES_NBSD="$PACKAGES_NBSD speex speexdsp libogg libvorbis portaudio-devel curl bison flex"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - addon packages</span><br><span style="color: hsl(120, 100%, 40%);">+PACKAGES_NBSD="$PACKAGES_NBSD speex speexdsp libogg libvorbis alsa-lib portaudio-devel curl bison flex"</span><br><span> PACKAGES_NBSD="$PACKAGES_NBSD postgresql10-client unixodbc neon gmime lua52 uriparser libxslt openssl"</span><br><span> PACKAGES_NBSD="$PACKAGES_NBSD mysql-client radiusclient-ng freetds bash"</span><br><span> PACKAGES_NBSD="$PACKAGES_NBSD net-snmp iksemel popt libical spandsp"</span><br><span> PACKAGES_NBSD="$PACKAGES_NBSD imap-uw srtp gsm doxygen graphviz libzip openldap-client"</span><br><span> PACKAGES_NBSD="$PACKAGES_NBSD codec2 fftw libsndfile unbound"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for the unpackaged below:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk- subversion</span><br><span> PACKAGES_NBSD="$PACKAGES_NBSD wget subversion-base"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for ./configure --with-pjproject-bundled:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - packages to run ./configure --with-pjproject-bundled</span><br><span> PACKAGES_NBSD="$PACKAGES_NBSD bzip2 patch"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Basic build system:</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# OpenBSD PACKAGES</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# Basic build system</span><br><span> PACKAGES_OBSD="gmake"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: basic requirements:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - basic prerequisite packages</span><br><span> PACKAGES_OBSD="$PACKAGES_OBSD libxml sqlite3 e2fsprogs jansson"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for addons:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - addon packages</span><br><span> PACKAGES_OBSD="$PACKAGES_OBSD speex speexdsp libogg libvorbis portaudio-svn curl xmlstarlet bison"</span><br><span> PACKAGES_OBSD="$PACKAGES_OBSD postgresql-client iodbc neon gmime lua%5.2 uriparser libxslt"</span><br><span> PACKAGES_OBSD="$PACKAGES_OBSD mariadb-client radcli freetds"</span><br><span> PACKAGES_OBSD="$PACKAGES_OBSD net-snmp iksemel popt libical spandsp"</span><br><span> PACKAGES_OBSD="$PACKAGES_OBSD c-client libsrtp gsm doxygen graphviz"</span><br><span> PACKAGES_OBSD="$PACKAGES_OBSD fftw3 libsndfile"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for the unpackaged below:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk- subversion</span><br><span> PACKAGES_OBSD="$PACKAGES_OBSD wget subversion"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for ./configure --with-pjproject-bundled:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - packages to run ./configure --with-pjproject-bundled</span><br><span> PACKAGES_OBSD="$PACKAGES_OBSD bzip2"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Basic build system:</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# FreeBSD PACKAGES</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# Basic build system</span><br><span> PACKAGES_FBSD="gmake pkgconf"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: basic requirements:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - basic prerequisite packages</span><br><span> PACKAGES_FBSD="$PACKAGES_FBSD libedit jansson e2fsprogs-libuuid sqlite3 libxml2"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for addons:</span><br><span style="color: hsl(0, 100%, 40%);">-PACKAGES_FBSD="$PACKAGES_FBSD speex speexdsp libogg libvorbis portaudio curl xmlstarlet bison flex"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - addon packages</span><br><span style="color: hsl(120, 100%, 40%);">+PACKAGES_FBSD="$PACKAGES_FBSD speex speexdsp libogg libvorbis alsa-lib portaudio curl xmlstarlet bison flex"</span><br><span> PACKAGES_FBSD="$PACKAGES_FBSD postgresql10-client unixODBC neon gmime26 lua52 uriparser libxslt openssl"</span><br><span> PACKAGES_FBSD="$PACKAGES_FBSD mysql57-client radcli freetds"</span><br><span> PACKAGES_FBSD="$PACKAGES_FBSD net-snmp iksemel corosync newt popt libical spandsp"</span><br><span> PACKAGES_FBSD="$PACKAGES_FBSD cclient libbfd libsrtp gsm libilbc doxygen graphviz libzip openldap-client libhoard"</span><br><span> PACKAGES_FBSD="$PACKAGES_FBSD codec2 fftw3 libsndfile unbound"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for the unpackaged below:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk- subversion</span><br><span> PACKAGES_FBSD="$PACKAGES_FBSD wget subversion"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for ./configure --with-pjproject-bundled:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - packages to run ./configure --with-pjproject-bundled</span><br><span> PACKAGES_FBSD="$PACKAGES_FBSD bzip2 patch"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Basic build system:</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# DragonFly PACKAGES</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# Basic build system</span><br><span> PACKAGES_DBSD="gmake pkgconf"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: basic requirements:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - basic prerequisite packages</span><br><span> PACKAGES_DBSD="$PACKAGES_DBSD libedit jansson e2fsprogs-libuuid sqlite3 libxml2"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for addons:</span><br><span style="color: hsl(0, 100%, 40%);">-PACKAGES_DBSD="$PACKAGES_DBSD speex speexdsp libogg libvorbis portaudio curl xmlstarlet bison flex"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - addon packages</span><br><span style="color: hsl(120, 100%, 40%);">+PACKAGES_DBSD="$PACKAGES_DBSD speex speexdsp libogg libvorbis alsa-lib portaudio curl xmlstarlet bison flex"</span><br><span> PACKAGES_DBSD="$PACKAGES_DBSD postgresql10-client unixODBC neon gmime26 lua52 uriparser libxslt libressl"</span><br><span> PACKAGES_DBSD="$PACKAGES_DBSD mariadb101-client radcli freetds"</span><br><span> PACKAGES_DBSD="$PACKAGES_DBSD net-snmp iksemel corosync newt popt libical spandsp"</span><br><span> PACKAGES_DBSD="$PACKAGES_DBSD cclient binutils libsrtp gsm libilbc doxygen graphviz libzip openldap-client libhoard"</span><br><span> PACKAGES_DBSD="$PACKAGES_DBSD codec2 fftw3 libsndfile unbound"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for the unpackaged below:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk- subversion</span><br><span> PACKAGES_DBSD="$PACKAGES_DBSD wget subversion"</span><br><span style="color: hsl(0, 100%, 40%);">-# Asterisk: for ./configure --with-pjproject-bundled:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Asterisk - packages to run ./configure --with-pjproject-bundled</span><br><span> PACKAGES_DBSD="$PACKAGES_DBSD bzip2 patch"</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# MISC VARIABLES</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span> KVERS=`uname -r`</span><br><span style="color: hsl(120, 100%, 40%);">+JANSSON_VER=2.12</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-case "$1" in</span><br><span style="color: hsl(0, 100%, 40%);">-test)</span><br><span style="color: hsl(0, 100%, 40%);">- testcmd=echo</span><br><span style="color: hsl(0, 100%, 40%);">-    ;;</span><br><span style="color: hsl(0, 100%, 40%);">-install)</span><br><span style="color: hsl(0, 100%, 40%);">-      testcmd=''</span><br><span style="color: hsl(0, 100%, 40%);">-      ;;</span><br><span style="color: hsl(0, 100%, 40%);">-install-unpackaged)</span><br><span style="color: hsl(0, 100%, 40%);">-   unpackaged="yes"</span><br><span style="color: hsl(0, 100%, 40%);">-      ;;</span><br><span style="color: hsl(0, 100%, 40%);">-'')</span><br><span style="color: hsl(0, 100%, 40%);">-   usage</span><br><span style="color: hsl(0, 100%, 40%);">-   exit 0</span><br><span style="color: hsl(0, 100%, 40%);">-  ;;</span><br><span style="color: hsl(0, 100%, 40%);">-*)</span><br><span style="color: hsl(0, 100%, 40%);">-    usage</span><br><span style="color: hsl(0, 100%, 40%);">-   exit 1</span><br><span style="color: hsl(0, 100%, 40%);">-  ;;</span><br><span style="color: hsl(0, 100%, 40%);">-esac</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Global Variables - End</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-in_test_mode() {</span><br><span style="color: hsl(0, 100%, 40%);">-    test "$testcmd" != ''</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Main Program Logic - Start</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# === Algorithm ===</span><br><span style="color: hsl(120, 100%, 40%);">+# - Welcome the user!</span><br><span style="color: hsl(120, 100%, 40%);">+# - Detect and parse runtime arguments</span><br><span style="color: hsl(120, 100%, 40%);">+# - Find distro</span><br><span style="color: hsl(120, 100%, 40%);">+# - Confirm packages to be installed</span><br><span style="color: hsl(120, 100%, 40%);">+# - Attempt to install</span><br><span style="color: hsl(120, 100%, 40%);">+# - Fin!</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+# Welcome!</span><br><span style="color: hsl(120, 100%, 40%);">+##################</span><br><span style="color: hsl(120, 100%, 40%);">+echo "======================================"</span><br><span style="color: hsl(120, 100%, 40%);">+echo "Welcome to the Asterisk Prerequisite Installer!"</span><br><span style="color: hsl(120, 100%, 40%);">+echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+echo "The purpose of this script is to prepare your system"</span><br><span style="color: hsl(120, 100%, 40%);">+echo "for the installation of Asterisk."</span><br><span style="color: hsl(120, 100%, 40%);">+echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+echo "Patches welcome!"</span><br><span style="color: hsl(120, 100%, 40%);">+echo "======================================"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-check_installed_debs() {</span><br><span style="color: hsl(0, 100%, 40%);">-     for pack in "$@" ; do</span><br><span style="color: hsl(0, 100%, 40%);">-         tocheck="${tocheck} ^${pack}$ ~P^${pack}$"</span><br><span style="color: hsl(0, 100%, 40%);">-    done</span><br><span style="color: hsl(0, 100%, 40%);">-    pkgs=$(aptitude -F '%c %p' search ${tocheck} 2>/dev/null | awk '/^p/{print $2}')</span><br><span style="color: hsl(0, 100%, 40%);">-     if [ ${#pkgs} -ne 0 ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-             echo $pkgs | sed -r -e "s/ ?[^ :]+:i386//g"</span><br><span style="color: hsl(0, 100%, 40%);">-   fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(120, 100%, 40%);">+# Arguments</span><br><span style="color: hsl(120, 100%, 40%);">+if [ "$1" eq "" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+    # No arguments passed...display the help text and exit</span><br><span style="color: hsl(120, 100%, 40%);">+    usage</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# parsing the output of yum is close to impossible.</span><br><span style="color: hsl(0, 100%, 40%);">-# We'll use rpm and hope for the best:</span><br><span style="color: hsl(0, 100%, 40%);">-check_installed_rpms() {</span><br><span style="color: hsl(0, 100%, 40%);">-  for pack in "$@"</span><br><span style="color: hsl(0, 100%, 40%);">-      do</span><br><span style="color: hsl(0, 100%, 40%);">-              if ! rpm -q $pack >/dev/null 2>/dev/null</span><br><span style="color: hsl(0, 100%, 40%);">-          then echo $pack</span><br><span style="color: hsl(0, 100%, 40%);">-         fi</span><br><span style="color: hsl(0, 100%, 40%);">-      done</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-check_installed_equery() {</span><br><span style="color: hsl(0, 100%, 40%);">- for pack in "$@"</span><br><span style="color: hsl(0, 100%, 40%);">-      do</span><br><span style="color: hsl(0, 100%, 40%);">-              # equery --quiet list $pack</span><br><span style="color: hsl(0, 100%, 40%);">-             # is slower and</span><br><span style="color: hsl(0, 100%, 40%);">-         # would require the optional app-portage/gentoolkit</span><br><span style="color: hsl(0, 100%, 40%);">-             # /var/lib/portage/world would be the non-dep list</span><br><span style="color: hsl(0, 100%, 40%);">-              pack_with_version=${pack/:/-} # replace a possible version with '-'</span><br><span style="color: hsl(0, 100%, 40%);">-             if ! ls -d /var/db/pkg/${pack_with_version}* >/dev/null 2>/dev/null</span><br><span style="color: hsl(0, 100%, 40%);">-               then echo $pack</span><br><span style="color: hsl(0, 100%, 40%);">-         fi</span><br><span style="color: hsl(0, 100%, 40%);">-      done</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-check_installed_pacman() {</span><br><span style="color: hsl(0, 100%, 40%);">- for pack in "$@"</span><br><span style="color: hsl(0, 100%, 40%);">-      do</span><br><span style="color: hsl(0, 100%, 40%);">-              if ! pacman -Q --explicit $pack >/dev/null 2>/dev/null</span><br><span style="color: hsl(0, 100%, 40%);">-            then echo $pack</span><br><span style="color: hsl(0, 100%, 40%);">-         fi</span><br><span style="color: hsl(0, 100%, 40%);">-      done</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-check_installed_pkgs() {</span><br><span style="color: hsl(0, 100%, 40%);">-   for pack in "$@"</span><br><span style="color: hsl(0, 100%, 40%);">-      do</span><br><span style="color: hsl(0, 100%, 40%);">-              if [ `pkg_info -a | grep $pack | wc -l` = 0 ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-             echo $pack</span><br><span style="color: hsl(0, 100%, 40%);">-              fi</span><br><span style="color: hsl(0, 100%, 40%);">-      done</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-check_installed_fpkgs() {</span><br><span style="color: hsl(0, 100%, 40%);">-  for pack in "$@"</span><br><span style="color: hsl(0, 100%, 40%);">-      do</span><br><span style="color: hsl(0, 100%, 40%);">-              if [ `pkg info -a | grep $pack | wc -l` = 0 ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-             echo $pack</span><br><span style="color: hsl(0, 100%, 40%);">-              fi</span><br><span style="color: hsl(0, 100%, 40%);">-      done</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-check_installed_zypper() {</span><br><span style="color: hsl(0, 100%, 40%);">- for pack in "$@"</span><br><span style="color: hsl(0, 100%, 40%);">-      do</span><br><span style="color: hsl(0, 100%, 40%);">-              if ! zypper se -ixnC $pack >/dev/null 2>/dev/null</span><br><span style="color: hsl(0, 100%, 40%);">-         then echo $pack</span><br><span style="color: hsl(0, 100%, 40%);">-         fi</span><br><span style="color: hsl(0, 100%, 40%);">-      done</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-handle_debian() {</span><br><span style="color: hsl(0, 100%, 40%);">-  if ! [ -x "$(command -v aptitude)" ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-            apt-get install -y aptitude</span><br><span style="color: hsl(0, 100%, 40%);">-     fi</span><br><span style="color: hsl(0, 100%, 40%);">-      extra_packs=`check_installed_debs $PACKAGES_DEBIAN`</span><br><span style="color: hsl(0, 100%, 40%);">-     $testcmd aptitude update</span><br><span style="color: hsl(0, 100%, 40%);">-        if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(0, 100%, 40%);">-                $testcmd aptitude install -y $extra_packs</span><br><span style="color: hsl(0, 100%, 40%);">-       fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-handle_rh() {</span><br><span style="color: hsl(0, 100%, 40%);">-        extra_packs=`check_installed_rpms $PACKAGES_RH`</span><br><span style="color: hsl(0, 100%, 40%);">- if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(0, 100%, 40%);">-                $testcmd yum install --skip-broken --assumeyes $extra_packs</span><br><span style="color: hsl(0, 100%, 40%);">-     fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-handle_gentoo() {</span><br><span style="color: hsl(0, 100%, 40%);">-    extra_packs=`check_installed_equery $PACKAGES_GENTOO`</span><br><span style="color: hsl(0, 100%, 40%);">-   if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(0, 100%, 40%);">-                $testcmd emerge $extra_packs</span><br><span style="color: hsl(0, 100%, 40%);">-    fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-handle_arch() {</span><br><span style="color: hsl(0, 100%, 40%);">-      extra_packs=`check_installed_pacman $PACKAGES_ARCH`</span><br><span style="color: hsl(0, 100%, 40%);">-     if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(0, 100%, 40%);">-                $testcmd pacman -S --asexplicit --noconfirm $extra_packs</span><br><span style="color: hsl(0, 100%, 40%);">-        fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-handle_nbsd() {</span><br><span style="color: hsl(0, 100%, 40%);">-      extra_packs=`check_installed_pkgs $PACKAGES_NBSD`</span><br><span style="color: hsl(0, 100%, 40%);">-       if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(0, 100%, 40%);">-                if [ -z "$PKG_PATH" ] ; then</span><br><span style="color: hsl(0, 100%, 40%);">-                  # see NetBSD Problem Report #48177</span><br><span style="color: hsl(0, 100%, 40%);">-                      export PKG_PATH="http://cdn.NetBSD.org/pub/pkgsrc/packages/$(uname -s)/$(uname -p)/$(uname -r)/All"</span><br><span style="color: hsl(0, 100%, 40%);">-           fi</span><br><span style="color: hsl(0, 100%, 40%);">-              $testcmd pkg_add $extra_packs</span><br><span style="color: hsl(0, 100%, 40%);">-   fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-handle_obsd() {</span><br><span style="color: hsl(0, 100%, 40%);">-      extra_packs=`check_installed_pkgs $PACKAGES_OBSD`</span><br><span style="color: hsl(0, 100%, 40%);">-       if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(0, 100%, 40%);">-                $testcmd pkg_add $extra_packs</span><br><span style="color: hsl(0, 100%, 40%);">-   fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-handle_fbsd() {</span><br><span style="color: hsl(0, 100%, 40%);">-      extra_packs=`check_installed_fpkgs $PACKAGES_FBSD`</span><br><span style="color: hsl(0, 100%, 40%);">-      if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(0, 100%, 40%);">-                $testcmd pkg install -y $extra_packs</span><br><span style="color: hsl(0, 100%, 40%);">-    fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-handle_dbsd() {</span><br><span style="color: hsl(0, 100%, 40%);">-      extra_packs=`check_installed_fpkgs $PACKAGES_DBSD`</span><br><span style="color: hsl(0, 100%, 40%);">-      if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(0, 100%, 40%);">-                $testcmd pkg install -y $extra_packs</span><br><span style="color: hsl(0, 100%, 40%);">-    fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-handle_SUSE() {</span><br><span style="color: hsl(0, 100%, 40%);">-      extra_packs=`check_installed_zypper $PACKAGES_SUSE`</span><br><span style="color: hsl(0, 100%, 40%);">-     if [ x"$extra_packs" != "x" ] ; then</span><br><span style="color: hsl(0, 100%, 40%);">-                $testcmd zypper install --no-confirm $extra_packs</span><br><span style="color: hsl(0, 100%, 40%);">-       fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-install_unpackaged() {</span><br><span style="color: hsl(0, 100%, 40%);">-       # Only install libresample if it wasn't installed via package</span><br><span style="color: hsl(0, 100%, 40%);">-       if ! test -f /usr/include/libresample.h; then</span><br><span style="color: hsl(0, 100%, 40%);">-           echo "*** Installing libresample ***"</span><br><span style="color: hsl(0, 100%, 40%);">-         svn co https://svn.digium.com/svn/thirdparty/libresample/trunk libresample-trunk</span><br><span style="color: hsl(0, 100%, 40%);">-                cd libresample-trunk</span><br><span style="color: hsl(0, 100%, 40%);">-            ./configure</span><br><span style="color: hsl(0, 100%, 40%);">-             make all install</span><br><span style="color: hsl(0, 100%, 40%);">-                cd ..</span><br><span style="color: hsl(0, 100%, 40%);">-   fi</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      # Only install libsrtp2 if it wasn't installed via package</span><br><span style="color: hsl(0, 100%, 40%);">-  if ! test -f /usr/include/srtp/srtp.h; then</span><br><span style="color: hsl(0, 100%, 40%);">-             if ! test -f /usr/include/srtp2/srtp.h; then</span><br><span style="color: hsl(0, 100%, 40%);">-                    echo "*** Installing libsrtp2 ***"</span><br><span style="color: hsl(0, 100%, 40%);">-                    wget -O - http://github.com/cisco/libsrtp/archive/v2.tar.gz | zcat | tar -xf -</span><br><span style="color: hsl(0, 100%, 40%);">-                  cd libsrtp-2</span><br><span style="color: hsl(0, 100%, 40%);">-                    ./configure --enable-openssl</span><br><span style="color: hsl(0, 100%, 40%);">-                    make shared_library install</span><br><span style="color: hsl(0, 100%, 40%);">-                     cd ..</span><br><span style="color: hsl(0, 100%, 40%);">-                   if test -d /etc/ld.so.conf.d; then</span><br><span style="color: hsl(0, 100%, 40%);">-                              echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local.conf</span><br><span style="color: hsl(0, 100%, 40%);">-                   else # for example: Slackware 14.2</span><br><span style="color: hsl(0, 100%, 40%);">-                              echo "/usr/local/lib" > /etc/ld.so.conf</span><br><span style="color: hsl(0, 100%, 40%);">-                    fi</span><br><span style="color: hsl(0, 100%, 40%);">-                      /sbin/ldconfig</span><br><span style="color: hsl(0, 100%, 40%);">-          fi</span><br><span style="color: hsl(0, 100%, 40%);">-      fi</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      if ! test -f /usr/include/pjlib.h; then</span><br><span style="color: hsl(0, 100%, 40%);">-         echo "PJProject not installed, yet. Therefore, please, run"</span><br><span style="color: hsl(0, 100%, 40%);">-           echo "./configure --with-pjproject-bundled"</span><br><span style="color: hsl(0, 100%, 40%);">-   fi</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-if in_test_mode; then</span><br><span style="color: hsl(0, 100%, 40%);">-        echo "#############################################"</span><br><span style="color: hsl(0, 100%, 40%);">-  echo "## $1: test mode."</span><br><span style="color: hsl(0, 100%, 40%);">-      echo "## Use the commands here to install your system."</span><br><span style="color: hsl(0, 100%, 40%);">-       echo "#############################################"</span><br><span style="color: hsl(0, 100%, 40%);">-elif test "${unpackaged}" = "yes" ; then</span><br><span style="color: hsl(0, 100%, 40%);">-      install_unpackaged</span><br><span style="color: hsl(0, 100%, 40%);">-      exit 0</span><br><span style="color: hsl(120, 100%, 40%);">+    # Let's get out of here!</span><br><span style="color: hsl(120, 100%, 40%);">+    exit 0</span><br><span> fi</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+# Main script logic starts here</span><br><span style="color: hsl(120, 100%, 40%);">+case "$1" in</span><br><span style="color: hsl(120, 100%, 40%);">+test)</span><br><span style="color: hsl(120, 100%, 40%);">+    testcmd=echo</span><br><span style="color: hsl(120, 100%, 40%);">+    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+install)</span><br><span style="color: hsl(120, 100%, 40%);">+    testcmd=""</span><br><span style="color: hsl(120, 100%, 40%);">+    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+install-unpackaged)</span><br><span style="color: hsl(120, 100%, 40%);">+    unpackaged="yes"</span><br><span style="color: hsl(120, 100%, 40%);">+    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+"")</span><br><span style="color: hsl(120, 100%, 40%);">+    # No arguments passed...display the help text and exit</span><br><span style="color: hsl(120, 100%, 40%);">+    usage</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # Exit!</span><br><span style="color: hsl(120, 100%, 40%);">+    exit 0</span><br><span style="color: hsl(120, 100%, 40%);">+    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+*)</span><br><span style="color: hsl(120, 100%, 40%);">+    # No arguments passed...display the help text and exit</span><br><span style="color: hsl(120, 100%, 40%);">+    usage</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # Exit!</span><br><span style="color: hsl(120, 100%, 40%);">+    exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+esac</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Grab OS name</span><br><span> OS=`uname -s`</span><br><span style="color: hsl(0, 100%, 40%);">-unsupported_distro=''</span><br><span style="color: hsl(120, 100%, 40%);">+unsupported_distro=""</span><br><span> </span><br><span> # A number of distributions we don't (yet?) support.</span><br><span style="color: hsl(0, 100%, 40%);">-if [ "$OS" != 'Linux' -a "$OS" != 'NetBSD' -a "$OS" != 'OpenBSD' -a "$OS" != 'FreeBSD' -a "$OS" != 'DragonFly' ]; then</span><br><span style="color: hsl(0, 100%, 40%);">- echo >&2 "$0: Your OS ($OS) is currently not supported. Aborting."</span><br><span style="color: hsl(0, 100%, 40%);">-     exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+if [ "$OS" != "Linux" -a "$OS" != "NetBSD" -a "$OS" != "OpenBSD" -a "$OS" != "FreeBSD" -a "$OS" != "DragonFly" ] ; then</span><br><span style="color: hsl(120, 100%, 40%);">+    echo >&2 "Unfortunately, $OS is not currently supported. Please post a patched version or reach out to Asterisk support."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # Exit!</span><br><span style="color: hsl(120, 100%, 40%);">+    exit 1</span><br><span> fi</span><br><span> </span><br><span> if [ -f /etc/mandrake-release ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-       unsupported_distro='Mandriva'</span><br><span style="color: hsl(120, 100%, 40%);">+    unsupported_distro="Mandriva"</span><br><span> fi</span><br><span> </span><br><span> if [ -f /etc/slackware-version ] || ([ -f /etc/os-release ] && . /etc/os-release && [ "$ID" = "slackware" ]); then</span><br><span style="color: hsl(0, 100%, 40%);">-  echo >&2 "$0: Your distribution (Slackware) is currently not supported. Aborting. Try manually:"</span><br><span style="color: hsl(0, 100%, 40%);">-       # libedit requires a newer version than Slackware 14.2, for example Slackware-current</span><br><span style="color: hsl(0, 100%, 40%);">-   # or you build it manually: <http://thrysoee.dk/editline/></span><br><span style="color: hsl(0, 100%, 40%);">-        echo >&2 "$0: # slackpkg install make gcc pkg-config libedit util-linux sqlite libxml2 patch wget"</span><br><span style="color: hsl(0, 100%, 40%);">-     # required for libjansson</span><br><span style="color: hsl(0, 100%, 40%);">-       echo >&2 "$0: # ./contrib/scripts/install_prereq install-unpackaged"</span><br><span style="color: hsl(0, 100%, 40%);">-   exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+    echo >&2 "Unfortunately, $OS is not currently supported. Please post a patched version or reach out to Asterisk support."</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "Try manually:"</span><br><span style="color: hsl(120, 100%, 40%);">+    # libedit requires a newer version than Slackware 14.2, for example Slackware-current</span><br><span style="color: hsl(120, 100%, 40%);">+    # or you build it manually: <http://thrysoee.dk/editline/></span><br><span style="color: hsl(120, 100%, 40%);">+    echo >&2 "# slackpkg install make gcc pkg-config libedit util-linux sqlite libxml2 patch wget"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # Required for libjansson</span><br><span style="color: hsl(120, 100%, 40%);">+    echo >&2 "# ./contrib/scripts/install_prereq install-unpackaged"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # Exit!</span><br><span style="color: hsl(120, 100%, 40%);">+    exit 1</span><br><span> fi</span><br><span> </span><br><span> if [ "$unsupported_distro" != '' ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-     echo >&2 "$0: Your distribution ($unsupported_distro) is currently not supported. Aborting."</span><br><span style="color: hsl(0, 100%, 40%);">-   exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "======================================"</span><br><span style="color: hsl(120, 100%, 40%);">+    echo >&2 "Unfortunately, $OS is not currently supported. Please post a patched version or reach out to Asterisk support."</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "======================================"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # Exit!</span><br><span style="color: hsl(120, 100%, 40%);">+    exit 1</span><br><span> fi</span><br><span> </span><br><span> # The distributions we do support:</span><br><span> if [ -r /etc/debian_version ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-      handle_debian</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ -r /etc/linuxmint/info ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+        # Alert user of OS detection</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "We've detected you're using Linux Mint. Linux Mint is currently not supported."</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Patches welcome! This script will now exit."</span><br><span style="color: hsl(120, 100%, 40%);">+    else</span><br><span style="color: hsl(120, 100%, 40%);">+        # Alert user of OS detection</span><br><span style="color: hsl(120, 100%, 40%);">+        echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "We've detected you're using Debian...will install Debian packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+        handle_debian</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span> elif [ -r /etc/redhat-release ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-       handle_rh</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using Red Hat...will install Red Hat packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_rh</span><br><span> elif [ -f /etc/SuSE-release -o -f /etc/novell-release ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-     handle_SUSE</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using openSUSE...will install openSUSE packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_SUSE</span><br><span> elif [ -f /etc/os-release ] && . /etc/os-release && [ "$ID" = "opensuse" ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-        handle_SUSE</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using openSUSE...will install openSUSE packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_SUSE</span><br><span> elif [ -r /etc/arch-release ]; then</span><br><span style="color: hsl(0, 100%, 40%);">- handle_arch</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using Arch Linux...will install Arch Linux packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_arch</span><br><span> elif [ -f /etc/os-release ] && . /etc/os-release && [ "$ID_LIKE" = "archlinux" ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-      handle_arch # $ID=arch</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using Arch Linux...will install Arch Linux packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_arch # $ID=arch</span><br><span> elif [ -f /etc/gentoo-release ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-     handle_gentoo</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using Gentoo...will install Gentoo packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_gentoo</span><br><span> elif [ -f /etc/os-release ] && . /etc/os-release && [ "$ID" = "gentoo" ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-  handle_gentoo</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using Gentoo...will install Gentoo packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_gentoo</span><br><span> elif [ "$OS" = 'NetBSD' ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-   handle_nbsd</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using $OS...will install $OS packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_nbsd</span><br><span> elif [ "$OS" = 'OpenBSD' ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-    handle_obsd</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using $OS...will install $OS packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_obsd</span><br><span> elif [ "$OS" = 'FreeBSD' ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-    handle_fbsd</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using $OS...will install $OS packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_fbsd</span><br><span> elif [ "$OS" = 'DragonFly' ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-  handle_dbsd</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "We've detected you're using $OS...will install $OS packages...please wait..."</span><br><span style="color: hsl(120, 100%, 40%);">+    handle_dbsd</span><br><span> fi</span><br><span> </span><br><span> if ! in_test_mode; then</span><br><span style="color: hsl(0, 100%, 40%);">-     echo "#############################################"</span><br><span style="color: hsl(0, 100%, 40%);">-  echo "## $1 completed successfully"</span><br><span style="color: hsl(0, 100%, 40%);">-   echo "#############################################"</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "======================================"</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "$1 completed successfully."</span><br><span style="color: hsl(120, 100%, 40%);">+    echo ""</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "Thanks for using this script!"</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "You should be good to start installing Asterisk!"</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "======================================"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    # We're done!</span><br><span style="color: hsl(120, 100%, 40%);">+    exit 0</span><br><span> fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span style="color: hsl(120, 100%, 40%);">+# Main Program Logic - End</span><br><span style="color: hsl(120, 100%, 40%);">+# ============================================</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/19939">change 19939</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/c/asterisk/+/19939"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I4bd53ae429e113a76d13a23b48da714a8eefad26 </div>
<div style="display:none"> Gerrit-Change-Number: 19939 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Martin McCarthy <martin.c.mccarthy@outlook.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>