Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates for package builds #1767

Merged
merged 2 commits into from
Jun 19, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/containers/noble/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM ubuntu:noble

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
59 changes: 59 additions & 0 deletions .github/containers/noble/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/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-noble

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 <[email protected]> $(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 -e -x -c "
tar -C ~/build -axf ~/build/tigervnc_${VERSION}.orig.tar.xz
cp -a ~/build/debian ~/build/tigervnc-${VERSION}/debian
sudo apt-get update
mk-build-deps ~/build/tigervnc-${VERSION}/debian/control
sudo DEBIAN_FRONTEND=noninteractive \
apt-get install -y ~/tigervnc-build-deps_*.deb
cd ~/build/tigervnc-${VERSION} && dpkg-buildpackage
"

mkdir -p ${CURDIR}/result
cp -av ${CURDIR}/build/*.deb ${CURDIR}/result
cp -av ${CURDIR}/build/*.ddeb ${CURDIR}/result
1 change: 1 addition & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ jobs:
- bionic
- focal
- jammy
- noble
fail-fast: false
runs-on: ubuntu-latest
env:
Expand Down
10 changes: 0 additions & 10 deletions contrib/packages/deb/ubuntu-bionic/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,21 @@ Maintainer: Brian P. Hinz <[email protected]>
Standards-Version: 3.8.4
Build-Depends:
# TigerVNC dependencies
debhelper (>= 9),
dh-autoreconf,
po-debconf,
dpkg-dev (>= 1.16.1),
appstream,
cmake,
pkg-config,
gettext,
libpixman-1-dev,
zlib1g-dev,
libjpeg-turbo8-dev,
libavcodec-dev,
libavutil-dev,
libswscale-dev,
libgnutls28-dev,
nettle-dev,
libgmp-dev,
libpam0g-dev,
libpng-dev,
libxext-dev,
libxi-dev,
libxtst-dev,
libxrandr-dev,
libxdamage-dev,
libxfixes-dev,
libfltk1.3-dev,
xorg-server-source,
xserver-xorg-dev,
Expand Down
2 changes: 1 addition & 1 deletion contrib/packages/deb/ubuntu-bionic/debian/copyright
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ TigerVNC is
Copyright (C) 2009-2011 D. R. Commander
Copyright (C) 2009-2011 Pierre Ossman for Cendio AB
Copyright (C) 2004, 2009-2011 Red Hat, Inc.
Copyright (C) 2009-2019 TigerVNC Team
Copyright (C) 2009-2024 TigerVNC Team
All Rights Reserved.

This software is distributed under the GNU General Public Licence as published
Expand Down
5 changes: 0 additions & 5 deletions contrib/packages/deb/ubuntu-focal/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ Build-Depends:
cmake,
pkg-config,
gettext,
libpixman-1-dev,
zlib1g-dev,
libjpeg-turbo8-dev,
libavcodec-dev,
Expand All @@ -24,9 +23,6 @@ Build-Depends:
libgmp-dev,
libpam0g-dev,
libpng-dev,
libxext-dev,
libxi-dev,
libxtst-dev,
libxrandr-dev,
libxdamage-dev,
libxfixes-dev,
Expand All @@ -37,7 +33,6 @@ Build-Depends:
# Xorg dependencies
debhelper (>= 10),
po-debconf,
dpkg-dev (>= 1.16.1),
quilt,
lsb-release,
pkg-config,
Expand Down
2 changes: 1 addition & 1 deletion contrib/packages/deb/ubuntu-focal/debian/copyright
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ TigerVNC is
Copyright (C) 2009-2011 D. R. Commander
Copyright (C) 2009-2011 Pierre Ossman for Cendio AB
Copyright (C) 2004, 2009-2011 Red Hat, Inc.
Copyright (C) 2009-2019 TigerVNC Team
Copyright (C) 2009-2024 TigerVNC Team
All Rights Reserved.

This software is distributed under the GNU General Public Licence as published
Expand Down
7 changes: 0 additions & 7 deletions contrib/packages/deb/ubuntu-jammy/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,18 @@ Build-Depends:
dpkg-dev (>= 1.16.1),
appstream,
cmake,
pkg-config,
gettext,
libpixman-1-dev,
zlib1g-dev,
libjpeg-turbo8-dev,
libavcodec-dev,
libavutil-dev,
libswscale-dev,
libgnutls28-dev,
nettle-dev,
libgmp-dev,
libpam0g-dev,
libpng-dev,
libxext-dev,
libxi-dev,
libxtst-dev,
libxrandr-dev,
libxdamage-dev,
libxfixes-dev,
libfltk1.3-dev,
xorg-server-source,
xserver-xorg-dev,
Expand Down
2 changes: 1 addition & 1 deletion contrib/packages/deb/ubuntu-jammy/debian/copyright
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ TigerVNC is
Copyright (C) 2009-2011 D. R. Commander
Copyright (C) 2009-2011 Pierre Ossman for Cendio AB
Copyright (C) 2004, 2009-2011 Red Hat, Inc.
Copyright (C) 2009-2019 TigerVNC Team
Copyright (C) 2009-2024 TigerVNC Team
All Rights Reserved.

This software is distributed under the GNU General Public Licence as published
Expand Down
5 changes: 5 additions & 0 deletions contrib/packages/deb/ubuntu-noble/debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
tigervnc (1.13.80) noble; urgency=low

* Initial release.

-- Brian P. Hinz <[email protected]> Tue, 18 Jun 2024 18:50:23 -0400
1 change: 1 addition & 0 deletions contrib/packages/deb/ubuntu-noble/debian/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
10
188 changes: 188 additions & 0 deletions contrib/packages/deb/ubuntu-noble/debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
Source: tigervnc
Section: x11
Priority: optional
Maintainer: Brian P. Hinz <[email protected]>
Standards-Version: 3.8.4
Build-Depends:
# TigerVNC dependencies
bphinz marked this conversation as resolved.
Show resolved Hide resolved
debhelper (>= 9),
dh-autoreconf,
po-debconf,
dpkg-dev (>= 1.16.1),
appstream,
cmake,
pkg-config,
gettext,
zlib1g-dev,
libjpeg-turbo8-dev,
libavcodec-dev,
libavutil-dev,
libswscale-dev,
libgnutls28-dev,
nettle-dev,
libgmp-dev,
libpam0g-dev,
libpng-dev,
libxrandr-dev,
libxdamage-dev,
libfltk1.3-dev,
xorg-server-source,
xserver-xorg-dev,
openjdk-8-jdk,
# Xorg dependencies
# debhelper-compat (= 12),
quilt,
bison,
flex,
xutils-dev (>= 1:7.6+4),
xfonts-utils (>= 1:7.5+1),
x11proto-dev (>= 2021.5),
xtrans-dev (>= 1.3.5),
libxau-dev (>= 1:1.0.5-2),
libxcvt-dev,
libxdmcp-dev (>= 1:0.99.1),
libxfont-dev (>= 1:2.0.1),
libxkbfile-dev (>= 1:0.99.1),
libpixman-1-dev (>= 0.27.2),
libpciaccess-dev (>= 0.12.901),
libgcrypt20-dev,
libudev-dev (>= 151-3) [linux-any],
libselinux1-dev (>= 2.0.80) [linux-any],
libaudit-dev [linux-any],
libdrm-dev (>= 2.4.107-5~) [!hurd-i386],
libgl1-mesa-dev (>= 9.2),
mesa-common-dev,
# Don't use libunwind for armel, armhf, and arm64 as this library is buggy (bug #923962) on those architectures.
libunwind-dev [amd64 hppa i386 ia64 mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el sh4],
libxmuu-dev (>= 1:0.99.1),
libxext-dev (>= 1:0.99.1),
libx11-dev (>= 2:1.6),
libxrender-dev (>= 1:0.9.0),
libxi-dev (>= 2:1.8),
libxpm-dev (>= 1:3.5.3),
libxaw7-dev (>= 1:0.99.1),
libxt-dev (>= 1:0.99.1),
libxmu-dev (>= 1:0.99.1),
libxtst-dev (>= 1:0.99.1),
libxres-dev (>= 1:0.99.1),
libxfixes-dev (>= 1:3.0.0),
libxv-dev,
libxinerama-dev,
libxshmfence-dev (>= 1.1) [!hurd-i386],
# glamor
libepoxy-dev [linux-any kfreebsd-any],
libegl1-mesa-dev [linux-any kfreebsd-any],
libgbm-dev (>= 10.2) [linux-any kfreebsd-any],
## XCB bits for Xephyr
# libx11-xcb-dev,
# libxcb1-dev,
# libxcb-xkb-dev,
# libxcb-shape0-dev,
# libxcb-render0-dev,
# libxcb-render-util0-dev,
# libxcb-util0-dev,
# libxcb-image0-dev,
# libxcb-icccm4-dev,
# libxcb-shm0-dev,
# libxcb-keysyms1-dev,
# libxcb-randr0-dev,
# libxcb-xv0-dev,
# libxcb-glx0-dev,
# libxcb-xf86dri0-dev (>= 1.6),
# unit tests
xkb-data,
x11-xkb-utils,
# arc4random_buf(), getpeereid()
libbsd-dev,
#logind
libdbus-1-dev (>= 1.0) [linux-any],
# systemd-daemon
libsystemd-dev [linux-any],
Homepage: http://www.tigervnc.com

Package: tigervncserver
Architecture: any
Provides:
xserver,
vnc-server
Depends:
x11-common | xserver-common,
x11-utils,
xauth,
x11-xkb-utils,
${shlibs:Depends},
${perl:Depends},
${misc:Depends}
Recommends:
xfonts-base,
x11-xserver-utils
Suggests:
xtigervncviewer,
tigervnc-java
Description: virtual network computing server software
Virtual Network Computing (VNC) is a remote display system which allows you to
view and interact with a virtual desktop environment that is running on another
computer on the network. Using VNC, you can run graphical applications on a
remote machine and send only the display from these applications to your local
machine. VNC is platform-independent and supports a wide variety of operating
systems and architectures as both servers and clients.
.
TigerVNC is a high-speed version of VNC based on the RealVNC 4 and X.org code
bases. TigerVNC started as a next-generation development effort for TightVNC
on Unix and Linux platforms, but it split from its parent project in early 2009
so that TightVNC could focus on Windows platforms. TigerVNC supports a variant
of Tight encoding that is greatly accelerated by the use of the libjpeg-turbo
JPEG codec.

Package: xtigervncviewer
Architecture: any
Provides:
vncviewer,
vnc-viewer
Depends:
${shlibs:Depends},
${misc:Depends}
Recommends:
xfonts-base
Suggests:
tigervncserver,
ssh
Description: virtual network computing client software for X
Virtual Network Computing (VNC) is a remote display system which allows you to
view and interact with a virtual desktop environment that is running on another
computer on the network. Using VNC, you can run graphical applications on a
remote machine and send only the display from these applications to your local
machine. VNC is platform-independent and supports a wide variety of operating
systems and architectures as both servers and clients.
.
TigerVNC is a high-speed version of VNC based on the RealVNC 4 and X.org code
bases. TigerVNC started as a next-generation development effort for TightVNC
on Unix and Linux platforms, but it split from its parent project in early 2009
so that TightVNC could focus on Windows platforms. TigerVNC supports a variant
of Tight encoding that is greatly accelerated by the use of the libjpeg-turbo
JPEG codec.

Package: tigervnc-java
Architecture: any
Suggests:
tigervncserver
Provides:
vncviewer,
vnc-viewer
Depends:
default-jre
Description: TigerVNC java applet
Virtual Network Computing (VNC) is a remote display system which allows you to
view and interact with a virtual desktop environment that is running on another
computer on the network. Using VNC, you can run graphical applications on a
remote machine and send only the display from these applications to your local
machine. VNC is platform-independent and supports a wide variety of operating
systems and architectures as both servers and clients.
.
TigerVNC is a high-speed version of VNC based on the RealVNC 4 and X.org code
bases. TigerVNC started as a next-generation development effort for TightVNC
on Unix and Linux platforms, but it split from its parent project in early 2009
so that TightVNC could focus on Windows platforms. TigerVNC supports a variant
of Tight encoding that is greatly accelerated by the use of the libjpeg-turbo
JPEG codec.

Loading
Loading