* [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule @ 2017-09-28 12:06 Daniel P. Berrange 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc Daniel P. Berrange ` (6 more replies) 0 siblings, 7 replies; 17+ messages in thread From: Daniel P. Berrange @ 2017-09-28 12:06 UTC (permalink / raw) To: qemu-devel Cc: Fam Zheng, Gerd Hoffmann, Peter Maydell, Paolo Bonzini, Daniel P. Berrange This patch series is an update to: v1: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02047.html v2: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02471.html v3: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02517.html v4: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02708.html v5: https://lists.gnu.org/archive/html/qemu-devel/2017-09/msg02950.html v6: https://lists.gnu.org/archive/html/qemu-devel/2017-09/msg07673.html The keycodemap project[1] provides a database mapping between many different keysym/keycode/scancode sets, along with a tool to generate mapping/lookup tables in various programming languages. It is already used by GTK-VNC, SPICE-GTK and libvirt. In this v6 posting I have dropped most of the conversion to keycodemapdb across the devices / UI frontends. This only converts the core input APIs, and wires up the git submodule build system mechanics. The remaining patches from the v5 posting will be submitted separately, once this initial conversion is mergable. Changed in v7: - subdir-dtc and ui/input-keymap-* make rules must depend on the submodule status file to ensure build ordering (patchew) - Use 'git stash' to ensure archive-source.sh keeps non-committed changes for docker/vm testing (Fam) Changed in v6: - Switched back to using a git submodule - Wire up Makefile rules so that git submodule is automatically refreshed when needed prior to build. - Fix source tarball creation for docker/vm tests wrt submodules Changed in v5: - Don't try to initialize git submodule at all - Store generate keymap files in GIT Changed in v4: - Run submodule update in source_dir for vpath builds (patchew) - Force submodule update in docker rules in case they are run without configure (patchew) Changed in v3: - Ensure docker builds pull in keycodemapdb submodule (patchew) - Add compat with py26 for RHEL-6 in keycodemapdb tools (patchew) - Initialize submodule in configure script (patchew) Changed in v2: - Change filename pattern to 'ui/input-keymap-$SRC-to-$DST.c' and map names 'qemu_input_map_$SRC_to_$DST' (Eric) - Fix typos (Eric) - Drop changes to InputKeyEvent struct (Eric) - Fix VPATH build (patchew) - Fix code style errors (patchew) [1] https://gitlab.com/keycodemap/keycodemapdb/ Daniel P. Berrange (6): build: automatically handle GIT submodule checkout for dtc docker: don't rely on submodules existing in the main checkout ui: add keycodemapdb repository as a GIT submodule ui: convert common input code to keycodemapdb ui: convert key events to QKeyCodes immediately ui: don't export qemu_input_event_new_key .gitignore | 2 + .gitmodules | 3 + Makefile | 23 +++- configure | 52 +++++--- include/ui/input.h | 12 +- scripts/archive-source.sh | 30 ++++- scripts/git-submodule.sh | 31 +++++ ui/Makefile.objs | 21 +++ ui/input-keymap.c | 326 +++------------------------------------------- ui/input.c | 26 ++-- ui/keycodemapdb | 1 + 11 files changed, 182 insertions(+), 345 deletions(-) create mode 100755 scripts/git-submodule.sh create mode 160000 ui/keycodemapdb -- 2.13.5 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc 2017-09-28 12:06 [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange @ 2017-09-28 12:06 ` Daniel P. Berrange 2017-09-28 17:58 ` Eric Blake 2017-09-28 17:59 ` Eric Blake 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 2/6] docker: don't rely on submodules existing in the main checkout Daniel P. Berrange ` (5 subsequent siblings) 6 siblings, 2 replies; 17+ messages in thread From: Daniel P. Berrange @ 2017-09-28 12:06 UTC (permalink / raw) To: qemu-devel Cc: Fam Zheng, Gerd Hoffmann, Peter Maydell, Paolo Bonzini, Daniel P. Berrange Currently if DTC is required by configure and not available in the host OS install, we exit with an error message telling the user to checkout a git submodule or install the library. This introduces automatic handling of the git submodule checkout process and enables it for dtc. This only runs if building from GIT, so users of release tarballs still need the system library install. The current state of the git checkout is stashed in .git-submodule-status, and a helper program is used to determine if this state matches the desired submodule state. A dependency against 'Makefile' ensures that the submodule state is refreshed at the start of the build process Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- .gitignore | 1 + Makefile | 23 ++++++++++++++++++++++- configure | 46 ++++++++++++++++++++++++++-------------------- scripts/git-submodule.sh | 31 +++++++++++++++++++++++++++++++ 4 files changed, 80 insertions(+), 21 deletions(-) create mode 100755 scripts/git-submodule.sh diff --git a/.gitignore b/.gitignore index 40acfcb9e2..06bf972fc3 100644 --- a/.gitignore +++ b/.gitignore @@ -112,6 +112,7 @@ /docs/version.texi *.tps .stgit-* +.git-submodule-status cscope.* tags TAGS diff --git a/Makefile b/Makefile index 2be61fcf1c..e9d9e1840f 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,27 @@ ifneq ($(wildcard config-host.mak),) all: include config-host.mak +git-submodule-update: + +.PHONY: git-submodule-update + +ifeq (0,$(MAKELEVEL)) + git_module_status := $(shell \ + cd '$(SRC_PATH)'; \ + ./scripts/git-submodule.sh status $(GIT_SUBMODULES); \ + echo $$?; \ + ) + +ifeq (1,$(git_module_status)) +git-submodule-update: + $(call quiet-command, \ + (cd $(SRC_PATH); ./scripts/git-submodule.sh update $(GIT_SUBMODULES)), \ + "GIT","$(GIT_SUBMODULES)") +endif +endif + +.git-submodule-status: git-submodule-update + # Check that we're not trying to do an out-of-tree build from # a tree that's been used for an in-tree build. ifneq ($(realpath $(SRC_PATH)),$(realpath .)) @@ -329,7 +350,7 @@ DTC_MAKE_ARGS=-I$(SRC_PATH)/dtc VPATH=$(SRC_PATH)/dtc -C dtc V="$(V)" LIBFDT_src DTC_CFLAGS=$(CFLAGS) $(QEMU_CFLAGS) DTC_CPPFLAGS=-I$(BUILD_DIR)/dtc -I$(SRC_PATH)/dtc -I$(SRC_PATH)/dtc/libfdt -subdir-dtc:dtc/libfdt dtc/tests +subdir-dtc: .git-submodule-status dtc/libfdt dtc/tests $(call quiet-command,$(MAKE) $(DTC_MAKE_ARGS) CPPFLAGS="$(DTC_CPPFLAGS)" CFLAGS="$(DTC_CFLAGS)" LDFLAGS="$(LDFLAGS)" ARFLAGS="$(ARFLAGS)" CC="$(CC)" AR="$(AR)" LD="$(LD)" $(SUBDIR_MAKEFLAGS) libfdt/libfdt.a,) dtc/%: diff --git a/configure b/configure index 7727f6ba5b..ed4048f8b2 100755 --- a/configure +++ b/configure @@ -264,6 +264,7 @@ cc_i386=i386-pc-linux-gnu-gcc libs_qga="" debug_info="yes" stack_protector="" +git_submodules="" # Don't accept a target_list environment variable. unset target_list @@ -3580,27 +3581,30 @@ EOF if compile_prog "" "$fdt_libs" ; then # system DTC is good - use it fdt=yes - elif test -d ${source_path}/dtc/libfdt ; then - # have submodule DTC - use it - fdt=yes - dtc_internal="yes" - mkdir -p dtc - if [ "$pwd_is_source_path" != "y" ] ; then - symlink "$source_path/dtc/Makefile" "dtc/Makefile" - symlink "$source_path/dtc/scripts" "dtc/scripts" - fi - fdt_cflags="-I\$(SRC_PATH)/dtc/libfdt" - fdt_libs="-L\$(BUILD_DIR)/dtc/libfdt $fdt_libs" - elif test "$fdt" = "yes" ; then - # have neither and want - prompt for system/submodule install - error_exit "DTC (libfdt) version >= 1.4.2 not present. Your options:" \ - " (1) Preferred: Install the DTC (libfdt) devel package" \ - " (2) Fetch the DTC submodule, using:" \ - " git submodule update --init dtc" else - # don't have and don't want - fdt_libs= - fdt=no + # have GIT checkout, so activate dtc submodule + if test -d ${source_path}/.git ; then + git_submodules="${git_submodules} dtc" + fi + if test -d ${source_path}/dtc/libfdt || test -d ${source_path}/.git ; then + fdt=yes + dtc_internal="yes" + mkdir -p dtc + if [ "$pwd_is_source_path" != "y" ] ; then + symlink "$source_path/dtc/Makefile" "dtc/Makefile" + symlink "$source_path/dtc/scripts" "dtc/scripts" + fi + fdt_cflags="-I\$(SRC_PATH)/dtc/libfdt" + fdt_libs="-L\$(BUILD_DIR)/dtc/libfdt $fdt_libs" + elif test "$fdt" = "yes" ; then + # have neither and want - prompt for system/submodule install + error_exit "DTC (libfdt) version >= 1.4.2 not present." \ + "Please install the DTC (libfdt) devel package" + else + # don't have and don't want + fdt_libs= + fdt=no + fi fi fi @@ -5290,6 +5294,7 @@ echo "local state directory queried at runtime" echo "Windows SDK $win_sdk" fi echo "Source path $source_path" +echo "GIT submodules $git_submodules" echo "C compiler $cc" echo "Host C compiler $host_cc" echo "C++ compiler $cxx" @@ -5477,6 +5482,7 @@ echo "extra_cxxflags=$EXTRA_CXXFLAGS" >> $config_host_mak echo "extra_ldflags=$EXTRA_LDFLAGS" >> $config_host_mak echo "qemu_localedir=$qemu_localedir" >> $config_host_mak echo "libs_softmmu=$libs_softmmu" >> $config_host_mak +echo "GIT_SUBMODULES=$git_submodules" >> $config_host_mak echo "ARCH=$ARCH" >> $config_host_mak diff --git a/scripts/git-submodule.sh b/scripts/git-submodule.sh new file mode 100755 index 0000000000..f8e7d44ce6 --- /dev/null +++ b/scripts/git-submodule.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +set -e + +command=$1 +shift +modules="$@" + +test -z "$modules" && exit 0 + +if ! test -d ".git" +then + echo "$0: unexpectedly called with submodules but no git checkout exists" + exit 1 +fi + +substat=".git-submodule-status" + +case "$command" in +status) + test -f "$substat" || exit 1 + git submodule status $modules > "${substat}.tmp" + trap "rm -f ${substat}.tmp" EXIT + diff "${substat}" "${substat}.tmp" >/dev/null + exit $? + ;; +update) + git submodule update --init $modules 1>/dev/null 2>&1 + git submodule status $modules > "${substat}" + ;; +esac -- 2.13.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc Daniel P. Berrange @ 2017-09-28 17:58 ` Eric Blake 2017-09-29 9:08 ` Daniel P. Berrange 2017-09-28 17:59 ` Eric Blake 1 sibling, 1 reply; 17+ messages in thread From: Eric Blake @ 2017-09-28 17:58 UTC (permalink / raw) To: Daniel P. Berrange, qemu-devel Cc: Peter Maydell, Fam Zheng, Gerd Hoffmann, Paolo Bonzini [-- Attachment #1: Type: text/plain, Size: 5355 bytes --] On 09/28/2017 07:06 AM, Daniel P. Berrange wrote: > Currently if DTC is required by configure and not available in the host > OS install, we exit with an error message telling the user to checkout a > git submodule or install the library. > > This introduces automatic handling of the git submodule checkout process > and enables it for dtc. This only runs if building from GIT, so users of > release tarballs still need the system library install. The current state > of the git checkout is stashed in .git-submodule-status, and a helper > program is used to determine if this state matches the desired submodule > state. A dependency against 'Makefile' ensures that the submodule state > is refreshed at the start of the build process > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > --- > .gitignore | 1 + > Makefile | 23 ++++++++++++++++++++++- > configure | 46 ++++++++++++++++++++++++++-------------------- > scripts/git-submodule.sh | 31 +++++++++++++++++++++++++++++++ > 4 files changed, 80 insertions(+), 21 deletions(-) > create mode 100755 scripts/git-submodule.sh > > +++ b/Makefile > @@ -14,6 +14,27 @@ ifneq ($(wildcard config-host.mak),) > all: > include config-host.mak > > +git-submodule-update: > + > +.PHONY: git-submodule-update > + > +ifeq (0,$(MAKELEVEL)) > + git_module_status := $(shell \ > + cd '$(SRC_PATH)'; \ Should this be && instead of ;, since I don't know if $(shell) implies 'set -e' semantics? > + ./scripts/git-submodule.sh status $(GIT_SUBMODULES); \ > + echo $$?; \ > + ) > + > +ifeq (1,$(git_module_status)) > +git-submodule-update: > + $(call quiet-command, \ > + (cd $(SRC_PATH); ./scripts/git-submodule.sh update $(GIT_SUBMODULES)), \ and again > + "GIT","$(GIT_SUBMODULES)") > +endif > +endif > + > +.git-submodule-status: git-submodule-update > + > +++ b/configure > @@ -264,6 +264,7 @@ cc_i386=i386-pc-linux-gnu-gcc > libs_qga="" > debug_info="yes" > stack_protector="" > +git_submodules="" > > # Don't accept a target_list environment variable. > unset target_list > @@ -3580,27 +3581,30 @@ EOF > if compile_prog "" "$fdt_libs" ; then > # system DTC is good - use it > fdt=yes > - elif test -d ${source_path}/dtc/libfdt ; then ... > - symlink "$source_path/dtc/Makefile" "dtc/Makefile" Old code is inconsistent on whether it quotes the expansion of $source_path. Given the unquoted usage, we don't support a $source_path that contains spaces; however... > + # have GIT checkout, so activate dtc submodule > + if test -d ${source_path}/.git ; then ...we might as well consistently use quotes in all new code, especially, since it is already a red flag any time someone does unquoted test -d $foo. > + git_submodules="${git_submodules} dtc" > + fi > + if test -d ${source_path}/dtc/libfdt || test -d ${source_path}/.git ; then and again .git is not always a directory; it can be a symlink or text file containing a directory name. It is probably sufficient to just use test -e instead of test -d. > + fdt=yes > + dtc_internal="yes" > + mkdir -p dtc > + if [ "$pwd_is_source_path" != "y" ] ; then > + symlink "$source_path/dtc/Makefile" "dtc/Makefile" > + symlink "$source_path/dtc/scripts" "dtc/scripts" > + fi > + fdt_cflags="-I\$(SRC_PATH)/dtc/libfdt" > + fdt_libs="-L\$(BUILD_DIR)/dtc/libfdt $fdt_libs" > + elif test "$fdt" = "yes" ; then > + # have neither and want - prompt for system/submodule install > + error_exit "DTC (libfdt) version >= 1.4.2 not present." \ > + "Please install the DTC (libfdt) devel package" Is the comment accurate, given that the error message doesn't mention a submodule? > + else > + # don't have and don't want > + fdt_libs= > + fdt=no > + fi > fi > fi > > +++ b/scripts/git-submodule.sh > @@ -0,0 +1,31 @@ > +#!/bin/bash > + > +set -e 'set -e' is notoriously awkward to work with, especially if your shell script includes functions. Do we really need it, or can we do proper error checking in place? > + > +command=$1 > +shift > +modules="$@" > + > +test -z "$modules" && exit 0 > + > +if ! test -d ".git" Again, .git doesn't necessarily have to be a directory; test -e may be better. > +then > + echo "$0: unexpectedly called with submodules but no git checkout exists" > + exit 1 > +fi > + > +substat=".git-submodule-status" > + > +case "$command" in > +status) > + test -f "$substat" || exit 1 > + git submodule status $modules > "${substat}.tmp" This is one place where if 'set -e' is not in effect, you need to decide if failure to run the command should cause early exit. > + trap "rm -f ${substat}.tmp" EXIT Don't you want the trap installed one line earlier, before you create the file? > + diff "${substat}" "${substat}.tmp" >/dev/null > + exit $? > + ;; > +update) > + git submodule update --init $modules 1>/dev/null 2>&1 > + git submodule status $modules > "${substat}" > + ;; > +esac > -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 619 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc 2017-09-28 17:58 ` Eric Blake @ 2017-09-29 9:08 ` Daniel P. Berrange 0 siblings, 0 replies; 17+ messages in thread From: Daniel P. Berrange @ 2017-09-29 9:08 UTC (permalink / raw) To: Eric Blake Cc: qemu-devel, Peter Maydell, Fam Zheng, Gerd Hoffmann, Paolo Bonzini On Thu, Sep 28, 2017 at 12:58:32PM -0500, Eric Blake wrote: > On 09/28/2017 07:06 AM, Daniel P. Berrange wrote: > > Currently if DTC is required by configure and not available in the host > > OS install, we exit with an error message telling the user to checkout a > > git submodule or install the library. > > > > This introduces automatic handling of the git submodule checkout process > > and enables it for dtc. This only runs if building from GIT, so users of > > release tarballs still need the system library install. The current state > > of the git checkout is stashed in .git-submodule-status, and a helper > > program is used to determine if this state matches the desired submodule > > state. A dependency against 'Makefile' ensures that the submodule state > > is refreshed at the start of the build process > > > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > > --- > > .gitignore | 1 + > > Makefile | 23 ++++++++++++++++++++++- > > configure | 46 ++++++++++++++++++++++++++-------------------- > > scripts/git-submodule.sh | 31 +++++++++++++++++++++++++++++++ > > 4 files changed, 80 insertions(+), 21 deletions(-) > > create mode 100755 scripts/git-submodule.sh > > > > > +++ b/Makefile > > @@ -14,6 +14,27 @@ ifneq ($(wildcard config-host.mak),) > > all: > > include config-host.mak > > > > +git-submodule-update: > > + > > +.PHONY: git-submodule-update > > + > > +ifeq (0,$(MAKELEVEL)) > > + git_module_status := $(shell \ > > + cd '$(SRC_PATH)'; \ > > Should this be && instead of ;, since I don't know if $(shell) implies > 'set -e' semantics? I don't know either, so lets just use && > > +++ b/configure > > @@ -264,6 +264,7 @@ cc_i386=i386-pc-linux-gnu-gcc > > libs_qga="" > > debug_info="yes" > > stack_protector="" > > +git_submodules="" > > > > # Don't accept a target_list environment variable. > > unset target_list > > @@ -3580,27 +3581,30 @@ EOF > > if compile_prog "" "$fdt_libs" ; then > > # system DTC is good - use it > > fdt=yes > > - elif test -d ${source_path}/dtc/libfdt ; then > ... > > - symlink "$source_path/dtc/Makefile" "dtc/Makefile" > > Old code is inconsistent on whether it quotes the expansion of > $source_path. Given the unquoted usage, we don't support a $source_path > that contains spaces; however... > > > + # have GIT checkout, so activate dtc submodule > > + if test -d ${source_path}/.git ; then > > ...we might as well consistently use quotes in all new code, especially, > since it is already a red flag any time someone does unquoted test -d $foo. Ok, I'll quote everything > > > + git_submodules="${git_submodules} dtc" > > + fi > > + if test -d ${source_path}/dtc/libfdt || test -d ${source_path}/.git ; then > > and again > > .git is not always a directory; it can be a symlink or text file > containing a directory name. It is probably sufficient to just use test > -e instead of test -d. Yep, I'll use -e > > + # have neither and want - prompt for system/submodule install > > + error_exit "DTC (libfdt) version >= 1.4.2 not present." \ > > + "Please install the DTC (libfdt) devel package" > > Is the comment accurate, given that the error message doesn't mention a > submodule? I'll fix the comment > > +++ b/scripts/git-submodule.sh > > @@ -0,0 +1,31 @@ > > +#!/bin/bash > > + > > +set -e > > 'set -e' is notoriously awkward to work with, especially if your shell > script includes functions. Do we really need it, or can we do proper > error checking in place? IMHO using -e leads to simpler code and we've no functions that would trip it up, so its OK. > > + > > +command=$1 > > +shift > > +modules="$@" > > + > > +test -z "$modules" && exit 0 > > + > > +if ! test -d ".git" > > Again, .git doesn't necessarily have to be a directory; test -e may be > better. Yep > > +then > > + echo "$0: unexpectedly called with submodules but no git checkout exists" > > + exit 1 > > +fi > > + > > +substat=".git-submodule-status" > > + > > +case "$command" in > > +status) > > + test -f "$substat" || exit 1 > > + git submodule status $modules > "${substat}.tmp" > > This is one place where if 'set -e' is not in effect, you need to decide > if failure to run the command should cause early exit. > > > + trap "rm -f ${substat}.tmp" EXIT > > Don't you want the trap installed one line earlier, before you create > the file? Opps, yes > > + diff "${substat}" "${substat}.tmp" >/dev/null > > + exit $? > > + ;; > > +update) > > + git submodule update --init $modules 1>/dev/null 2>&1 > > + git submodule status $modules > "${substat}" > > + ;; > > +esac Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc Daniel P. Berrange 2017-09-28 17:58 ` Eric Blake @ 2017-09-28 17:59 ` Eric Blake 2017-09-29 9:09 ` Daniel P. Berrange 1 sibling, 1 reply; 17+ messages in thread From: Eric Blake @ 2017-09-28 17:59 UTC (permalink / raw) To: Daniel P. Berrange, qemu-devel Cc: Peter Maydell, Fam Zheng, Gerd Hoffmann, Paolo Bonzini [-- Attachment #1: Type: text/plain, Size: 1110 bytes --] On 09/28/2017 07:06 AM, Daniel P. Berrange wrote: > Currently if DTC is required by configure and not available in the host > OS install, we exit with an error message telling the user to checkout a > git submodule or install the library. > > This introduces automatic handling of the git submodule checkout process > and enables it for dtc. This only runs if building from GIT, so users of > release tarballs still need the system library install. The current state > of the git checkout is stashed in .git-submodule-status, and a helper > program is used to determine if this state matches the desired submodule > state. A dependency against 'Makefile' ensures that the submodule state > is refreshed at the start of the build process > > +++ b/scripts/git-submodule.sh > @@ -0,0 +1,31 @@ > +#!/bin/bash > + > +set -e New file, but appears not to be covered by MAINTAINERS; that should be fixed. Also, an explicit copyright/license might be needed. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 619 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc 2017-09-28 17:59 ` Eric Blake @ 2017-09-29 9:09 ` Daniel P. Berrange 0 siblings, 0 replies; 17+ messages in thread From: Daniel P. Berrange @ 2017-09-29 9:09 UTC (permalink / raw) To: Eric Blake Cc: qemu-devel, Peter Maydell, Fam Zheng, Gerd Hoffmann, Paolo Bonzini On Thu, Sep 28, 2017 at 12:59:56PM -0500, Eric Blake wrote: > On 09/28/2017 07:06 AM, Daniel P. Berrange wrote: > > Currently if DTC is required by configure and not available in the host > > OS install, we exit with an error message telling the user to checkout a > > git submodule or install the library. > > > > This introduces automatic handling of the git submodule checkout process > > and enables it for dtc. This only runs if building from GIT, so users of > > release tarballs still need the system library install. The current state > > of the git checkout is stashed in .git-submodule-status, and a helper > > program is used to determine if this state matches the desired submodule > > state. A dependency against 'Makefile' ensures that the submodule state > > is refreshed at the start of the build process > > > > > +++ b/scripts/git-submodule.sh > > @@ -0,0 +1,31 @@ > > +#!/bin/bash > > + > > +set -e > > New file, but appears not to be covered by MAINTAINERS; that should be > fixed. Also, an explicit copyright/license might be needed. Yes to both. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH v7 2/6] docker: don't rely on submodules existing in the main checkout 2017-09-28 12:06 [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc Daniel P. Berrange @ 2017-09-28 12:06 ` Daniel P. Berrange 2017-09-28 18:03 ` Eric Blake 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 3/6] ui: add keycodemapdb repository as a GIT submodule Daniel P. Berrange ` (4 subsequent siblings) 6 siblings, 1 reply; 17+ messages in thread From: Daniel P. Berrange @ 2017-09-28 12:06 UTC (permalink / raw) To: qemu-devel Cc: Fam Zheng, Gerd Hoffmann, Peter Maydell, Paolo Bonzini, Daniel P. Berrange When building the tarball to pass into the docker/vm test image, the code relies on the git submodules being checked out in the main checkout. ie if the developer has not run 'git submodule update --init dtc' many of the docker tests will fail due to the libfdt package not being present in the test images. Patchew manually checks out the dtc submodule in the main git checkout, but this is a bad idea. When running tests we want to have a predictable set of submodules included in the source that's tested. The build environment is completely independant of the developers host OS, so the submodules the developer has checked out should not be considered relevant for the tests. This changes the archive-source.sh script so that it clones the current git checkout into a temporary directory, checks out a fixed set of submodules, builds the tarball and finally removes the temporary git clone. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- scripts/archive-source.sh | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh index c4e7d98f4d..0c06af0d00 100755 --- a/scripts/archive-source.sh +++ b/scripts/archive-source.sh @@ -18,9 +18,15 @@ if test $# -lt 1; then error "Usage: $0 <output tarball>" fi -tar_file="$1" -list_file="$1.list" -submodules=$(git submodule foreach --recursive --quiet 'echo $name') +tar_file=`realpath "$1"` +list_file="${tar_file}.list" +vroot_dir="${tar_file}.vroot" + +# We want a predictable list of submodules for builds, that is +# independant of what the developer currently has initialized +# in their checkout, because the build environment is completely +# different to the host OS. +submodules="dtc" if test $? -ne 0; then error "git submodule command failed" @@ -28,6 +34,21 @@ fi trap "status=$?; rm -f \"$list_file\"; exit \$status" 0 1 2 3 15 +if git diff-index --quiet HEAD -- &>/dev/null +then + HEAD=HEAD +else + HEAD=`git stash create` +fi +git clone --shared . "$vroot_dir" +here=`pwd` +cd "$vroot_dir" +git checkout $HEAD + +for sm in $submodules; do + git submodule update --init $sm +done + if test -n "$submodules"; then { git ls-files || error "git ls-files failed" @@ -48,4 +69,7 @@ fi tar -cf "$tar_file" -T "$list_file" || error "failed to create tar file" +cd "$here" +rm -rf "$vroot_dir" + exit 0 -- 2.13.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v7 2/6] docker: don't rely on submodules existing in the main checkout 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 2/6] docker: don't rely on submodules existing in the main checkout Daniel P. Berrange @ 2017-09-28 18:03 ` Eric Blake 2017-09-29 9:14 ` Daniel P. Berrange 0 siblings, 1 reply; 17+ messages in thread From: Eric Blake @ 2017-09-28 18:03 UTC (permalink / raw) To: Daniel P. Berrange, qemu-devel Cc: Peter Maydell, Fam Zheng, Gerd Hoffmann, Paolo Bonzini [-- Attachment #1: Type: text/plain, Size: 2675 bytes --] On 09/28/2017 07:06 AM, Daniel P. Berrange wrote: > When building the tarball to pass into the docker/vm test image, > the code relies on the git submodules being checked out in the > main checkout. > > ie if the developer has not run 'git submodule update --init dtc' > many of the docker tests will fail due to the libfdt package not 'dtc' vs. 'libfdt' - is one of the acronyms wrong? > being present in the test images. Patchew manually checks out the > dtc submodule in the main git checkout, but this is a bad idea. > > When running tests we want to have a predictable set of submodules > included in the source that's tested. The build environment is > completely independant of the developers host OS, so the submodules s/independant/independent/ > the developer has checked out should not be considered relevant for > the tests. > > This changes the archive-source.sh script so that it clones the > current git checkout into a temporary directory, checks out a > fixed set of submodules, builds the tarball and finally removes > the temporary git clone. > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > --- > scripts/archive-source.sh | 30 +++++++++++++++++++++++++++--- > 1 file changed, 27 insertions(+), 3 deletions(-) > > +++ b/scripts/archive-source.sh > +# We want a predictable list of submodules for builds, that is > +# independant of what the developer currently has initialized and again > +# in their checkout, because the build environment is completely > +# different to the host OS. > +submodules="dtc" > > if test $? -ne 0; then > error "git submodule command failed" > @@ -28,6 +34,21 @@ fi > > trap "status=$?; rm -f \"$list_file\"; exit \$status" 0 1 2 3 15 > > +if git diff-index --quiet HEAD -- &>/dev/null > +then > + HEAD=HEAD > +else > + HEAD=`git stash create` > +fi > +git clone --shared . "$vroot_dir" set -e is not in effect; do you need error checking here? > +here=`pwd` $PWD is cheaper than spawning a subprocess for `pwd`. > +cd "$vroot_dir" Definitely need error checking here. > +git checkout $HEAD > + > +for sm in $submodules; do > + git submodule update --init $sm > +done > + > if test -n "$submodules"; then > { > git ls-files || error "git ls-files failed" > @@ -48,4 +69,7 @@ fi > > tar -cf "$tar_file" -T "$list_file" || error "failed to create tar file" > > +cd "$here" and again here > +rm -rf "$vroot_dir" > + > exit 0 > -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 619 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v7 2/6] docker: don't rely on submodules existing in the main checkout 2017-09-28 18:03 ` Eric Blake @ 2017-09-29 9:14 ` Daniel P. Berrange 2017-10-02 12:55 ` Peter Maydell 0 siblings, 1 reply; 17+ messages in thread From: Daniel P. Berrange @ 2017-09-29 9:14 UTC (permalink / raw) To: Eric Blake Cc: qemu-devel, Peter Maydell, Fam Zheng, Gerd Hoffmann, Paolo Bonzini On Thu, Sep 28, 2017 at 01:03:41PM -0500, Eric Blake wrote: > On 09/28/2017 07:06 AM, Daniel P. Berrange wrote: > > When building the tarball to pass into the docker/vm test image, > > the code relies on the git submodules being checked out in the > > main checkout. > > > > ie if the developer has not run 'git submodule update --init dtc' > > many of the docker tests will fail due to the libfdt package not > > 'dtc' vs. 'libfdt' - is one of the acronyms wrong? For reasons I don't understand we called our submodule 'dtc' but it builds a libfdt library. So at least my wording here reflects that mismatch. > > > being present in the test images. Patchew manually checks out the > > dtc submodule in the main git checkout, but this is a bad idea. > > > > When running tests we want to have a predictable set of submodules > > included in the source that's tested. The build environment is > > completely independant of the developers host OS, so the submodules > > s/independant/independent/ > > > the developer has checked out should not be considered relevant for > > the tests. > > > > This changes the archive-source.sh script so that it clones the > > current git checkout into a temporary directory, checks out a > > fixed set of submodules, builds the tarball and finally removes > > the temporary git clone. > > > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > > --- > > scripts/archive-source.sh | 30 +++++++++++++++++++++++++++--- > > 1 file changed, 27 insertions(+), 3 deletions(-) > > > > > +++ b/scripts/archive-source.sh > > > +# We want a predictable list of submodules for builds, that is > > +# independant of what the developer currently has initialized > > and again > > > +# in their checkout, because the build environment is completely > > +# different to the host OS. > > +submodules="dtc" > > > > if test $? -ne 0; then > > error "git submodule command failed" > > @@ -28,6 +34,21 @@ fi > > > > trap "status=$?; rm -f \"$list_file\"; exit \$status" 0 1 2 3 15 > > > > +if git diff-index --quiet HEAD -- &>/dev/null > > +then > > + HEAD=HEAD > > +else > > + HEAD=`git stash create` > > +fi > > +git clone --shared . "$vroot_dir" > > set -e is not in effect; do you need error checking here? Yes we shouldl > > > +here=`pwd` > > $PWD is cheaper than spawning a subprocess for `pwd`. I always forget about $PWD :-) > > +cd "$vroot_dir" > > Definitely need error checking here. Yep > > > +git checkout $HEAD > > + > > +for sm in $submodules; do > > + git submodule update --init $sm And here too > > +done > > + > > if test -n "$submodules"; then > > { > > git ls-files || error "git ls-files failed" > > @@ -48,4 +69,7 @@ fi > > > > tar -cf "$tar_file" -T "$list_file" || error "failed to create tar file" > > > > +cd "$here" > > and again here > > > +rm -rf "$vroot_dir" I can move this into the earlier 'trap' cleanup and remove this need to cd && rm. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v7 2/6] docker: don't rely on submodules existing in the main checkout 2017-09-29 9:14 ` Daniel P. Berrange @ 2017-10-02 12:55 ` Peter Maydell 0 siblings, 0 replies; 17+ messages in thread From: Peter Maydell @ 2017-10-02 12:55 UTC (permalink / raw) To: Daniel P. Berrange Cc: Eric Blake, QEMU Developers, Fam Zheng, Gerd Hoffmann, Paolo Bonzini On 29 September 2017 at 10:14, Daniel P. Berrange <berrange@redhat.com> wrote: > On Thu, Sep 28, 2017 at 01:03:41PM -0500, Eric Blake wrote: >> On 09/28/2017 07:06 AM, Daniel P. Berrange wrote: >> > When building the tarball to pass into the docker/vm test image, >> > the code relies on the git submodules being checked out in the >> > main checkout. >> > >> > ie if the developer has not run 'git submodule update --init dtc' >> > many of the docker tests will fail due to the libfdt package not >> >> 'dtc' vs. 'libfdt' - is one of the acronyms wrong? > > For reasons I don't understand we called our submodule 'dtc' > but it builds a libfdt library. So at least my wording here > reflects that mismatch. 'dtc' is the name of the upstream project, whose sources can build various things; the specific part we want happens to be libfdt. thanks -- PMM ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH v7 3/6] ui: add keycodemapdb repository as a GIT submodule 2017-09-28 12:06 [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc Daniel P. Berrange 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 2/6] docker: don't rely on submodules existing in the main checkout Daniel P. Berrange @ 2017-09-28 12:06 ` Daniel P. Berrange 2017-09-28 18:22 ` Eric Blake 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 4/6] ui: convert common input code to keycodemapdb Daniel P. Berrange ` (3 subsequent siblings) 6 siblings, 1 reply; 17+ messages in thread From: Daniel P. Berrange @ 2017-09-28 12:06 UTC (permalink / raw) To: qemu-devel Cc: Fam Zheng, Gerd Hoffmann, Peter Maydell, Paolo Bonzini, Daniel P. Berrange The https://gitlab.com/keycodemap/keycodemapdb/ repo contains a data file mapping between all the different scancode/keycode/keysym sets that are known, and a tool to auto-generate lookup tables for different combinations. It is used by GTK-VNC, SPICE-GTK and libvirt for mapping keys. Using it in QEMU will let us replace many hand written lookup tables with auto-generated tables from a master data source, reducing bugs. Adding new QKeyCodes will now only require the master table to be updated, all ~20 other tables will be automatically updated to follow. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- .gitignore | 1 + .gitmodules | 3 +++ configure | 8 +++++++- scripts/archive-source.sh | 2 +- ui/Makefile.objs | 18 ++++++++++++++++++ ui/keycodemapdb | 1 + 6 files changed, 31 insertions(+), 2 deletions(-) create mode 160000 ui/keycodemapdb diff --git a/.gitignore b/.gitignore index 06bf972fc3..1eada71afd 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ /trace/generated-tcg-tracers.h /ui/shader/texture-blit-frag.h /ui/shader/texture-blit-vert.h +/ui/input-keymap-*.c *-timestamp /*-softmmu /*-darwin-user diff --git a/.gitmodules b/.gitmodules index 84c54cdc49..f3bbc01f82 100644 --- a/.gitmodules +++ b/.gitmodules @@ -34,3 +34,6 @@ [submodule "roms/QemuMacDrivers"] path = roms/QemuMacDrivers url = git://git.qemu.org/QemuMacDrivers.git +[submodule "ui/keycodemapdb"] + path = ui/keycodemapdb + url = https://gitlab.com/keycodemap/keycodemapdb.git diff --git a/configure b/configure index ed4048f8b2..1aeb09f83f 100755 --- a/configure +++ b/configure @@ -264,7 +264,13 @@ cc_i386=i386-pc-linux-gnu-gcc libs_qga="" debug_info="yes" stack_protector="" -git_submodules="" + +if test -d "$source_path/.git" +then + git_submodules="ui/keycodemapdb" +else + git_submodules="" +fi # Don't accept a target_list environment variable. unset target_list diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh index 0c06af0d00..9c789c5d9c 100755 --- a/scripts/archive-source.sh +++ b/scripts/archive-source.sh @@ -26,7 +26,7 @@ vroot_dir="${tar_file}.vroot" # independant of what the developer currently has initialized # in their checkout, because the build environment is completely # different to the host OS. -submodules="dtc" +submodules="dtc ui/keycodemapdb" if test $? -ne 0; then error "git submodule command failed" diff --git a/ui/Makefile.objs b/ui/Makefile.objs index ec8533d6d9..a930afafe5 100644 --- a/ui/Makefile.objs +++ b/ui/Makefile.objs @@ -50,3 +50,21 @@ gtk-egl.o-libs += $(OPENGL_LIBS) shader.o-libs += $(OPENGL_LIBS) console-gl.o-libs += $(OPENGL_LIBS) egl-helpers.o-libs += $(OPENGL_LIBS) + +KEYCODEMAP_GEN = $(SRC_PATH)/ui/keycodemapdb/tools/keymap-gen +KEYCODEMAP_CSV = $(SRC_PATH)/ui/keycodemapdb/data/keymaps.csv + +KEYCODEMAP_FILES = \ + $(NULL) + +GENERATED_FILES += $(KEYCODEMAP_FILES) + +ui/input-keymap-%.c: $(KEYCODEMAP_GEN) $(KEYCODEMAP_CSV) $(SRC_PATH)/ui/Makefile.objs .git-submodule-status + $(call quiet-command,\ + src=$$(echo $@ | sed -E -e "s,^ui/input-keymap-(.+)-to-(.+)\.c$$,\1,") && \ + dst=$$(echo $@ | sed -E -e "s,^ui/input-keymap-(.+)-to-(.+)\.c$$,\2,") && \ + $(PYTHON) $(KEYCODEMAP_GEN) \ + --lang glib2 \ + --varname qemu_input_map_$${src}_to_$${dst} \ + code-map $(KEYCODEMAP_CSV) $${src} $${dst} \ + > $@ || rm $@, "GEN", "$@") diff --git a/ui/keycodemapdb b/ui/keycodemapdb new file mode 160000 index 0000000000..56ce5650d2 --- /dev/null +++ b/ui/keycodemapdb @@ -0,0 +1 @@ +Subproject commit 56ce5650d2c6ea216b4580df44b9a6dd3bc92c3b -- 2.13.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v7 3/6] ui: add keycodemapdb repository as a GIT submodule 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 3/6] ui: add keycodemapdb repository as a GIT submodule Daniel P. Berrange @ 2017-09-28 18:22 ` Eric Blake 0 siblings, 0 replies; 17+ messages in thread From: Eric Blake @ 2017-09-28 18:22 UTC (permalink / raw) To: Daniel P. Berrange, qemu-devel Cc: Peter Maydell, Fam Zheng, Gerd Hoffmann, Paolo Bonzini [-- Attachment #1: Type: text/plain, Size: 1120 bytes --] On 09/28/2017 07:06 AM, Daniel P. Berrange wrote: > The https://gitlab.com/keycodemap/keycodemapdb/ repo contains a > data file mapping between all the different scancode/keycode/keysym > sets that are known, and a tool to auto-generate lookup tables for > different combinations. > > It is used by GTK-VNC, SPICE-GTK and libvirt for mapping keys. > Using it in QEMU will let us replace many hand written lookup > tables with auto-generated tables from a master data source, > reducing bugs. Adding new QKeyCodes will now only require the > master table to be updated, all ~20 other tables will be > automatically updated to follow. > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > --- > +++ b/configure > @@ -264,7 +264,13 @@ cc_i386=i386-pc-linux-gnu-gcc > libs_qga="" > debug_info="yes" > stack_protector="" > -git_submodules="" > + > +if test -d "$source_path/.git" Again, .git does not have to be a directory; test -e is probably safer. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 619 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH v7 4/6] ui: convert common input code to keycodemapdb 2017-09-28 12:06 [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange ` (2 preceding siblings ...) 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 3/6] ui: add keycodemapdb repository as a GIT submodule Daniel P. Berrange @ 2017-09-28 12:06 ` Daniel P. Berrange 2017-09-28 18:25 ` Eric Blake 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 5/6] ui: convert key events to QKeyCodes immediately Daniel P. Berrange ` (2 subsequent siblings) 6 siblings, 1 reply; 17+ messages in thread From: Daniel P. Berrange @ 2017-09-28 12:06 UTC (permalink / raw) To: qemu-devel Cc: Fam Zheng, Gerd Hoffmann, Peter Maydell, Paolo Bonzini, Daniel P. Berrange Replace the number_to_qcode, qcode_to_number and linux_to_qcode tables with automatically generated tables. Missing entries in linux_to_qcode now fixed: KEY_LINEFEED -> Q_KEY_CODE_LF KEY_KPEQUAL -> Q_KEY_CODE_KP_EQUALS KEY_COMPOSE -> Q_KEY_CODE_COMPOSE KEY_AGAIN -> Q_KEY_CODE_AGAIN KEY_PROPS -> Q_KEY_CODE_PROPS KEY_UNDO -> Q_KEY_CODE_UNDO KEY_FRONT -> Q_KEY_CODE_FRONT KEY_COPY -> Q_KEY_CODE_COPY KEY_OPEN -> Q_KEY_CODE_OPEN KEY_PASTE -> Q_KEY_CODE_PASTE KEY_CUT -> Q_KEY_CODE_CUT KEY_HELP -> Q_KEY_CODE_HELP KEY_MEDIA -> Q_KEY_CODE_MEDIASELECT In additionsome fixes: - KEY_PLAYPAUSE now maps to Q_KEY_CODE_AUDIOPLAY, instead of KEY_PLAYCD. KEY_PLAYPAUSE is defined across almost all scancodes sets, while KEY_PLAYCD only appears in AT set1, so the former is a more useful mapping. Missing entries in qcode_to_number now fixed: Q_KEY_CODE_AGAIN -> 0x85 Q_KEY_CODE_PROPS -> 0x86 Q_KEY_CODE_UNDO -> 0x87 Q_KEY_CODE_FRONT -> 0x8c Q_KEY_CODE_COPY -> 0xf8 Q_KEY_CODE_OPEN -> 0x64 Q_KEY_CODE_PASTE -> 0x65 Q_KEY_CODE_CUT -> 0xbc Q_KEY_CODE_LF -> 0x5b Q_KEY_CODE_HELP -> 0xf5 Q_KEY_CODE_COMPOSE -> 0xdd Q_KEY_CODE_KP_EQUALS -> 0x59 Q_KEY_CODE_MEDIASELECT -> 0xed In addition some fixes: - Q_KEY_CODE_MENU was incorrectly mapped to the compose scancode (0xdd) and is now mapped to 0x9e - Q_KEY_CODE_FIND was mapped to 0xe065 (Search) instead of to 0xe041 (Find) - Q_KEY_CODE_HIRAGANA was mapped to 0x70 (Katakanahiragana) instead of of 0x77 (Hirigana) - Q_KEY_CODE_PRINT was mapped to 0xb7 which is not a defined scan code in AT set 1, it is now mapped to 0x54 (sysrq) Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- include/ui/input.h | 11 +- ui/Makefile.objs | 3 + ui/input-keymap.c | 326 +++-------------------------------------------------- 3 files changed, 28 insertions(+), 312 deletions(-) diff --git a/include/ui/input.h b/include/ui/input.h index c488585def..479cc46cfc 100644 --- a/include/ui/input.h +++ b/include/ui/input.h @@ -43,7 +43,7 @@ void qemu_input_event_send_key(QemuConsole *src, KeyValue *key, bool down); void qemu_input_event_send_key_number(QemuConsole *src, int num, bool down); void qemu_input_event_send_key_qcode(QemuConsole *src, QKeyCode q, bool down); void qemu_input_event_send_key_delay(uint32_t delay_ms); -int qemu_input_key_number_to_qcode(uint8_t nr); +int qemu_input_key_number_to_qcode(unsigned int nr); int qemu_input_key_value_to_number(const KeyValue *value); int qemu_input_key_value_to_qcode(const KeyValue *value); int qemu_input_key_value_to_scancode(const KeyValue *value, bool down, @@ -69,4 +69,13 @@ void qemu_input_check_mode_change(void); void qemu_add_mouse_mode_change_notifier(Notifier *notify); void qemu_remove_mouse_mode_change_notifier(Notifier *notify); +extern const guint qemu_input_map_linux_to_qcode_len; +extern const guint16 qemu_input_map_linux_to_qcode[]; + +extern const guint qemu_input_map_qcode_to_qnum_len; +extern const guint16 qemu_input_map_qcode_to_qnum[]; + +extern const guint qemu_input_map_qnum_to_qcode_len; +extern const guint16 qemu_input_map_qnum_to_qcode[]; + #endif /* INPUT_H */ diff --git a/ui/Makefile.objs b/ui/Makefile.objs index a930afafe5..78d676738f 100644 --- a/ui/Makefile.objs +++ b/ui/Makefile.objs @@ -55,6 +55,9 @@ KEYCODEMAP_GEN = $(SRC_PATH)/ui/keycodemapdb/tools/keymap-gen KEYCODEMAP_CSV = $(SRC_PATH)/ui/keycodemapdb/data/keymaps.csv KEYCODEMAP_FILES = \ + ui/input-keymap-linux-to-qcode.c \ + ui/input-keymap-qcode-to-qnum.c \ + ui/input-keymap-qnum-to-qcode.c \ $(NULL) GENERATED_FILES += $(KEYCODEMAP_FILES) diff --git a/ui/input-keymap.c b/ui/input-keymap.c index cf979c2ce9..3a19a169f5 100644 --- a/ui/input-keymap.c +++ b/ui/input-keymap.c @@ -5,333 +5,37 @@ #include "standard-headers/linux/input.h" -static int linux_to_qcode[KEY_CNT] = { - [KEY_ESC] = Q_KEY_CODE_ESC, - [KEY_1] = Q_KEY_CODE_1, - [KEY_2] = Q_KEY_CODE_2, - [KEY_3] = Q_KEY_CODE_3, - [KEY_4] = Q_KEY_CODE_4, - [KEY_5] = Q_KEY_CODE_5, - [KEY_6] = Q_KEY_CODE_6, - [KEY_7] = Q_KEY_CODE_7, - [KEY_8] = Q_KEY_CODE_8, - [KEY_9] = Q_KEY_CODE_9, - [KEY_0] = Q_KEY_CODE_0, - [KEY_MINUS] = Q_KEY_CODE_MINUS, - [KEY_EQUAL] = Q_KEY_CODE_EQUAL, - [KEY_BACKSPACE] = Q_KEY_CODE_BACKSPACE, - [KEY_TAB] = Q_KEY_CODE_TAB, - [KEY_Q] = Q_KEY_CODE_Q, - [KEY_W] = Q_KEY_CODE_W, - [KEY_E] = Q_KEY_CODE_E, - [KEY_R] = Q_KEY_CODE_R, - [KEY_T] = Q_KEY_CODE_T, - [KEY_Y] = Q_KEY_CODE_Y, - [KEY_U] = Q_KEY_CODE_U, - [KEY_I] = Q_KEY_CODE_I, - [KEY_O] = Q_KEY_CODE_O, - [KEY_P] = Q_KEY_CODE_P, - [KEY_LEFTBRACE] = Q_KEY_CODE_BRACKET_LEFT, - [KEY_RIGHTBRACE] = Q_KEY_CODE_BRACKET_RIGHT, - [KEY_ENTER] = Q_KEY_CODE_RET, - [KEY_LEFTCTRL] = Q_KEY_CODE_CTRL, - [KEY_A] = Q_KEY_CODE_A, - [KEY_S] = Q_KEY_CODE_S, - [KEY_D] = Q_KEY_CODE_D, - [KEY_F] = Q_KEY_CODE_F, - [KEY_G] = Q_KEY_CODE_G, - [KEY_H] = Q_KEY_CODE_H, - [KEY_J] = Q_KEY_CODE_J, - [KEY_K] = Q_KEY_CODE_K, - [KEY_L] = Q_KEY_CODE_L, - [KEY_SEMICOLON] = Q_KEY_CODE_SEMICOLON, - [KEY_APOSTROPHE] = Q_KEY_CODE_APOSTROPHE, - [KEY_GRAVE] = Q_KEY_CODE_GRAVE_ACCENT, - [KEY_LEFTSHIFT] = Q_KEY_CODE_SHIFT, - [KEY_BACKSLASH] = Q_KEY_CODE_BACKSLASH, - [KEY_102ND] = Q_KEY_CODE_LESS, - [KEY_Z] = Q_KEY_CODE_Z, - [KEY_X] = Q_KEY_CODE_X, - [KEY_C] = Q_KEY_CODE_C, - [KEY_V] = Q_KEY_CODE_V, - [KEY_B] = Q_KEY_CODE_B, - [KEY_N] = Q_KEY_CODE_N, - [KEY_M] = Q_KEY_CODE_M, - [KEY_COMMA] = Q_KEY_CODE_COMMA, - [KEY_DOT] = Q_KEY_CODE_DOT, - [KEY_SLASH] = Q_KEY_CODE_SLASH, - [KEY_RIGHTSHIFT] = Q_KEY_CODE_SHIFT_R, - [KEY_LEFTALT] = Q_KEY_CODE_ALT, - [KEY_SPACE] = Q_KEY_CODE_SPC, - [KEY_CAPSLOCK] = Q_KEY_CODE_CAPS_LOCK, - [KEY_F1] = Q_KEY_CODE_F1, - [KEY_F2] = Q_KEY_CODE_F2, - [KEY_F3] = Q_KEY_CODE_F3, - [KEY_F4] = Q_KEY_CODE_F4, - [KEY_F5] = Q_KEY_CODE_F5, - [KEY_F6] = Q_KEY_CODE_F6, - [KEY_F7] = Q_KEY_CODE_F7, - [KEY_F8] = Q_KEY_CODE_F8, - [KEY_F9] = Q_KEY_CODE_F9, - [KEY_F10] = Q_KEY_CODE_F10, - [KEY_NUMLOCK] = Q_KEY_CODE_NUM_LOCK, - [KEY_SCROLLLOCK] = Q_KEY_CODE_SCROLL_LOCK, - [KEY_KP0] = Q_KEY_CODE_KP_0, - [KEY_KP1] = Q_KEY_CODE_KP_1, - [KEY_KP2] = Q_KEY_CODE_KP_2, - [KEY_KP3] = Q_KEY_CODE_KP_3, - [KEY_KP4] = Q_KEY_CODE_KP_4, - [KEY_KP5] = Q_KEY_CODE_KP_5, - [KEY_KP6] = Q_KEY_CODE_KP_6, - [KEY_KP7] = Q_KEY_CODE_KP_7, - [KEY_KP8] = Q_KEY_CODE_KP_8, - [KEY_KP9] = Q_KEY_CODE_KP_9, - [KEY_KPMINUS] = Q_KEY_CODE_KP_SUBTRACT, - [KEY_KPPLUS] = Q_KEY_CODE_KP_ADD, - [KEY_KPDOT] = Q_KEY_CODE_KP_DECIMAL, - [KEY_KPENTER] = Q_KEY_CODE_KP_ENTER, - [KEY_KPSLASH] = Q_KEY_CODE_KP_DIVIDE, - [KEY_KPASTERISK] = Q_KEY_CODE_KP_MULTIPLY, - [KEY_F11] = Q_KEY_CODE_F11, - [KEY_F12] = Q_KEY_CODE_F12, - [KEY_RO] = Q_KEY_CODE_RO, - [KEY_HIRAGANA] = Q_KEY_CODE_HIRAGANA, - [KEY_HENKAN] = Q_KEY_CODE_HENKAN, - [KEY_RIGHTCTRL] = Q_KEY_CODE_CTRL_R, - [KEY_SYSRQ] = Q_KEY_CODE_SYSRQ, - [KEY_RIGHTALT] = Q_KEY_CODE_ALT_R, - [KEY_HOME] = Q_KEY_CODE_HOME, - [KEY_UP] = Q_KEY_CODE_UP, - [KEY_PAGEUP] = Q_KEY_CODE_PGUP, - [KEY_LEFT] = Q_KEY_CODE_LEFT, - [KEY_RIGHT] = Q_KEY_CODE_RIGHT, - [KEY_END] = Q_KEY_CODE_END, - [KEY_DOWN] = Q_KEY_CODE_DOWN, - [KEY_PAGEDOWN] = Q_KEY_CODE_PGDN, - [KEY_INSERT] = Q_KEY_CODE_INSERT, - [KEY_DELETE] = Q_KEY_CODE_DELETE, - [KEY_POWER] = Q_KEY_CODE_POWER, - [KEY_KPCOMMA] = Q_KEY_CODE_KP_COMMA, - [KEY_YEN] = Q_KEY_CODE_YEN, - [KEY_LEFTMETA] = Q_KEY_CODE_META_L, - [KEY_RIGHTMETA] = Q_KEY_CODE_META_R, - [KEY_MENU] = Q_KEY_CODE_MENU, - [KEY_PAUSE] = Q_KEY_CODE_PAUSE, - - [KEY_SLEEP] = Q_KEY_CODE_SLEEP, - [KEY_WAKEUP] = Q_KEY_CODE_WAKE, - [KEY_CALC] = Q_KEY_CODE_CALCULATOR, - [KEY_MAIL] = Q_KEY_CODE_MAIL, - [KEY_COMPUTER] = Q_KEY_CODE_COMPUTER, - - [KEY_STOP] = Q_KEY_CODE_STOP, - [KEY_BOOKMARKS] = Q_KEY_CODE_AC_BOOKMARKS, - [KEY_BACK] = Q_KEY_CODE_AC_BACK, - [KEY_FORWARD] = Q_KEY_CODE_AC_FORWARD, - [KEY_HOMEPAGE] = Q_KEY_CODE_AC_HOME, - [KEY_REFRESH] = Q_KEY_CODE_AC_REFRESH, - [KEY_FIND] = Q_KEY_CODE_FIND, - - [KEY_NEXTSONG] = Q_KEY_CODE_AUDIONEXT, - [KEY_PREVIOUSSONG] = Q_KEY_CODE_AUDIOPREV, - [KEY_STOPCD] = Q_KEY_CODE_AUDIOSTOP, - [KEY_PLAYCD] = Q_KEY_CODE_AUDIOPLAY, - [KEY_MUTE] = Q_KEY_CODE_AUDIOMUTE, - [KEY_VOLUMEDOWN] = Q_KEY_CODE_VOLUMEDOWN, - [KEY_VOLUMEUP] = Q_KEY_CODE_VOLUMEUP, -}; - -static const int qcode_to_number[] = { - [Q_KEY_CODE_SHIFT] = 0x2a, - [Q_KEY_CODE_SHIFT_R] = 0x36, - - [Q_KEY_CODE_ALT] = 0x38, - [Q_KEY_CODE_ALT_R] = 0xb8, - [Q_KEY_CODE_CTRL] = 0x1d, - [Q_KEY_CODE_CTRL_R] = 0x9d, - - [Q_KEY_CODE_META_L] = 0xdb, - [Q_KEY_CODE_META_R] = 0xdc, - [Q_KEY_CODE_MENU] = 0xdd, - - [Q_KEY_CODE_ESC] = 0x01, - - [Q_KEY_CODE_1] = 0x02, - [Q_KEY_CODE_2] = 0x03, - [Q_KEY_CODE_3] = 0x04, - [Q_KEY_CODE_4] = 0x05, - [Q_KEY_CODE_5] = 0x06, - [Q_KEY_CODE_6] = 0x07, - [Q_KEY_CODE_7] = 0x08, - [Q_KEY_CODE_8] = 0x09, - [Q_KEY_CODE_9] = 0x0a, - [Q_KEY_CODE_0] = 0x0b, - [Q_KEY_CODE_MINUS] = 0x0c, - [Q_KEY_CODE_EQUAL] = 0x0d, - [Q_KEY_CODE_BACKSPACE] = 0x0e, - - [Q_KEY_CODE_TAB] = 0x0f, - [Q_KEY_CODE_Q] = 0x10, - [Q_KEY_CODE_W] = 0x11, - [Q_KEY_CODE_E] = 0x12, - [Q_KEY_CODE_R] = 0x13, - [Q_KEY_CODE_T] = 0x14, - [Q_KEY_CODE_Y] = 0x15, - [Q_KEY_CODE_U] = 0x16, - [Q_KEY_CODE_I] = 0x17, - [Q_KEY_CODE_O] = 0x18, - [Q_KEY_CODE_P] = 0x19, - [Q_KEY_CODE_BRACKET_LEFT] = 0x1a, - [Q_KEY_CODE_BRACKET_RIGHT] = 0x1b, - [Q_KEY_CODE_RET] = 0x1c, - - [Q_KEY_CODE_A] = 0x1e, - [Q_KEY_CODE_S] = 0x1f, - [Q_KEY_CODE_D] = 0x20, - [Q_KEY_CODE_F] = 0x21, - [Q_KEY_CODE_G] = 0x22, - [Q_KEY_CODE_H] = 0x23, - [Q_KEY_CODE_J] = 0x24, - [Q_KEY_CODE_K] = 0x25, - [Q_KEY_CODE_L] = 0x26, - [Q_KEY_CODE_SEMICOLON] = 0x27, - [Q_KEY_CODE_APOSTROPHE] = 0x28, - [Q_KEY_CODE_GRAVE_ACCENT] = 0x29, - - [Q_KEY_CODE_BACKSLASH] = 0x2b, - [Q_KEY_CODE_Z] = 0x2c, - [Q_KEY_CODE_X] = 0x2d, - [Q_KEY_CODE_C] = 0x2e, - [Q_KEY_CODE_V] = 0x2f, - [Q_KEY_CODE_B] = 0x30, - [Q_KEY_CODE_N] = 0x31, - [Q_KEY_CODE_M] = 0x32, - [Q_KEY_CODE_COMMA] = 0x33, - [Q_KEY_CODE_DOT] = 0x34, - [Q_KEY_CODE_SLASH] = 0x35, - - [Q_KEY_CODE_ASTERISK] = 0x37, - - [Q_KEY_CODE_SPC] = 0x39, - [Q_KEY_CODE_CAPS_LOCK] = 0x3a, - [Q_KEY_CODE_F1] = 0x3b, - [Q_KEY_CODE_F2] = 0x3c, - [Q_KEY_CODE_F3] = 0x3d, - [Q_KEY_CODE_F4] = 0x3e, - [Q_KEY_CODE_F5] = 0x3f, - [Q_KEY_CODE_F6] = 0x40, - [Q_KEY_CODE_F7] = 0x41, - [Q_KEY_CODE_F8] = 0x42, - [Q_KEY_CODE_F9] = 0x43, - [Q_KEY_CODE_F10] = 0x44, - [Q_KEY_CODE_NUM_LOCK] = 0x45, - [Q_KEY_CODE_SCROLL_LOCK] = 0x46, - - [Q_KEY_CODE_KP_DIVIDE] = 0xb5, - [Q_KEY_CODE_KP_MULTIPLY] = 0x37, - [Q_KEY_CODE_KP_SUBTRACT] = 0x4a, - [Q_KEY_CODE_KP_ADD] = 0x4e, - [Q_KEY_CODE_KP_ENTER] = 0x9c, - [Q_KEY_CODE_KP_DECIMAL] = 0x53, - [Q_KEY_CODE_SYSRQ] = 0x54, - [Q_KEY_CODE_PAUSE] = 0xc6, - - [Q_KEY_CODE_KP_0] = 0x52, - [Q_KEY_CODE_KP_1] = 0x4f, - [Q_KEY_CODE_KP_2] = 0x50, - [Q_KEY_CODE_KP_3] = 0x51, - [Q_KEY_CODE_KP_4] = 0x4b, - [Q_KEY_CODE_KP_5] = 0x4c, - [Q_KEY_CODE_KP_6] = 0x4d, - [Q_KEY_CODE_KP_7] = 0x47, - [Q_KEY_CODE_KP_8] = 0x48, - [Q_KEY_CODE_KP_9] = 0x49, - - [Q_KEY_CODE_LESS] = 0x56, - - [Q_KEY_CODE_F11] = 0x57, - [Q_KEY_CODE_F12] = 0x58, - - [Q_KEY_CODE_PRINT] = 0xb7, - - [Q_KEY_CODE_HOME] = 0xc7, - [Q_KEY_CODE_PGUP] = 0xc9, - [Q_KEY_CODE_PGDN] = 0xd1, - [Q_KEY_CODE_END] = 0xcf, - - [Q_KEY_CODE_LEFT] = 0xcb, - [Q_KEY_CODE_UP] = 0xc8, - [Q_KEY_CODE_DOWN] = 0xd0, - [Q_KEY_CODE_RIGHT] = 0xcd, - - [Q_KEY_CODE_INSERT] = 0xd2, - [Q_KEY_CODE_DELETE] = 0xd3, - - [Q_KEY_CODE_RO] = 0x73, - [Q_KEY_CODE_HIRAGANA] = 0x70, - [Q_KEY_CODE_HENKAN] = 0x79, - [Q_KEY_CODE_POWER] = 0xde, - [Q_KEY_CODE_YEN] = 0x7d, - [Q_KEY_CODE_KP_COMMA] = 0x7e, - - [Q_KEY_CODE_SLEEP] = 0xdf, - [Q_KEY_CODE_WAKE] = 0xe3, - [Q_KEY_CODE_CALCULATOR] = 0xa1, - [Q_KEY_CODE_MAIL] = 0xec, - [Q_KEY_CODE_COMPUTER] = 0xeb, - - [Q_KEY_CODE_STOP] = 0xe8, - [Q_KEY_CODE_AC_BOOKMARKS] = 0xe6, - [Q_KEY_CODE_AC_BACK] = 0xea, - [Q_KEY_CODE_AC_FORWARD] = 0xe9, - [Q_KEY_CODE_AC_HOME] = 0xb2, - [Q_KEY_CODE_AC_REFRESH] = 0xe7, - [Q_KEY_CODE_FIND] = 0xe5, - - [Q_KEY_CODE_AUDIONEXT] = 0x99, - [Q_KEY_CODE_AUDIOPREV] = 0x90, - [Q_KEY_CODE_AUDIOSTOP] = 0xa4, - [Q_KEY_CODE_AUDIOPLAY] = 0xa2, - [Q_KEY_CODE_AUDIOMUTE] = 0xa0, - [Q_KEY_CODE_VOLUMEDOWN] = 0xae, - [Q_KEY_CODE_VOLUMEUP] = 0xb0, - - [Q_KEY_CODE__MAX] = 0, -}; - -static int number_to_qcode[0x100]; +#include "ui/input-keymap-linux-to-qcode.c" +#include "ui/input-keymap-qcode-to-qnum.c" +#include "ui/input-keymap-qnum-to-qcode.c" int qemu_input_linux_to_qcode(unsigned int lnx) { - assert(lnx < KEY_CNT); - return linux_to_qcode[lnx]; + if (lnx >= qemu_input_map_linux_to_qcode_len) { + return 0; + } + return qemu_input_map_linux_to_qcode[lnx]; } int qemu_input_key_value_to_number(const KeyValue *value) { if (value->type == KEY_VALUE_KIND_QCODE) { - return qcode_to_number[value->u.qcode.data]; + if (value->u.qcode.data >= qemu_input_map_qcode_to_qnum_len) { + return 0; + } + return qemu_input_map_qcode_to_qnum[value->u.qcode.data]; } else { assert(value->type == KEY_VALUE_KIND_NUMBER); return value->u.number.data; } } -int qemu_input_key_number_to_qcode(uint8_t nr) +int qemu_input_key_number_to_qcode(unsigned int nr) { - static int first = true; - - if (first) { - int qcode, number; - first = false; - for (qcode = 0; qcode < Q_KEY_CODE__MAX; qcode++) { - number = qcode_to_number[qcode]; - assert(number < ARRAY_SIZE(number_to_qcode)); - number_to_qcode[number] = qcode; - } + if (nr >= qemu_input_map_qnum_to_qcode_len) { + return 0; } - - return number_to_qcode[nr]; + return qemu_input_map_qnum_to_qcode[nr]; } int qemu_input_key_value_to_qcode(const KeyValue *value) -- 2.13.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v7 4/6] ui: convert common input code to keycodemapdb 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 4/6] ui: convert common input code to keycodemapdb Daniel P. Berrange @ 2017-09-28 18:25 ` Eric Blake 0 siblings, 0 replies; 17+ messages in thread From: Eric Blake @ 2017-09-28 18:25 UTC (permalink / raw) To: Daniel P. Berrange, qemu-devel Cc: Peter Maydell, Fam Zheng, Gerd Hoffmann, Paolo Bonzini [-- Attachment #1: Type: text/plain, Size: 1787 bytes --] On 09/28/2017 07:06 AM, Daniel P. Berrange wrote: > Replace the number_to_qcode, qcode_to_number and linux_to_qcode > tables with automatically generated tables. > > Missing entries in linux_to_qcode now fixed: > > KEY_LINEFEED -> Q_KEY_CODE_LF > KEY_KPEQUAL -> Q_KEY_CODE_KP_EQUALS > KEY_COMPOSE -> Q_KEY_CODE_COMPOSE > KEY_AGAIN -> Q_KEY_CODE_AGAIN > KEY_PROPS -> Q_KEY_CODE_PROPS > KEY_UNDO -> Q_KEY_CODE_UNDO > KEY_FRONT -> Q_KEY_CODE_FRONT > KEY_COPY -> Q_KEY_CODE_COPY > KEY_OPEN -> Q_KEY_CODE_OPEN > KEY_PASTE -> Q_KEY_CODE_PASTE > KEY_CUT -> Q_KEY_CODE_CUT > KEY_HELP -> Q_KEY_CODE_HELP > KEY_MEDIA -> Q_KEY_CODE_MEDIASELECT > > In additionsome fixes: s/additionsome/addition, some/ > > - KEY_PLAYPAUSE now maps to Q_KEY_CODE_AUDIOPLAY, instead of > KEY_PLAYCD. KEY_PLAYPAUSE is defined across almost all scancodes > sets, while KEY_PLAYCD only appears in AT set1, so the former is > a more useful mapping. > > Missing entries in qcode_to_number now fixed: > > Q_KEY_CODE_AGAIN -> 0x85 > Q_KEY_CODE_PROPS -> 0x86 > Q_KEY_CODE_UNDO -> 0x87 > Q_KEY_CODE_FRONT -> 0x8c > Q_KEY_CODE_COPY -> 0xf8 > Q_KEY_CODE_OPEN -> 0x64 > Q_KEY_CODE_PASTE -> 0x65 > Q_KEY_CODE_CUT -> 0xbc > Q_KEY_CODE_LF -> 0x5b > Q_KEY_CODE_HELP -> 0xf5 > Q_KEY_CODE_COMPOSE -> 0xdd > Q_KEY_CODE_KP_EQUALS -> 0x59 > Q_KEY_CODE_MEDIASELECT -> 0xed > > In addition some fixes: Hmm - inconsistent with my suggestion above with regards to comma usage; I think this is one scenario in English where you can get away without the comma, even though I would use it. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 619 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH v7 5/6] ui: convert key events to QKeyCodes immediately 2017-09-28 12:06 [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange ` (3 preceding siblings ...) 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 4/6] ui: convert common input code to keycodemapdb Daniel P. Berrange @ 2017-09-28 12:06 ` Daniel P. Berrange 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 6/6] ui: don't export qemu_input_event_new_key Daniel P. Berrange 2017-09-28 12:20 ` [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule no-reply 6 siblings, 0 replies; 17+ messages in thread From: Daniel P. Berrange @ 2017-09-28 12:06 UTC (permalink / raw) To: qemu-devel Cc: Fam Zheng, Gerd Hoffmann, Peter Maydell, Paolo Bonzini, Daniel P. Berrange Always use QKeyCode in the InputKeyEvent struct, by converting key numbers to QKeyCode at the time the event is created. This allows the code processing / consuming key events to assume QKeyCode is used. The only place we accept a key number in the InputKeyEvent struct is with QMP commands sent by the user. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- ui/input.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/ui/input.c b/ui/input.c index 3422d4a8ef..4b241aa823 100644 --- a/ui/input.c +++ b/ui/input.c @@ -157,9 +157,16 @@ void qmp_input_send_event(bool has_device, const char *device, } for (e = events; e != NULL; e = e->next) { - InputEvent *event = e->value; - - qemu_input_event_send(con, event); + InputEvent *evt = e->value; + + if (evt->type == INPUT_EVENT_KIND_KEY && + evt->u.key.data->key->type == KEY_VALUE_KIND_NUMBER) { + KeyValue *key = evt->u.key.data->key; + QKeyCode code = qemu_input_key_number_to_qcode(key->u.qcode.data); + qemu_input_event_send_key_qcode(con, code, evt->u.key.data->down); + } else { + qemu_input_event_send(con, evt); + } } qemu_input_event_sync(); @@ -341,6 +348,11 @@ void qemu_input_event_send_impl(QemuConsole *src, InputEvent *evt) void qemu_input_event_send(QemuConsole *src, InputEvent *evt) { + /* Expect all parts of QEMU to send events with QCodes exclusively. + * Key numbers are only supported as end-user input via QMP */ + assert(!(evt->type == INPUT_EVENT_KIND_KEY && + evt->u.key.data->key->type == KEY_VALUE_KIND_NUMBER)); + if (!runstate_is_running() && !runstate_check(RUN_STATE_SUSPENDED)) { return; } @@ -400,10 +412,8 @@ void qemu_input_event_send_key(QemuConsole *src, KeyValue *key, bool down) void qemu_input_event_send_key_number(QemuConsole *src, int num, bool down) { - KeyValue *key = g_new0(KeyValue, 1); - key->type = KEY_VALUE_KIND_NUMBER; - key->u.number.data = num; - qemu_input_event_send_key(src, key, down); + QKeyCode code = qemu_input_key_number_to_qcode(num); + qemu_input_event_send_key_qcode(src, code, down); } void qemu_input_event_send_key_qcode(QemuConsole *src, QKeyCode q, bool down) -- 2.13.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH v7 6/6] ui: don't export qemu_input_event_new_key 2017-09-28 12:06 [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange ` (4 preceding siblings ...) 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 5/6] ui: convert key events to QKeyCodes immediately Daniel P. Berrange @ 2017-09-28 12:06 ` Daniel P. Berrange 2017-09-28 12:20 ` [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule no-reply 6 siblings, 0 replies; 17+ messages in thread From: Daniel P. Berrange @ 2017-09-28 12:06 UTC (permalink / raw) To: qemu-devel Cc: Fam Zheng, Gerd Hoffmann, Peter Maydell, Paolo Bonzini, Daniel P. Berrange All public code should use qemu_input_event_send_key* functions instead of creating an event directly. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- include/ui/input.h | 1 - ui/input.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/include/ui/input.h b/include/ui/input.h index 479cc46cfc..f8cee43f65 100644 --- a/include/ui/input.h +++ b/include/ui/input.h @@ -38,7 +38,6 @@ void qemu_input_event_send_impl(QemuConsole *src, InputEvent *evt); void qemu_input_event_sync(void); void qemu_input_event_sync_impl(void); -InputEvent *qemu_input_event_new_key(KeyValue *key, bool down); void qemu_input_event_send_key(QemuConsole *src, KeyValue *key, bool down); void qemu_input_event_send_key_number(QemuConsole *src, int num, bool down); void qemu_input_event_send_key_qcode(QemuConsole *src, QKeyCode q, bool down); diff --git a/ui/input.c b/ui/input.c index 4b241aa823..290b47354a 100644 --- a/ui/input.c +++ b/ui/input.c @@ -386,7 +386,7 @@ void qemu_input_event_sync(void) replay_input_sync_event(); } -InputEvent *qemu_input_event_new_key(KeyValue *key, bool down) +static InputEvent *qemu_input_event_new_key(KeyValue *key, bool down) { InputEvent *evt = g_new0(InputEvent, 1); evt->u.key.data = g_new0(InputKeyEvent, 1); -- 2.13.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule 2017-09-28 12:06 [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange ` (5 preceding siblings ...) 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 6/6] ui: don't export qemu_input_event_new_key Daniel P. Berrange @ 2017-09-28 12:20 ` no-reply 6 siblings, 0 replies; 17+ messages in thread From: no-reply @ 2017-09-28 12:20 UTC (permalink / raw) To: berrange; +Cc: famz, qemu-devel, peter.maydell Hi, This series failed build test on s390x host. Please find the details below. Type: series Subject: [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule Message-id: 20170928120621.30288-1-berrange@redhat.com === TEST SCRIPT BEGIN === #!/bin/bash # Testing script will be invoked under the git checkout with # HEAD pointing to a commit that has the patches applied on top of "base" # branch set -e echo "=== ENV ===" env echo "=== PACKAGES ===" rpm -qa echo "=== TEST BEGIN ===" CC=$HOME/bin/cc INSTALL=$PWD/install BUILD=$PWD/build echo -n "Using CC: " realpath $CC mkdir -p $BUILD $INSTALL SRC=$PWD cd $BUILD $SRC/configure --cc=$CC --prefix=$INSTALL make -j4 # XXX: we need reliable clean up # make check -j4 V=1 make install === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu * [new tag] patchew/20170928120621.30288-1-berrange@redhat.com -> patchew/20170928120621.30288-1-berrange@redhat.com Switched to a new branch 'test' cf49447 ui: don't export qemu_input_event_new_key 8538927 ui: convert key events to QKeyCodes immediately 9f29dd5 ui: convert common input code to keycodemapdb 63f62d7 ui: add keycodemapdb repository as a GIT submodule ff8cde8 docker: don't rely on submodules existing in the main checkout e4a684c build: automatically handle GIT submodule checkout for dtc === OUTPUT BEGIN === === ENV === XDG_SESSION_ID=22623 SHELL=/bin/sh USER=fam PATCHEW=/home/fam/patchew/patchew-cli -s http://patchew.org --nodebug PATH=/usr/bin:/bin PWD=/var/tmp/patchew-tester-tmp-aq1e3h5o/src LANG=en_US.UTF-8 HOME=/home/fam SHLVL=2 LOGNAME=fam DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1012/bus XDG_RUNTIME_DIR=/run/user/1012 _=/usr/bin/env === PACKAGES === gpg-pubkey-873529b8-54e386ff xz-libs-5.2.2-2.fc24.s390x libxshmfence-1.2-3.fc24.s390x giflib-4.1.6-15.fc24.s390x trousers-lib-0.3.13-6.fc24.s390x ncurses-base-6.0-6.20160709.fc25.noarch gmp-6.1.1-1.fc25.s390x libidn-1.33-1.fc25.s390x slang-2.3.0-7.fc25.s390x pkgconfig-0.29.1-1.fc25.s390x alsa-lib-1.1.1-2.fc25.s390x yum-metadata-parser-1.1.4-17.fc25.s390x python3-slip-dbus-0.6.4-4.fc25.noarch python2-cssselect-0.9.2-1.fc25.noarch createrepo_c-libs-0.10.0-6.fc25.s390x initscripts-9.69-1.fc25.s390x parted-3.2-21.fc25.s390x flex-2.6.0-3.fc25.s390x colord-libs-1.3.4-1.fc25.s390x python-osbs-client-0.33-3.fc25.noarch perl-Pod-Simple-3.35-1.fc25.noarch python2-simplejson-3.10.0-1.fc25.s390x brltty-5.4-2.fc25.s390x librados2-10.2.4-2.fc25.s390x tcp_wrappers-7.6-83.fc25.s390x libcephfs_jni1-10.2.4-2.fc25.s390x nettle-devel-3.3-1.fc25.s390x bzip2-devel-1.0.6-21.fc25.s390x libuuid-2.28.2-2.fc25.s390x python3-dnf-1.1.10-6.fc25.noarch texlive-kpathsea-doc-svn41139-33.fc25.1.noarch openssh-7.4p1-4.fc25.s390x texlive-kpathsea-bin-svn40473-33.20160520.fc25.1.s390x texlive-graphics-svn41015-33.fc25.1.noarch texlive-dvipdfmx-def-svn40328-33.fc25.1.noarch texlive-mfware-svn40768-33.fc25.1.noarch texlive-texlive-scripts-svn41433-33.fc25.1.noarch texlive-euro-svn22191.1.1-33.fc25.1.noarch texlive-etex-svn37057.0-33.fc25.1.noarch texlive-iftex-svn29654.0.2-33.fc25.1.noarch texlive-palatino-svn31835.0-33.fc25.1.noarch texlive-texlive-docindex-svn41430-33.fc25.1.noarch texlive-xunicode-svn30466.0.981-33.fc25.1.noarch texlive-koma-script-svn41508-33.fc25.1.noarch texlive-pst-grad-svn15878.1.06-33.fc25.1.noarch texlive-pst-blur-svn15878.2.0-33.fc25.1.noarch texlive-jknapltx-svn19440.0-33.fc25.1.noarch texinfo-6.1-4.fc25.s390x openssl-devel-1.0.2k-1.fc25.s390x jansson-2.10-2.fc25.s390x fedora-repos-25-4.noarch perl-Errno-1.25-387.fc25.s390x acl-2.2.52-13.fc25.s390x systemd-pam-231-17.fc25.s390x NetworkManager-libnm-1.4.4-5.fc25.s390x poppler-0.45.0-5.fc25.s390x ccache-3.3.4-1.fc25.s390x valgrind-3.12.0-9.fc25.s390x perl-open-1.10-387.fc25.noarch libgcc-6.4.1-1.fc25.s390x libsoup-2.56.1-1.fc25.s390x libstdc++-devel-6.4.1-1.fc25.s390x libobjc-6.4.1-1.fc25.s390x python2-rpm-4.13.0.1-2.fc25.s390x python2-gluster-3.10.5-1.fc25.s390x rpm-build-4.13.0.1-2.fc25.s390x glibc-static-2.24-10.fc25.s390x lz4-1.8.0-1.fc25.s390x xapian-core-libs-1.2.24-1.fc25.s390x elfutils-libelf-devel-0.169-1.fc25.s390x nss-softokn-3.32.0-1.2.fc25.s390x pango-1.40.9-1.fc25.s390x glibc-debuginfo-common-2.24-10.fc25.s390x libaio-0.3.110-6.fc24.s390x libfontenc-1.1.3-3.fc24.s390x lzo-2.08-8.fc24.s390x isl-0.14-5.fc24.s390x libXau-1.0.8-6.fc24.s390x linux-atm-libs-2.5.1-14.fc24.s390x libXext-1.3.3-4.fc24.s390x libXxf86vm-1.1.4-3.fc24.s390x bison-3.0.4-4.fc24.s390x perl-srpm-macros-1-20.fc25.noarch gawk-4.1.3-8.fc25.s390x libwayland-client-1.12.0-1.fc25.s390x perl-Exporter-5.72-366.fc25.noarch perl-version-0.99.17-1.fc25.s390x fftw-libs-double-3.3.5-3.fc25.s390x libssh2-1.8.0-1.fc25.s390x ModemManager-glib-1.6.4-1.fc25.s390x newt-python3-0.52.19-2.fc25.s390x python-munch-2.0.4-3.fc25.noarch python-bugzilla-1.2.2-4.fc25.noarch libedit-3.1-16.20160618cvs.fc25.s390x createrepo_c-0.10.0-6.fc25.s390x device-mapper-multipath-libs-0.4.9-83.fc25.s390x yum-3.4.3-510.fc25.noarch mozjs17-17.0.0-16.fc25.s390x libselinux-2.5-13.fc25.s390x python2-pyparsing-2.1.10-1.fc25.noarch cairo-gobject-1.14.8-1.fc25.s390x xorg-x11-proto-devel-7.7-20.fc25.noarch brlapi-0.6.5-2.fc25.s390x librados-devel-10.2.4-2.fc25.s390x libXinerama-devel-1.1.3-6.fc24.s390x lua-posix-33.3.1-3.fc25.s390x usbredir-devel-0.7.1-2.fc24.s390x python3-dnf-plugins-core-0.1.21-5.fc25.noarch texlive-pdftex-doc-svn41149-33.fc25.1.noarch openssh-clients-7.4p1-4.fc25.s390x iptables-1.6.0-3.fc25.s390x texlive-texlive.infra-svn41280-33.fc25.1.noarch texlive-graphics-cfg-svn40269-33.fc25.1.noarch texlive-bibtex-svn40768-33.fc25.1.noarch texlive-mfware-bin-svn40473-33.20160520.fc25.1.s390x texlive-texlive-scripts-bin-svn29741.0-33.20160520.fc25.1.noarch texlive-sauerj-svn15878.0-33.fc25.1.noarch texlive-enctex-svn34957.0-33.fc25.1.noarch texlive-ifetex-svn24853.1.2-33.fc25.1.noarch texlive-ntgclass-svn15878.2.1a-33.fc25.1.noarch texlive-tex-gyre-math-svn41264-33.fc25.1.noarch texlive-bera-svn20031.0-33.fc25.1.noarch texlive-ms-svn29849.0-33.fc25.1.noarch texlive-pst-fill-svn15878.1.01-33.fc25.1.noarch texlive-ctable-svn38672-33.fc25.1.noarch texlive-extsizes-svn17263.1.4a-33.fc25.1.noarch texlive-collection-latexrecommended-svn35765.0-33.20160520.fc25.1.noarch perl-Filter-1.57-1.fc25.s390x python2-rpm-macros-3-12.fc25.noarch gdbm-1.13-1.fc25.s390x libtasn1-4.12-1.fc25.s390x fedora-release-25-2.noarch gdb-headless-7.12.1-48.fc25.s390x perl-macros-5.24.2-387.fc25.s390x pcre-devel-8.41-1.fc25.s390x libX11-1.6.5-1.fc25.s390x coreutils-8.25-17.fc25.s390x python2-openidc-client-0-3.20170523git77cb3ee.fc25.noarch systemtap-client-3.1-5.fc25.s390x firewalld-0.4.4.5-1.fc25.noarch glibc-2.24-10.fc25.s390x libglvnd-egl-0.2.999-24.20170818git8d4d03f.fc25.s390x libkadm5-1.14.4-8.fc25.s390x glusterfs-fuse-3.10.5-1.fc25.s390x libgfortran-6.4.1-1.fc25.s390x python3-rpm-4.13.0.1-2.fc25.s390x glusterfs-extra-xlators-3.10.5-1.fc25.s390x dracut-config-rescue-046-2.git20170811.fc25.s390x python2-sphinx-theme-alabaster-0.7.9-1.fc25.noarch elfutils-devel-0.169-1.fc25.s390x nss-3.32.0-1.1.fc25.s390x pango-devel-1.40.9-1.fc25.s390x glibc-debuginfo-2.24-10.fc25.s390x gpg-pubkey-efe550f5-5220ba41 gpg-pubkey-81b46521-55b3ca9a filesystem-3.2-37.fc24.s390x libffi-3.1-9.fc24.s390x keyutils-libs-1.5.9-8.fc24.s390x libnfnetlink-1.0.1-8.fc24.s390x libtheora-1.1.1-14.fc24.s390x xml-common-0.6.3-44.fc24.noarch autoconf-2.69-22.fc24.noarch libXt-1.1.5-3.fc24.s390x kbd-legacy-2.0.3-3.fc24.noarch ghostscript-fonts-5.50-35.fc24.noarch libXevie-1.0.3-11.fc24.s390x libcap-2.25-2.fc25.s390x mpfr-3.1.5-1.fc25.s390x perl-Carp-1.40-365.fc25.noarch libmnl-1.0.4-1.fc25.s390x perl-Unicode-EastAsianWidth-1.33-8.fc25.noarch libwayland-cursor-1.12.0-1.fc25.s390x python-krbV-1.0.90-12.fc25.s390x python2-urllib3-1.15.1-3.fc25.noarch fipscheck-1.4.1-11.fc25.s390x libndp-1.6-1.fc25.s390x gnupg2-2.1.13-2.fc25.s390x libXfixes-5.0.3-1.fc25.s390x adwaita-icon-theme-3.22.0-1.fc25.noarch dconf-0.26.0-1.fc25.s390x ncurses-devel-6.0-6.20160709.fc25.s390x dejagnu-1.6-1.fc25.noarch device-mapper-1.02.136-3.fc25.s390x libevent-2.0.22-1.fc25.s390x atk-devel-2.22.0-1.fc25.s390x libev-4.24-1.fc25.s390x xorg-x11-fonts-Type1-7.5-16.fc24.noarch brlapi-devel-0.6.5-2.fc25.s390x pulseaudio-libs-10.0-2.fc25.s390x glib2-2.50.3-1.fc25.s390x dnf-1.1.10-6.fc25.noarch texlive-metafont-bin-svn40987-33.20160520.fc25.1.s390x texlive-xkeyval-svn35741.2.7a-33.fc25.1.noarch texlive-euler-svn17261.2.5-33.fc25.1.noarch texlive-mptopdf-svn41282-33.fc25.1.noarch texlive-wasy-svn35831.0-33.fc25.1.noarch texlive-avantgar-svn31835.0-33.fc25.1.noarch texlive-eurosym-svn17265.1.4_subrfix-33.fc25.1.noarch texlive-knuth-lib-svn35820.0-33.fc25.1.noarch texlive-parallel-svn15878.0-33.fc25.1.noarch texlive-texlive-msg-translations-svn41431-33.fc25.1.noarch texlive-latex-svn40218-33.fc25.1.noarch texlive-lualatex-math-svn40621-33.fc25.1.noarch texlive-auto-pst-pdf-svn23723.0.6-33.fc25.1.noarch texlive-powerdot-svn38984-33.fc25.1.noarch texlive-wasysym-svn15878.2.0-33.fc25.1.noarch ImageMagick-libs-6.9.3.0-6.fc25.s390x geoclue2-2.4.5-1.fc25.s390x perl-IO-Socket-IP-0.39-1.fc25.noarch python2-pyasn1-0.2.3-1.fc25.noarch at-spi2-core-devel-2.22.1-1.fc25.s390x libacl-2.2.52-13.fc25.s390x perl-libs-5.24.2-387.fc25.s390x mesa-libglapi-17.0.5-3.fc25.s390x python3-rpmconf-1.0.19-1.fc25.noarch pcre-utf32-8.41-1.fc25.s390x libX11-common-1.6.5-1.fc25.noarch coreutils-common-8.25-17.fc25.s390x mesa-libEGL-17.0.5-3.fc25.s390x systemtap-runtime-3.1-5.fc25.s390x NetworkManager-glib-1.4.4-5.fc25.s390x audit-2.7.7-1.fc25.s390x glibc-all-langpacks-2.24-10.fc25.s390x libglvnd-glx-0.2.999-24.20170818git8d4d03f.fc25.s390x glusterfs-api-3.10.5-1.fc25.s390x libepoxy-devel-1.4.3-1.fc25.1.s390x gtk3-3.22.17-2.fc25.s390x rpm-4.13.0.1-2.fc25.s390x net-snmp-agent-libs-5.7.3-15.fc25.s390x pcre2-devel-10.23-9.fc25.s390x subversion-1.9.7-1.fc25.s390x libsndfile-1.0.28-6.fc25.s390x lasi-1.1.2-6.fc24.s390x python2-snowballstemmer-1.2.1-1.fc25.noarch nss-util-devel-3.32.0-1.0.fc25.s390x vim-common-8.0.1030-1.fc25.s390x gd-2.2.5-1.fc25.s390x gpg-pubkey-34ec9cba-54e38751 gpg-pubkey-030d5aed-55b577f0 basesystem-11-2.fc24.noarch libmpc-1.0.2-5.fc24.s390x libunistring-0.9.4-3.fc24.s390x libmodman-2.0.1-12.fc24.s390x lsscsi-0.28-3.fc24.s390x kbd-misc-2.0.3-3.fc24.noarch kmod-23-1.fc25.s390x newt-0.52.19-2.fc25.s390x perl-Text-Unidecode-1.27-3.fc25.noarch plymouth-core-libs-0.9.3-0.6.20160620git0e65b86c.fc25.s390x which-2.21-1.fc25.s390x python3-slip-0.6.4-4.fc25.noarch python3-systemd-232-1.fc25.s390x python-lockfile-0.11.0-4.fc25.noarch python2-requests-2.10.0-4.fc25.noarch libnghttp2-1.13.0-2.fc25.s390x python-urlgrabber-3.10.1-9.fc25.noarch iputils-20161105-1.fc25.s390x rest-0.8.0-1.fc25.s390x adwaita-cursor-theme-3.22.0-1.fc25.noarch authconfig-6.2.10-14.fc25.s390x automake-1.15-7.fc25.noarch shared-mime-info-1.8-1.fc25.s390x pigz-2.3.4-1.fc25.s390x device-mapper-libs-1.02.136-3.fc25.s390x dnsmasq-2.76-2.fc25.s390x fedora-packager-0.6.0.1-1.fc25.noarch libwebp-0.5.2-1.fc25.s390x boost-system-1.60.0-10.fc25.s390x libasyncns-0.8-10.fc24.s390x libXau-devel-1.0.8-6.fc24.s390x libverto-libev-0.2.6-6.fc24.s390x python3-html5lib-0.999-9.fc25.noarch ttmkfdir-3.0.9-48.fc24.s390x pulseaudio-libs-glib2-10.0-2.fc25.s390x texlive-lib-2016-33.20160520.fc25.s390x libXi-devel-1.7.9-1.fc25.s390x python3-distro-1.0.3-1.fc25.noarch texlive-texlive-common-doc-svn40682-33.fc25.1.noarch packagedb-cli-2.14.1-1.fc25.noarch texlive-metafont-svn40793-33.fc25.1.noarch texlive-tools-svn40934-33.fc25.1.noarch texlive-enumitem-svn24146.3.5.2-33.fc25.1.noarch texlive-mptopdf-bin-svn18674.0-33.20160520.fc25.1.noarch texlive-underscore-svn18261.0-33.fc25.1.noarch texlive-anysize-svn15878.0-33.fc25.1.noarch texlive-euenc-svn19795.0.1h-33.fc25.1.noarch texlive-kastrup-svn15878.0-33.fc25.1.noarch texlive-paralist-svn39247-33.fc25.1.noarch texlive-texlive-en-svn41185-33.fc25.1.noarch texlive-tipa-svn29349.1.3-33.fc25.1.noarch texlive-currfile-svn40725-33.fc25.1.noarch texlive-pst-node-svn40743-33.fc25.1.noarch texlive-pst-slpe-svn24391.1.31-33.fc25.1.noarch texlive-typehtml-svn17134.0-33.fc25.1.noarch SDL2-devel-2.0.5-3.fc25.s390x libcroco-0.6.11-3.fc25.s390x bluez-libs-devel-5.44-1.fc25.s390x firewalld-filesystem-0.4.4.5-1.fc25.noarch pcre-cpp-8.41-1.fc25.s390x python3-firewall-0.4.4.5-1.fc25.noarch freetype-devel-2.6.5-9.fc25.s390x pcre-utf16-8.41-1.fc25.s390x linux-firmware-20170605-74.git37857004.fc25.noarch kernel-modules-4.11.10-200.fc25.s390x systemtap-devel-3.1-5.fc25.s390x polkit-0.113-8.fc25.s390x perl-SelfLoader-1.23-387.fc25.noarch libdb-utils-5.3.28-24.fc25.s390x glibc-common-2.24-10.fc25.s390x libglvnd-0.2.999-24.20170818git8d4d03f.fc25.s390x webkitgtk4-2.16.6-1.fc25.s390x rpm-build-libs-4.13.0.1-2.fc25.s390x libglvnd-core-devel-0.2.999-24.20170818git8d4d03f.fc25.s390x rpm-devel-4.13.0.1-2.fc25.s390x kernel-4.12.9-200.fc25.s390x libtool-ltdl-2.4.6-14.fc25.s390x gts-0.7.6-29.20121130.fc24.s390x python2-imagesize-0.7.1-2.fc25.noarch nss-softokn-freebl-3.32.0-1.2.fc25.s390x selinux-policy-3.13.1-225.22.fc25.noarch kernel-devel-4.12.11-200.fc25.s390x fontpackages-filesystem-1.44-17.fc24.noarch groff-base-1.22.3-8.fc24.s390x ilmbase-2.2.0-5.fc24.s390x OpenEXR-libs-2.2.0-5.fc24.s390x hesiod-3.2.1-6.fc24.s390x sysfsutils-2.1.0-19.fc24.s390x ocaml-srpm-macros-2-4.fc24.noarch mailx-12.5-19.fc24.s390x ncurses-libs-6.0-6.20160709.fc25.s390x ipset-libs-6.29-1.fc25.s390x gmp-devel-6.1.1-1.fc25.s390x python-pip-8.1.2-2.fc25.noarch harfbuzz-1.3.2-1.fc25.s390x python2-iniparse-0.4-20.fc25.noarch python3-iniparse-0.4-20.fc25.noarch python3-kickstart-2.32-1.fc25.noarch perl-Net-SSLeay-1.78-1.fc25.s390x drpm-0.3.0-3.fc25.s390x glib-networking-2.50.0-1.fc25.s390x webkitgtk3-2.4.11-3.fc25.s390x libXaw-1.0.13-4.fc25.s390x xorg-x11-font-utils-7.5-32.fc25.s390x hardlink-1.1-1.fc25.s390x libcom_err-1.43.3-1.fc25.s390x python2-dateutil-2.6.0-1.fc25.noarch libXpm-3.5.12-1.fc25.s390x poppler-data-0.4.7-6.fc25.noarch librbd1-10.2.4-2.fc25.s390x perl-Digest-MD5-2.55-2.fc25.s390x wayland-protocols-devel-1.7-1.fc25.noarch texi2html-5.0-4.fc24.noarch libxkbcommon-0.7.1-1.fc25.s390x libuuid-devel-2.28.2-2.fc25.s390x libcacard-2.5.3-1.fc25.s390x libwmf-lite-0.2.8.4-50.fc25.s390x texlive-tetex-svn41059-33.fc25.1.noarch texlive-thumbpdf-svn34621.3.16-33.fc25.1.noarch texlive-carlisle-svn18258.0-33.fc25.1.noarch texlive-makeindex-bin-svn40473-33.20160520.fc25.1.s390x texlive-pdftex-svn41149-33.fc25.1.noarch texlive-csquotes-svn39538-33.fc25.1.noarch texlive-courier-svn35058.0-33.fc25.1.noarch texlive-helvetic-svn31835.0-33.fc25.1.noarch texlive-mfnfss-svn19410.0-33.fc25.1.noarch texlive-sepnum-svn20186.2.0-33.fc25.1.noarch texlive-utopia-svn15878.0-33.fc25.1.noarch texlive-luatexbase-svn38550-33.fc25.1.noarch texlive-pst-3d-svn17257.1.10-33.fc25.1.noarch texlive-latex-bin-bin-svn14050.0-33.20160520.fc25.1.noarch texlive-l3experimental-svn41163-33.fc25.1.noarch net-tools-2.0-0.40.20160329git.fc25.s390x perl-Pod-Perldoc-3.28-1.fc25.noarch openssl-1.0.2k-1.fc25.s390x man-pages-4.06-4.fc25.noarch libxml2-2.9.4-2.fc25.s390x python3-dateutil-2.6.0-1.fc25.noarch perl-threads-shared-1.57-1.fc25.s390x libnotify-0.7.7-1.fc25.s390x unzip-6.0-32.fc25.s390x python-beautifulsoup4-4.6.0-1.fc25.noarch dhcp-client-4.3.5-3.fc25.s390x python2-fedora-0.9.0-6.fc25.noarch gdb-7.12.1-48.fc25.s390x sqlite-libs-3.14.2-3.fc25.s390x webkitgtk4-jsc-2.16.6-1.fc25.s390x libgomp-6.4.1-1.fc25.s390x p11-kit-trust-0.23.8-1.fc25.s390x gdk-pixbuf2-devel-2.36.9-1.fc25.s390x rpm-plugin-selinux-4.13.0.1-2.fc25.s390x mariadb-common-10.1.25-1.fc25.s390x dbus-devel-1.11.16-1.fc25.s390x lz4-libs-1.8.0-1.fc25.s390x python2-jinja2-2.8.1-1.fc25.noarch system-python-libs-3.5.4-1.fc25.s390x python2-rpkg-1.50-2.fc25.noarch libsolv-0.6.29-1.fc25.s390x gpg-pubkey-95a43f54-5284415a dejavu-fonts-common-2.35-3.fc24.noarch libSM-1.2.2-4.fc24.s390x diffutils-3.3-13.fc24.s390x libogg-1.3.2-5.fc24.s390x hunspell-en-US-0.20140811.1-5.fc24.noarch libdaemon-0.14-10.fc24.s390x patch-2.7.5-3.fc24.s390x libsysfs-2.1.0-19.fc24.s390x procmail-3.22-39.fc24.s390x libXdamage-1.1.4-8.fc24.s390x libotf-0.9.13-7.fc24.s390x urw-fonts-2.4-22.fc24.noarch crontabs-1.11-12.20150630git.fc24.noarch ppp-2.4.7-9.fc24.s390x cyrus-sasl-2.1.26-26.2.fc24.s390x zlib-devel-1.2.8-10.fc24.s390x time-1.7-49.fc24.s390x gpg-pubkey-fdb19c98-56fd6333 libcap-ng-0.7.8-1.fc25.s390x binutils-2.26.1-1.fc25.s390x lcms2-2.8-2.fc25.s390x libcomps-0.1.7-5.fc25.s390x perl-constant-1.33-367.fc25.noarch perl-Data-Dumper-2.161-1.fc25.s390x ipcalc-0.1.8-1.fc25.s390x gmp-c++-6.1.1-1.fc25.s390x fontconfig-2.12.1-1.fc25.s390x enchant-1.6.0-14.fc25.s390x pyliblzma-0.5.3-16.fc25.s390x libsepol-devel-2.5-10.fc25.s390x python3-ordered-set-2.0.0-4.fc25.noarch python-ipaddress-1.0.16-3.fc25.noarch python2-kerberos-1.2.5-1.fc25.s390x python2-pysocks-1.5.6-5.fc25.noarch fipscheck-lib-1.4.1-11.fc25.s390x libatomic_ops-7.4.4-1.fc25.s390x python2-pygpgme-0.3-18.fc25.s390x orc-0.4.26-1.fc25.s390x yum-utils-1.1.31-511.fc25.noarch libXrender-0.9.10-1.fc25.s390x libXrandr-1.5.1-1.fc25.s390x go-srpm-macros-2-7.fc25.noarch gnupg2-smime-2.1.13-2.fc25.s390x guile-devel-2.0.13-1.fc25.s390x uboot-tools-2016.09.01-2.fc25.s390x pykickstart-2.32-1.fc25.noarch python-bunch-1.0.1-9.fc25.noarch perl-generators-1.10-1.fc25.noarch perl-Mozilla-CA-20160104-3.fc25.noarch bzip2-libs-1.0.6-21.fc25.s390x libpng-1.6.27-1.fc25.s390x desktop-file-utils-0.23-2.fc25.s390x python2-cccolutils-1.4-1.fc25.s390x python2-lxml-3.7.2-1.fc25.s390x redhat-rpm-config-45-1.fc25.noarch device-mapper-event-libs-1.02.136-3.fc25.s390x lvm2-libs-2.02.167-3.fc25.s390x libselinux-python-2.5-13.fc25.s390x boost-thread-1.60.0-10.fc25.s390x librbd-devel-10.2.4-2.fc25.s390x libXcursor-devel-1.1.14-6.fc24.s390x latex2html-2012-7.fc24.noarch lksctp-tools-1.0.16-5.fc24.s390x libfdt-1.4.2-1.fc25.s390x libXft-devel-2.3.2-4.fc24.s390x libattr-devel-2.4.47-16.fc24.s390x libiscsi-devel-1.15.0-2.fc24.s390x gettext-0.19.8.1-3.fc25.s390x libjpeg-turbo-devel-1.5.1-0.fc25.s390x pulseaudio-libs-devel-10.0-2.fc25.s390x libmount-2.28.2-2.fc25.s390x python3-decorator-4.0.11-1.fc25.noarch tzdata-java-2017b-1.fc25.noarch python-srpm-macros-3-12.fc25.noarch libsmartcols-2.28.2-2.fc25.s390x texlive-kpathsea-svn41139-33.fc25.1.noarch texlive-amsmath-svn41561-33.fc25.1.noarch texlive-thumbpdf-bin-svn6898.0-33.20160520.fc25.1.noarch texlive-psnfss-svn33946.9.2a-33.fc25.1.noarch texlive-subfig-svn15878.1.3-33.fc25.1.noarch texlive-fancybox-svn18304.1.4-33.fc25.1.noarch texlive-lua-alt-getopt-svn29349.0.7.0-33.fc25.1.noarch texlive-natbib-svn20668.8.31b-33.fc25.1.noarch texlive-pdftex-bin-svn40987-33.20160520.fc25.1.s390x texlive-xdvi-svn40768-33.fc25.1.noarch texlive-crop-svn15878.1.5-33.fc25.1.noarch texlive-babel-english-svn30264.3.3p-33.fc25.1.noarch texlive-cmextra-svn32831.0-33.fc25.1.noarch texlive-fancyhdr-svn15878.3.1-33.fc25.1.noarch texlive-luatex-svn40963-33.fc25.1.noarch texlive-knuth-local-svn38627-33.fc25.1.noarch texlive-mflogo-font-svn36898.1.002-33.fc25.1.noarch texlive-parskip-svn19963.2.0-33.fc25.1.noarch texlive-section-svn20180.0-33.fc25.1.noarch texlive-textcase-svn15878.0-33.fc25.1.noarch texlive-updmap-map-svn41159-33.fc25.1.noarch texlive-attachfile-svn38830-33.fc25.1.noarch libtiff-4.0.8-1.fc25.s390x libdb-5.3.28-24.fc25.s390x bind-license-9.10.5-2.P2.fc25.noarch mesa-libGLES-17.0.5-3.fc25.s390x python3-requests-kerberos-0.10.0-2.fc25.noarch python3-pyOpenSSL-16.2.0-1.fc25.noarch perl-threads-2.16-1.fc25.s390x cryptsetup-libs-1.7.5-1.fc25.s390x netpbm-10.79.00-1.fc25.s390x qrencode-libs-3.4.4-1.fc25.s390x gstreamer1-plugins-base-1.10.5-1.fc25.s390x elfutils-default-yama-scope-0.169-1.fc25.noarch systemd-udev-231-17.fc25.s390x python2-koji-1.13.0-2.fc25.noarch unbound-libs-1.6.3-1.fc25.s390x openldap-2.4.44-11.fc25.s390x koji-1.13.0-2.fc25.noarch bind99-libs-9.9.10-2.P3.fc25.s390x mesa-libGL-devel-17.0.5-3.fc25.s390x graphite2-devel-1.3.10-1.fc25.s390x systemtap-sdt-devel-3.1-5.fc25.s390x iproute-tc-4.11.0-1.fc25.s390x libarchive-3.2.2-2.fc25.s390x publicsuffix-list-dafsa-20170424-1.fc25.noarch expat-2.2.3-1.fc25.s390x p11-kit-0.23.8-1.fc25.s390x kernel-core-4.12.9-200.fc25.s390x emacs-filesystem-25.2-3.fc25.noarch ca-certificates-2017.2.16-1.0.fc25.noarch librsvg2-2.40.18-1.fc25.s390x gtk-update-icon-cache-3.22.17-2.fc25.s390x libidn2-2.0.4-1.fc25.s390x rpm-libs-4.13.0.1-2.fc25.s390x mariadb-libs-10.1.25-1.fc25.s390x java-1.8.0-openjdk-headless-1.8.0.144-5.b01.fc25.s390x gcc-objc-6.4.1-1.fc25.s390x p11-kit-devel-0.23.8-1.fc25.s390x ethtool-4.11-1.fc25.s390x python2-sssdconfig-1.15.3-1.fc25.noarch xorg-x11-fonts-ISO8859-1-100dpi-7.5-16.fc24.noarch lato-fonts-2.015-2.fc24.noarch python-sphinx-locale-1.5.2-2.fc25.noarch dpkg-1.17.27-1.fc25.s390x gnutls-3.5.15-1.fc25.s390x nss-softokn-freebl-devel-3.32.0-1.2.fc25.s390x vim-filesystem-8.0.1030-1.fc25.s390x gnutls-devel-3.5.15-1.fc25.s390x kernel-headers-4.12.11-200.fc25.s390x texlive-luaotfload-svn40902-33.fc25.1.noarch texlive-unicode-math-svn38462-33.fc25.1.noarch texlive-fancyvrb-svn18492.2.8-33.fc25.1.noarch texlive-pst-pdf-bin-svn7838.0-33.20160520.fc25.1.noarch texlive-amscls-svn36804.0-33.fc25.1.noarch texlive-ltxmisc-svn21927.0-33.fc25.1.noarch texlive-breqn-svn38099.0.98d-33.fc25.1.noarch texlive-xetex-def-svn40327-33.fc25.1.noarch openssh-server-7.4p1-4.fc25.s390x sendmail-8.15.2-8.fc25.s390x tzdata-2017b-1.fc25.noarch hunspell-1.4.1-2.fc25.s390x gpg-pubkey-8e1431d5-53bcbac7 zlib-1.2.8-10.fc24.s390x sed-4.2.2-15.fc24.s390x psmisc-22.21-8.fc24.s390x gpm-libs-1.20.7-9.fc24.s390x zip-3.0-16.fc24.s390x libyubikey-1.13-2.fc24.s390x sg3_utils-libs-1.41-3.fc24.s390x polkit-pkla-compat-0.1-7.fc24.s390x passwd-0.79-8.fc24.s390x trousers-0.3.13-6.fc24.s390x grubby-8.40-3.fc24.s390x rootfiles-8.1-19.fc24.noarch nettle-3.3-1.fc25.s390x libksba-1.3.5-1.fc25.s390x perl-Text-ParseWords-3.30-365.fc25.noarch perl-PathTools-3.63-366.fc25.s390x perl-File-Temp-0.23.04-365.fc25.noarch fuse-libs-2.9.7-1.fc25.s390x perl-Pod-Escapes-1.07-365.fc25.noarch perl-Term-ANSIColor-4.05-2.fc25.noarch perl-URI-1.71-5.fc25.noarch libXfont-1.5.2-1.fc25.s390x python-six-1.10.0-3.fc25.noarch dbus-glib-0.108-1.fc25.s390x gobject-introspection-1.50.0-1.fc25.s390x libpwquality-1.3.0-6.fc25.s390x python-gobject-base-3.22.0-1.fc25.s390x python-html5lib-0.999-9.fc25.noarch python3-dbus-1.2.4-2.fc25.s390x python3-chardet-2.3.0-1.fc25.noarch python3-urllib3-1.15.1-3.fc25.noarch python-offtrac-0.1.0-7.fc25.noarch python2-cryptography-1.5.3-3.fc25.s390x python2-requests-kerberos-0.10.0-2.fc25.noarch libserf-1.3.9-1.fc25.s390x libdatrie-0.2.9-3.fc25.s390x s390utils-base-1.36.0-1.fc25.s390x kpartx-0.4.9-83.fc25.s390x s390utils-cpuplugd-1.36.0-1.fc25.s390x s390utils-osasnmpd-1.36.0-1.fc25.s390x python-dnf-plugins-extras-common-0.0.12-4.fc25.noarch fpc-srpm-macros-1.0-1.fc25.noarch libuser-0.62-4.fc25.s390x man-db-2.7.5-3.fc25.s390x python-systemd-doc-232-1.fc25.s390x bodhi-client-0.9.12.2-6.fc25.noarch cairo-1.14.8-1.fc25.s390x cracklib-dicts-2.9.6-4.fc25.s390x libselinux-python3-2.5-13.fc25.s390x python2-enchant-1.6.8-1.fc25.noarch boost-iostreams-1.60.0-10.fc25.s390x userspace-rcu-0.9.2-2.fc25.s390x libXext-devel-1.3.3-4.fc24.s390x libXrandr-devel-1.5.1-1.fc25.s390x python3-lxml-3.7.2-1.fc25.s390x libiscsi-1.15.0-2.fc24.s390x fontconfig-devel-2.12.1-1.fc25.s390x libfdt-devel-1.4.2-1.fc25.s390x ceph-devel-compat-10.2.4-2.fc25.s390x zlib-static-1.2.8-10.fc24.s390x chrpath-0.16-3.fc24.s390x info-6.1-4.fc25.s390x iptables-libs-1.6.0-3.fc25.s390x libfdisk-2.28.2-2.fc25.s390x dnf-plugins-core-0.1.21-5.fc25.noarch perl-Storable-2.56-368.fc25.s390x python2-decorator-4.0.11-1.fc25.noarch libnetfilter_conntrack-1.0.6-2.fc25.s390x texlive-texlive.infra-bin-svn40312-33.20160520.fc25.1.s390x texlive-ifluatex-svn41346-33.fc25.1.noarch texlive-fp-svn15878.0-33.fc25.1.noarch texlive-latex-fonts-svn28888.0-33.fc25.1.noarch texlive-bibtex-bin-svn40473-33.20160520.fc25.1.s390x texlive-glyphlist-svn28576.0-33.fc25.1.noarch texlive-marvosym-svn29349.2.2a-33.fc25.1.noarch texlive-tex-bin-svn40987-33.20160520.fc25.1.s390x texlive-texconfig-svn40768-33.fc25.1.noarch texlive-wasy2-ps-svn35830.0-33.fc25.1.noarch texlive-psfrag-svn15878.3.04-33.fc25.1.noarch texlive-charter-svn15878.0-33.fc25.1.noarch texlive-ec-svn25033.1.0-33.fc25.1.noarch texlive-lineno-svn21442.4.41-33.fc25.1.noarch texlive-hyphen-base-svn41138-33.fc25.1.noarch texlive-manfnt-font-svn35799.0-33.fc25.1.noarch texlive-ncntrsbk-svn31835.0-33.fc25.1.noarch texlive-pst-math-svn34786.0.63-33.fc25.1.noarch texlive-symbol-svn31835.0-33.fc25.1.noarch texlive-environ-svn33821.0.3-33.fc25.1.noarch texlive-algorithms-svn38085.0.1-33.fc25.1.noarch python3-hawkey-0.6.4-3.fc25.s390x freetype-2.6.5-9.fc25.s390x mesa-libwayland-egl-17.0.5-3.fc25.s390x libicu-57.1-5.fc25.s390x libnl3-cli-3.2.29-3.fc25.s390x cups-libs-2.2.0-9.fc25.s390x bind-libs-lite-9.10.5-2.P2.fc25.s390x python3-kerberos-1.2.5-1.fc25.s390x python3-cryptography-1.5.3-3.fc25.s390x perl-IO-1.36-387.fc25.s390x dhcp-libs-4.3.5-3.fc25.s390x rsync-3.1.2-4.fc25.s390x make-4.1-6.fc25.s390x quota-4.03-8.fc25.s390x libX11-devel-1.6.5-1.fc25.s390x ghostscript-9.20-9.fc25.s390x rpcbind-0.2.4-6.rc2.fc25.s390x pyOpenSSL-16.2.0-1.fc25.noarch python3-pycurl-7.43.0-6.fc25.s390x bind99-license-9.9.10-2.P3.fc25.noarch python-firewall-0.4.4.5-1.fc25.noarch netpbm-progs-10.79.00-1.fc25.s390x wget-1.18-3.fc25.s390x libsemanage-2.5-9.fc25.s390x telnet-0.17-68.fc25.s390x gdk-pixbuf2-2.36.9-1.fc25.s390x dbus-libs-1.11.16-1.fc25.s390x glusterfs-client-xlators-3.10.5-1.fc25.s390x libepoxy-1.4.3-1.fc25.1.s390x dracut-046-2.git20170811.fc25.s390x net-snmp-libs-5.7.3-15.fc25.s390x libgo-devel-6.4.1-1.fc25.s390x libglvnd-opengl-0.2.999-24.20170818git8d4d03f.fc25.s390x sqlite-devel-3.14.2-3.fc25.s390x cpp-6.4.1-1.fc25.s390x git-2.9.5-1.fc25.s390x pcre2-10.23-9.fc25.s390x python2-GitPython-2.1.5-1.fc25.noarch glusterfs-devel-3.10.5-1.fc25.s390x net-snmp-5.7.3-15.fc25.s390x rpm-plugin-systemd-inhibit-4.13.0.1-2.fc25.s390x emacs-25.2-3.fc25.s390x libstdc++-static-6.4.1-1.fc25.s390x expat-devel-2.2.3-1.fc25.s390x perl-Time-HiRes-1.9744-1.fc25.s390x fontawesome-fonts-4.7.0-1.fc25.noarch python-markupsafe-0.23-10.fc25.s390x pytz-2016.6.1-1.fc25.noarch python2-sphinx-1.5.2-2.fc25.noarch nss-util-3.32.0-1.0.fc25.s390x nss-sysinit-3.32.0-1.1.fc25.s390x python3-3.5.4-1.fc25.s390x selinux-policy-targeted-3.13.1-225.22.fc25.noarch vim-minimal-8.0.1030-1.fc25.s390x texlive-ifplatform-svn21156.0.4-33.fc25.1.noarch texlive-eso-pic-svn37925.2.0g-33.fc25.1.noarch texlive-xcolor-svn41044-33.fc25.1.noarch texlive-pst-eps-svn15878.1.0-33.fc25.1.noarch texlive-pst-text-svn15878.1.00-33.fc25.1.noarch texlive-rotating-svn16832.2.16b-33.fc25.1.noarch texlive-pdfpages-svn40638-33.fc25.1.noarch texlive-cm-super-svn15878.0-33.fc25.1.noarch texlive-xetex-svn41438-33.fc25.1.noarch dnf-yum-1.1.10-6.fc25.noarch libseccomp-devel-2.3.2-1.fc25.s390x gpgme-1.8.0-10.fc25.s390x apr-util-1.5.4-3.fc24.s390x jbigkit-libs-2.1-5.fc24.s390x pixman-0.34.0-2.fc24.s390x dwz-0.12-2.fc24.s390x expect-5.45-22.fc24.s390x libsigsegv-2.10-10.fc24.s390x fakeroot-libs-1.20.2-4.fc24.s390x m17n-lib-1.7.0-5.fc24.s390x libverto-0.2.6-6.fc24.s390x libXmu-1.1.2-4.fc24.s390x libXcursor-1.1.14-6.fc24.s390x python-kitchen-1.2.4-2.fc24.noarch fakeroot-1.20.2-4.fc24.s390x blktrace-1.1.0-3.fc24.s390x usermode-1.111-8.fc24.s390x kbd-2.0.3-3.fc24.s390x libaio-devel-0.3.110-6.fc24.s390x web-assets-filesystem-5-4.fc24.noarch libgpg-error-1.24-1.fc25.s390x findutils-4.6.0-8.fc25.s390x libassuan-2.4.3-1.fc25.s390x libusbx-1.0.21-1.fc25.s390x libxslt-1.1.28-13.fc25.s390x libmetalink-0.1.3-1.fc25.s390x perl-MIME-Base64-3.15-365.fc25.s390x ncurses-6.0-6.20160709.fc25.s390x libwayland-server-1.12.0-1.fc25.s390x perl-Fedora-VSP-0.001-4.fc25.noarch perl-libintl-perl-1.26-1.fc25.s390x shadow-utils-4.2.1-11.fc25.s390x atk-2.22.0-1.fc25.s390x pam-1.3.0-1.fc25.s390x harfbuzz-icu-1.3.2-1.fc25.s390x libsecret-0.18.5-2.fc25.s390x s390utils-iucvterm-1.36.0-1.fc25.s390x python3-requests-2.10.0-4.fc25.noarch pyusb-1.0.0-2.fc25.noarch python-enum34-1.0.4-6.fc25.noarch pyxattr-0.5.3-8.fc25.s390x libbabeltrace-1.4.0-3.fc25.s390x libthai-0.1.25-1.fc25.s390x deltarpm-3.6-17.fc25.s390x s390utils-mon_statd-1.36.0-1.fc25.s390x device-mapper-multipath-0.4.9-83.fc25.s390x python3-pygpgme-0.3-18.fc25.s390x libreport-filesystem-2.8.0-1.fc25.s390x ghc-srpm-macros-1.4.2-4.fc25.noarch rpmdevtools-8.9-1.fc25.noarch python-dnf-plugins-extras-migrate-0.0.12-4.fc25.noarch perl-IO-Socket-SSL-2.038-1.fc25.noarch perl-File-ShareDir-1.102-7.fc25.noarch tcl-8.6.6-1.fc25.s390x bzip2-1.0.6-21.fc25.s390x libss-1.43.3-1.fc25.s390x libselinux-utils-2.5-13.fc25.s390x python3-enchant-1.6.8-1.fc25.noarch python2-dockerfile-parse-0.0.5-7.fc25.noarch systemd-bootchart-231-2.fc25.s390x e2fsprogs-1.43.3-1.fc25.s390x libpng-devel-1.6.27-1.fc25.s390x perl-XML-Parser-2.44-5.fc25.s390x lttng-ust-2.8.1-2.fc25.s390x libXfixes-devel-5.0.3-1.fc25.s390x libXcomposite-devel-0.4.4-8.fc24.s390x python3-javapackages-4.7.0-6.1.fc25.noarch libcephfs_jni-devel-10.2.4-2.fc25.s390x keyutils-libs-devel-1.5.9-8.fc24.s390x harfbuzz-devel-1.3.2-1.fc25.s390x libidn-devel-1.33-1.fc25.s390x libnfs-1.9.8-2.fc24.s390x libssh2-devel-1.8.0-1.fc25.s390x qemu-sanity-check-nodeps-1.1.5-5.fc24.s390x alsa-lib-devel-1.1.1-2.fc25.s390x libpsl-0.17.0-1.fc25.s390x libseccomp-2.3.2-1.fc25.s390x json-glib-1.2.6-1.fc25.s390x python2-dnf-1.1.10-6.fc25.noarch texlive-tetex-bin-svn36770.0-33.20160520.fc25.1.noarch texlive-amsfonts-svn29208.3.04-33.fc25.1.noarch texlive-babel-svn40706-33.fc25.1.noarch texlive-colortbl-svn29803.v1.0a-33.fc25.1.noarch texlive-babelbib-svn25245.1.31-33.fc25.1.noarch texlive-footmisc-svn23330.5.5b-33.fc25.1.noarch texlive-makeindex-svn40768-33.fc25.1.noarch texlive-plain-svn40274-33.fc25.1.noarch texlive-texconfig-bin-svn29741.0-33.20160520.fc25.1.noarch texlive-zapfding-svn31835.0-33.fc25.1.noarch texlive-microtype-svn41127-33.fc25.1.noarch texlive-bookman-svn31835.0-33.fc25.1.noarch texlive-dvisvgm-def-svn41011-33.fc25.1.noarch texlive-finstrut-svn21719.0.5-33.fc25.1.noarch texlive-hyph-utf8-svn41189-33.fc25.1.noarch texlive-lualibs-svn40370-33.fc25.1.noarch python2-hawkey-0.6.4-3.fc25.s390x elfutils-libelf-0.169-1.fc25.s390x libnl3-3.2.29-3.fc25.s390x gstreamer1-1.10.5-1.fc25.s390x polkit-libs-0.113-8.fc25.s390x libtirpc-1.0.2-0.fc25.s390x libteam-1.27-1.fc25.s390x python3-pyasn1-0.2.3-1.fc25.noarch perl-File-Path-2.12-366.fc25.noarch mesa-libwayland-egl-devel-17.0.5-3.fc25.s390x libacl-devel-2.2.52-13.fc25.s390x lua-libs-5.3.4-3.fc25.s390x quota-nls-4.03-8.fc25.noarch ghostscript-x11-9.20-9.fc25.s390x systemd-231-17.fc25.s390x dhcp-common-4.3.5-3.fc25.noarch vte291-devel-0.46.2-1.fc25.s390x python-devel-2.7.13-2.fc25.s390x elfutils-0.169-1.fc25.s390x lua-5.3.4-3.fc25.s390x python3-beautifulsoup4-4.6.0-1.fc25.noarch libmicrohttpd-0.9.55-1.fc25.s390x screen-4.6.1-1.fc25.s390x strace-4.18-1.fc25.s390x libstdc++-6.4.1-1.fc25.s390x glusterfs-3.10.5-1.fc25.s390x file-5.29-9.fc25.s390x libgo-6.4.1-1.fc25.s390x tar-1.29-4.fc25.s390x subversion-libs-1.9.7-1.fc25.s390x libglvnd-gles-0.2.999-24.20170818git8d4d03f.fc25.s390x gdk-pixbuf2-modules-2.36.9-1.fc25.s390x gcc-6.4.1-1.fc25.s390x curl-7.51.0-9.fc25.s390x pcre2-utf16-10.23-9.fc25.s390x mariadb-config-10.1.25-1.fc25.s390x distribution-gpg-keys-1.14-1.fc25.noarch libcurl-devel-7.51.0-9.fc25.s390x gtk3-devel-3.22.17-2.fc25.s390x krb5-devel-1.14.4-8.fc25.s390x wpa_supplicant-2.6-3.fc25.s390x fontawesome-fonts-web-4.7.0-1.fc25.noarch python2-pygments-2.2.0-7.fc25.noarch python2-babel-2.3.4-2.fc25.noarch doxygen-1.8.13-9.fc25.s390x nspr-devel-4.16.0-1.fc25.s390x kernel-core-4.12.11-200.fc25.s390x rpmlint-1.10-3.fc25.noarch vim-enhanced-8.0.1030-1.fc25.s390x openjpeg2-2.2.0-3.fc25.s390x texlive-mparhack-svn15878.1.4-33.fc25.1.noarch texlive-pspicture-svn15878.0-33.fc25.1.noarch texlive-soul-svn15878.2.4-33.fc25.1.noarch texlive-trimspaces-svn15878.1.1-33.fc25.1.noarch texlive-varwidth-svn24104.0.92-33.fc25.1.noarch texlive-geometry-svn19716.5.6-33.fc25.1.noarch texlive-memoir-svn41203-33.fc25.1.noarch texlive-pgf-svn40966-33.fc25.1.noarch texlive-pst-coil-svn37377.1.07-33.fc25.1.noarch texlive-pst-plot-svn41242-33.fc25.1.noarch texlive-latex-bin-svn41438-33.fc25.1.noarch texlive-ucs-svn35853.2.2-33.fc25.1.noarch texlive-ae-svn15878.1.4-33.fc25.1.noarch texlive-xetex-bin-svn41091-33.20160520.fc25.1.s390x fedora-upgrade-26.1-1.fc25.noarch perl-Thread-Queue-3.12-1.fc25.noarch cdparanoia-libs-10.2-21.fc24.s390x ustr-1.0.4-21.fc24.s390x libusb-0.1.5-7.fc24.s390x readline-devel-6.3-8.fc24.s390x chkconfig-1.8-1.fc25.s390x avahi-libs-0.6.32-4.fc25.s390x perl-Unicode-Normalize-1.25-365.fc25.s390x perl-libnet-3.10-1.fc25.noarch perl-podlators-4.09-1.fc25.noarch dbus-python-1.2.4-2.fc25.s390x libgnome-keyring-3.12.0-7.fc25.s390x python-backports-1.0-8.fc25.s390x python-pycparser-2.14-7.fc25.noarch plymouth-scripts-0.9.3-0.6.20160620git0e65b86c.fc25.s390x cronie-1.5.1-2.fc25.s390x python2-librepo-1.7.18-3.fc25.s390x libXv-1.0.11-1.fc25.s390x python2-ndg_httpsclient-0.4.0-4.fc25.noarch btrfs-progs-4.6.1-1.fc25.s390x perl-Encode-2.88-5.fc25.s390x cracklib-2.9.6-4.fc25.s390x python3-dnf-plugin-system-upgrade-0.7.1-4.fc25.noarch boost-random-1.60.0-10.fc25.s390x libref_array-0.1.5-29.fc25.s390x libXrender-devel-0.9.10-1.fc25.s390x javapackages-tools-4.7.0-6.1.fc25.noarch keyutils-1.5.9-8.fc24.s390x libcom_err-devel-1.43.3-1.fc25.s390x lzo-minilzo-2.08-8.fc24.s390x libusbx-devel-1.0.21-1.fc25.s390x virglrenderer-devel-0.5.0-1.20160411git61846f92f.fc25.s390x acpica-tools-20160831-1.fc25.s390x grep-2.27-2.fc25.s390x dnf-conf-1.1.10-6.fc25.noarch crypto-policies-20160921-4.gitf3018dd.fc25.noarch libnfsidmap-0.27-1.fc25.s390x SDL2-2.0.5-3.fc25.s390x texlive-etex-pkg-svn39355-33.fc25.1.noarch texlive-multido-svn18302.1.42-33.fc25.1.noarch texlive-gsftopk-svn40768-33.fc25.1.noarch texlive-pst-ovl-svn40873-33.fc25.1.noarch texlive-ltabptch-svn17533.1.74d-33.fc25.1.noarch texlive-cite-svn36428.5.5-33.fc25.1.noarch texlive-fpl-svn15878.1.002-33.fc25.1.noarch texlive-mathpazo-svn15878.1.003-33.fc25.1.noarch texlive-rcs-svn15878.0-33.fc25.1.noarch texlive-type1cm-svn21820.0-33.fc25.1.noarch texlive-l3kernel-svn41246-33.fc25.1.noarch texlive-hyperref-svn41396-33.fc25.1.noarch texlive-pst-tree-svn24142.1.12-33.fc25.1.noarch texlive-sansmathaccent-svn30187.0-33.fc25.1.noarch texlive-dvipdfmx-bin-svn40273-33.20160520.fc25.1.s390x texlive-zapfchan-svn31835.0-33.fc25.1.noarch glib2-static-2.50.3-1.fc25.s390x bash-completion-2.5-1.fc25.noarch hyphen-2.8.8-4.fc24.s390x python3-idna-2.5-1.fc25.noarch less-481-7.fc25.s390x rpmconf-base-1.0.19-1.fc25.noarch gtk2-2.24.31-2.fc25.s390x mesa-libgbm-17.0.5-3.fc25.s390x nfs-utils-2.1.1-5.rc4.fc25.s390x mc-4.8.19-5.fc25.s390x pcre-static-8.41-1.fc25.s390x bind-libs-9.10.5-2.P2.fc25.s390x libproxy-0.4.15-2.fc25.s390x file-libs-5.29-9.fc25.s390x glibc-devel-2.24-10.fc25.s390x glusterfs-server-3.10.5-1.fc25.s390x git-core-doc-2.9.5-1.fc25.s390x python2-smmap-2.0.3-1.fc25.noarch glusterfs-api-devel-3.10.5-1.fc25.s390x gcc-gdb-plugin-6.4.1-1.fc25.s390x python3-magic-5.29-9.fc25.noarch GeoIP-GeoLite-data-2017.07-1.fc25.noarch python2-funcsigs-1.0.2-2.fc25.noarch dos2unix-7.3.4-1.fc25.s390x gnutls-c++-3.5.15-1.fc25.s390x nss-tools-3.32.0-1.1.fc25.s390x gpg-pubkey-a29cb19c-53bcbba6 m4-1.4.17-9.fc24.s390x liblockfile-1.09-4.fc24.s390x sg3_utils-1.41-3.fc24.s390x libXinerama-1.1.3-6.fc24.s390x libXft-2.3.2-4.fc24.s390x tcp_wrappers-libs-7.6-83.fc25.s390x perl-Text-Tabs+Wrap-2013.0523-365.fc25.noarch perl-Error-0.17024-7.fc25.noarch perl-Term-Cap-1.17-365.fc25.noarch perl-Pod-Usage-1.69-1.fc25.noarch device-mapper-persistent-data-0.6.3-1.fc25.s390x python3-six-1.10.0-3.fc25.noarch python3-pysocks-1.5.6-5.fc25.noarch python-chardet-2.3.0-1.fc25.noarch python2-cffi-1.7.0-2.fc25.s390x gc-devel-7.4.4-1.fc25.s390x plymouth-0.9.3-0.6.20160620git0e65b86c.fc25.s390x ebtables-2.0.10-21.fc25.s390x python3-librepo-1.7.18-3.fc25.s390x at-spi2-atk-2.22.0-1.fc25.s390x avahi-autoipd-0.6.32-4.fc25.s390x pyparsing-2.1.10-1.fc25.noarch python3-pyparsing-2.1.10-1.fc25.noarch libcollection-0.7.0-29.fc25.s390x libcephfs-devel-10.2.4-2.fc25.s390x libXdamage-devel-1.1.4-8.fc24.s390x libverto-devel-0.2.6-6.fc24.s390x snappy-1.1.3-2.fc24.s390x cairo-gobject-devel-1.14.8-1.fc25.s390x cyrus-sasl-devel-2.1.26-26.2.fc24.s390x libXi-1.7.9-1.fc25.s390x texlive-base-2016-33.20160520.fc25.noarch texlive-booktabs-svn40846-33.fc25.1.noarch texlive-lm-svn28119.2.004-33.fc25.1.noarch texlive-gsftopk-bin-svn40473-33.20160520.fc25.1.s390x texlive-tex-svn40793-33.fc25.1.noarch texlive-fancyref-svn15878.0.9c-33.fc25.1.noarch texlive-chngcntr-svn17157.1.0a-33.fc25.1.noarch texlive-fix2col-svn38770-33.fc25.1.noarch texlive-marginnote-svn41382-33.fc25.1.noarch texlive-pxfonts-svn15878.0-33.fc25.1.noarch texlive-txfonts-svn15878.0-33.fc25.1.noarch texlive-l3packages-svn41246-33.fc25.1.noarch texlive-oberdiek-svn41346-33.fc25.1.noarch texlive-pst-tools-svn34067.0.05-33.fc25.1.noarch texlive-tex-gyre-svn18651.2.004-33.fc25.1.noarch texlive-dvipdfmx-svn41149-33.fc25.1.noarch texlive-collection-fontsrecommended-svn35830.0-33.20160520.fc25.1.noarch libcacard-devel-2.5.3-1.fc25.s390x ykpers-1.18.0-2.fc25.s390x python2-idna-2.5-1.fc25.noarch policycoreutils-2.5-20.fc25.s390x libgcrypt-1.7.8-1.fc25.s390x pcre-8.41-1.fc25.s390x GeoIP-1.6.11-1.fc25.s390x ghostscript-core-9.20-9.fc25.s390x python3-cffi-1.7.0-2.fc25.s390x json-c-0.12.1-2.fc25.s390x vte291-0.46.2-1.fc25.s390x gssproxy-0.7.0-9.fc25.s390x systemtap-3.1-5.fc25.s390x mesa-libgbm-devel-17.0.5-3.fc25.s390x libgusb-0.2.10-1.fc25.s390x kernel-modules-4.12.9-200.fc25.s390x sqlite-3.14.2-3.fc25.s390x perl-Git-2.9.5-1.fc25.noarch python2-gitdb-2.0.2-1.fc25.noarch libglvnd-devel-0.2.999-24.20170818git8d4d03f.fc25.s390x gcc-c++-6.4.1-1.fc25.s390x python-magic-5.29-9.fc25.noarch kernel-devel-4.12.9-200.fc25.s390x python2-mock-2.0.0-2.fc25.noarch nspr-4.16.0-1.fc25.s390x python3-libs-3.5.4-1.fc25.s390x system-python-3.5.4-1.fc25.s390x python-async-0.6.1-9.fc22.s390x dejavu-sans-mono-fonts-2.35-3.fc24.noarch popt-1.16-7.fc24.s390x cyrus-sasl-lib-2.1.26-26.2.fc24.s390x xz-5.2.2-2.fc24.s390x libpipeline-1.4.1-2.fc24.s390x pinentry-0.9.7-2.fc24.s390x pth-2.0.7-27.fc24.s390x libsepol-2.5-10.fc25.s390x libxcb-1.12-1.fc25.s390x perl-Getopt-Long-2.49.1-1.fc25.noarch avahi-glib-0.6.32-4.fc25.s390x python3-pip-8.1.2-2.fc25.noarch python3-libcomps-0.1.7-5.fc25.s390x python-slip-0.6.4-4.fc25.noarch python2-libcomps-0.1.7-5.fc25.s390x gc-7.4.4-1.fc25.s390x s390utils-cmsfs-1.36.0-1.fc25.s390x newt-python-0.52.19-2.fc25.s390x qt5-srpm-macros-5.7.1-1.fc25.noarch device-mapper-event-1.02.136-3.fc25.s390x perl-Class-Inspector-1.31-2.fc25.noarch libbasicobjects-0.1.1-29.fc25.s390x libradosstriper1-10.2.4-2.fc25.s390x libXxf86vm-devel-1.1.4-3.fc24.s390x zziplib-0.13.62-7.fc24.s390x libpaper-1.1.24-12.fc24.s390x libini_config-1.3.0-29.fc25.s390x snappy-devel-1.1.3-2.fc24.s390x libcap-ng-devel-0.7.8-1.fc25.s390x libxkbcommon-devel-0.7.1-1.fc25.s390x openssl-libs-1.0.2k-1.fc25.s390x util-linux-2.28.2-2.fc25.s390x texlive-etoolbox-svn38031.2.2a-33.fc25.1.noarch texlive-dvips-svn41149-33.fc25.1.noarch texlive-latexconfig-svn40274-33.fc25.1.noarch texlive-tex-ini-files-svn40533-33.fc25.1.noarch texlive-qstest-svn15878.0-33.fc25.1.noarch texlive-cmap-svn41168-33.fc25.1.noarch texlive-luatex-bin-svn41091-33.20160520.fc25.1.s390x texlive-mflogo-svn38628-33.fc25.1.noarch texlive-sansmath-svn17997.1.1-33.fc25.1.noarch texlive-unicode-data-svn39808-33.fc25.1.noarch texlive-luaotfload-bin-svn34647.0-33.20160520.fc25.1.noarch texlive-listings-svn37534.1.6-33.fc25.1.noarch texlive-pstricks-svn41321-33.fc25.1.noarch texlive-metalogo-svn18611.0.12-33.fc25.1.noarch texlive-collection-latex-svn41011-33.20160520.fc25.1.noarch python2-dnf-plugins-core-0.1.21-5.fc25.noarch xkeyboard-config-2.20-2.fc25.noarch perl-Test-Harness-3.39-1.fc25.noarch systemd-libs-231-17.fc25.s390x python3-pycparser-2.14-7.fc25.noarch kernel-devel-4.11.10-200.fc25.s390x gsm-1.0.17-1.fc25.s390x python-2.7.13-2.fc25.s390x kernel-4.11.10-200.fc25.s390x rpmconf-1.0.19-1.fc25.noarch teamd-1.27-1.fc25.s390x jasper-libs-1.900.13-4.fc25.s390x glusterfs-libs-3.10.5-1.fc25.s390x libcrypt-nss-2.24-10.fc25.s390x emacs-common-25.2-3.fc25.s390x libcurl-7.51.0-9.fc25.s390x java-1.8.0-openjdk-1.8.0.144-5.b01.fc25.s390x gcc-go-6.4.1-1.fc25.s390x perl-XML-XPath-1.39-2.fc25.noarch python2-sphinx_rtd_theme-0.1.9-2.fc24.noarch libxml2-devel-2.9.4-2.fc25.s390x nss-softokn-devel-3.32.0-1.2.fc25.s390x nss-devel-3.32.0-1.1.fc25.s390x libattr-2.4.47-16.fc24.s390x libvisual-0.4.0-20.fc24.s390x libpcap-1.7.4-2.fc24.s390x libutempter-1.1.6-8.fc24.s390x libgudev-230-3.fc24.s390x popt-devel-1.16-7.fc24.s390x hicolor-icon-theme-0.15-3.fc24.noarch setup-2.10.4-1.fc25.noarch bash-4.3.43-4.fc25.s390x libjpeg-turbo-1.5.1-0.fc25.s390x perl-Socket-2.024-1.fc25.s390x perl-HTTP-Tiny-0.070-1.fc25.noarch ipset-6.29-1.fc25.s390x python2-setuptools-25.1.1-1.fc25.noarch gsettings-desktop-schemas-3.22.0-1.fc25.s390x python3-setuptools-25.1.1-1.fc25.noarch python-slip-dbus-0.6.4-4.fc25.noarch python2-ply-3.8-2.fc25.noarch dtc-1.4.2-1.fc25.s390x guile-2.0.13-1.fc25.s390x cronie-anacron-1.5.1-2.fc25.s390x libXtst-1.2.3-1.fc25.s390x iso-codes-3.70-1.fc25.noarch s390utils-1.36.0-1.fc25.s390x python-backports-ssl_match_hostname-3.5.0.1-3.fc25.noarch fedora-cert-0.6.0.1-1.fc25.noarch dnf-plugin-system-upgrade-0.7.1-4.fc25.noarch lvm2-2.02.167-3.fc25.s390x libselinux-devel-2.5-13.fc25.s390x perl-Time-Local-1.250-1.fc25.noarch libradosstriper-devel-10.2.4-2.fc25.s390x flac-libs-1.3.2-1.fc25.s390x perl-Digest-1.17-366.fc25.noarch teckit-2.5.1-15.fc24.s390x libpath_utils-0.2.1-29.fc25.s390x attr-2.4.47-16.fc24.s390x usbredir-0.7.1-2.fc24.s390x cairo-devel-1.14.8-1.fc25.s390x lzo-devel-2.08-8.fc24.s390x libcap-devel-2.25-2.fc25.s390x libbsd-0.8.3-1.fc25.s390x texlive-url-svn32528.3.4-33.fc25.1.noarch texlive-dvips-bin-svn40987-33.20160520.fc25.1.s390x texlive-index-svn24099.4.1beta-33.fc25.1.noarch texlive-setspace-svn24881.6.7a-33.fc25.1.noarch texlive-mathtools-svn38833-33.fc25.1.noarch texlive-cm-svn32865.0-33.fc25.1.noarch texlive-graphics-def-svn41879-33.fc25.1.noarch texlive-mdwtools-svn15878.1.05.4-33.fc25.1.noarch texlive-rsfs-svn15878.0-33.fc25.1.noarch texlive-ucharcat-svn38907-33.fc25.1.noarch texlive-fontspec-svn41262-33.fc25.1.noarch texlive-showexpl-svn32737.v0.3l-33.fc25.1.noarch texlive-pstricks-add-svn40744-33.fc25.1.noarch texlive-beamer-svn36461.3.36-33.fc25.1.noarch texlive-collection-basic-svn41149-33.20160520.fc25.1.noarch xemacs-filesystem-21.5.34-20.20170124hgf412e9f093d4.fc25.noarch hawkey-0.6.4-3.fc25.s390x bluez-libs-5.44-1.fc25.s390x audit-libs-2.7.7-1.fc25.s390x iproute-4.11.0-1.fc25.s390x libICE-1.0.9-9.fc25.s390x python3-ply-3.8-2.fc25.noarch perl-5.24.2-387.fc25.s390x graphite2-1.3.10-1.fc25.s390x vte-profile-0.46.2-1.fc25.s390x python-libs-2.7.13-2.fc25.s390x mesa-libGL-17.0.5-3.fc25.s390x python2-pycurl-7.43.0-6.fc25.s390x NetworkManager-1.4.4-5.fc25.s390x mesa-libEGL-devel-17.0.5-3.fc25.s390x mesa-libGLES-devel-17.0.5-3.fc25.s390x hostname-3.15-8.fc25.s390x glibc-headers-2.24-10.fc25.s390x glusterfs-cli-3.10.5-1.fc25.s390x git-core-2.9.5-1.fc25.s390x mock-1.4.3-1.fc25.noarch gcc-gfortran-6.4.1-1.fc25.s390x webkitgtk4-plugin-process-gtk2-2.16.6-1.fc25.s390x perl-Module-CoreList-5.20170821-1.fc25.noarch python2-pbr-1.10.0-1.fc25.noarch libtool-2.4.6-14.fc25.s390x gnutls-dane-3.5.15-1.fc25.s390x kernel-4.12.11-200.fc25.s390x gpg-pubkey-a0a7badb-52844296 readline-6.3-8.fc24.s390x cpio-2.12-3.fc24.s390x libXcomposite-0.4.4-8.fc24.s390x procps-ng-3.3.10-11.fc24.s390x GConf2-3.2.6-16.fc24.s390x xz-devel-5.2.2-2.fc24.s390x fedora-logos-22.0.0-3.fc24.s390x gpg-pubkey-e372e838-56fd7943 kmod-libs-23-1.fc25.s390x perl-parent-0.236-1.fc25.noarch perl-TermReadKey-2.37-1.fc25.s390x ncurses-c++-libs-6.0-6.20160709.fc25.s390x gzip-1.8-1.fc25.s390x python3-gobject-base-3.22.0-1.fc25.s390x python2-yubico-1.3.2-3.fc25.noarch s390utils-ziomon-1.36.0-1.fc25.s390x librepo-1.7.18-3.fc25.s390x gnat-srpm-macros-4-1.fc25.noarch python-decoratortools-1.8-12.fc25.noarch m17n-db-1.7.0-7.fc25.noarch e2fsprogs-libs-1.43.3-1.fc25.s390x libvorbis-1.3.5-1.fc25.s390x npth-1.3-1.fc25.s390x libcephfs1-10.2.4-2.fc25.s390x wayland-devel-1.12.0-1.fc25.s390x libxcb-devel-1.12-1.fc25.s390x perl-encoding-2.19-5.fc25.s390x python3-cssselect-0.9.2-1.fc25.noarch gettext-libs-0.19.8.1-3.fc25.s390x at-spi2-atk-devel-2.22.0-1.fc25.s390x virglrenderer-0.5.0-1.20160411git61846f92f.fc25.s390x pixman-devel-0.34.0-2.fc24.s390x libnfs-devel-1.9.8-2.fc24.s390x libblkid-2.28.2-2.fc25.s390x glib2-devel-2.50.3-1.fc25.s390x texlive-ifxetex-svn19685.0.5-33.fc25.1.noarch texlive-caption-svn41409-33.fc25.1.noarch texlive-float-svn15878.1.3d-33.fc25.1.noarch texlive-pdftex-def-svn22653.0.06d-33.fc25.1.noarch texlive-xdvi-bin-svn40750-33.20160520.fc25.1.s390x texlive-beton-svn15878.0-33.fc25.1.noarch texlive-filecontents-svn24250.1.3-33.fc25.1.noarch texlive-lm-math-svn36915.1.959-33.fc25.1.noarch texlive-pslatex-svn16416.0-33.fc25.1.noarch texlive-times-svn35058.0-33.fc25.1.noarch texlive-breakurl-svn29901.1.40-33.fc25.1.noarch texlive-filehook-svn24280.0.5d-33.fc25.1.noarch texlive-pst-pdf-svn31660.1.1v-33.fc25.1.noarch texlive-seminar-svn34011.1.62-33.fc25.1.noarch texlive-xetexconfig-svn41133-33.fc25.1.noarch python-rpm-macros-3-12.fc25.noarch nss-pem-1.0.3-3.fc25.s390x at-spi2-core-2.22.1-1.fc25.s390x perl-Scalar-List-Utils-1.48-1.fc25.s390x libtasn1-devel-4.12-1.fc25.s390x python3-koji-1.13.0-2.fc25.noarch opus-1.1.5-1.fc25.s390x elfutils-libs-0.169-1.fc25.s390x kernel-core-4.11.10-200.fc25.s390x systemd-container-231-17.fc25.s390x sudo-1.8.20p2-1.fc25.s390x libicu-devel-57.1-5.fc25.s390x js-jquery-2.2.4-3.fc25.noarch krb5-libs-1.14.4-8.fc25.s390x apr-1.6.2-1.fc25.s390x dbus-1.11.16-1.fc25.s390x libdrm-2.4.82-1.fc25.s390x pcre2-utf32-10.23-9.fc25.s390x copy-jdk-configs-2.3-1.fc25.noarch libdrm-devel-2.4.82-1.fc25.s390x krb5-workstation-1.14.4-8.fc25.s390x python3-sssdconfig-1.15.3-1.fc25.noarch python2-docutils-0.13.1-3.fc25.noarch graphviz-2.38.0-39.fc25.s390x kernel-modules-4.12.11-200.fc25.s390x fedpkg-1.29-3.fc25.noarch === TEST BEGIN === Using CC: /home/fam/bin/cc Install prefix /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install BIOS directory /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install/share/qemu firmware path /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install/share/qemu-firmware binary directory /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install/bin library directory /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install/lib module directory /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install/lib/qemu libexec directory /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install/libexec include directory /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install/include config directory /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install/etc local state directory /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install/var Manual directory /var/tmp/patchew-tester-tmp-aq1e3h5o/src/install/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /var/tmp/patchew-tester-tmp-aq1e3h5o/src GIT submodules ui/keycodemapdb C compiler /home/fam/bin/cc Host C compiler cc C++ compiler c++ Objective-C compiler /home/fam/bin/cc ARFLAGS rv CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g QEMU_CFLAGS -I/usr/include/pixman-1 -Werror -DHAS_LIBSSH2_SFTP_FSYNC -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DNCURSES_WIDECHAR -D_GNU_SOURCE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/include/p11-kit-1 -I/usr/include/libpng16 -I/usr/include/libdrm LDFLAGS -Wl,--warn-common -m64 -g make make install install python python -B smbd /usr/sbin/smbd module support no host CPU s390x host big endian yes target list aarch64-softmmu alpha-softmmu arm-softmmu cris-softmmu i386-softmmu lm32-softmmu m68k-softmmu microblazeel-softmmu microblaze-softmmu mips64el-softmmu mips64-softmmu mipsel-softmmu mips-softmmu moxie-softmmu nios2-softmmu or1k-softmmu ppc64-softmmu ppcemb-softmmu ppc-softmmu s390x-softmmu sh4eb-softmmu sh4-softmmu sparc64-softmmu sparc-softmmu tricore-softmmu unicore32-softmmu x86_64-softmmu xtensaeb-softmmu xtensa-softmmu aarch64-linux-user alpha-linux-user armeb-linux-user arm-linux-user cris-linux-user hppa-linux-user i386-linux-user m68k-linux-user microblazeel-linux-user microblaze-linux-user mips64el-linux-user mips64-linux-user mipsel-linux-user mips-linux-user mipsn32el-linux-user mipsn32-linux-user nios2-linux-user or1k-linux-user ppc64abi32-linux-user ppc64le-linux-user ppc64-linux-user ppc-linux-user s390x-linux-user sh4eb-linux-user sh4-linux-user sparc32plus-linux-user sparc64-linux-user sparc-linux-user tilegx-linux-user x86_64-linux-user gprof enabled no sparse enabled no strip binaries yes profiler no static build no SDL support yes (2.0.5) GTK support yes (3.22.17) GTK GL support yes VTE support yes (0.46.2) TLS priority NORMAL GNUTLS support yes GNUTLS rnd yes libgcrypt no libgcrypt kdf no nettle yes (3.3) nettle kdf yes libtasn1 yes curses support yes virgl support yes curl support yes mingw32 support no Audio drivers oss Block whitelist (rw) Block whitelist (ro) VirtFS support yes Multipath support no VNC support yes VNC SASL support yes VNC JPEG support yes VNC PNG support yes xen support no brlapi support yes bluez support yes Documentation yes PIE no vde support no netmap support no Linux AIO support yes ATTR/XATTR support yes Install blobs yes KVM support yes HAX support no TCG support yes TCG debug enabled no TCG interpreter no RDMA support no fdt support yes preadv support yes fdatasync yes madvise yes posix_madvise yes libcap-ng support yes vhost-net support yes vhost-scsi support yes vhost-vsock support yes vhost-user support yes Trace backends log spice support no rbd support yes xfsctl support no smartcard support yes libusb yes usb net redir yes OpenGL support yes OpenGL dmabufs yes libiscsi support yes libnfs support yes build guest agent yes QGA VSS support no QGA w32 disk info no QGA MSI support no seccomp support yes coroutine backend ucontext coroutine pool yes debug stack usage no crypto afalg no GlusterFS support yes gcov gcov gcov enabled no TPM support yes libssh2 support yes TPM passthrough no QOM debugging yes Live block migration yes lzo support yes snappy support yes bzip2 support yes NUMA host support no tcmalloc support no jemalloc support no avx2 optimization no replication support yes VxHS block device no GEN cris-softmmu/config-devices.mak.tmp GEN arm-softmmu/config-devices.mak.tmp GEN alpha-softmmu/config-devices.mak.tmp GEN aarch64-softmmu/config-devices.mak.tmp GEN cris-softmmu/config-devices.mak GEN i386-softmmu/config-devices.mak.tmp GEN arm-softmmu/config-devices.mak GEN lm32-softmmu/config-devices.mak.tmp GEN aarch64-softmmu/config-devices.mak GEN lm32-softmmu/config-devices.mak GEN m68k-softmmu/config-devices.mak.tmp GEN microblazeel-softmmu/config-devices.mak.tmp GEN alpha-softmmu/config-devices.mak GEN microblaze-softmmu/config-devices.mak.tmp GEN m68k-softmmu/config-devices.mak GEN microblazeel-softmmu/config-devices.mak GEN mips64el-softmmu/config-devices.mak.tmp GEN mips64-softmmu/config-devices.mak.tmp GEN microblaze-softmmu/config-devices.mak GEN i386-softmmu/config-devices.mak GEN mips-softmmu/config-devices.mak.tmp GEN mipsel-softmmu/config-devices.mak.tmp GEN mips64-softmmu/config-devices.mak GEN mipsel-softmmu/config-devices.mak GEN moxie-softmmu/config-devices.mak.tmp GEN moxie-softmmu/config-devices.mak GEN nios2-softmmu/config-devices.mak.tmp GEN mips64el-softmmu/config-devices.mak GEN or1k-softmmu/config-devices.mak.tmp GEN ppc64-softmmu/config-devices.mak.tmp GEN or1k-softmmu/config-devices.mak GEN ppcemb-softmmu/config-devices.mak.tmp GEN ppcemb-softmmu/config-devices.mak GEN ppc-softmmu/config-devices.mak.tmp GEN nios2-softmmu/config-devices.mak GEN mips-softmmu/config-devices.mak GEN ppc64-softmmu/config-devices.mak GEN s390x-softmmu/config-devices.mak.tmp GEN sh4eb-softmmu/config-devices.mak.tmp GEN s390x-softmmu/config-devices.mak GEN sh4-softmmu/config-devices.mak.tmp GEN sh4-softmmu/config-devices.mak GEN sparc-softmmu/config-devices.mak.tmp GEN sparc64-softmmu/config-devices.mak.tmp GEN ppc-softmmu/config-devices.mak GEN tricore-softmmu/config-devices.mak.tmp GEN sparc-softmmu/config-devices.mak GEN unicore32-softmmu/config-devices.mak.tmp GEN sparc64-softmmu/config-devices.mak GEN sh4eb-softmmu/config-devices.mak GEN x86_64-softmmu/config-devices.mak.tmp GEN xtensaeb-softmmu/config-devices.mak.tmp GEN tricore-softmmu/config-devices.mak GEN unicore32-softmmu/config-devices.mak GEN xtensa-softmmu/config-devices.mak.tmp GEN xtensaeb-softmmu/config-devices.mak GEN aarch64-linux-user/config-devices.mak.tmp GEN aarch64-linux-user/config-devices.mak GEN alpha-linux-user/config-devices.mak.tmp GEN armeb-linux-user/config-devices.mak.tmp GEN armeb-linux-user/config-devices.mak GEN arm-linux-user/config-devices.mak.tmp GEN xtensa-softmmu/config-devices.mak GEN alpha-linux-user/config-devices.mak GEN arm-linux-user/config-devices.mak GEN cris-linux-user/config-devices.mak.tmp GEN hppa-linux-user/config-devices.mak.tmp GEN i386-linux-user/config-devices.mak.tmp GEN x86_64-softmmu/config-devices.mak GEN m68k-linux-user/config-devices.mak.tmp GEN cris-linux-user/config-devices.mak GEN microblazeel-linux-user/config-devices.mak.tmp GEN i386-linux-user/config-devices.mak GEN hppa-linux-user/config-devices.mak GEN microblaze-linux-user/config-devices.mak.tmp GEN m68k-linux-user/config-devices.mak GEN microblazeel-linux-user/config-devices.mak GEN mips64el-linux-user/config-devices.mak.tmp GEN mips64-linux-user/config-devices.mak.tmp GEN mips64el-linux-user/config-devices.mak GEN mipsel-linux-user/config-devices.mak.tmp GEN mips-linux-user/config-devices.mak.tmp GEN microblaze-linux-user/config-devices.mak GEN mipsn32el-linux-user/config-devices.mak.tmp GEN mipsel-linux-user/config-devices.mak GEN mips-linux-user/config-devices.mak GEN mips64-linux-user/config-devices.mak GEN mipsn32-linux-user/config-devices.mak.tmp GEN nios2-linux-user/config-devices.mak.tmp GEN or1k-linux-user/config-devices.mak.tmp GEN mipsn32el-linux-user/config-devices.mak GEN ppc64abi32-linux-user/config-devices.mak.tmp GEN nios2-linux-user/config-devices.mak GEN mipsn32-linux-user/config-devices.mak GEN or1k-linux-user/config-devices.mak GEN ppc64le-linux-user/config-devices.mak.tmp GEN ppc64-linux-user/config-devices.mak.tmp GEN ppc-linux-user/config-devices.mak.tmp GEN ppc64abi32-linux-user/config-devices.mak GEN ppc64-linux-user/config-devices.mak GEN s390x-linux-user/config-devices.mak.tmp GEN sh4eb-linux-user/config-devices.mak.tmp GEN ppc64le-linux-user/config-devices.mak GEN ppc-linux-user/config-devices.mak GEN sh4eb-linux-user/config-devices.mak GEN sh4-linux-user/config-devices.mak.tmp GEN s390x-linux-user/config-devices.mak GEN sparc32plus-linux-user/config-devices.mak.tmp GEN sparc64-linux-user/config-devices.mak.tmp GEN sparc-linux-user/config-devices.mak.tmp GEN sparc64-linux-user/config-devices.mak GEN sparc32plus-linux-user/config-devices.mak GEN sh4-linux-user/config-devices.mak GEN sparc-linux-user/config-devices.mak GEN tilegx-linux-user/config-devices.mak.tmp GEN x86_64-linux-user/config-devices.mak.tmp GEN config-host.h GEN tilegx-linux-user/config-devices.mak GEN qemu-options.def GEN x86_64-linux-user/config-devices.mak GEN qmp-commands.h GEN qapi-types.h GEN qapi-visit.h GEN qapi-event.h GEN qmp-marshal.c GEN qapi-types.c GEN qapi-visit.c GEN qapi-event.c GEN qmp-introspect.h GEN qmp-introspect.c GEN trace/generated-tcg-tracers.h GEN trace/generated-helpers-wrappers.h GEN trace/generated-helpers.h GEN trace/generated-helpers.c GEN module_block.h make: *** No rule to make target 'ui/input-keymap-linux-to-qcode.c', needed by 'Makefile'. Stop. make: *** Waiting for unfinished jobs.... === OUTPUT END === Test command exited with code: 2 --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@freelists.org ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2017-10-02 12:56 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-09-28 12:06 [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 1/6] build: automatically handle GIT submodule checkout for dtc Daniel P. Berrange 2017-09-28 17:58 ` Eric Blake 2017-09-29 9:08 ` Daniel P. Berrange 2017-09-28 17:59 ` Eric Blake 2017-09-29 9:09 ` Daniel P. Berrange 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 2/6] docker: don't rely on submodules existing in the main checkout Daniel P. Berrange 2017-09-28 18:03 ` Eric Blake 2017-09-29 9:14 ` Daniel P. Berrange 2017-10-02 12:55 ` Peter Maydell 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 3/6] ui: add keycodemapdb repository as a GIT submodule Daniel P. Berrange 2017-09-28 18:22 ` Eric Blake 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 4/6] ui: convert common input code to keycodemapdb Daniel P. Berrange 2017-09-28 18:25 ` Eric Blake 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 5/6] ui: convert key events to QKeyCodes immediately Daniel P. Berrange 2017-09-28 12:06 ` [Qemu-devel] [PATCH v7 6/6] ui: don't export qemu_input_event_new_key Daniel P. Berrange 2017-09-28 12:20 ` [Qemu-devel] [PATCH v7 0/6] Initial support for keycodemapdb GIT submodule no-reply
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.