Remmina - The GTK+ Remote Desktop Client  v1.4.33
Remmina is a remote desktop client written in GTK+, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers in front of either large monitors or tiny netbooks. Remmina supports multiple network protocols in an integrated and consistent user interface. Currently RDP, VNC, NX, XDMCP and SSH are supported.
travis-build.sh
Go to the documentation of this file.
1 #!/bin/bash
2 # Remmina - The GTK+ Remote Desktop Client
3 # Copyright (C) 2017-2018 Marco Trevisan
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 # Boston, MA 02110-1301, USA.
19 #
20 # In addition, as a special exception, the copyright holders give
21 # permission to link the code of portions of this program with the
22 # OpenSSL library under certain conditions as described in each
23 # individual source file, and distribute linked combinations
24 # including the two.
25 # You must obey the GNU General Public License in all respects
26 # for all of the code used other than OpenSSL.# If you modify
27 # file(s) with this exception, you may extend this exception to your
28 # version of the file(s), but you are not obligated to do so.# If you
29 # do not wish to do so, delete this exception statement from your
30 # version.# If you delete this exception statement from all source
31 # files in the program, then also delete it here.
32 #
33 #
34 set -xe
35 
36 TRAVIS_BUILD_STEP="$1"
37 
38 if [ -z "$TRAVIS_BUILD_STEP" ]; then
39  echo "No travis build step defined"
40  exit 0
41 fi
42 
43 if [ "$BUILD_TYPE" == "deb" ]; then
44  if [ "$TRAVIS_BUILD_STEP" == "before_install" ]; then
45  sudo apt-add-repository $DEB_PPA -y
46  sudo apt-get update -q
47  sudo apt-get install -y devscripts equivs
48  elif [ "$TRAVIS_BUILD_STEP" == "install" ]; then
49  sudo mk-build-deps -ir remmina
50  if [ -n "$DEB_EXTRA_DEPS" ]; then
51  sudo apt-get install -y $DEB_EXTRA_DEPS
52  fi
53  elif [ "$TRAVIS_BUILD_STEP" == "script" ]; then
54  git clean -f
55  mkdir $BUILD_FOLDER
56  cmake -B$BUILD_FOLDER -H. $DEB_BUILD_OPTIONS
57  make VERBOSE=1 -C $BUILD_FOLDER
58  fi
59 elif [ "$BUILD_TYPE" == "cmake" ]; then
60  echo "TRAVIS_EVENT_TYPE=" $TRAVIS_EVENT_TYPE
61  if [ "$TRAVIS_BUILD_STEP" == "before_install" ]; then
62  # We use our freerdp-daily PPA to get freerdp precompiled packages
63  # travis builds are for ubuntu trusty 14.04
64  sudo apt-add-repository $FREERDP_DAILY_PPA -y
65  sudo apt-get update -qq
66  sudo apt-get install -y build-essential git-core cmake \
67  libssl-dev libx11-dev libxext-dev libxinerama-dev \
68  libxcursor-dev libxdamage-dev libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 libxml2-dev \
69  libxrandr-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev \
70  libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libxi-dev libavutil-dev \
71  libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt11-dev libssh-dev libpulse-dev \
72  libvte-2.90-dev libxkbfile-dev libfreerdp-dev libtelepathy-glib-dev libjpeg-dev \
73  libgnutls-dev libgnome-keyring-dev libavahi-ui-gtk3-dev libvncserver-dev \
74  libappindicator3-dev intltool libsecret-1-dev libwebkit2gtk-3.0-dev \
75  libsoup2.4-dev libjson-glib-dev \
76  libfreerdp-dev
77  elif [ "$TRAVIS_BUILD_STEP" == "script" ]; then
78  git clean -f
79  mkdir $BUILD_FOLDER
80  cmake -B$BUILD_FOLDER -H. $CMAKE_BUILD_OPTIONS
81  make VERBOSE=1 -C $BUILD_FOLDER
82  fi
83 elif [ "$BUILD_TYPE" == "flatpak" ]; then
84  echo "TRAVIS_EVENT_TYPE=" $TRAVIS_EVENT_TYPE
85  if [ "$TRAVIS_BUILD_STEP" == "before_install" ]; then
86  sudo service docker start || true
87  elif [ "$TRAVIS_BUILD_STEP" == "install" ]; then
88  docker build -t flatpak -f ./flatpak/Dockerfile .
89  elif [ "$TRAVIS_BUILD_STEP" == "script" ]; then
90  docker run --privileged --env=FLATPAK_ARCH=$FLATPAK_ARCH flatpak
91  fi
92 else
93  echo 'No $BUILD_TYPE defined' >&2
94  exit 1
95 fi