Skip to content
Snippets Groups Projects
Select Git revision
  • b48b5c3eba069274013d68fb4e8cb26f61c1a7d9
  • master default protected
  • release/beta-qt-202301101210
  • stable
  • release/beta-qt-202211182015
  • release/beta-qt-202211181752
  • release/beta-qt-202211171508
  • release/beta-qt-202211081754
  • release/beta-qt-202211071518
  • release/beta-qt-202210270957
  • release/beta-qt-202210071648
  • release/beta-qt-202209291549
  • release/beta-qt-202209011129
  • release/beta-qt-202208261640
  • release/beta-qt-202208241511
  • release/beta-qt-202208231849
  • release/beta-qt-202208091525
  • release/beta-qt-202207191241
  • release/beta-qt-202207181708
  • release/beta-qt-202207131914
  • release/beta-qt-202207131513
  • android/release_358
  • android/release_357
  • android/release_356
  • android/release_355
  • android/release_354
  • 20221220.0956.79e1207
  • android/release_353
  • android/release_352
  • android/release_350
  • android/release_349
  • android/release_348
  • android/release_347
  • 20221031.1308.130cc26
  • android/release_346
  • android/release_345
  • android/release_344
  • android/release_343
  • android/release_342
  • android/release_341
  • android/release_340
41 results

