Created attachment 199831 [details] add devel/evdev-proto and update consumers Hi! Attached patch moves two evdev-releated headers, linux/input.h and linux/uinput.h from multimedia/v4l_compat to the new port devel/evdev-proto. This makes it easier for the Graphics Team to keep track of those headers and to keep them updated independent of the other headers in v4l_compat. Since this is a fairly large change, touching a number of ports, I'd like an exp-run to ensure I haven't missed updating any consumers. This is a prerequisite for updating libinput and friends.
(In reply to Niclas Zeising from comment #0) AFAIR, at least libevdev and py-evdev should be updated at the same commit to handle input-event-codes.h header split off. Also, devel/libmtdev/files/patch-test-mtdev-test.c and x11-drivers/xf86-input-wacom/files/patch-src-wcmValidateDevice.c should be included too to fix __u16/__u64 type leaks
(In reply to Vladimir Kondratyev from comment #1) I'll look into this, thanks for the help! My hope is to keep this change as small as possible, and then update consumers (libinput, libevdev and so on) after, but in case that's not possible, I'll update consumers as needed together with this.
Created attachment 199967 [details] add devel/evdev-proto and update consumers+fixes I attached basically the same patch with minor changes: evdev-proto is based on 4.19 kernel rather than 4.16 libevdev and py-evdev versions are bumped. Current port versions do not know of new header (input-event-codes.h) existence. Add patches for fixing of libmtdev and f86-input-wacom compilation. Garbage collect libinput and evemu kludges which was introduced for support of old evdev headers. I think it is minimal possible change.
(In reply to Vladimir Kondratyev from comment #3) Thank you. I'll get this into our dev repo and if needed reroll the patch again. Hopefully we can get the exp-run done soon. :)
Some new failures: http://package18.nyi.freebsd.org/data/112amd64-default-PR233787/2018-12-10_20h55m12s/logs/flightgear-2018.2.2_2.log http://package18.nyi.freebsd.org/data/112amd64-default-PR233787/2018-12-10_20h55m12s/logs/dvb-apps-1.1.2.1505.log http://package18.nyi.freebsd.org/data/112amd64-default-PR233787/2018-12-10_20h55m12s/logs/mpv-0.29.1_2,1.log http://package18.nyi.freebsd.org/data/112amd64-default-PR233787/2018-12-10_20h55m12s/logs/xf86-input-libinput-0.25.0_2.log http://package18.nyi.freebsd.org/data/112amd64-default-PR233787/2018-12-10_20h55m12s/logs/xwayland-1.19.1_10,1.log http://package18.nyi.freebsd.org/data/112amd64-default-PR233787/2018-12-10_20h55m12s/logs/wlc-0.0.8_1.log http://package18.nyi.freebsd.org/data/112amd64-default-PR233787/2018-12-10_20h55m12s/logs/kde-workspace-kde4-4.11.22_26.log A few ports were skipped due to those failures too.
(In reply to Antoine Brodin from comment #5) Thank you! I'll work through these. Do you think another exp run is warranted once these are fixed?
(In reply to Niclas Zeising from comment #6) Yes
Created attachment 200088 [details] add devel/evdev-proto and update consumers Hi! Here is an updated patch with build fixes for all the fallout. Please run it again.
Exp-run looks fine
A commit references this bug: Author: zeising Date: Wed Dec 19 09:09:21 UTC 2018 New revision: 487789 URL: https://svnweb.freebsd.org/changeset/ports/487789 Log: Split out evdev headers from multimedia/v4l_compat Split out evdev headers (input.h, input-event-codes.h, uinput.h) into their own port, devel/evdev-proto, and update those to be current with the Linux 4.19 kernel. This is done in order to be able to update the rest of the FreeBSD input stack, which is forthcoming. By splititng out the evdev headers we can update them independent of other updates in v4l_compat, which makes it easier for the graphics team to keep track of them and keep them updated as needed. Update devel/libevdev from 1.4.4 to 1.5.9 instead of trying to make it work with the updated headers. This will be further updated. Update devel/py-evdev from 0.5.0 to 0.8.1 instead of trying to make it work with the updated evdev headers. Update consumers to use devel/evdev-proto rather than multimedia/v4l_compat as needed, and bump portrevisions. This is the first step in getting the FreeBSD input stack (libevdev, libinput and so on) updated to newer versions. Many thanks to all who have helped out with testing, code and exp-runs. Apologies if I've forgotten to add any names. PR: 222905, 217248, (based on, in part), 233787 (exp-run) Submitted by: Greg V, wulf Tested by: tcberner, kde Exp-run by: antoine Approved by: portmgr (antoine) Obtained from: FreeBSDDesktop development repo https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input-ports Changes: head/audio/ardour/Makefile head/comms/lirc/Makefile head/comms/svxlink/Makefile head/devel/Makefile head/devel/evdev-proto/ head/devel/evdev-proto/Makefile head/devel/evdev-proto/distinfo head/devel/evdev-proto/pkg-descr head/devel/evemu/Makefile head/devel/evemu/files/patch-tools_evemu-record.c head/devel/libevdev/Makefile head/devel/libevdev/distinfo head/devel/libevdev/files/ head/devel/libevdev/files/patch-libevdev_libevdev-uinput.c head/devel/libevdev/files/patch-test_test-libevdev-events.c head/devel/libevdev/files/patch-test_test-libevdev-has-event.c head/devel/libevdev/files/patch-test_test-libevdev-init.c head/devel/libevdev/files/patch-test_test-main.c head/devel/libevdev/pkg-plist head/devel/libmtdev/Makefile head/devel/libmtdev/files/patch-test_mtdev-test.c head/devel/libudev-devd/Makefile head/devel/py-evdev/Makefile head/devel/py-evdev/distinfo head/devel/sdl20/Makefile head/games/flightgear/Makefile head/multimedia/dvb-apps/Makefile head/multimedia/gstreamer1-plugins/Makefile.common head/multimedia/kdenlive/Makefile head/multimedia/lives/Makefile head/multimedia/mpv/Makefile head/multimedia/v4l_compat/Makefile head/multimedia/v4l_compat/pkg-plist head/net/freerdp/Makefile head/x11/kde-workspace-kde4/Makefile head/x11/kf5-kwayland/Makefile head/x11/libinput/Makefile head/x11/libinput/files/patch-include_linux_input.h head/x11/plasma5-kwayland-integration/Makefile head/x11-drivers/xf86-input-evdev/Makefile head/x11-drivers/xf86-input-libinput/Makefile head/x11-drivers/xf86-input-synaptics/Makefile head/x11-drivers/xf86-input-wacom/Makefile head/x11-drivers/xf86-input-wacom/files/patch-src-wcmConfig.c head/x11-drivers/xf86-input-wacom/files/patch-src-wcmISDV4.c head/x11-drivers/xf86-input-wacom/files/patch-src-wcmUSB.c head/x11-drivers/xf86-input-wacom/files/patch-src-wcmValidateDevice.c head/x11-drivers/xf86-video-qxl/Makefile head/x11-servers/xwayland/Makefile head/x11-toolkits/wlc/Makefile head/x11-wm/plasma5-kwin/Makefile
Thank you for your help with the exp-run Antoine, and thank you wulf for help on the patch! This is comitted, leaving this open for a little bit in case of fallout.
A commit references this bug: Author: zeising Date: Sun Dec 23 09:57:30 UTC 2018 New revision: 488181 URL: https://svnweb.freebsd.org/changeset/ports/488181 Log: x11-servers/xwayland: Fix portrevision Fix portrevision, it accidentally went backwards when comitting r487789. Bump it to 11 to ensure xwayland is rebuild after the evdev-proto changes. Add a big note about this, so I might remember next time. PR: 222905, 217248, 233787 (original commit), 234240 (fix) Submitted by: Stefan Ehmann (fix) Changes: head/x11-servers/xwayland/Makefile
It's been over a week, with no apparent fallout. Closing this. Once again thank you to all involved!