import tigervnc-1.10.1-9.el8_3
This commit is contained in:
parent
85151b63c1
commit
9c4d831d1c
149
SOURCES/tigervnc-tolerate-specifying-boolparam.patch
Normal file
149
SOURCES/tigervnc-tolerate-specifying-boolparam.patch
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
From 38c6848b30cb1908171f2b4628e345fbf6727b39 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pierre Ossman <ossman@cendio.se>
|
||||||
|
Date: Fri, 18 Sep 2020 10:44:32 +0200
|
||||||
|
Subject: [PATCH] Tolerate specifying -BoolParam 0 and similar
|
||||||
|
|
||||||
|
This is needed by vncserver which doesn't know which parameters are
|
||||||
|
boolean, and it cannot use the -Param=Value form as that isn't tolerated
|
||||||
|
by the Xorg code.
|
||||||
|
---
|
||||||
|
unix/vncserver/vncserver.in | 8 ++++----
|
||||||
|
unix/xserver/hw/vnc/RFBGlue.cc | 16 ++++++++++++++++
|
||||||
|
unix/xserver/hw/vnc/RFBGlue.h | 1 +
|
||||||
|
unix/xserver/hw/vnc/xvnc.c | 14 ++++++++++++++
|
||||||
|
vncviewer/vncviewer.cxx | 20 ++++++++++++++++++++
|
||||||
|
5 files changed, 55 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/unix/vncserver/vncserver.in b/unix/vncserver/vncserver.in
|
||||||
|
index 25fbbd315..261b258f1 100755
|
||||||
|
--- a/unix/vncserver/vncserver.in
|
||||||
|
+++ b/unix/vncserver/vncserver.in
|
||||||
|
@@ -107,7 +107,7 @@ $default_opts{rfbwait} = 30000;
|
||||||
|
$default_opts{rfbauth} = "$vncUserDir/passwd";
|
||||||
|
$default_opts{rfbport} = $vncPort;
|
||||||
|
$default_opts{fp} = $fontPath if ($fontPath);
|
||||||
|
-$default_opts{pn} = "";
|
||||||
|
+$default_opts{pn} = undef;
|
||||||
|
|
||||||
|
# Load user-overrideable system defaults
|
||||||
|
LoadConfig($vncSystemConfigDefaultsFile);
|
||||||
|
@@ -242,13 +242,13 @@ push(@cmd, "@CMAKE_INSTALL_FULL_BINDIR@/Xvnc", ":$displayNumber");
|
||||||
|
|
||||||
|
foreach my $k (sort keys %config) {
|
||||||
|
push(@cmd, "-$k");
|
||||||
|
- push(@cmd, $config{$k}) if $config{$k};
|
||||||
|
+ push(@cmd, $config{$k}) if defined($config{$k});
|
||||||
|
delete $default_opts{$k}; # file options take precedence
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach my $k (sort keys %default_opts) {
|
||||||
|
push(@cmd, "-$k");
|
||||||
|
- push(@cmd, $default_opts{$k}) if $default_opts{$k};
|
||||||
|
+ push(@cmd, $default_opts{$k}) if defined($default_opts{$k});
|
||||||
|
}
|
||||||
|
|
||||||
|
warn "\nNew '$desktopName' desktop is $host:$displayNumber\n\n";
|
||||||
|
@@ -291,7 +291,7 @@ sub LoadConfig {
|
||||||
|
# current config file being loaded defined the logical opposite setting
|
||||||
|
# (NeverShared vs. AlwaysShared, etc etc).
|
||||||
|
$toggle = lc($1); # must normalize key case
|
||||||
|
- $config{$toggle} = $k;
|
||||||
|
+ $config{$toggle} = undef;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(IN);
|
||||||
|
diff --git a/unix/xserver/hw/vnc/RFBGlue.cc b/unix/xserver/hw/vnc/RFBGlue.cc
|
||||||
|
index f108fae43..7c32bea8f 100644
|
||||||
|
--- a/unix/xserver/hw/vnc/RFBGlue.cc
|
||||||
|
+++ b/unix/xserver/hw/vnc/RFBGlue.cc
|
||||||
|
@@ -143,6 +143,22 @@ const char* vncGetParamDesc(const char *name)
|
||||||
|
return param->getDescription();
|
||||||
|
}
|
||||||
|
|
||||||
|
+int vncIsParamBool(const char *name)
|
||||||
|
+{
|
||||||
|
+ VoidParameter *param;
|
||||||
|
+ BoolParameter *bparam;
|
||||||
|
+
|
||||||
|
+ param = rfb::Configuration::getParam(name);
|
||||||
|
+ if (param == NULL)
|
||||||
|
+ return false;
|
||||||
|
+
|
||||||
|
+ bparam = dynamic_cast<BoolParameter*>(param);
|
||||||
|
+ if (bparam == NULL)
|
||||||
|
+ return false;
|
||||||
|
+
|
||||||
|
+ return true;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
int vncGetParamCount(void)
|
||||||
|
{
|
||||||
|
int count;
|
||||||
|
diff --git a/unix/xserver/hw/vnc/RFBGlue.h b/unix/xserver/hw/vnc/RFBGlue.h
|
||||||
|
index 112405b84..695cea105 100644
|
||||||
|
--- a/unix/xserver/hw/vnc/RFBGlue.h
|
||||||
|
+++ b/unix/xserver/hw/vnc/RFBGlue.h
|
||||||
|
@@ -41,6 +41,7 @@ int vncSetParam(const char *name, const char *value);
|
||||||
|
int vncSetParamSimple(const char *nameAndValue);
|
||||||
|
char* vncGetParam(const char *name);
|
||||||
|
const char* vncGetParamDesc(const char *name);
|
||||||
|
+int vncIsParamBool(const char *name);
|
||||||
|
|
||||||
|
int vncGetParamCount(void);
|
||||||
|
char *vncGetParamList(void);
|
||||||
|
diff --git a/unix/xserver/hw/vnc/xvnc.c b/unix/xserver/hw/vnc/xvnc.c
|
||||||
|
index 4eb0b0b13..5744acac8 100644
|
||||||
|
--- a/unix/xserver/hw/vnc/xvnc.c
|
||||||
|
+++ b/unix/xserver/hw/vnc/xvnc.c
|
||||||
|
@@ -618,6 +618,20 @@ ddxProcessArgument(int argc, char *argv[], int i)
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* We need to resolve an ambiguity for booleans */
|
||||||
|
+ if (argv[i][0] == '-' && i+1 < argc &&
|
||||||
|
+ vncIsParamBool(&argv[i][1])) {
|
||||||
|
+ if ((strcasecmp(argv[i+1], "0") == 0) ||
|
||||||
|
+ (strcasecmp(argv[i+1], "1") == 0) ||
|
||||||
|
+ (strcasecmp(argv[i+1], "true") == 0) ||
|
||||||
|
+ (strcasecmp(argv[i+1], "false") == 0) ||
|
||||||
|
+ (strcasecmp(argv[i+1], "yes") == 0) ||
|
||||||
|
+ (strcasecmp(argv[i+1], "no") == 0)) {
|
||||||
|
+ vncSetParam(&argv[i][1], argv[i+1]);
|
||||||
|
+ return 2;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (vncSetParamSimple(argv[i]))
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx
|
||||||
|
index d4dd3063c..77ba3d3f4 100644
|
||||||
|
--- a/vncviewer/vncviewer.cxx
|
||||||
|
+++ b/vncviewer/vncviewer.cxx
|
||||||
|
@@ -556,6 +556,26 @@ int main(int argc, char** argv)
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 1; i < argc;) {
|
||||||
|
+ /* We need to resolve an ambiguity for booleans */
|
||||||
|
+ if (argv[i][0] == '-' && i+1 < argc) {
|
||||||
|
+ VoidParameter *param;
|
||||||
|
+
|
||||||
|
+ param = Configuration::getParam(&argv[i][1]);
|
||||||
|
+ if ((param != NULL) &&
|
||||||
|
+ (dynamic_cast<BoolParameter*>(param) != NULL)) {
|
||||||
|
+ if ((strcasecmp(argv[i+1], "0") == 0) ||
|
||||||
|
+ (strcasecmp(argv[i+1], "1") == 0) ||
|
||||||
|
+ (strcasecmp(argv[i+1], "true") == 0) ||
|
||||||
|
+ (strcasecmp(argv[i+1], "false") == 0) ||
|
||||||
|
+ (strcasecmp(argv[i+1], "yes") == 0) ||
|
||||||
|
+ (strcasecmp(argv[i+1], "no") == 0)) {
|
||||||
|
+ param->setParam(argv[i+1]);
|
||||||
|
+ i += 2;
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (Configuration::setParam(argv[i])) {
|
||||||
|
i++;
|
||||||
|
continue;
|
@ -1,6 +1,6 @@
|
|||||||
Name: tigervnc
|
Name: tigervnc
|
||||||
Version: 1.10.1
|
Version: 1.10.1
|
||||||
Release: 7%{?dist}
|
Release: 9%{?dist}
|
||||||
Summary: A TigerVNC remote display system
|
Summary: A TigerVNC remote display system
|
||||||
|
|
||||||
%global _hardened_build 1
|
%global _hardened_build 1
|
||||||
@ -27,6 +27,7 @@ Patch14: tigervnc-provide-correct-dimensions-for-xshm-setup.patch
|
|||||||
# Upstream patches
|
# Upstream patches
|
||||||
Patch50: tigervnc-systemd-support.patch
|
Patch50: tigervnc-systemd-support.patch
|
||||||
Patch51: tigervnc-remove-trailing-spaces-in-user-name.patch
|
Patch51: tigervnc-remove-trailing-spaces-in-user-name.patch
|
||||||
|
Patch52: tigervnc-tolerate-specifying-boolparam.patch
|
||||||
|
|
||||||
# This is tigervnc-%%{version}/unix/xserver116.patch rebased on the latest xorg
|
# This is tigervnc-%%{version}/unix/xserver116.patch rebased on the latest xorg
|
||||||
Patch100: tigervnc-xserver120.patch
|
Patch100: tigervnc-xserver120.patch
|
||||||
@ -184,6 +185,7 @@ popd
|
|||||||
|
|
||||||
%patch50 -p1 -b .tigervnc-systemd-support
|
%patch50 -p1 -b .tigervnc-systemd-support
|
||||||
%patch51 -p1 -b .remove-trailing-spaces-in-user-name
|
%patch51 -p1 -b .remove-trailing-spaces-in-user-name
|
||||||
|
%patch52 -p1 -b .tolerate-specifying-boolparam
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%ifarch sparcv9 sparc64 s390 s390x
|
%ifarch sparcv9 sparc64 s390 s390x
|
||||||
@ -349,6 +351,14 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Oct 6 2020 Jan Grulich <jgrulich@redhat.com> - 1.10.1-9
|
||||||
|
- Bump build for gating issue
|
||||||
|
Resolves: bz#1883432
|
||||||
|
|
||||||
|
* Wed Sep 30 2020 Jan Grulich <jgrulich@redhat.com> - 1.10.1-8
|
||||||
|
- Tolerate specifying -BoolParam 0 and similar
|
||||||
|
Resolves: bz#1883432
|
||||||
|
|
||||||
* Wed Jul 08 2020 Jan Grulich <jgrulich@redhat.com> - 1.10.1-7
|
* Wed Jul 08 2020 Jan Grulich <jgrulich@redhat.com> - 1.10.1-7
|
||||||
- Enable server module on s390x
|
- Enable server module on s390x
|
||||||
Resolves: bz#1854925
|
Resolves: bz#1854925
|
||||||
|
Loading…
Reference in New Issue
Block a user