New upstream version 3.5.99.27
This commit is contained in:
126
.github/workflows/linters.yml
vendored
Normal file
126
.github/workflows/linters.yml
vendored
Normal file
@@ -0,0 +1,126 @@
|
||||
name: linters
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ 3.6.x ]
|
||||
pull_request:
|
||||
branches: [ 3.6.x ]
|
||||
|
||||
jobs:
|
||||
# see https://github.com/koalaman/shellcheck
|
||||
shellcheck:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install linters on ubuntu
|
||||
run: |
|
||||
sudo apt-get update -q -y
|
||||
sudo apt-get install shellcheck
|
||||
|
||||
- name: run Shellcheck
|
||||
run: |
|
||||
shellcheck --version
|
||||
find . -name "*.sh" | xargs shellcheck -e SC1004,SC2010,SC2035,SC2086
|
||||
|
||||
# see https://pylint.org/
|
||||
pylint:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install linters on ubuntu
|
||||
run: |
|
||||
sudo apt-get update -q -y
|
||||
sudo apt-get install pylint
|
||||
# dependencies
|
||||
sudo apt-get install --reinstall python-gi
|
||||
sudo apt-get install python-dbus python-gobject
|
||||
|
||||
- name: run Pylint
|
||||
run: |
|
||||
pylint --version
|
||||
cd nxdialog/; find . -name "nxdialog" -type f | xargs pylint --exit-zero
|
||||
|
||||
# see https://github.com/danmar/cppcheck
|
||||
cppcheck:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install linters on ubuntu
|
||||
run: |
|
||||
sudo apt-get update -q -y
|
||||
sudo apt-get install cppcheck
|
||||
|
||||
- name: run cppcheck
|
||||
run: |
|
||||
# cppcheck
|
||||
if ! [ -x "$(command -v cppcheck)" ]; then
|
||||
echo 'Error: cppcheck is not installed.' >&2
|
||||
exit 1
|
||||
fi
|
||||
CPPCHECK_OPTS='--error-exitcode=0 --force --quiet --suppressions-list=./static-analysis-suppressions'
|
||||
# we exclude some external projects
|
||||
CPPCHECK_EXCLUDES='-i ./nx-X11/extras/ -i nx-X11/programs/Xserver/GL/mesa* -i ./.pc -i ./nx-X11/.build-exports -i ./nx-X11/exports -i ./doc'
|
||||
echo "$(cppcheck --version):";
|
||||
cppcheck $CPPCHECK_OPTS $CPPCHECK_EXCLUDES .;
|
||||
|
||||
# see https://www.viva64.com/en/pvs-studio/
|
||||
pvs:
|
||||
environment: pvs
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install linters on ubuntu
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
sudo apt-get update -qq -y
|
||||
# compiler
|
||||
sudo apt-get install -qq -y gcc g++
|
||||
# basic packages
|
||||
sudo apt-get install -qq -y \
|
||||
autoconf libtool make pkg-config
|
||||
# imake deps
|
||||
sudo apt-get install -qq -y \
|
||||
libxkbfile-dev xfonts-utils xutils-dev
|
||||
# X11 libraries deps
|
||||
sudo apt-get install -qq -y \
|
||||
libpixman-1-dev libjpeg-dev libxcomposite-dev libxdamage-dev \
|
||||
libxml2-dev libxfont-dev libxinerama-dev libxpm-dev libxrandr-dev \
|
||||
libxtst-dev x11proto-fonts-dev
|
||||
# soft requirements
|
||||
sudo apt-get install -qq -y \
|
||||
quilt x11-xkb-utils
|
||||
# PVS
|
||||
sudo wget -q -O - https://files.viva64.com/etc/pubkey.txt | sudo apt-key add -
|
||||
sudo wget -O /etc/apt/sources.list.d/viva64.list https://files.viva64.com/etc/viva64.list
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -qq pvs-studio
|
||||
|
||||
- name: Run PVS-Studio Analyzer
|
||||
shell: bash
|
||||
env:
|
||||
PVS_USERNAME: ${{ secrets.PVS_USERNAME }}
|
||||
PVS_KEY: ${{ secrets.PVS_KEY }}
|
||||
run: |
|
||||
# check environment variables
|
||||
if [[ -z "${PVS_USERNAME}" ]]; then
|
||||
echo '"PVS_USERNAME" environment variable not set'
|
||||
exit 0
|
||||
elif [[ -z "${PVS_KEY}" ]]; then
|
||||
echo '"PVS_KEY" environment variable not set'
|
||||
exit 0
|
||||
else
|
||||
pvs-studio-analyzer credentials -o "PVS-Studio.lic" "${PVS_USERNAME}" "${PVS_KEY}"
|
||||
pvs-studio-analyzer trace -- make
|
||||
pvs-studio-analyzer analyze --quiet --lic-file "PVS-Studio.lic" --output-file "PVS-Studio-${CC}.log"
|
||||
plog-converter -a "GA:1,2" -t tasklist -o "PVS-Studio-${CC}.tasks" "PVS-Studio-${CC}.log"
|
||||
cat "PVS-Studio-${CC}.tasks"
|
||||
fi
|
||||
81
.github/workflows/nx-libs-archs.yml
vendored
Normal file
81
.github/workflows/nx-libs-archs.yml
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
name: nx-libs CI diff archs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ 3.6.x ]
|
||||
pull_request:
|
||||
branches: [ 3.6.x ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-20.04
|
||||
name: Build on ${{ matrix.distro }} ${{ matrix.arch }} with gcc
|
||||
|
||||
# Run steps on a matrix of 4 arch/distro combinations
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- arch: aarch64
|
||||
distro: ubuntu20.04
|
||||
- arch: ppc64le
|
||||
distro: ubuntu20.04
|
||||
- arch: s390x
|
||||
distro: ubuntu20.04
|
||||
- arch: armv7
|
||||
distro: ubuntu20.04
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
- uses: uraimo/run-on-arch-action@v2.0.8
|
||||
name: Build artifact
|
||||
id: build
|
||||
with:
|
||||
arch: ${{ matrix.arch }}
|
||||
distro: ${{ matrix.distro }}
|
||||
|
||||
# Not required, but speeds up builds
|
||||
githubToken: ${{ github.token }}
|
||||
|
||||
# Pass some environment variables to the container
|
||||
env: |
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
|
||||
# The shell to run commands with in the container
|
||||
shell: /bin/sh
|
||||
|
||||
# Install some dependencies in the container. This speeds up builds if
|
||||
# you are also using githubToken. Any dependencies installed here will
|
||||
# be part of the container image that gets cached, so subsequent
|
||||
# builds don't have to re-install them. The image layer is cached
|
||||
# publicly in your project's package repository, so it is vital that
|
||||
# no secrets are present in the container state or logs.
|
||||
install: |
|
||||
case "${{ matrix.distro }}" in
|
||||
ubuntu*)
|
||||
cat /etc/debian_version
|
||||
apt-get update -q -y
|
||||
apt-get install -q -y gcc g++
|
||||
gcc --version
|
||||
# basic packages
|
||||
apt-get install -q -y \
|
||||
autoconf libtool make pkg-config
|
||||
# imake deps
|
||||
apt-get install -q -y \
|
||||
libxkbfile-dev xfonts-utils xutils-dev
|
||||
# X11 libraries deps
|
||||
apt-get install -q -y \
|
||||
libpixman-1-dev libjpeg-dev libxcomposite-dev libxdamage-dev \
|
||||
libxml2-dev libxfont-dev libxinerama-dev libxpm-dev libxrandr-dev \
|
||||
libxtst-dev x11proto-fonts-dev
|
||||
# soft requirements
|
||||
apt-get install -q -y \
|
||||
quilt x11-xkb-utils
|
||||
;;
|
||||
esac
|
||||
|
||||
run: |
|
||||
make
|
||||
216
.github/workflows/nx-libs.yml
vendored
Normal file
216
.github/workflows/nx-libs.yml
vendored
Normal file
@@ -0,0 +1,216 @@
|
||||
name: nx-libs CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ 3.6.x ]
|
||||
pull_request:
|
||||
branches: [ 3.6.x ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build on ${{ matrix.cfg.container }} - ${{ matrix.cfg.cc-version }}
|
||||
runs-on: ubuntu-20.04
|
||||
container: ${{ matrix.cfg.container }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
cfg:
|
||||
- { container: 'ubuntu:16.04', cc-version: gcc }
|
||||
- { container: 'ubuntu:16.04', cc-version: clang }
|
||||
- { container: 'ubuntu:20.04', cc-version: gcc }
|
||||
- { container: 'ubuntu:20.04', cc-version: clang }
|
||||
- { container: 'ubuntu:22.04', cc-version: gcc }
|
||||
- { container: 'ubuntu:22.04', cc-version: clang }
|
||||
- { container: 'debian:stable', cc-version: gcc }
|
||||
- { container: 'debian:stable', cc-version: clang }
|
||||
- { container: 'debian:sid', cc-version: gcc }
|
||||
- { container: 'debian:sid', cc-version: clang }
|
||||
- { container: 'quay.io/centos/centos:7', cc-version: gcc }
|
||||
- { container: 'quay.io/centos/centos:7', cc-version: clang }
|
||||
- { container: 'quay.io/centos/centos:stream8', cc-version: gcc }
|
||||
- { container: 'quay.io/centos/centos:stream8', cc-version: clang }
|
||||
- { container: 'quay.io/centos/centos:stream9', cc-version: gcc }
|
||||
- { container: 'quay.io/centos/centos:stream9', cc-version: clang }
|
||||
- { container: 'fedora:latest', cc-version: gcc }
|
||||
- { container: 'fedora:latest', cc-version: clang }
|
||||
|
||||
steps:
|
||||
- name: Install compiler ${{ matrix.cfg.cc-version }}
|
||||
shell: sh
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
case "${{ matrix.cfg.container }}" in
|
||||
ubuntu*|debian*)
|
||||
cat /etc/debian_version
|
||||
apt-get update -q -y
|
||||
apt-get install -q -y ${{ matrix.cfg.cc-version }}
|
||||
${{ matrix.cfg.cc-version }} --version
|
||||
case "${{ matrix.cfg.cc-version }}" in
|
||||
gcc)
|
||||
apt-get install -q -y g++
|
||||
;;
|
||||
clang)
|
||||
apt-get install -q -y build-essential
|
||||
esac
|
||||
;;
|
||||
fedora*)
|
||||
cat /etc/fedora-release
|
||||
dnf -y update
|
||||
dnf -y install ${{ matrix.cfg.cc-version }}
|
||||
${{ matrix.cfg.cc-version }} --version
|
||||
;;
|
||||
*/centos:7)
|
||||
cat /etc/centos-release
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
||||
yum -y update
|
||||
yum -y install ${{ matrix.cfg.cc-version }}
|
||||
${{ matrix.cfg.cc-version }} --version
|
||||
;;
|
||||
*/centos:stream8)
|
||||
cat /etc/centos-release
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||||
dnf -y update --nobest --allowerasing
|
||||
dnf -y install ${{ matrix.cfg.cc-version }}
|
||||
${{ matrix.cfg.cc-version }} --version
|
||||
;;
|
||||
*/centos:stream9)
|
||||
cat /etc/centos-release
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
|
||||
dnf -y update
|
||||
dnf -y install ${{ matrix.cfg.cc-version }}
|
||||
${{ matrix.cfg.cc-version }} --version
|
||||
;;
|
||||
esac
|
||||
|
||||
- name: Install nx-libs dependencies ${{ matrix.cfg.cc-version }}
|
||||
shell: sh
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
case "${{ matrix.cfg.container }}" in
|
||||
ubuntu*|debian*)
|
||||
# basic packages
|
||||
apt-get install -q -y \
|
||||
autoconf libtool make pkg-config
|
||||
# imake deps
|
||||
apt-get install -q -y \
|
||||
libxkbfile-dev xfonts-utils xutils-dev
|
||||
# X11 libraries deps
|
||||
apt-get install -q -y \
|
||||
libpixman-1-dev libjpeg-dev libxcomposite-dev libxdamage-dev \
|
||||
libxml2-dev libxfont-dev libxinerama-dev libxpm-dev libxrandr-dev \
|
||||
libxtst-dev x11proto-fonts-dev
|
||||
# soft requirements
|
||||
apt-get install -q -y \
|
||||
quilt x11-xkb-utils
|
||||
;;
|
||||
fedora*)
|
||||
# basic packages
|
||||
dnf -y install \
|
||||
autoconf automake gcc-c++ libtool make imake pkgconfig which
|
||||
# imake deps
|
||||
dnf -y install \
|
||||
xorg-x11-proto-devel zlib-devel
|
||||
# X11 libraries deps
|
||||
dnf -y install \
|
||||
libjpeg-devel expat-devel libpng-devel libxml2-devel pixman-devel \
|
||||
libX11-devel libXext-devel libXpm-devel libXfont2-devel \
|
||||
libXdmcp-devel libXdamage-devel libXcomposite-devel \
|
||||
libXrandr-devel libXfixes-devel libXtst-devel libXinerama-devel \
|
||||
xorg-x11-font-utils libtirpc-devel xkeyboard-config
|
||||
# soft requirements
|
||||
dnf -y install \
|
||||
quilt xkbcomp-devel
|
||||
;;
|
||||
*/centos:7)
|
||||
# enable epel repository for quilt
|
||||
yum -y install epel-release
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
|
||||
# basic packages
|
||||
yum -y install \
|
||||
autoconf automake gcc-c++ libtool make imake pkgconfig which
|
||||
# imake deps
|
||||
yum -y install \
|
||||
xorg-x11-proto-devel zlib-devel
|
||||
# X11 libraries deps
|
||||
yum -y install \
|
||||
libjpeg-devel expat-devel libpng-devel libxml2-devel pixman-devel \
|
||||
libX11-devel libXext-devel libXpm-devel libXfont-devel \
|
||||
libXdmcp-devel libXdamage-devel libXcomposite-devel \
|
||||
libXrandr-devel libXfixes-devel libXtst-devel libXinerama-devel \
|
||||
xorg-x11-font-utils libtirpc-devel xkeyboard-config
|
||||
# soft requirements
|
||||
yum -y --enablerepo=epel install \
|
||||
quilt xorg-x11-xkb-utils-devel
|
||||
;;
|
||||
*/centos:stream8)
|
||||
# Enable powertools repository for imake
|
||||
dnf -y install dnf-plugins-core epel-release
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
|
||||
dnf config-manager --set-enabled powertools
|
||||
# basic packages
|
||||
dnf -y install \
|
||||
autoconf automake gcc-c++ libtool make imake pkgconfig which
|
||||
# imake deps
|
||||
dnf -y install \
|
||||
xorg-x11-proto-devel zlib-devel
|
||||
# X11 libraries deps
|
||||
dnf -y install \
|
||||
libjpeg-devel expat-devel libpng-devel libxml2-devel pixman-devel \
|
||||
libX11-devel libXext-devel libXpm-devel libXfont2-devel \
|
||||
libXdmcp-devel libXdamage-devel libXcomposite-devel \
|
||||
libXrandr-devel libXfixes-devel libXtst-devel libXinerama-devel \
|
||||
xorg-x11-font-utils libtirpc-devel xkeyboard-config
|
||||
# soft requirements
|
||||
dnf --enablerepo="epel" -y install \
|
||||
quilt xorg-x11-xkb-utils-devel
|
||||
;;
|
||||
*/centos:stream9)
|
||||
dnf -y install dnf-plugins-core epel-release
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
|
||||
# CodeReady Linux Builder, replacement for PowerTools
|
||||
dnf config-manager --set-enabled crb
|
||||
# basic packages
|
||||
dnf -y install \
|
||||
autoconf automake gcc-c++ libtool make imake pkgconfig which
|
||||
# imake deps
|
||||
dnf -y install \
|
||||
xorg-x11-proto-devel zlib-devel
|
||||
# X11 libraries deps
|
||||
dnf -y install \
|
||||
libjpeg-devel expat-devel libpng-devel libxml2-devel pixman-devel \
|
||||
libX11-devel libXext-devel libXpm-devel libXfont2-devel \
|
||||
libXdmcp-devel libXdamage-devel libXcomposite-devel \
|
||||
libXrandr-devel libXfixes-devel libXtst-devel libXinerama-devel \
|
||||
libtirpc-devel mkfontscale xkeyboard-config
|
||||
# soft requirements
|
||||
dnf -y install \
|
||||
quilt setxkbmap xkbcomp
|
||||
;;
|
||||
esac
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Build nx-libs with ${{ matrix.cfg.cc-version }}
|
||||
shell: sh
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
case "${{ matrix.cfg.cc-version }}" in
|
||||
gcc)
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
;;
|
||||
clang)
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
;;
|
||||
esac
|
||||
case "${{ matrix.cfg.container }}" in
|
||||
fedora*|*/centos*|debian*|ubuntu*)
|
||||
export IMAKE_DEFINES="-DUseTIRPC=YES"
|
||||
make VERBOSE=1 IMAKE_DEFINES="${IMAKE_DEFINES}"
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user