aosc-os-abbs icon indicating copy to clipboard operation
aosc-os-abbs copied to clipboard

libinput: update to 1.20.1

Open CamberLoid opened this issue 2 years ago • 6 comments

Topic Description

It is discovered that libinput is vulnerable to CVE-2022-1215 , and upstream has released version 1.20.1 to fix aforementioned vulnerability. This topic will update libinput to 1.20.1 , and along with updates of dependencies list.

UPDATE on 04/24/2022: This topic also involves several updates of libinput's dependencies. UPDATE-2 on 04/24/2022: Since gtk-4 replaces gtk-3 for this package, which is not available in current riscv64 repo, this topic will also involve several updates to adopt support of gtk-4 for riscv64.

Details can be found in commit messages. https://github.com/AOSC-Dev/aosc-os-abbs/pull/3940/commits/e9a1a61db2f0e7ee4daa3db877ac8ce5b7e6a1f3

References: Ubuntu security advisory: USN-5382-1 Upstream commit msg: https://gitlab.freedesktop.org/libinput/libinput/-/commit/a423d7d3269dc32a87384f79e29bb5ac021c83d1 | https://github.com/wayland-project/libinput/commit/2a8b8fde90d63d48ce09ddae44142674bbca1c28 Upstream issue: https://gitlab.freedesktop.org/libinput/libinput/-/issues/752

Package(s) Affected

Main package:

  • libinput 1.19.3 -> 1.20.1

Dependencies:

  • libevdev
  • libgudev
  • libwacom
  • pyudev
  • python-evdev

Dependencies (gtk-4):

  • exempi
  • libiptcdata
  • lua-expat
  • libquvi{,-scripts}

Security Update?

Yes. See references above.

Build Order

Affected dependencies -> libinput ciel build -i {instance} libquvi libquvi-scripts lua-expat libiptcdata exempi libevdev libgudev libwacom pyudev python-evdev libinput

For riscv64: ciel build -i {instance} libplist libquvi libquvi-scripts lua-expat libiptcdata exempi libevdev libgudev libwacom pyudev python-evdev libinput

Test Build(s) Done

Primary Architectures

  • [x] AMD64 amd64
  • [ ] AArch64 arm64

Secondary Architectures

Architectural progress for "secondary," or experimental ports does not impede on merging of this topic.

  • [ ] Loongson 3 loongson3
  • [ ] PowerPC 64-bit (Little Endian) ppc64el
  • [x] RISC-V 64-bit riscv64

Update(s) Uploaded to Stable

Primary Architectures

  • [ ] AMD64 amd64
  • [ ] AArch64 arm64

Secondary Architectures

Architectural progress for "secondary," or experimental ports does not impede on merging of this topic.

  • [ ] Loongson 3 loongson3
  • [ ] PowerPC 64-bit (Little Endian) ppc64el
  • [ ] RISC-V 64-bit riscv64

CamberLoid avatar Apr 23 '22 11:04 CamberLoid

And no major failures was found during testing on my local amd64 container.

Log

root@main-806509a6 [ libinput-1.20.1-562f7bcee0bf513824d30be31e2a64c40d5f2ee1 ] ! meson check .
The Meson build system
Version: 0.59.1
Source dir: /var/cache/acbs/build/acbs.zsilbi6h/libinput-1.20.1-562f7bcee0bf513824d30be31e2a64c40d5f2ee1
Build dir: /var/cache/acbs/build/acbs.zsilbi6h/libinput-1.20.1-562f7bcee0bf513824d30be31e2a64c40d5f2ee1/tests
Build type: native build

