diff --git a/0005-Xspice-Adjust-shebang-to-explicitly-mention-python3.patch b/0002-Xspice-Adjust-shebang-to-explicitly-mention-python3.patch similarity index 100% rename from 0005-Xspice-Adjust-shebang-to-explicitly-mention-python3.patch rename to 0002-Xspice-Adjust-shebang-to-explicitly-mention-python3.patch diff --git a/0002-Xspice-Use-print-instead-of-print.patch b/0002-Xspice-Use-print-instead-of-print.patch deleted file mode 100644 index 68a242b..0000000 --- a/0002-Xspice-Use-print-instead-of-print.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Christophe Fergeau -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") diff --git a/0004-Xspice-Fix-Python3-str-vs-bytes-confusion.patch b/0004-Xspice-Fix-Python3-str-vs-bytes-confusion.patch deleted file mode 100644 index 36e20d5..0000000 --- a/0004-Xspice-Fix-Python3-str-vs-bytes-confusion.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Christophe Fergeau -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 - diff --git a/0006-qxl-call-provider-init.patch b/0006-qxl-call-provider-init.patch deleted file mode 100644 index b8cd7c0..0000000 --- a/0006-qxl-call-provider-init.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dave Airlie -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; diff --git a/backport-fix-build-error-with-xserver.patch b/backport-fix-build-error-with-xserver.patch deleted file mode 100644 index 1ee4d1c..0000000 --- a/backport-fix-build-error-with-xserver.patch +++ /dev/null @@ -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?= - -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 ---- - 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 - #include - --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 diff --git a/xf86-video-qxl-0.1.5.tar.bz2 b/xf86-video-qxl-0.1.5.tar.bz2 deleted file mode 100644 index 17641e9..0000000 Binary files a/xf86-video-qxl-0.1.5.tar.bz2 and /dev/null differ diff --git a/xf86-video-qxl-0.1.6.tar.xz b/xf86-video-qxl-0.1.6.tar.xz new file mode 100644 index 0000000..38bd9e6 Binary files /dev/null and b/xf86-video-qxl-0.1.6.tar.xz differ diff --git a/xorg-x11-drv-qxl.spec b/xorg-x11-drv-qxl.spec index 66cfcbf..ada559b 100644 --- a/xorg-x11-drv-qxl.spec +++ b/xorg-x11-drv-qxl.spec @@ -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 - 0.1.6-1 +- Upgrade to 0.1.6 + * Tue Oct 25 2022 wangkerong - 0.1.5-15 - rebuild for next release