Upgrade version to 0.1.6
Upstreamed patches removed from spec file. Signed-off-by: Chenxi Mao <chenxi.mao@suse.com> (cherry picked from commit 25b2b6806951de1f1fec09c345ff38c39ab1b08c)
This commit is contained in:
parent
5ec7ec7f46
commit
3fd5d9cdc5
@ -1,74 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Christophe Fergeau <cfergeau@redhat.com>
|
||||
Date: Wed, 8 Feb 2017 15:23:56 +0100
|
||||
Subject: [PATCH] Xspice: Use print("") instead of print ""
|
||||
|
||||
This allows Xspice to run when using python3 instead of python2
|
||||
---
|
||||
scripts/Xspice | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/scripts/Xspice b/scripts/Xspice
|
||||
index ada99d1..30d10fa 100755
|
||||
--- a/scripts/Xspice
|
||||
+++ b/scripts/Xspice
|
||||
@@ -34,7 +34,7 @@ def which(x):
|
||||
candidate = os.path.join(p, x)
|
||||
if os.path.exists(candidate):
|
||||
return candidate
|
||||
- print 'Warning: failed to find executable %s' % x
|
||||
+ print('Warning: failed to find executable %s' % x)
|
||||
return None
|
||||
|
||||
if 'XSPICE_ENABLE_GDB' in os.environ:
|
||||
@@ -128,10 +128,10 @@ args, xorg_args = parser.parse_known_args(sys.argv[1:])
|
||||
def agents_new_enough(args):
|
||||
for f in [args.vdagent_exec, args.vdagentd_exec]:
|
||||
if not f:
|
||||
- print 'please specify path to vdagent/vdagentd executables'
|
||||
+ print('please specify path to vdagent/vdagentd executables')
|
||||
return False
|
||||
if not os.path.exists(f):
|
||||
- print 'error: file not found ', f
|
||||
+ print('error: file not found ', f)
|
||||
return False
|
||||
|
||||
for f in [args.vdagent_exec, args.vdagentd_exec]:
|
||||
@@ -169,11 +169,11 @@ def tls_files(args):
|
||||
# and it isn't supplied spice will still abort, and Xorg with it.
|
||||
for key, filename in tls_files(args).items():
|
||||
if not os.path.exists(filename):
|
||||
- print "missing %s - %s does not exist" % (key, filename)
|
||||
+ print("missing %s - %s does not exist" % (key, filename))
|
||||
sys.exit(1)
|
||||
|
||||
def error(msg, exit_code=1):
|
||||
- print "Xspice: %s" % msg
|
||||
+ print("Xspice: %s" % msg)
|
||||
sys.exit(exit_code)
|
||||
|
||||
if not args.xorg:
|
||||
@@ -319,7 +319,7 @@ for arg in xorg_args:
|
||||
if arg.startswith(":"):
|
||||
display = arg
|
||||
if not display:
|
||||
- print "Error: missing display on line (i.e. :3)"
|
||||
+ print("Error: missing display on line (i.e. :3)")
|
||||
raise SystemExit
|
||||
os.environ ['DISPLAY'] = display
|
||||
|
||||
@@ -343,7 +343,7 @@ time.sleep(2)
|
||||
|
||||
retpid,rc = os.waitpid(xorg.pid, os.WNOHANG)
|
||||
if retpid != 0:
|
||||
- print "Error: X server is not running"
|
||||
+ print("Error: X server is not running")
|
||||
else:
|
||||
if args.vdagent_enabled and args.vdagent_launch:
|
||||
# XXX use systemd --user for this?
|
||||
@@ -361,4 +361,4 @@ else:
|
||||
xorg.wait()
|
||||
except KeyboardInterrupt:
|
||||
# Catch Ctrl-C as that is the common way of ending this script
|
||||
- print "Keyboard Interrupt"
|
||||
+ print("Keyboard Interrupt")
|
||||
@ -1,26 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Christophe Fergeau <cfergeau@redhat.com>
|
||||
Date: Wed, 8 Feb 2017 17:07:56 +0100
|
||||
Subject: [PATCH] Xspice: Fix Python3 str() vs bytes() confusion
|
||||
|
||||
With python3, without universal_newlines=True, Popen().stdout.read()
|
||||
will return a byte array, while find(str) expects to operate on a
|
||||
string.
|
||||
I've checked that this still works with python2 as well.
|
||||
---
|
||||
scripts/Xspice | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/scripts/Xspice b/scripts/Xspice
|
||||
index 41fd80c..927dcb1 100755
|
||||
--- a/scripts/Xspice
|
||||
+++ b/scripts/Xspice
|
||||
@@ -135,7 +135,7 @@ def agents_new_enough(args):
|
||||
return False
|
||||
|
||||
for f in [args.vdagent_exec, args.vdagentd_exec]:
|
||||
- if Popen(args=[f, '-h'], stdout=PIPE).stdout.read().find('-S') == -1:
|
||||
+ if Popen(args=[f, '-h'], stdout=PIPE, universal_newlines=True).stdout.read().find('-S') == -1:
|
||||
return False
|
||||
return True
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
Date: Wed, 8 Mar 2017 10:50:56 +1000
|
||||
Subject: [PATCH] qxl: call provider init
|
||||
|
||||
This prevents crashes when multiple QXL devices are configured in a VM.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1428340
|
||||
---
|
||||
src/qxl_drmmode.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/qxl_drmmode.c b/src/qxl_drmmode.c
|
||||
index 3c288f9..41de92f 100644
|
||||
--- a/src/qxl_drmmode.c
|
||||
+++ b/src/qxl_drmmode.c
|
||||
@@ -937,6 +937,9 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp)
|
||||
for (i = 0; i < drmmode->mode_res->count_connectors; i++)
|
||||
drmmode_output_init(pScrn, drmmode, i);
|
||||
|
||||
+#if XF86_CRTC_VERSION >= 5
|
||||
+ xf86ProviderSetup(pScrn, NULL, "qxl");
|
||||
+#endif
|
||||
xf86InitialConfiguration(pScrn, TRUE);
|
||||
|
||||
return TRUE;
|
||||
@ -1,100 +0,0 @@
|
||||
From 4b083ede3c4a827a84295ff223e34ee3c2e581b2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
|
||||
<zboszor@gmail.com>
|
||||
Date: Sat, 28 Aug 2021 15:38:40 +0200
|
||||
Subject: [PATCH] Fix a build error with Xorg master
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Use xf86ReturnOptValBool() in get_bool_option() instead of
|
||||
options[option_index].value.bool to fix a compiler error with
|
||||
current Xorg xserver master branch.
|
||||
|
||||
Also use xf86GetOptValInteger() in get_int_option() and
|
||||
xf86GetOptValString() in get_str_option() for consistency.
|
||||
|
||||
The change causes a slight performance drop during option parsing
|
||||
because the passed-in index_value is no longer used as an index
|
||||
into the options array.
|
||||
|
||||
Instead, it's used as a token now for the standard option getter
|
||||
functions which works since the index_value to the get_*_option()
|
||||
functions are identical to the value of options[n].token in the
|
||||
passed-in OptionInfoRec array.
|
||||
|
||||
Also rename "int option_index" to "int token" for clarity in all
|
||||
three functions.
|
||||
|
||||
Signed-off-by: Zolt谩n B枚sz枚rm茅nyi <zboszor@gmail.com>
|
||||
---
|
||||
src/qxl_option_helpers.c | 13 +++++++------
|
||||
src/qxl_option_helpers.h | 6 +++---
|
||||
2 files changed, 10 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/qxl_option_helpers.c b/src/qxl_option_helpers.c
|
||||
index 2aba677..7707b7c 100644
|
||||
--- a/src/qxl_option_helpers.c
|
||||
+++ b/src/qxl_option_helpers.c
|
||||
@@ -10,31 +10,32 @@
|
||||
|
||||
#include "qxl_option_helpers.h"
|
||||
|
||||
-int get_int_option(OptionInfoPtr options, int option_index,
|
||||
+int get_int_option(OptionInfoPtr options, int token,
|
||||
const char *env_name)
|
||||
{
|
||||
+ int value;
|
||||
if (env_name && getenv(env_name)) {
|
||||
return atoi(getenv(env_name));
|
||||
}
|
||||
- return options[option_index].value.num;
|
||||
+ return xf86GetOptValInteger(options, token, &value) ? value : 0;
|
||||
}
|
||||
|
||||
-const char *get_str_option(OptionInfoPtr options, int option_index,
|
||||
+const char *get_str_option(OptionInfoPtr options, int token,
|
||||
const char *env_name)
|
||||
{
|
||||
if (getenv(env_name)) {
|
||||
return getenv(env_name);
|
||||
}
|
||||
- return options[option_index].value.str;
|
||||
+ return xf86GetOptValString(options, token);
|
||||
}
|
||||
|
||||
-int get_bool_option(OptionInfoPtr options, int option_index,
|
||||
+int get_bool_option(OptionInfoPtr options, int token,
|
||||
const char *env_name)
|
||||
{
|
||||
const char* value = getenv(env_name);
|
||||
|
||||
if (!value) {
|
||||
- return options[option_index].value.bool;
|
||||
+ return xf86ReturnOptValBool(options, token, FALSE);
|
||||
}
|
||||
if (strcmp(value, "0") == 0 ||
|
||||
strcasecmp(value, "off") == 0 ||
|
||||
diff --git a/src/qxl_option_helpers.h b/src/qxl_option_helpers.h
|
||||
index 7c54c72..66d0a17 100644
|
||||
--- a/src/qxl_option_helpers.h
|
||||
+++ b/src/qxl_option_helpers.h
|
||||
@@ -4,13 +4,13 @@
|
||||
#include <xf86Crtc.h>
|
||||
#include <xf86Opt.h>
|
||||
|
||||
-int get_int_option(OptionInfoPtr options, int option_index,
|
||||
+int get_int_option(OptionInfoPtr options, int token,
|
||||
const char *env_name);
|
||||
|
||||
-const char *get_str_option(OptionInfoPtr options, int option_index,
|
||||
+const char *get_str_option(OptionInfoPtr options, int token,
|
||||
const char *env_name);
|
||||
|
||||
-int get_bool_option(OptionInfoPtr options, int option_index,
|
||||
+int get_bool_option(OptionInfoPtr options, int token,
|
||||
const char *env_name);
|
||||
|
||||
#endif // OPTION_HELPERS_H
|
||||
--
|
||||
GitLab
|
||||
Binary file not shown.
BIN
xf86-video-qxl-0.1.6.tar.xz
Normal file
BIN
xf86-video-qxl-0.1.6.tar.xz
Normal file
Binary file not shown.
@ -1,18 +1,15 @@
|
||||
%undefine _hardened_build
|
||||
|
||||
Name: xorg-x11-drv-qxl
|
||||
Version: 0.1.5
|
||||
Release: 15
|
||||
Version: 0.1.6
|
||||
Release: 1
|
||||
Summary: Qxl video driver for the X Window System
|
||||
License: MIT
|
||||
URL: http://www.x.org
|
||||
Source0: http://xorg.freedesktop.org/releases/individual/driver/xf86-video-qxl-%{version}.tar.bz2
|
||||
Source0: http://xorg.freedesktop.org/releases/individual/driver/xf86-video-qxl-%{version}.tar.xz
|
||||
Patch0001: 0001-worst-hack-of-all-time-to-qxl-driver.patch
|
||||
Patch0002: 0002-Xspice-Use-print-instead-of-print.patch
|
||||
Patch0003: 0004-Xspice-Fix-Python3-str-vs-bytes-confusion.patch
|
||||
Patch0004: 0005-Xspice-Adjust-shebang-to-explicitly-mention-python3.patch
|
||||
Patch0005: 0006-qxl-call-provider-init.patch
|
||||
Patch6000: backport-fix-build-error-with-xserver.patch
|
||||
Patch0002: 0002-Xspice-Adjust-shebang-to-explicitly-mention-python3.patch
|
||||
|
||||
BuildRequires: pkgconfig git-core xorg-x11-server-devel >= 1.1.0-1 spice-protocol >= 0.12.1
|
||||
BuildRequires: libdrm-devel >= 2.4.46-1 spice-server-devel >= 0.8.0 glib2-devel
|
||||
BuildRequires: libtool libudev-devel libXfont2-devel libXext-devel
|
||||
@ -43,17 +40,20 @@ install -Dp -m644 examples/spiceqxl.xorg.conf.example $RPM_BUILD_ROOT%{_sysconfd
|
||||
%delete_la
|
||||
|
||||
%files
|
||||
%doc COPYING README
|
||||
%doc COPYING README.md
|
||||
%(pkg-config xorg-server --variable=moduledir)/drivers/qxl_drv.so
|
||||
%exclude /usr/share/doc/xf86-video-qxl/spiceqxl.xorg.conf.example
|
||||
|
||||
%files -n xorg-x11-server-Xspice
|
||||
%doc COPYING README.xspice README examples/spiceqxl.xorg.conf.example
|
||||
%doc COPYING README.xspice README.md examples/spiceqxl.xorg.conf.example
|
||||
%config(noreplace) %{_sysconfdir}/X11/spiceqxl.xorg.conf
|
||||
%{_bindir}/Xspice
|
||||
%(pkg-config xorg-server --variable=moduledir)/drivers/spiceqxl_drv.so
|
||||
|
||||
%changelog
|
||||
* Sat Jan 28 2023 Chenxi Mao <chenxi.mao@suse.com> - 0.1.6-1
|
||||
- Upgrade to 0.1.6
|
||||
|
||||
* Tue Oct 25 2022 wangkerong <wangkerong@h-partners.com> - 0.1.5-15
|
||||
- rebuild for next release
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user