Project name: libinput
Project version: 1.20.1
C compiler for the host machine: cc (gcc 11.2.0 "cc (GCC) 11.2.0 20210728 (AOSC OS, Core)")
C linker for the host machine: cc ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wno-unused-parameter: YES 
Compiler for C supports arguments -Wmissing-prototypes: YES 
Compiler for C supports arguments -Wstrict-prototypes: YES 
Compiler for C supports arguments -Wundef: YES 
Compiler for C supports arguments -Wlogical-op: YES 
Compiler for C supports arguments -Wpointer-arith: YES 
Compiler for C supports arguments -Wuninitialized: YES 
Compiler for C supports arguments -Winit-self: YES 
Compiler for C supports arguments -Wstrict-prototypes: YES (cached)
Compiler for C supports arguments -Wimplicit-fallthrough: YES 
Compiler for C supports arguments -Wredundant-decls: YES 
Compiler for C supports arguments -Wincompatible-pointer-types: YES 
Compiler for C supports arguments -Wformat=2: YES 
Compiler for C supports arguments -Wno-missing-field-initializers: YES 
Compiler for C supports arguments -Wmissing-declarations: YES 
Compiler for C supports arguments -fvisibility=hidden: YES 
Fetching value of define "static_assert" : _Static_assert 
Header <dirent.h> has symbol "versionsort" : YES 
Header <errno.h> has symbol "program_invocation_short_name" : YES 
Has header "xlocale.h" : NO 
Checking if "locale.h" links: YES 
Header <sys/ptrace.h> has symbol "PTRACE_ATTACH" : YES 
Found pkg-config: /bin/pkg-config (0.29.2)
Run-time dependency libudev found: YES 248
Run-time dependency mtdev found: YES 1.1.6
Run-time dependency libevdev found: YES 1.11.0
Library m found: YES
Library rt found: YES
Run-time dependency libwacom found: YES 1.9
Configuring 80-libinput-device-groups.rules using configuration
Configuring 90-libinput-fuzz-override.rules using configuration
Configuring 80-libinput-device-groups-litest.rules using configuration
Configuring 90-libinput-fuzz-override-litest.rules using configuration
Program test/check-leftover-udev-rules.sh found: YES (/var/cache/acbs/build/acbs.zsilbi6h/libinput-1.20.1-562f7bcee0bf513824d30be31e2a64c40d5f2ee1/test/check-leftover-udev-rules.sh)
Header <sys/epoll.h> has symbol "epoll_create1" : YES 
Configuring test-util-includes-util-bits.h.c using configuration
Configuring test-util-includes-util-input-event.h.c using configuration
Configuring test-util-includes-util-list.h.c using configuration
Configuring test-util-includes-util-macros.h.c using configuration
Configuring test-util-includes-util-matrix.h.c using configuration
Configuring test-util-includes-util-prop-parsers.h.c using configuration
Configuring test-util-includes-util-ratelimit.h.c using configuration
Configuring test-util-includes-util-strings.h.c using configuration
Configuring test-util-includes-util-time.h.c using configuration
Configuring libinput-version.h using configuration
Program /usr/bin/meson found: YES (/usr/bin/meson)
Found CMake: /bin/cmake (3.21.2)
Run-time dependency gtk4 found: NO (tried pkgconfig and cmake)
Run-time dependency gtk+-3.0 found: YES 3.24.30
Run-time dependency cairo found: YES 1.16.0
Run-time dependency glib-2.0 found: YES 2.70.2
Run-time dependency wayland-client found: YES 1.19.0
Run-time dependency wayland-protocols found: YES 1.22
Run-time dependency x11 found: YES 1.6.12
Program wayland-scanner found: YES (/bin/wayland-scanner)
Configuring test_tool_option_parsing.py using configuration
Program test_tool_option_parsing.py found: YES (/var/cache/acbs/build/acbs.zsilbi6h/libinput-1.20.1-562f7bcee0bf513824d30be31e2a64c40d5f2ee1/tests/test_tool_option_parsing.py)
Program test/helper-copy-and-exec-from-tmp.sh found: YES (/var/cache/acbs/build/acbs.zsilbi6h/libinput-1.20.1-562f7bcee0bf513824d30be31e2a64c40d5f2ee1/test/helper-copy-and-exec-from-tmp.sh)
Program test/symbols-leak-test found: YES (/var/cache/acbs/build/acbs.zsilbi6h/libinput-1.20.1-562f7bcee0bf513824d30be31e2a64c40d5f2ee1/test/symbols-leak-test)
C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (GCC) 11.2.0 20210728 (AOSC OS, Core)")
C++ linker for the host machine: c++ ld.bfd 2.38
Run-time dependency check found: YES 0.15.2
Program gstack found: NO
Run-time dependency libsystemd found: YES 248
Library dl found: YES
Program valgrind found: YES (/bin/valgrind)
Configuring litest-config.h using configuration
Configuring libinput-debug-gui.1 using configuration
Configuring libinput-test-suite.1 using configuration
Configuring libinput.1 using configuration
Configuring libinput-analyze.1 using configuration
Configuring libinput-analyze-per-slot-delta.1 using configuration
Configuring libinput-analyze-recording.1 using configuration
Configuring libinput-analyze-touch-down-state.1 using configuration
Configuring libinput-debug-events.1 using configuration
Configuring libinput-debug-tablet.1 using configuration
Configuring libinput-list-devices.1 using configuration
Configuring libinput-measure.1 using configuration
Configuring libinput-measure-fuzz.1 using configuration
Configuring libinput-measure-touchpad-size.1 using configuration
Configuring libinput-measure-touchpad-tap.1 using configuration
Configuring libinput-measure-touchpad-pressure.1 using configuration
Configuring libinput-measure-touch-size.1 using configuration
Configuring libinput-quirks.1 using configuration
Configuring libinput-record.1 using configuration
Configuring libinput-replay.1 using configuration
Configuring libinput-quirks-list.1 using configuration
Configuring libinput-quirks-validate.1 using configuration
Configuring config.h using configuration
Build targets in project: 39

