diff options
| author | Chen Qi <Qi.Chen@windriver.com> | 2021-04-23 11:53:55 +0800 |
|---|---|---|
| committer | Armin Kuster <akuster808@gmail.com> | 2021-04-23 19:09:42 -0700 |
| commit | 63bcddbd85be0bb155de8be26af24f9c97677992 (patch) | |
| tree | d1bfc8a5de41f98065f00b9f03a44bf64c5a49d3 /meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb | |
| parent | aef354a0c29a4c6aad4ace53190b5573c78d881b (diff) | |
| download | meta-openembedded-63bcddbd85be0bb155de8be26af24f9c97677992.tar.gz | |
tigervnc: upgrade to 1.11.0
Upgrade to latest stable version.
The 1.10 branch is not maitained any more, it stops update in 2019.
The 1.11 branch has fix for CVE-2020-26117, which is a high risk CVE.
https://nvd.nist.gov/vuln/detail/CVE-2020-26117
Some changes in this new version are as below.
1) 'bash' is added to RDEPENDS as /usr/libexec/vncsession-start requires it.
2) DEPENDS on libpam and requires 'pam' distro feature.
This is because upstream has made 'pam' mandatory in the following commit.
"""
commit d80817f101d1b3f1a9b1c5ec268f28fffa2d75f9
Author: Pierre Ossman <ossman@cendio.se>
Date: Wed Jul 11 15:49:46 2018 +0200
Make PAM mandatory
It is present on all UNIX systems anyway, so let's simplify things.
We will need it for more proper session startup anyway.
"""
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb')
| -rw-r--r-- | meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb new file mode 100644 index 0000000000..ce6c59bc39 --- /dev/null +++ b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb | |||
| @@ -0,0 +1,133 @@ | |||
| 1 | DESCRIPTION = "TigerVNC remote display system" | ||
| 2 | HOMEPAGE = "http://www.tigervnc.com/" | ||
| 3 | LICENSE = "GPLv2+" | ||
| 4 | SECTION = "x11/utils" | ||
| 5 | DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk libpam" | ||
| 6 | RDEPENDS_${PN} = "coreutils hicolor-icon-theme perl bash" | ||
| 7 | |||
| 8 | LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3" | ||
| 9 | |||
| 10 | S = "${WORKDIR}/git" | ||
| 11 | |||
| 12 | inherit features_check | ||
| 13 | REQUIRED_DISTRO_FEATURES = "x11 pam" | ||
| 14 | |||
| 15 | inherit autotools cmake | ||
| 16 | B = "${S}" | ||
| 17 | |||
| 18 | SRCREV = "540bfc3278e396321124d4b18a798ac2bc18b6ca" | ||
| 19 | |||
| 20 | SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.11-branch \ | ||
| 21 | file://0002-do-not-build-tests-sub-directory.patch \ | ||
| 22 | file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \ | ||
| 23 | file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \ | ||
| 24 | " | ||
| 25 | |||
| 26 | # Keep sync with xorg-server in oe-core | ||
| 27 | XORG_PN ?= "xorg-server" | ||
| 28 | XORG_PV ?= "1.20.6" | ||
| 29 | SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg" | ||
| 30 | XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}" | ||
| 31 | SRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b" | ||
| 32 | SRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1" | ||
| 33 | |||
| 34 | # It is the directory containing the Xorg source for the | ||
| 35 | # machine on which you are building TigerVNC. | ||
| 36 | XSERVER_SOURCE_DIR="${S}/unix/xserver" | ||
| 37 | |||
| 38 | do_patch[postfuncs] += "do_patch_xserver" | ||
| 39 | do_patch_xserver () { | ||
| 40 | for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do | ||
| 41 | install -d ${XSERVER_SOURCE_DIR}/$subdir | ||
| 42 | done | ||
| 43 | |||
| 44 | for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do | ||
| 45 | install -d ${XSERVER_SOURCE_DIR}/$subdir | ||
| 46 | done | ||
| 47 | |||
| 48 | sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \ | ||
| 49 | hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \ | ||
| 50 | hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in" | ||
| 51 | for i in ${sources}; do | ||
| 52 | install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i; | ||
| 53 | done | ||
| 54 | |||
| 55 | cd ${XORG_S} | ||
| 56 | find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \ | ||
| 57 | xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -) | ||
| 58 | |||
| 59 | cd ${XSERVER_SOURCE_DIR} | ||
| 60 | xserverpatch="${S}/unix/xserver120.patch" | ||
| 61 | echo "Apply $xserverpatch" | ||
| 62 | patch -p1 -b --suffix .vnc < $xserverpatch | ||
| 63 | } | ||
| 64 | |||
| 65 | EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ | ||
| 66 | --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ | ||
| 67 | --disable-static --disable-xinerama \ | ||
| 68 | --with-xkb-output=${localstatedir}/lib/xkb \ | ||
| 69 | --disable-glx --disable-dri --disable-dri2 \ | ||
| 70 | --disable-config-hal \ | ||
| 71 | --disable-config-udev \ | ||
| 72 | --without-dtrace \ | ||
| 73 | --disable-unit-tests \ | ||
| 74 | --disable-devel-docs \ | ||
| 75 | --disable-selective-werror \ | ||
| 76 | --disable-xshmfence \ | ||
| 77 | --disable-config-udev \ | ||
| 78 | --disable-dri3 \ | ||
| 79 | --disable-libunwind \ | ||
| 80 | --without-xmlto \ | ||
| 81 | --enable-systemd-logind=no \ | ||
| 82 | --disable-xinerama \ | ||
| 83 | --disable-xwayland \ | ||
| 84 | " | ||
| 85 | |||
| 86 | EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DCMAKE_INSTALL_UNITDIR=/lib/systemd/system', '-DINSTALL_SYSTEMD_UNITS=OFF', d)}" | ||
| 87 | |||
| 88 | do_configure_append () { | ||
| 89 | olddir=`pwd` | ||
| 90 | cd ${XSERVER_SOURCE_DIR} | ||
| 91 | |||
| 92 | rm -rf aclocal-copy/ | ||
| 93 | rm -f aclocal.m4 | ||
| 94 | |||
| 95 | export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy" | ||
| 96 | mkdir -p ${ACLOCALDIR}/ | ||
| 97 | if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then | ||
| 98 | cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/ | ||
| 99 | fi | ||
| 100 | if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then | ||
| 101 | cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/ | ||
| 102 | fi | ||
| 103 | ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed." | ||
| 104 | chmod +x ./configure | ||
| 105 | ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} | ||
| 106 | cd $olddir | ||
| 107 | } | ||
| 108 | |||
| 109 | do_compile_append () { | ||
| 110 | olddir=`pwd` | ||
| 111 | cd ${XSERVER_SOURCE_DIR} | ||
| 112 | |||
| 113 | oe_runmake | ||
| 114 | |||
| 115 | cd $olddir | ||
| 116 | } | ||
| 117 | |||
| 118 | do_install_append() { | ||
| 119 | olddir=`pwd` | ||
| 120 | cd ${XSERVER_SOURCE_DIR}/hw/vnc | ||
| 121 | |||
| 122 | oe_runmake 'DESTDIR=${D}' install | ||
| 123 | |||
| 124 | cd $olddir | ||
| 125 | } | ||
| 126 | |||
| 127 | FILES_${PN} += " \ | ||
| 128 | ${libdir}/xorg/modules/extensions \ | ||
| 129 | ${datadir}/icons \ | ||
| 130 | ${systemd_unitdir} \ | ||
| 131 | " | ||
| 132 | |||
| 133 | FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug" | ||
