* [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule @ 2017-09-28 8:44 Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 1/6] build: automatically handle GIT submodule checkout for dtc Daniel P. Berrange ` (6 more replies) 0 siblings, 7 replies; 13+ messages in thread From: Daniel P. Berrange @ 2017-09-28 8:44 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 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 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 | 21 +++ configure | 52 +++++--- include/ui/input.h | 12 +- scripts/archive-source.sh | 23 +++- scripts/git-submodule.sh | 31 +++++ ui/Makefile.objs | 21 +++ ui/input-keymap.c | 326 +++------------------------------------------- ui/input.c | 26 ++-- ui/keycodemapdb | 1 + 11 files changed, 174 insertions(+), 344 deletions(-) create mode 100755 scripts/git-submodule.sh create mode 160000 ui/keycodemapdb -- 2.13.5 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH v6 1/6] build: automatically handle GIT submodule checkout for dtc 2017-09-28 8:44 [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange @ 2017-09-28 8:44 ` Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 2/6] docker: don't rely on submodules existing in the main checkout Daniel P. Berrange ` (5 subsequent siblings) 6 siblings, 0 replies; 13+ messages in thread From: Daniel P. Berrange @ 2017-09-28 8:44 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 | 21 +++++++++++++++++++++ configure | 46 ++++++++++++++++++++++++++-------------------- scripts/git-submodule.sh | 31 +++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 20 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..a0d33b7d80 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,27 @@ ifneq ($(wildcard config-host.mak),) all: include config-host.mak +git-submodule-update: + +Makefile: 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 + # 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 .)) 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] 13+ messages in thread
* [Qemu-devel] [PATCH v6 2/6] docker: don't rely on submodules existing in the main checkout 2017-09-28 8:44 [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 1/6] build: automatically handle GIT submodule checkout for dtc Daniel P. Berrange @ 2017-09-28 8:44 ` Daniel P. Berrange 2017-09-28 9:44 ` Fam Zheng 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 3/6] ui: add keycodemapdb repository as a GIT submodule Daniel P. Berrange ` (4 subsequent siblings) 6 siblings, 1 reply; 13+ messages in thread From: Daniel P. Berrange @ 2017-09-28 8:44 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' most (all?) of the docker tests will fail due to the missing dtc package in the test images. Patchew manually checks out the dtc submodule in the main git checkout, but this is a bad idea. The docker tests should never mess around with the developer's main GIT checkout. 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 | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh index c4e7d98f4d..0d2046a80e 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,14 @@ fi trap "status=$?; rm -f \"$list_file\"; exit \$status" 0 1 2 3 15 +git clone --shared . "$vroot_dir" +here=`pwd` +cd "$vroot_dir" + +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 +62,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] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v6 2/6] docker: don't rely on submodules existing in the main checkout 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 2/6] docker: don't rely on submodules existing in the main checkout Daniel P. Berrange @ 2017-09-28 9:44 ` Fam Zheng 2017-09-28 9:52 ` Daniel P. Berrange 2017-09-28 22:59 ` Alistair Francis 0 siblings, 2 replies; 13+ messages in thread From: Fam Zheng @ 2017-09-28 9:44 UTC (permalink / raw) To: Daniel P. Berrange Cc: qemu-devel, Gerd Hoffmann, Peter Maydell, Paolo Bonzini, Alex Bennée On Thu, 09/28 09:44, 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' > most (all?) of the docker tests will fail due to the missing dtc > package in the test images. Not all, fail only in envs/configs where libfdt devel doesn't exist. But I'm not sure about this patch (*). > Patchew manually checks out the dtc > submodule in the main git checkout, but this is a bad idea. The > docker tests should never mess around with the developer's main > GIT checkout. Or in general, scripts should not mess around with developer's GIT checkouts, which is the reason ./configure doesn't do it? How about we clone/checkout dtc into a temporary dir from ./configure automatically instead? > > 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 | 23 ++++++++++++++++++++--- > 1 file changed, 20 insertions(+), 3 deletions(-) > > diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh > index c4e7d98f4d..0d2046a80e 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,14 @@ fi > > trap "status=$?; rm -f \"$list_file\"; exit \$status" 0 1 2 3 15 > > +git clone --shared . "$vroot_dir" (*) This loses the feature that uncommitted changes are also reflected in the tarball. Personally I rarely use it but since day one of docker tests we've deliberately supported that. Cc'ing Alex who originally implemented that with "git diff-index" and "git archive". Fam ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v6 2/6] docker: don't rely on submodules existing in the main checkout 2017-09-28 9:44 ` Fam Zheng @ 2017-09-28 9:52 ` Daniel P. Berrange 2017-09-29 2:35 ` Fam Zheng 2017-09-28 22:59 ` Alistair Francis 1 sibling, 1 reply; 13+ messages in thread From: Daniel P. Berrange @ 2017-09-28 9:52 UTC (permalink / raw) To: Fam Zheng Cc: qemu-devel, Gerd Hoffmann, Peter Maydell, Paolo Bonzini, Alex Bennée On Thu, Sep 28, 2017 at 05:44:53PM +0800, Fam Zheng wrote: > On Thu, 09/28 09:44, 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' > > most (all?) of the docker tests will fail due to the missing dtc > > package in the test images. > > Not all, fail only in envs/configs where libfdt devel doesn't exist. I didn't test all of them but of the ~5 I did test all failed, so I just assumed none contain libftd-devel, since you have patchew manually check it out. > > Patchew manually checks out the dtc > > submodule in the main git checkout, but this is a bad idea. The > > docker tests should never mess around with the developer's main > > GIT checkout. > > Or in general, scripts should not mess around with developer's GIT checkouts, > which is the reason ./configure doesn't do it? > > How about we clone/checkout dtc into a temporary dir from ./configure > automatically instead? > > > > > 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 | 23 ++++++++++++++++++++--- > > 1 file changed, 20 insertions(+), 3 deletions(-) > > > > diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh > > index c4e7d98f4d..0d2046a80e 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,14 @@ fi > > > > trap "status=$?; rm -f \"$list_file\"; exit \$status" 0 1 2 3 15 > > > > +git clone --shared . "$vroot_dir" > > (*) This loses the feature that uncommitted changes are also reflected in the > tarball. Personally I rarely use it but since day one of docker tests we've > deliberately supported that. Oh, I missed that we supported that. We can still cope with that by using the 'git stash create' trick the docker script used before. e.g. stash=`git stash create` git clone --shared . $vroot_dir cd $vroot_dir git checkout $stash the cloned repo contains the stash object, because we use --shared to directly share the .git dir contents. 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] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v6 2/6] docker: don't rely on submodules existing in the main checkout 2017-09-28 9:52 ` Daniel P. Berrange @ 2017-09-29 2:35 ` Fam Zheng 0 siblings, 0 replies; 13+ messages in thread From: Fam Zheng @ 2017-09-29 2:35 UTC (permalink / raw) To: Daniel P. Berrange Cc: qemu-devel, Gerd Hoffmann, Peter Maydell, Paolo Bonzini, Alex Bennée On Thu, 09/28 10:52, Daniel P. Berrange wrote: > On Thu, Sep 28, 2017 at 05:44:53PM +0800, Fam Zheng wrote: > > On Thu, 09/28 09:44, 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' > > > most (all?) of the docker tests will fail due to the missing dtc > > > package in the test images. > > > > Not all, fail only in envs/configs where libfdt devel doesn't exist. > > I didn't test all of them but of the ~5 I did test all failed, so I > just assumed none contain libftd-devel, since you have patchew > manually check it out. Patchew does it just because mingw needs it, this is not required for native build: $ git grep libfdt tests/docker tests/docker/dockerfiles/centos6.docker: libfdt-devel \ tests/docker/dockerfiles/centos7.docker: libfdt-devel \ tests/docker/dockerfiles/fedora.docker: glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \ tests/docker/dockerfiles/min-glib.docker:RUN yum install -y libfdt-devel ccache tests/docker/dockerfiles/ubuntu.docker: libspice-protocol-dev libnss3-dev libfdt-dev \ Fam ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v6 2/6] docker: don't rely on submodules existing in the main checkout 2017-09-28 9:44 ` Fam Zheng 2017-09-28 9:52 ` Daniel P. Berrange @ 2017-09-28 22:59 ` Alistair Francis 1 sibling, 0 replies; 13+ messages in thread From: Alistair Francis @ 2017-09-28 22:59 UTC (permalink / raw) To: Fam Zheng Cc: Daniel P. Berrange, Peter Maydell, Paolo Bonzini, Alex Bennée, qemu-devel@nongnu.org Developers, Gerd Hoffmann On Thu, Sep 28, 2017 at 2:44 AM, Fam Zheng <famz@redhat.com> wrote: > On Thu, 09/28 09:44, 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' >> most (all?) of the docker tests will fail due to the missing dtc >> package in the test images. > > Not all, fail only in envs/configs where libfdt devel doesn't exist. But I'm not > sure about this patch (*). > >> Patchew manually checks out the dtc >> submodule in the main git checkout, but this is a bad idea. The >> docker tests should never mess around with the developer's main >> GIT checkout. > > Or in general, scripts should not mess around with developer's GIT checkouts, > which is the reason ./configure doesn't do it? > > How about we clone/checkout dtc into a temporary dir from ./configure > automatically instead? I like this! Submodules cause lots of issues for us. Other users building QEMU don't expect to have to clone submodules and we get complaints back to the QEMU. Especially DTC which is always required. Thanks, Alistair ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH v6 3/6] ui: add keycodemapdb repository as a GIT submodule 2017-09-28 8:44 [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 1/6] build: automatically handle GIT submodule checkout for dtc Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 2/6] docker: don't rely on submodules existing in the main checkout Daniel P. Berrange @ 2017-09-28 8:44 ` Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 4/6] ui: convert common input code to keycodemapdb Daniel P. Berrange ` (3 subsequent siblings) 6 siblings, 0 replies; 13+ messages in thread From: Daniel P. Berrange @ 2017-09-28 8:44 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 0d2046a80e..c843b7ac13 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..bb60a18331 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 + $(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] 13+ messages in thread
* [Qemu-devel] [PATCH v6 4/6] ui: convert common input code to keycodemapdb 2017-09-28 8:44 [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange ` (2 preceding siblings ...) 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 3/6] ui: add keycodemapdb repository as a GIT submodule Daniel P. Berrange @ 2017-09-28 8:44 ` Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 5/6] ui: convert key events to QKeyCodes immediately Daniel P. Berrange ` (2 subsequent siblings) 6 siblings, 0 replies; 13+ messages in thread From: Daniel P. Berrange @ 2017-09-28 8:44 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 bb60a18331..08a6911258 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] 13+ messages in thread
* [Qemu-devel] [PATCH v6 5/6] ui: convert key events to QKeyCodes immediately 2017-09-28 8:44 [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange ` (3 preceding siblings ...) 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 4/6] ui: convert common input code to keycodemapdb Daniel P. Berrange @ 2017-09-28 8:44 ` Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 6/6] ui: don't export qemu_input_event_new_key Daniel P. Berrange 2017-09-28 8:53 ` [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule no-reply 6 siblings, 0 replies; 13+ messages in thread From: Daniel P. Berrange @ 2017-09-28 8:44 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] 13+ messages in thread
* [Qemu-devel] [PATCH v6 6/6] ui: don't export qemu_input_event_new_key 2017-09-28 8:44 [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange ` (4 preceding siblings ...) 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 5/6] ui: convert key events to QKeyCodes immediately Daniel P. Berrange @ 2017-09-28 8:44 ` Daniel P. Berrange 2017-09-28 8:53 ` [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule no-reply 6 siblings, 0 replies; 13+ messages in thread From: Daniel P. Berrange @ 2017-09-28 8:44 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] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule 2017-09-28 8:44 [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange ` (5 preceding siblings ...) 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 6/6] ui: don't export qemu_input_event_new_key Daniel P. Berrange @ 2017-09-28 8:53 ` no-reply 2017-09-28 9:27 ` Daniel P. Berrange 6 siblings, 1 reply; 13+ messages in thread From: no-reply @ 2017-09-28 8:53 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 v6 0/6] Initial support for keycodemapdb GIT submodule Message-id: 20170928084430.17059-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 - [tag update] patchew/20170927195635.16014-1-ehabkost@redhat.com -> patchew/20170927195635.16014-1-ehabkost@redhat.com - [tag update] patchew/20170928025958.1420-1-peterx@redhat.com -> patchew/20170928025958.1420-1-peterx@redhat.com * [new tag] patchew/20170928084430.17059-1-berrange@redhat.com -> patchew/20170928084430.17059-1-berrange@redhat.com Switched to a new branch 'test' c8aa5f7 ui: don't export qemu_input_event_new_key ff3c2b8 ui: convert key events to QKeyCodes immediately fcd06b0 ui: convert common input code to keycodemapdb 604b796 ui: add keycodemapdb repository as a GIT submodule 28064b9 docker: don't rely on submodules existing in the main checkout 34d0b5d 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-g3b823vc/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-g3b823vc/src/install BIOS directory /var/tmp/patchew-tester-tmp-g3b823vc/src/install/share/qemu firmware path /var/tmp/patchew-tester-tmp-g3b823vc/src/install/share/qemu-firmware binary directory /var/tmp/patchew-tester-tmp-g3b823vc/src/install/bin library directory /var/tmp/patchew-tester-tmp-g3b823vc/src/install/lib module directory /var/tmp/patchew-tester-tmp-g3b823vc/src/install/lib/qemu libexec directory /var/tmp/patchew-tester-tmp-g3b823vc/src/install/libexec include directory /var/tmp/patchew-tester-tmp-g3b823vc/src/install/include config directory /var/tmp/patchew-tester-tmp-g3b823vc/src/install/etc local state directory /var/tmp/patchew-tester-tmp-g3b823vc/src/install/var Manual directory /var/tmp/patchew-tester-tmp-g3b823vc/src/install/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /var/tmp/patchew-tester-tmp-g3b823vc/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 alpha-softmmu/config-devices.mak.tmp GEN aarch64-softmmu/config-devices.mak.tmp GEN arm-softmmu/config-devices.mak.tmp GEN arm-softmmu/config-devices.mak GEN cris-softmmu/config-devices.mak GEN i386-softmmu/config-devices.mak.tmp GEN lm32-softmmu/config-devices.mak.tmp GEN aarch64-softmmu/config-devices.mak GEN m68k-softmmu/config-devices.mak.tmp GEN m68k-softmmu/config-devices.mak GEN microblazeel-softmmu/config-devices.mak.tmp GEN lm32-softmmu/config-devices.mak GEN alpha-softmmu/config-devices.mak GEN microblaze-softmmu/config-devices.mak.tmp GEN i386-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 mipsel-softmmu/config-devices.mak.tmp GEN microblaze-softmmu/config-devices.mak GEN mips64el-softmmu/config-devices.mak GEN mips-softmmu/config-devices.mak.tmp GEN moxie-softmmu/config-devices.mak.tmp GEN mipsel-softmmu/config-devices.mak GEN nios2-softmmu/config-devices.mak.tmp GEN mips64-softmmu/config-devices.mak GEN nios2-softmmu/config-devices.mak GEN moxie-softmmu/config-devices.mak GEN ppc64-softmmu/config-devices.mak.tmp GEN or1k-softmmu/config-devices.mak.tmp GEN ppcemb-softmmu/config-devices.mak.tmp GEN mips-softmmu/config-devices.mak GEN or1k-softmmu/config-devices.mak GEN ppc-softmmu/config-devices.mak.tmp GEN s390x-softmmu/config-devices.mak.tmp GEN s390x-softmmu/config-devices.mak GEN ppcemb-softmmu/config-devices.mak GEN sh4eb-softmmu/config-devices.mak.tmp GEN ppc64-softmmu/config-devices.mak GEN sh4-softmmu/config-devices.mak.tmp GEN sparc64-softmmu/config-devices.mak.tmp GEN ppc-softmmu/config-devices.mak GEN sh4eb-softmmu/config-devices.mak GEN sparc-softmmu/config-devices.mak.tmp GEN tricore-softmmu/config-devices.mak.tmp GEN sparc64-softmmu/config-devices.mak GEN sh4-softmmu/config-devices.mak GEN unicore32-softmmu/config-devices.mak.tmp GEN sparc-softmmu/config-devices.mak GEN tricore-softmmu/config-devices.mak GEN x86_64-softmmu/config-devices.mak.tmp GEN xtensaeb-softmmu/config-devices.mak.tmp GEN xtensa-softmmu/config-devices.mak.tmp GEN unicore32-softmmu/config-devices.mak GEN aarch64-linux-user/config-devices.mak.tmp GEN aarch64-linux-user/config-devices.mak GEN xtensaeb-softmmu/config-devices.mak GEN x86_64-softmmu/config-devices.mak GEN alpha-linux-user/config-devices.mak.tmp GEN xtensa-softmmu/config-devices.mak GEN alpha-linux-user/config-devices.mak GEN cris-linux-user/config-devices.mak.tmp GEN armeb-linux-user/config-devices.mak.tmp GEN arm-linux-user/config-devices.mak.tmp GEN arm-linux-user/config-devices.mak GEN cris-linux-user/config-devices.mak GEN hppa-linux-user/config-devices.mak.tmp GEN i386-linux-user/config-devices.mak.tmp GEN m68k-linux-user/config-devices.mak.tmp GEN armeb-linux-user/config-devices.mak GEN hppa-linux-user/config-devices.mak GEN microblazeel-linux-user/config-devices.mak.tmp GEN microblaze-linux-user/config-devices.mak.tmp GEN m68k-linux-user/config-devices.mak GEN i386-linux-user/config-devices.mak GEN mips64el-linux-user/config-devices.mak.tmp GEN microblazeel-linux-user/config-devices.mak GEN mips64-linux-user/config-devices.mak.tmp GEN microblaze-linux-user/config-devices.mak GEN mipsel-linux-user/config-devices.mak.tmp GEN mips-linux-user/config-devices.mak.tmp GEN mips64el-linux-user/config-devices.mak GEN mips64-linux-user/config-devices.mak GEN mipsel-linux-user/config-devices.mak GEN mipsn32el-linux-user/config-devices.mak.tmp GEN mipsn32el-linux-user/config-devices.mak GEN mipsn32-linux-user/config-devices.mak.tmp GEN nios2-linux-user/config-devices.mak.tmp GEN nios2-linux-user/config-devices.mak GEN or1k-linux-user/config-devices.mak.tmp GEN ppc64abi32-linux-user/config-devices.mak.tmp GEN mips-linux-user/config-devices.mak GEN or1k-linux-user/config-devices.mak GEN ppc64le-linux-user/config-devices.mak.tmp GEN mipsn32-linux-user/config-devices.mak GEN ppc64-linux-user/config-devices.mak.tmp GEN ppc64le-linux-user/config-devices.mak GEN ppc-linux-user/config-devices.mak.tmp GEN s390x-linux-user/config-devices.mak.tmp GEN ppc64abi32-linux-user/config-devices.mak GEN sh4eb-linux-user/config-devices.mak.tmp GEN ppc64-linux-user/config-devices.mak GEN ppc-linux-user/config-devices.mak GEN sh4-linux-user/config-devices.mak.tmp GEN sh4eb-linux-user/config-devices.mak GEN s390x-linux-user/config-devices.mak GEN sparc32plus-linux-user/config-devices.mak.tmp GEN sh4-linux-user/config-devices.mak GEN sparc64-linux-user/config-devices.mak.tmp GEN sparc-linux-user/config-devices.mak.tmp GEN sparc32plus-linux-user/config-devices.mak GEN tilegx-linux-user/config-devices.mak.tmp GEN tilegx-linux-user/config-devices.mak GEN x86_64-linux-user/config-devices.mak.tmp GEN sparc-linux-user/config-devices.mak GEN sparc64-linux-user/config-devices.mak GIT ui/keycodemapdb GEN config-host.h GEN x86_64-linux-user/config-devices.mak GEN qemu-options.def 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] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule 2017-09-28 8:53 ` [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule no-reply @ 2017-09-28 9:27 ` Daniel P. Berrange 0 siblings, 0 replies; 13+ messages in thread From: Daniel P. Berrange @ 2017-09-28 9:27 UTC (permalink / raw) To: qemu-devel; +Cc: famz, peter.maydell, kraxel, pbonzini On Thu, Sep 28, 2017 at 01:53:25AM -0700, no-reply@patchew.org wrote: > Hi, > > This series failed build test on s390x host. Please find the details below. > > Type: series > Subject: [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule > Message-id: 20170928084430.17059-1-berrange@redhat.com [snip] > GIT ui/keycodemapdb > GEN config-host.h > GEN x86_64-linux-user/config-devices.mak > GEN qemu-options.def > 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.... What's happened here is that the 'GIT ui/keycodemapdb' checout has not completed by the time it tries to buil ui/input-keymap-linux-to-qcode.c Makefile depends on 'git-submodule-update', and Makefile also depends on $(GENERATED_FILES). IOW the checkout of the git submodules is not serialized wrt generation of files that use the submodule, and the patchew test had high enough parallelization to show this flaw, which my local & Travis tests did not see. So I need to tweak the deps a little... 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] 13+ messages in thread
end of thread, other threads:[~2017-09-29 2:35 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-09-28 8:44 [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 1/6] build: automatically handle GIT submodule checkout for dtc Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 2/6] docker: don't rely on submodules existing in the main checkout Daniel P. Berrange 2017-09-28 9:44 ` Fam Zheng 2017-09-28 9:52 ` Daniel P. Berrange 2017-09-29 2:35 ` Fam Zheng 2017-09-28 22:59 ` Alistair Francis 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 3/6] ui: add keycodemapdb repository as a GIT submodule Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 4/6] ui: convert common input code to keycodemapdb Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 5/6] ui: convert key events to QKeyCodes immediately Daniel P. Berrange 2017-09-28 8:44 ` [Qemu-devel] [PATCH v6 6/6] ui: don't export qemu_input_event_new_key Daniel P. Berrange 2017-09-28 8:53 ` [Qemu-devel] [PATCH v6 0/6] Initial support for keycodemapdb GIT submodule no-reply 2017-09-28 9:27 ` Daniel P. Berrange
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.