From: Pierre Ossman Date: Mon, 7 Jun 2021 15:09:15 +0000 (+0200) Subject: Convert CI to GitHub Actions X-Git-Tag: v1.11.90~40^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=abcabc5a9ee3e34935c03676aa8d9451fe8f47d0;p=tigervnc.git Convert CI to GitHub Actions Travis has unfortunately been severely rate limited by Docker Hub so we have to switch to GitHub, which has an agreement with Docker to avoid the rate limiting. --- diff --git a/.github/containers/bionic/Dockerfile b/.github/containers/bionic/Dockerfile new file mode 100644 index 00000000..b3908371 --- /dev/null +++ b/.github/containers/bionic/Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:bionic + +ARG DEBIAN_FRONTEND=noninteractive + +RUN apt-get update +RUN apt-get -y install packaging-dev equivs + +RUN useradd -s /bin/bash -m deb +RUN echo >> /etc/sudoers +RUN echo "deb ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +USER deb +WORKDIR /home/deb diff --git a/.github/containers/bionic/build.sh b/.github/containers/bionic/build.sh new file mode 100755 index 00000000..82cf2d9c --- /dev/null +++ b/.github/containers/bionic/build.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +set -e +set -x + +## Basic variables + +CURDIR=$(dirname $(readlink -f $0)) +TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null) + +DEBDIR=${TOPDIR}/contrib/packages/deb/ubuntu-bionic + +VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@') + +## Prepare the build directory + +rm -rf ${CURDIR}/build +mkdir -p ${CURDIR}/build +chmod a+w ${CURDIR}/build +[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/build + +## Copy over the source code + +(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | xz > ${CURDIR}/build/tigervnc_${VERSION}.orig.tar.xz + +## Copy over the packaging files + +cp -r ${DEBDIR}/debian ${CURDIR}/build/debian + +chmod a+x ${CURDIR}/build/debian/rules + +# Assemble a fake changelog entry to get the correct version + +cat - > ${CURDIR}/build/debian/changelog << EOT +tigervnc (${VERSION}-1ubuntu1) UNRELEASED; urgency=low + + * Automated build for TigerVNC + + -- Build bot $(date -R) + +EOT +cat ${DEBDIR}/debian/changelog >> ${CURDIR}/build/debian/changelog + +## Start the build + +docker run --volume ${CURDIR}/build:/home/deb/build --interactive --rm tigervnc/${DOCKER} \ + bash -c " + tar -C ~/build -axf ~/build/tigervnc_${VERSION}.orig.tar.xz && + cp -a ~/build/debian ~/build/tigervnc-${VERSION}/debian && + mk-build-deps ~/build/tigervnc-${VERSION}/debian/control && + sudo dpkg --unpack ~/tigervnc-build-deps_*.deb && + sudo apt-get update && + sudo apt-get -f install -y && + cd ~/build/tigervnc-${VERSION} && dpkg-buildpackage + " diff --git a/.github/containers/centos7/Dockerfile b/.github/containers/centos7/Dockerfile new file mode 100644 index 00000000..36e86fbd --- /dev/null +++ b/.github/containers/centos7/Dockerfile @@ -0,0 +1,13 @@ +FROM centos:7 + +RUN yum -y groupinstall 'Development Tools' +RUN yum -y install centos-packager + +RUN yum -y install sudo + +RUN useradd -s /bin/bash -m rpm +RUN echo >> /etc/sudoers +RUN echo "rpm ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +USER rpm +WORKDIR /home/rpm diff --git a/.github/containers/centos7/build.sh b/.github/containers/centos7/build.sh new file mode 100755 index 00000000..55ad8107 --- /dev/null +++ b/.github/containers/centos7/build.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +set -e +set -x + +## Basic variables + +CURDIR=$(dirname $(readlink -f $0)) +TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null) + +RPMDIR=${TOPDIR}/contrib/packages/rpm/el7 + +VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@') + +## Prepare the build directory + +rm -rf ${CURDIR}/rpmbuild +mkdir -p ${CURDIR}/rpmbuild/{BUILD,BUILDROOT,SRPMS,SOURCES,SPECS,RPMS} +chmod a+w ${CURDIR}/rpmbuild/{BUILD,BUILDROOT,SRPMS,RPMS} +[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/rpmbuild + +## Copy over the packaging files + +cp ${RPMDIR}/SOURCES/* ${CURDIR}/rpmbuild/SOURCES +cp ${RPMDIR}/SPECS/tigervnc.spec ${CURDIR}/rpmbuild/SPECS +sed -i "s/@VERSION@/${VERSION}/" ${CURDIR}/rpmbuild/SPECS/tigervnc.spec + +## Copy over the source code + +(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | bzip2 > ${CURDIR}/rpmbuild/SOURCES/tigervnc-${VERSION}.tar.bz2 + +## Start the build + +docker run --volume ${CURDIR}/rpmbuild:/home/rpm/rpmbuild --interactive --rm tigervnc/${DOCKER} \ + bash -c " + sudo yum-builddep -y ~/rpmbuild/SPECS/tigervnc.spec && + sudo chown 0.0 ~/rpmbuild/SOURCES/* && + sudo chown 0.0 ~/rpmbuild/SPECS/* && + rpmbuild -ba ~/rpmbuild/SPECS/tigervnc.spec + " diff --git a/.github/containers/centos8/Dockerfile b/.github/containers/centos8/Dockerfile new file mode 100644 index 00000000..8beec7e2 --- /dev/null +++ b/.github/containers/centos8/Dockerfile @@ -0,0 +1,17 @@ +FROM centos:8 + +RUN dnf -y group install 'Development Tools' +RUN dnf -y install sudo +RUN dnf -y install dnf-plugins-core +RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +RUN dnf config-manager --set-enabled powertools +RUN dnf -y install xorg-x11-server-source +# Too old in image so breaks cmake +RUN dnf -y update libarchive + +RUN useradd -s /bin/bash -m rpm +RUN echo >> /etc/sudoers +RUN echo "rpm ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +USER rpm +WORKDIR /home/rpm diff --git a/.github/containers/centos8/build.sh b/.github/containers/centos8/build.sh new file mode 100755 index 00000000..91caffb5 --- /dev/null +++ b/.github/containers/centos8/build.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +set -e +set -x + +## Basic variables + +CURDIR=$(dirname $(readlink -f $0)) +TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null) + +RPMDIR=${TOPDIR}/contrib/packages/rpm/el8 + +VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@') + +## Prepare the build directory + +rm -rf ${CURDIR}/rpmbuild +mkdir -p ${CURDIR}/rpmbuild/{BUILD,BUILDROOT,SRPMS,SOURCES,SPECS,RPMS} +chmod a+w ${CURDIR}/rpmbuild/{BUILD,BUILDROOT,SRPMS,RPMS} +[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/rpmbuild + +## Copy over the packaging files + +cp ${RPMDIR}/SOURCES/* ${CURDIR}/rpmbuild/SOURCES +cp ${RPMDIR}/SPECS/tigervnc.spec ${CURDIR}/rpmbuild/SPECS +sed -i "s/@VERSION@/${VERSION}/" ${CURDIR}/rpmbuild/SPECS/tigervnc.spec + +## Copy over the source code + +(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | bzip2 > ${CURDIR}/rpmbuild/SOURCES/tigervnc-${VERSION}.tar.bz2 + +## Start the build + +docker run --volume ${CURDIR}/rpmbuild:/home/rpm/rpmbuild --interactive --rm tigervnc/${DOCKER} \ + bash -c " + sudo dnf builddep -y ~/rpmbuild/SPECS/tigervnc.spec && + sudo chown 0.0 ~/rpmbuild/SOURCES/* && + sudo chown 0.0 ~/rpmbuild/SPECS/* && + rpmbuild -ba ~/rpmbuild/SPECS/tigervnc.spec + " diff --git a/.github/containers/focal/Dockerfile b/.github/containers/focal/Dockerfile new file mode 100644 index 00000000..7fea0d10 --- /dev/null +++ b/.github/containers/focal/Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:focal + +ARG DEBIAN_FRONTEND=noninteractive + +RUN apt-get update +RUN apt-get -y install packaging-dev equivs + +RUN useradd -s /bin/bash -m deb +RUN echo >> /etc/sudoers +RUN echo "deb ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +USER deb +WORKDIR /home/deb diff --git a/.github/containers/focal/build.sh b/.github/containers/focal/build.sh new file mode 100755 index 00000000..3b68e70f --- /dev/null +++ b/.github/containers/focal/build.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +set -e +set -x + +## Basic variables + +CURDIR=$(dirname $(readlink -f $0)) +TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null) + +DEBDIR=${TOPDIR}/contrib/packages/deb/ubuntu-focal + +VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@') + +## Prepare the build directory + +rm -rf ${CURDIR}/build +mkdir -p ${CURDIR}/build +chmod a+w ${CURDIR}/build +[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/build + +## Copy over the source code + +(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | xz > ${CURDIR}/build/tigervnc_${VERSION}.orig.tar.xz + +## Copy over the packaging files + +cp -r ${DEBDIR}/debian ${CURDIR}/build/debian + +chmod a+x ${CURDIR}/build/debian/rules + +# Assemble a fake changelog entry to get the correct version + +cat - > ${CURDIR}/build/debian/changelog << EOT +tigervnc (${VERSION}-1ubuntu1) UNRELEASED; urgency=low + + * Automated build for TigerVNC + + -- Build bot $(date -R) + +EOT +cat ${DEBDIR}/debian/changelog >> ${CURDIR}/build/debian/changelog + +## Start the build + +docker run --volume ${CURDIR}/build:/home/deb/build --interactive --rm tigervnc/${DOCKER} \ + bash -c " + tar -C ~/build -axf ~/build/tigervnc_${VERSION}.orig.tar.xz && + cp -a ~/build/debian ~/build/tigervnc-${VERSION}/debian && + mk-build-deps ~/build/tigervnc-${VERSION}/debian/control && + sudo dpkg --unpack ~/tigervnc-build-deps_*.deb && + sudo apt-get update && + sudo apt-get -f install -y && + cd ~/build/tigervnc-${VERSION} && dpkg-buildpackage + " diff --git a/.github/containers/xenial/Dockerfile b/.github/containers/xenial/Dockerfile new file mode 100644 index 00000000..ad5414fd --- /dev/null +++ b/.github/containers/xenial/Dockerfile @@ -0,0 +1,11 @@ +FROM ubuntu:xenial + +RUN apt-get update +RUN apt-get -y install packaging-dev equivs + +RUN useradd -s /bin/bash -m deb +RUN echo >> /etc/sudoers +RUN echo "deb ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +USER deb +WORKDIR /home/deb diff --git a/.github/containers/xenial/build.sh b/.github/containers/xenial/build.sh new file mode 100755 index 00000000..60949eee --- /dev/null +++ b/.github/containers/xenial/build.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +set -e +set -x + +## Basic variables + +CURDIR=$(dirname $(readlink -f $0)) +TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null) + +DEBDIR=${TOPDIR}/contrib/packages/deb/ubuntu-xenial + +VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@') + +## Prepare the build directory + +rm -rf ${CURDIR}/build +mkdir -p ${CURDIR}/build +chmod a+w ${CURDIR}/build +[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/build + +## Copy over the source code + +(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | xz > ${CURDIR}/build/tigervnc_${VERSION}.orig.tar.xz + +## Copy over the packaging files + +cp -r ${DEBDIR}/debian ${CURDIR}/build/debian + +chmod a+x ${CURDIR}/build/debian/rules + +# Assemble a fake changelog entry to get the correct version + +cat - > ${CURDIR}/build/debian/changelog << EOT +tigervnc (${VERSION}-1ubuntu1) UNRELEASED; urgency=low + + * Automated build for TigerVNC + + -- Build bot $(date -R) + +EOT +cat ${DEBDIR}/debian/changelog >> ${CURDIR}/build/debian/changelog + +## Start the build + +docker run --volume ${CURDIR}/build:/home/deb/build --interactive --rm tigervnc/${DOCKER} \ + bash -c " + tar -C ~/build -axf ~/build/tigervnc_${VERSION}.orig.tar.xz && + cp -a ~/build/debian ~/build/tigervnc-${VERSION}/debian && + mk-build-deps ~/build/tigervnc-${VERSION}/debian/control && + sudo dpkg --unpack ~/tigervnc-build-deps_*.deb && + sudo apt-get update && + sudo apt-get -f install -y && + cd ~/build/tigervnc-${VERSION} && dpkg-buildpackage + " diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7979e529..98a71d1b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,79 @@ name: Build on: [push, pull_request] jobs: - build: + build-linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y libgnutls28-dev libfltk1.3-dev fluid gettext + sudo apt-get install -y libxtst-dev libxdamage-dev libxfixes-dev libxrandr-dev libpam-dev + - name: Configure + run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build + - name: Build + working-directory: build + run: make + - name: Install + working-directory: build + run: make tarball + + build-windows: + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + steps: + - uses: actions/checkout@v2 + - uses: msys2/setup-msys2@v2 + - name: Install dependencies + run: | + pacman --sync --noconfirm --needed make mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake + pacman --sync --noconfirm --needed mingw-w64-x86_64-fltk mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-gnutls mingw-w64-x86_64-pixman + - name: Configure + run: cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -S . -B build + - name: Build + working-directory: build + run: make + - name: Install + working-directory: build + env: + MSYS2_PATH_TYPE: inherit + run: make installer winvnc_installer + + build-macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: | + brew install fltk pixman + - name: Configure + run: cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build + - name: Build + working-directory: build + run: make + - name: Install + working-directory: build + run: make dmg + + build-packages: + strategy: + matrix: + target: + - centos8 + - centos7 + - xenial + - bionic + - focal + fail-fast: false + runs-on: ubuntu-latest + env: + DOCKER: ${{ matrix.target }} + steps: + - uses: actions/checkout@v2 + - name: Build image + run: docker build -t tigervnc/$DOCKER .github/containers/$DOCKER + - name: Build packages + run: .github/containers/$DOCKER/build.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index fcf79c52..00000000 --- a/.travis.yml +++ /dev/null @@ -1,82 +0,0 @@ -dist: xenial -language: minimal - -env: - - DOCKER=centos8 - - DOCKER=centos7 - - DOCKER=xenial - - DOCKER=bionic - - DOCKER=focal - -matrix: - include: - - language: cpp - env: - before_install: - - sudo apt-get install -y libgnutls-dev libfltk1.3-dev fluid - - sudo apt-get install -y libxtst-dev libxdamage-dev libxfixes-dev libxrandr-dev - script: - - cmake -DCMAKE_BUILD_TYPE=Debug . && make && make tarball - - - language: cpp - os: windows - env: - # From https://docs.travis-ci.com/user/reference/windows/ - before_install: - - |- - choco install --no-progress -y innosetup - [[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64 - choco uninstall -y mingw - choco upgrade --no-progress -y msys2 - export msys2='cmd //C RefreshEnv.cmd ' - export msys2+='& set MSYS=winsymlinks:nativestrict ' - export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start' - export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --" - export msys2+=" -msys2 -c "\"\$@"\" --" - $msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain - $msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-fltk mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-gnutls mingw-w64-x86_64-pixman - taskkill //IM gpg-agent.exe //F # https://travis-ci.community/t/4967 - export PATH=/C/tools/msys64/mingw64/bin:$PATH - export MAKE=mingw32-make # so that Autotools can find it - script: - - cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=mingw32-make -DCMAKE_C_COMPILER=gcc -DCMAKE=CXX_COMPILER=g++ . && mingw32-make && mingw32-make installer winvnc_installer - before_cache: - - |- - # https://unix.stackexchange.com/a/137322/107554 - $msys2 pacman --sync --clean --noconfirm - cache: - directories: - - $HOME/AppData/Local/Temp/chocolatey - - /C/tools/msys64 - - - language: cpp - os: osx - # The default image is buggy ATM, use the latest - osx_image: xcode11.5 - env: - addons: - homebrew: - packages: - - gettext - - fltk - before_install: - script: - - cmake -DCMAKE_BUILD_TYPE=Debug . && make && make dmg - - - language: java - # compile with java 8 for backwards compatibility - dist: xenial - env: - jdk: openjdk8 - before_install: - - sudo apt-get -y install openjdk-8-jdk - addons: - apt: - update: true - script: - - cd java && cmake . && make - -before_install: - - docker build -t tigervnc/$DOCKER .travis/$DOCKER -script: - - .travis/$DOCKER/build.sh diff --git a/.travis/bionic/Dockerfile b/.travis/bionic/Dockerfile deleted file mode 100644 index b3908371..00000000 --- a/.travis/bionic/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM ubuntu:bionic - -ARG DEBIAN_FRONTEND=noninteractive - -RUN apt-get update -RUN apt-get -y install packaging-dev equivs - -RUN useradd -s /bin/bash -m deb -RUN echo >> /etc/sudoers -RUN echo "deb ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers - -USER deb -WORKDIR /home/deb diff --git a/.travis/bionic/build.sh b/.travis/bionic/build.sh deleted file mode 100755 index 82cf2d9c..00000000 --- a/.travis/bionic/build.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -set -e -set -x - -## Basic variables - -CURDIR=$(dirname $(readlink -f $0)) -TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null) - -DEBDIR=${TOPDIR}/contrib/packages/deb/ubuntu-bionic - -VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@') - -## Prepare the build directory - -rm -rf ${CURDIR}/build -mkdir -p ${CURDIR}/build -chmod a+w ${CURDIR}/build -[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/build - -## Copy over the source code - -(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | xz > ${CURDIR}/build/tigervnc_${VERSION}.orig.tar.xz - -## Copy over the packaging files - -cp -r ${DEBDIR}/debian ${CURDIR}/build/debian - -chmod a+x ${CURDIR}/build/debian/rules - -# Assemble a fake changelog entry to get the correct version - -cat - > ${CURDIR}/build/debian/changelog << EOT -tigervnc (${VERSION}-1ubuntu1) UNRELEASED; urgency=low - - * Automated build for TigerVNC - - -- Build bot $(date -R) - -EOT -cat ${DEBDIR}/debian/changelog >> ${CURDIR}/build/debian/changelog - -## Start the build - -docker run --volume ${CURDIR}/build:/home/deb/build --interactive --rm tigervnc/${DOCKER} \ - bash -c " - tar -C ~/build -axf ~/build/tigervnc_${VERSION}.orig.tar.xz && - cp -a ~/build/debian ~/build/tigervnc-${VERSION}/debian && - mk-build-deps ~/build/tigervnc-${VERSION}/debian/control && - sudo dpkg --unpack ~/tigervnc-build-deps_*.deb && - sudo apt-get update && - sudo apt-get -f install -y && - cd ~/build/tigervnc-${VERSION} && dpkg-buildpackage - " diff --git a/.travis/centos7/Dockerfile b/.travis/centos7/Dockerfile deleted file mode 100644 index 36e86fbd..00000000 --- a/.travis/centos7/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM centos:7 - -RUN yum -y groupinstall 'Development Tools' -RUN yum -y install centos-packager - -RUN yum -y install sudo - -RUN useradd -s /bin/bash -m rpm -RUN echo >> /etc/sudoers -RUN echo "rpm ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers - -USER rpm -WORKDIR /home/rpm diff --git a/.travis/centos7/build.sh b/.travis/centos7/build.sh deleted file mode 100755 index 55ad8107..00000000 --- a/.travis/centos7/build.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -set -e -set -x - -## Basic variables - -CURDIR=$(dirname $(readlink -f $0)) -TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null) - -RPMDIR=${TOPDIR}/contrib/packages/rpm/el7 - -VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@') - -## Prepare the build directory - -rm -rf ${CURDIR}/rpmbuild -mkdir -p ${CURDIR}/rpmbuild/{BUILD,BUILDROOT,SRPMS,SOURCES,SPECS,RPMS} -chmod a+w ${CURDIR}/rpmbuild/{BUILD,BUILDROOT,SRPMS,RPMS} -[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/rpmbuild - -## Copy over the packaging files - -cp ${RPMDIR}/SOURCES/* ${CURDIR}/rpmbuild/SOURCES -cp ${RPMDIR}/SPECS/tigervnc.spec ${CURDIR}/rpmbuild/SPECS -sed -i "s/@VERSION@/${VERSION}/" ${CURDIR}/rpmbuild/SPECS/tigervnc.spec - -## Copy over the source code - -(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | bzip2 > ${CURDIR}/rpmbuild/SOURCES/tigervnc-${VERSION}.tar.bz2 - -## Start the build - -docker run --volume ${CURDIR}/rpmbuild:/home/rpm/rpmbuild --interactive --rm tigervnc/${DOCKER} \ - bash -c " - sudo yum-builddep -y ~/rpmbuild/SPECS/tigervnc.spec && - sudo chown 0.0 ~/rpmbuild/SOURCES/* && - sudo chown 0.0 ~/rpmbuild/SPECS/* && - rpmbuild -ba ~/rpmbuild/SPECS/tigervnc.spec - " diff --git a/.travis/centos8/Dockerfile b/.travis/centos8/Dockerfile deleted file mode 100644 index 8beec7e2..00000000 --- a/.travis/centos8/Dockerfile +++ /dev/null @@ -1,17 +0,0 @@ -FROM centos:8 - -RUN dnf -y group install 'Development Tools' -RUN dnf -y install sudo -RUN dnf -y install dnf-plugins-core -RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -RUN dnf config-manager --set-enabled powertools -RUN dnf -y install xorg-x11-server-source -# Too old in image so breaks cmake -RUN dnf -y update libarchive - -RUN useradd -s /bin/bash -m rpm -RUN echo >> /etc/sudoers -RUN echo "rpm ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers - -USER rpm -WORKDIR /home/rpm diff --git a/.travis/centos8/build.sh b/.travis/centos8/build.sh deleted file mode 100755 index 91caffb5..00000000 --- a/.travis/centos8/build.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -set -e -set -x - -## Basic variables - -CURDIR=$(dirname $(readlink -f $0)) -TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null) - -RPMDIR=${TOPDIR}/contrib/packages/rpm/el8 - -VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@') - -## Prepare the build directory - -rm -rf ${CURDIR}/rpmbuild -mkdir -p ${CURDIR}/rpmbuild/{BUILD,BUILDROOT,SRPMS,SOURCES,SPECS,RPMS} -chmod a+w ${CURDIR}/rpmbuild/{BUILD,BUILDROOT,SRPMS,RPMS} -[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/rpmbuild - -## Copy over the packaging files - -cp ${RPMDIR}/SOURCES/* ${CURDIR}/rpmbuild/SOURCES -cp ${RPMDIR}/SPECS/tigervnc.spec ${CURDIR}/rpmbuild/SPECS -sed -i "s/@VERSION@/${VERSION}/" ${CURDIR}/rpmbuild/SPECS/tigervnc.spec - -## Copy over the source code - -(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | bzip2 > ${CURDIR}/rpmbuild/SOURCES/tigervnc-${VERSION}.tar.bz2 - -## Start the build - -docker run --volume ${CURDIR}/rpmbuild:/home/rpm/rpmbuild --interactive --rm tigervnc/${DOCKER} \ - bash -c " - sudo dnf builddep -y ~/rpmbuild/SPECS/tigervnc.spec && - sudo chown 0.0 ~/rpmbuild/SOURCES/* && - sudo chown 0.0 ~/rpmbuild/SPECS/* && - rpmbuild -ba ~/rpmbuild/SPECS/tigervnc.spec - " diff --git a/.travis/focal/Dockerfile b/.travis/focal/Dockerfile deleted file mode 100644 index 7fea0d10..00000000 --- a/.travis/focal/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM ubuntu:focal - -ARG DEBIAN_FRONTEND=noninteractive - -RUN apt-get update -RUN apt-get -y install packaging-dev equivs - -RUN useradd -s /bin/bash -m deb -RUN echo >> /etc/sudoers -RUN echo "deb ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers - -USER deb -WORKDIR /home/deb diff --git a/.travis/focal/build.sh b/.travis/focal/build.sh deleted file mode 100755 index 3b68e70f..00000000 --- a/.travis/focal/build.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -set -e -set -x - -## Basic variables - -CURDIR=$(dirname $(readlink -f $0)) -TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null) - -DEBDIR=${TOPDIR}/contrib/packages/deb/ubuntu-focal - -VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@') - -## Prepare the build directory - -rm -rf ${CURDIR}/build -mkdir -p ${CURDIR}/build -chmod a+w ${CURDIR}/build -[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/build - -## Copy over the source code - -(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | xz > ${CURDIR}/build/tigervnc_${VERSION}.orig.tar.xz - -## Copy over the packaging files - -cp -r ${DEBDIR}/debian ${CURDIR}/build/debian - -chmod a+x ${CURDIR}/build/debian/rules - -# Assemble a fake changelog entry to get the correct version - -cat - > ${CURDIR}/build/debian/changelog << EOT -tigervnc (${VERSION}-1ubuntu1) UNRELEASED; urgency=low - - * Automated build for TigerVNC - - -- Build bot $(date -R) - -EOT -cat ${DEBDIR}/debian/changelog >> ${CURDIR}/build/debian/changelog - -## Start the build - -docker run --volume ${CURDIR}/build:/home/deb/build --interactive --rm tigervnc/${DOCKER} \ - bash -c " - tar -C ~/build -axf ~/build/tigervnc_${VERSION}.orig.tar.xz && - cp -a ~/build/debian ~/build/tigervnc-${VERSION}/debian && - mk-build-deps ~/build/tigervnc-${VERSION}/debian/control && - sudo dpkg --unpack ~/tigervnc-build-deps_*.deb && - sudo apt-get update && - sudo apt-get -f install -y && - cd ~/build/tigervnc-${VERSION} && dpkg-buildpackage - " diff --git a/.travis/xenial/Dockerfile b/.travis/xenial/Dockerfile deleted file mode 100644 index ad5414fd..00000000 --- a/.travis/xenial/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM ubuntu:xenial - -RUN apt-get update -RUN apt-get -y install packaging-dev equivs - -RUN useradd -s /bin/bash -m deb -RUN echo >> /etc/sudoers -RUN echo "deb ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers - -USER deb -WORKDIR /home/deb diff --git a/.travis/xenial/build.sh b/.travis/xenial/build.sh deleted file mode 100755 index 60949eee..00000000 --- a/.travis/xenial/build.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -set -e -set -x - -## Basic variables - -CURDIR=$(dirname $(readlink -f $0)) -TOPDIR=$(git rev-parse --show-toplevel 2>/dev/null) - -DEBDIR=${TOPDIR}/contrib/packages/deb/ubuntu-xenial - -VERSION=$(grep '^set(VERSION ' ${TOPDIR}/CMakeLists.txt | sed 's@^set(VERSION \(.*\))@\1@') - -## Prepare the build directory - -rm -rf ${CURDIR}/build -mkdir -p ${CURDIR}/build -chmod a+w ${CURDIR}/build -[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && chcon -Rt container_file_t ${CURDIR}/build - -## Copy over the source code - -(cd ${TOPDIR} && git archive --prefix tigervnc-${VERSION}/ HEAD) | xz > ${CURDIR}/build/tigervnc_${VERSION}.orig.tar.xz - -## Copy over the packaging files - -cp -r ${DEBDIR}/debian ${CURDIR}/build/debian - -chmod a+x ${CURDIR}/build/debian/rules - -# Assemble a fake changelog entry to get the correct version - -cat - > ${CURDIR}/build/debian/changelog << EOT -tigervnc (${VERSION}-1ubuntu1) UNRELEASED; urgency=low - - * Automated build for TigerVNC - - -- Build bot $(date -R) - -EOT -cat ${DEBDIR}/debian/changelog >> ${CURDIR}/build/debian/changelog - -## Start the build - -docker run --volume ${CURDIR}/build:/home/deb/build --interactive --rm tigervnc/${DOCKER} \ - bash -c " - tar -C ~/build -axf ~/build/tigervnc_${VERSION}.orig.tar.xz && - cp -a ~/build/debian ~/build/tigervnc-${VERSION}/debian && - mk-build-deps ~/build/tigervnc-${VERSION}/debian/control && - sudo dpkg --unpack ~/tigervnc-build-deps_*.deb && - sudo apt-get update && - sudo apt-get -f install -y && - cd ~/build/tigervnc-${VERSION} && dpkg-buildpackage - "