Found ninja-1.10.2 at /bin/ninja

Minor failures:

  • Run-time dependency gtk4 found: NO (tried pkgconfig and cmake) : added in ~~PKGRECOM~~ PKGDEP

CamberLoid avatar Apr 23 '22 11:04 CamberLoid

Minor failure was found during last test on local qemu-emulated virtualized environment.

16/30 libinput:all+valgrind+root+hardware / libinput-test-suite-tablet                   FAIL             76.69s   exit status 1
>>> MALLOC_PERTURB_=136 /var/cache/acbs/build/acbs.pq9x1hef/libinput-1.20.1-562f7bcee0bf513824d30be31e2a64c40d5f2ee1/abbuild/libinput-test-suite --filter-group=tablet --xml-output=junit-tablet-XXXXXX.xml
(snipped)
stderr:
FAILED EVENT TYPE: litest Wacom Intuos5 touch M Pen: have TABLET TOOL PROX (601) but want REMOVED (2)
Wrong event is: device event19 (litest Wacom Intuos5 touch M Pen) type TABLET TOOL PROX proximity 0
:: Failure: ../test/test-tablet.c:5130: touch_arbitration_remove_touch(wacom-intuos5-tablet)

This failure consists after libwacom was updated to 2.2.0(not in repo yet).


Other linux distribution reports similar problem. (as screenshot) image

This problem will be ignored.

CamberLoid avatar Apr 23 '22 14:04 CamberLoid

https://github.com/AOSC-Dev/aosc-os-abbs/pull/3940#issuecomment-1107515743

Considering this package is tested on amd64.

image

As this package's tests should be performed on non-container environment, removing test-in-progress label.

CamberLoid avatar Apr 23 '22 14:04 CamberLoid

Adding test-in-progress tag again since there are new updates of packages involved.

CamberLoid avatar Apr 24 '22 05:04 CamberLoid

Package libplist (as a dependency of gtk-4) for riscv64 is broken. Will be rebuilt in this topic.

CamberLoid avatar Apr 24 '22 13:04 CamberLoid

Tests for riscv64 platform cannot complete as kernel module uinput seems to be unavailable. Skipping and removing tag test-in-progress

CamberLoid avatar May 09 '22 13:05 CamberLoid

Superseded by another topic that updated libinput to 1.21.0. Closing.

MingcongBai avatar Feb 27 '23 05:02 MingcongBai