build-package-opensuse-leap.sh

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    build-package-ubuntu.sh 6.24 KiB
    #!/bin/bash
    #
    # @author: Yun Liu <yun.liu@savoirfairelinux.com>, Julien Bonjean <julien.bonjean@savoirfairelinux.com>
    #
    # Refer to http://www.sflphone.org for futher information
    #
    
    PLATFORM="ubuntu"
    
    ROOT_DIR="/home/sflphone/sflphone-packaging"
    BUILD_DIR="${ROOT_DIR}/build"
    DIST_DIR="${ROOT_DIR}/dists"
    REPOSITORY_ARCHIVE="${BUILD_DIR}/sflphone.tar.gz"
    REPOSITORY_DIR="${BUILD_DIR}/sflphone"
    REPOSITORY_SFLPHONE_COMMON_DIR="${REPOSITORY_DIR}/sflphone-common"
    REPOSITORY_SFLPHONE_CLIENT_KDE_DIR="${REPOSITORY_DIR}/sflphone-client-kde"
    REPOSITORY_SFLPHONE_CLIENT_GNOME_DIR="${REPOSITORY_DIR}/sflphone-client-gnome"
    USER="sflphone"
    DIST_APPEND="-daily"
    RELEASE_MODE=$1
    VERSION_APPEND=
    EDITOR=echo
    export EDITOR
    
    #########################
    # BEGIN
    #########################
    
    WHO=`whoami`
    
    if [ "${WHO}" != "${USER}" ]; then
            echo "!! Please use user ${USER} to run this script"
            exit -1;
    fi
    
    if [ ${RELEASE_MODE} ]; then
            echo "Release mode : ${RELEASE_MODE}"
    	if [ "${RELEASE_MODE}" = "release" ]; then
    		DIST_APPEND=""
    	else
    		DIST_APPEND="-testing"
    		VERSION_APPEND="~${RELEASE_MODE}"
    	fi
    else
            echo "Snapshot mode"
    fi
    
    cd ${ROOT_DIR}
    
    if [ "$?" -ne "0" ]; then
            echo " !! Cannot cd to working directory"
            exit -1
    fi
    
    # decompress repository
    echo "Untar repository"
    cd ${BUILD_DIR} && tar xf ${REPOSITORY_ARCHIVE}
    
    if [ "$?" -ne "0" ]; then
            echo " !! Cannot untar repository"
            exit -1
    fi
    
    echo "Switch to internal logging"
    
    # get system parameters
    ARCH_FLAG=`getconf -a|grep LONG_BIT | sed -e 's/LONG_BIT\s*//'`
    OS_VERSION=`lsb_release -d -s -c | sed -e '1d'`
    PACKAGE_SYSVER="0ubuntu1"
    VERSION=`cd ${REPOSITORY_DIR} && head -n 1 ./sflphone-client-gnome/debian/changelog | awk '{print $2}' | sed -e 's/(//g' -e 's/)//g' | cut -d "-" -f1` 
    FULL_VERSION=`cd ${REPOSITORY_DIR} && head -n 1 ./sflphone-client-gnome/debian/changelog | awk '{print $2}' | sed -e 's/(//g' -e 's/)//g' -e 's/SYSVER/'${PACKAGE_SYSVER}'/g'`
    
    # define log files
    GLOBAL_LOG=${ROOT_DIR}/sflphone-${OS_VERSION}-${ARCH_FLAG}.log
    PACKAGING_LOG=${ROOT_DIR}/sflphone-debuild-${OS_VERSION}-${ARCH_FLAG}.log
    
    # open log file
    exec 3<>${GLOBAL_LOG}
    
    # redirect outputs (stdout & stderr)
    exec 1>&3
    exec 2>&3
    
    echo "SFLPhone version is ${VERSION}"
    
    echo "Do updates"
    sudo apt-get update >/dev/null
    sudo apt-get upgrade -y >/dev/null
    
    # generate the changelog, according to the distribution
    echo "Generate changelogs"
    sed -i 's/SYSTEM/'${OS_VERSION}'/g' ${REPOSITORY_SFLPHONE_COMMON_DIR}/debian/changelog && \
    sed -i 's/SYSVER/'${PACKAGE_SYSVER}'/g' ${REPOSITORY_SFLPHONE_COMMON_DIR}/debian/changelog && \
     # sed -i 's/SYSTEM/'${OS_VERSION}'/g' ${REPOSITORY_SFLPHONE_CLIENT_KDE_DIR}/debian/changelog && \
     # sed -i 's/SYSVER/'${PACKAGE_SYSVER}'/g' ${REPOSITORY_SFLPHONE_CLIENT_KDE_DIR}/debian/changelog && \
     sed -i 's/SYSTEM/'${OS_VERSION}'/g' ${REPOSITORY_SFLPHONE_CLIENT_GNOME_DIR}/debian/changelog && \
     sed -i 's/SYSVER/'${PACKAGE_SYSVER}'/g' ${REPOSITORY_SFLPHONE_CLIENT_GNOME_DIR}/debian/changelog
    
    if [ "$?" -ne "0" ]; then
    	echo "!! Cannot generate changelogs"
    	exit -1
    fi
    
    # copy the appropriate control file based on different archtecture
    echo "Generate control files"
    cp ${REPOSITORY_SFLPHONE_COMMON_DIR}/debian/control.$OS_VERSION ${REPOSITORY_SFLPHONE_COMMON_DIR}/debian/control && \
     # cp ${REPOSITORY_SFLPHONE_CLIENT_KDE_DIR}/debian/control.$OS_VERSION ${REPOSITORY_SFLPHONE_CLIENT_KDE_DIR}/debian/control && \
     cp ${REPOSITORY_SFLPHONE_CLIENT_GNOME_DIR}/debian/control.$OS_VERSION ${REPOSITORY_SFLPHONE_CLIENT_GNOME_DIR}/debian/control && \
     find ${REPOSITORY_DIR} -name "control" -exec sed -i "s/VERSION/${FULL_VERSION}/g" {} \;
    
    if [ "$?" -ne "0" ]; then
            echo "!! Cannot generate control files"
            exit -1
    fi
    
    # provide prerequisite directories used by debuild
    echo "Build sflphone packages on Ubuntu $OS_VERSION $ARCH_FLAG bit architecture...."
    cp -r ${REPOSITORY_SFLPHONE_COMMON_DIR} ${BUILD_DIR}/sflphone-common && \
    cp -r ${REPOSITORY_SFLPHONE_COMMON_DIR} ${BUILD_DIR}/sflphone-common-${FULL_VERSION}.orig && \
     # cp -r ${REPOSITORY_SFLPHONE_CLIENT_KDE_DIR} ${BUILD_DIR}/sflphone-client-kde-${FULL_VERSION}.orig && \
     cp -r ${REPOSITORY_SFLPHONE_CLIENT_GNOME_DIR} ${BUILD_DIR}/sflphone-client-gnome-${FULL_VERSION}.orig && \
    # do a cp to because path must remain for client compilation
    mv ${REPOSITORY_SFLPHONE_COMMON_DIR} ${BUILD_DIR}/sflphone-common-${FULL_VERSION} && \
     # mv ${REPOSITORY_SFLPHONE_CLIENT_KDE_DIR} ${BUILD_DIR}/sflphone-client-kde-${FULL_VERSION} && \
     mv ${REPOSITORY_SFLPHONE_CLIENT_GNOME_DIR} ${BUILD_DIR}/sflphone-client-gnome-${FULL_VERSION}
    
    # build package sflphone-common
    cd ${BUILD_DIR}/sflphone-common-${FULL_VERSION}/debian && \
    debuild -us -uc >${PACKAGING_LOG} 2>&1
    
    if [ "$?" -ne "0" ]; then
            echo "!! Cannot generate package sflphone-common"
            exit -1
    fi
    
    # build package sflphone-client-gnome
    cd ${BUILD_DIR}/sflphone-client-gnome-${FULL_VERSION}/debian && \
    debuild -us -uc >>${PACKAGING_LOG} 2>&1
    
    if [ "$?" -ne "0" ]; then
            echo "!! Cannot generate package sflphone-client-gnome"
            exit -1
    fi
    
    # build package sflphone-client-kde
    # cd ${BUILD_DIR}/sflphone-client-kde-${FULL_VERSION}/debian && \
    # debuild -us -uc >>${PACKAGING_LOG} 2>&1
    
    # if [ "$?" -ne "0" ]; then
    #         echo "!! Cannot generate package sflphone-client-kde"
    #         exit -1
    # fi
    
    # move to dist
    echo "Deploy files in dist directories"
    BINARY_DIR=""
    if [ "${ARCH_FLAG}" -eq "32" ]; then
    	BINARY_DIR="binary-i386"
    else
    	BINARY_DIR="binary-amd64"
    fi
    
    mkdir -p ${DIST_DIR}/${OS_VERSION}${DIST_APPEND}/universe/source
    mkdir -p ${DIST_DIR}/${OS_VERSION}${DIST_APPEND}/universe/${BINARY_DIR}
    
    mv ${BUILD_DIR}/sflphone*.deb ${DIST_DIR}/${OS_VERSION}${DIST_APPEND}/universe/${BINARY_DIR} && \
    mv ${BUILD_DIR}/sflphone*.dsc ${DIST_DIR}/${OS_VERSION}${DIST_APPEND}/universe/source/ && \
    mv ${BUILD_DIR}/sflphone*.build ${DIST_DIR}/${OS_VERSION}${DIST_APPEND}/universe/source/ && \
    mv ${BUILD_DIR}/sflphone*.changes ${DIST_DIR}/${OS_VERSION}${DIST_APPEND}/universe/source/ && \
    mv ${BUILD_DIR}/sflphone*.orig.tar.gz ${DIST_DIR}/${OS_VERSION}${DIST_APPEND}/universe/source/ && \
    mv ${BUILD_DIR}/sflphone*.diff.gz ${DIST_DIR}/${OS_VERSION}${DIST_APPEND}/universe/source/
    
    if [ "$?" -ne "0" ]; then
            echo "!! Cannot copy dist files"
            exit -1
    fi
    
    echo "All done"
    
    # close file descriptor
    exec 3>&-
    
    exit 0