From 798f2dbc1cd757ee1ce2e96f35450a73e9835bb7 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sun, 3 Dec 2017 11:32:36 +0000 Subject: [PATCH] Add openSUSE zypper package management support to env script Thanks to Thorsten Otto for providing the initial patch to enable package management on openSUSE. This has been tested on Leap 42.3 --- docs/env.sh | 56 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 43 insertions(+), 13 deletions(-) diff --git a/docs/env.sh b/docs/env.sh index 8a82ad083..9d7a069ac 100644 --- a/docs/env.sh +++ b/docs/env.sh @@ -12,6 +12,13 @@ # Copyright 2013 Vincent Sanders # Released under the MIT Licence +# find which command used to find everything else on path +if [ -x /usr/bin/which ]; then + WHICH_CMD=/usr/bin/which +else + WHICH_CMD=/bin/which +fi + # parameters # The system doing the building @@ -29,7 +36,7 @@ if [ "x${HOST}" = "x" ]; then else HOST_CC_LIST="${HOST}-cc ${HOST}-gcc /opt/netsurf/${HOST}/cross/bin/${HOST}-cc /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc" for HOST_CC_V in $(echo ${HOST_CC_LIST});do - HOST_CC=$(/bin/which ${HOST_CC_V}) + HOST_CC=$(${WHICH_CMD} ${HOST_CC_V}) if [ "x${HOST_CC}" != "x" ];then break fi @@ -169,23 +176,24 @@ ns-apt-get-install() sudo apt-get install $(echo ${NS_DEV_DEB} ${NS_TOOL_DEB} ${NS_GTK_DEB}) } -# RPM packages for rpm based systems (tested on fedora 20) -NS_DEV_RPM="git gcc pkgconfig libexpat-devel openssl-devel libcurl-devel perl-Digest-MD5-File libjpeg-devel libpng-devel" -NS_TOOL_RPM="flex bison" + +# packages for yum installer RPM based systems (tested on fedora 20) +NS_DEV_YUM_RPM="git gcc pkgconfig libexpat-devel openssl-devel libcurl-devel perl-Digest-MD5-File libjpeg-devel libpng-devel" +NS_TOOL_YUM_RPM="flex bison" if [ "x${NETSURF_GTK_MAJOR}" = "x3" ]; then - NS_GTK_RPM="gtk3-devel librsvg2-devel" + NS_GTK_YUM_RPM="gtk3-devel librsvg2-devel" else - NS_GTK_RPM="gtk2-devel librsvg2-devel" + NS_GTK_YUM_RPM="gtk2-devel librsvg2-devel" fi # yum commandline to install necessary dev packages ns-yum-install() { - sudo yum -y install $(echo ${NS_DEV_RPM} ${NS_TOOL_RPM} ${NS_GTK_RPM}) + sudo yum -y install $(echo ${NS_DEV_YUM_RPM} ${NS_TOOL_YUM_RPM} ${NS_GTK_YUM_RPM}) } -# DNF RPM packages for rpm based systems (tested on fedora 25) +# packages for dnf installer RPM based systems (tested on fedora 25) NS_DEV_DNF_RPM="java-1.8.0-openjdk-headless gcc clang pkgconfig libcurl-devel libjpeg-devel expat-devel libpng-devel openssl-devel gperf perl-HTML-Parser" NS_TOOL_DNF_RPM="git flex bison ccache screen" if [ "x${NETSURF_GTK_MAJOR}" = "x3" ]; then @@ -201,12 +209,28 @@ ns-dnf-install() } +# packages for zypper installer RPM based systems (tested on openSUSE leap 42) +NS_DEV_ZYP_RPM="java-1.8.0-openjdk-headless gcc clang pkgconfig libcurl-devel libjpeg-devel expat-devel libpng-devel openssl-devel gperf perl-HTML-Parser" +NS_TOOL_ZYP_RPM="git flex bison gperf ccache screen" +if [ "x${NETSURF_GTK_MAJOR}" = "x3" ]; then + NS_GTK_ZYP_RPM="gtk3-devel" +else + NS_GTK_ZYP_RPM="gtk2-devel" +fi + +# zypper commandline to install necessary dev packages +ns-zypper-install() +{ + sudo zypper install -y $(echo ${NS_DEV_ZYP_RPM} ${NS_TOOL_ZYP_RPM} ${NS_GTK_ZYP_RPM}) +} + + +# Packages for Haiku install # Haiku secondary arch suffix: -# empty for primary (gcc2 on x86), -# "_x86" for gcc4 secondary. +# empty for primary (gcc2 on x86) or "_x86" for gcc4 secondary. HA=_x86 -# Haiku packages + NS_DEV_HPKG="devel:libcurl${HA} devel:libpng${HA} devel:libjpeg${HA} devel:libcrypto${HA} devel:libiconv${HA} devel:libexpat${HA} cmd:pkg_config${HA} cmd:gperf html_parser" # pkgman commandline to install necessary dev packages @@ -215,6 +239,7 @@ ns-pkgman-install() pkgman install $(echo ${NS_DEV_HPKG}) } + # MAC OS X NS_DEV_MACPORT="git expat openssl curl libjpeg-turbo libpng" @@ -223,6 +248,8 @@ ns-macport-install() PATH=/opt/local/bin:/opt/local/sbin:$PATH sudo /opt/local/bin/port install $(echo ${NS_DEV_MACPORT}) } + +# packages for FreeBSD install NS_DEV_FREEBSDPKG="gmake curl" # FreeBSD package install @@ -231,6 +258,7 @@ ns-freebsdpkg-install() pkg install $(echo ${NS_DEV_FREEBSDPKG}) } + # generic for help text NS_DEV_GEN="git, gcc, pkgconfig, expat library, openssl library, libcurl, perl, perl MD5 digest, libjpeg library, libpng library" NS_TOOL_GEN="flex tool, bison tool" @@ -240,11 +268,13 @@ else NS_GTK_GEN="gtk+ 2 toolkit library, librsvg2 library" fi -# Genertic OS package install +# Generic OS package install # looks for package managers and tries to use them if present ns-package-install() { - if [ -x "/usr/bin/apt-get" ]; then + if [ -x "/usr/bin/zypper" ]; then + ns-zypper-install + elif [ -x "/usr/bin/apt-get" ]; then ns-apt-get-install elif [ -x "/usr/bin/dnf" ]; then ns-dnf-install