Trigger daily build of CICN packages
[ci-management.git] / jjb / cicn / include-raw-cicn-viper-build.sh
1 #!/bin/bash
2 # basic build script example
3 set -euo pipefail
4 IFS=$'\n\t'
5
6 apt_get=/usr/local/apt-get
7
8 PACKAGE_NAME="VIPER"
9 VIPER_DEPS_UBUNTU="zlib1g-dev git-core build-essential libxml2-dev libcurl4-openssl-dev \
10                    qt57base qt57svg qt57charts-no-lgpl qt57multimedia libqtav-dev libicnet \
11                    libavcodec-dev libavformat-dev libswscale-dev  libavresample-dev libqml-module-qtav \
12                    qt57quickcontrols qt57quickcontrols2 libxml2-dev"
13
14 BUILD_TOOLS="build-essential cmake"
15
16 ARCHITECTURE=`uname -m`
17
18 # Figure out what system we are running on
19 if [ -f /etc/lsb-release ];then
20
21     . /etc/lsb-release
22     DEB=ON
23     RPM=OFF
24
25     if [ "$ARCHITECTURE" == "x86_64" ]; then
26         ARCHITECTURE="amd64"
27     fi
28
29 elif [ -f /etc/redhat-release ];then
30
31     sudo yum install -y redhat-lsb
32     DISTRIB_ID=`lsb_release -si`
33     DISTRIB_RELEASE=`lsb_release -sr`
34     DISTRIB_CODENAME=`lsb_release -sc`
35     DISTRIB_DESCRIPTION=`lsb_release -sd`
36
37     DEB=OFF
38     RPM=ON
39 else
40     echo "ERROR: System configuration not recognized. Build failed"
41     exit -1
42 fi
43
44 echo ARCHITECTURE: $ARCHITECTURE
45 echo DISTRIB_ID: $DISTRIB_ID
46 echo DISTRIB_RELEASE: $DISTRIB_RELEASE
47 echo DISTRIB_CODENAME: $DISTRIB_CODENAME
48 echo DISTRIB_DESCRIPTION: $DISTRIB_DESCRIPTION
49
50 setup $DISTRIB_ID $DISTRIB_CODENAME
51
52 # Install deps
53
54 if [ $DISTRIB_ID == "Ubuntu" ]; then
55     update_qt_repo $DISTRIB_CODENAME
56     echo $BUILD_TOOLS $VIPER_DEPS_UBUNTU | xargs sudo ${apt_get} install -y --allow-unauthenticated
57 else
58     echo "This package is currently supported only for ubuntu. Exiting.."
59     exit -1
60 fi
61
62 # Create links
63
64 sudo ln -sf /usr/include/x86_64-linux-gnu/qt5/QtAV                                /opt/qt57/include/QtAV
65 sudo ln -sf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/av.prf                 /opt/qt57/mkspecs/features/av.prf
66 sudo ln -sf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/avwidgets.prf          /opt/qt57/mkspecs/features/avwidgets.prf
67 sudo ln -sf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_avwidgets.pri    /opt/qt57/mkspecs/modules/qt_lib_avwidgets.pri
68 sudo ln -sf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_av.pri           /opt/qt57/mkspecs/modules/qt_lib_av.pri
69 sudo ln -sf /usr/lib/x86_64-linux-gnu/libQtAV.prl                                 /opt/qt57/lib/libQtAV.prl
70 sudo ln -sf /usr/lib/x86_64-linux-gnu/libQtAVWidgets.prl                          /opt/qt57/lib/libQtAVWidgets.prl
71 sudo ln -sf /usr/lib/x86_64-linux-gnu/libQtAVWidgets.so                           /opt/qt57/lib/libQt5AVWidgets.so
72 sudo ln -sf /usr/lib/x86_64-linux-gnu/libQt5AV.so                                 /opt/qt57/lib/libQt5AV.so
73 sudo ln -sf /usr/lib/x86_64-linux-gnu/libQtAV.so                                  /opt/qt57/lib/libQtAV.so
74 sudo ln -sf /usr/lib/x86_64-linux-gnu/libQt5AVWidgets.so                          /opt/qt57/lib/libQtAVWidgets.so
75
76 # Compile libdash
77
78
79 build() {
80     mkdir -p build
81     cd build
82     rm -rf *
83     cmake -DCMAKE_INSTALL_PREFIX=/usr -DRPM_PACKAGE=$RPM -DDEB_PACKAGE=$DEB -DDISTRIBUTION=$DISTRIB_CODENAME -DARCHITECTURE=$ARCHITECTURE ..
84     make
85 }
86
87 # Build libdash
88 pushd libdash
89 build
90 make package
91 sudo make install
92 popd
93
94 # Build viper
95 build
96 make package