From aa1b8fc41f72535f5684fd682f78778db885d232 Mon Sep 17 00:00:00 2001 From: obarun <eric@obarun.org> Date: Tue, 2 Jan 2018 10:43:13 +1100 Subject: [PATCH] upgpkg : 1.19.6-3 --- PKGBUILD | 24 +++++---- revert-udev-changes.diff | 104 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+), 9 deletions(-) create mode 100644 revert-udev-changes.diff diff --git a/PKGBUILD b/PKGBUILD index 4d9e15e..e89be5c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -6,13 +6,13 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.19.5 -pkgrel=2 +pkgver=1.19.6 +pkgrel=3 arch=('x86_64') license=('custom') groups=('xorg') url="http://xorg.freedesktop.org" -makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' +makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' 'presentproto' 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont2' 'renderproto' 'libpciaccess' 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' @@ -23,13 +23,15 @@ source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pk xvfb-run xvfb-run.1 nvidia-add-modulepath-support.patch - xserver-autobind-hotplug.patch) + xserver-autobind-hotplug.patch + revert-udev-changes.diff) -sha256sums=('18fffa8eb93d06d2800d06321fc0df4d357684d8d714315a66d8dfa7df251447' +sha256sums=('a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' '23f2fd69a53ef70c267becf7d2a9e7e07b739f8ec5bec10adb219bc6465099c7' - '67aaf8668c5fb3c94b2569df28e64bfa1dc97ce429cbbc067c309113caff6369') + '67aaf8668c5fb3c94b2569df28e64bfa1dc97ce429cbbc067c309113caff6369' + 'c551dd768de10dd8a47213696003d118edb248ca6c09c0d9f1591abb0632d199') validpgpkeys=('6DD4217456569BA711566AC7F06E8FDE7B45DAAC') # Eric Vidal prepare() { @@ -41,6 +43,10 @@ prepare() { # patch from Fedora, not yet merged patch -Np1 -i ../xserver-autobind-hotplug.patch + # https://bugs.archlinux.org/task/56804 + # https://bugs.freedesktop.org/show_bug.cgi?id=104382 + patch -Rp1 -i ../revert-udev-changes.diff + autoreconf -vfi } @@ -86,7 +92,7 @@ build() { --with-sha1=libgcrypt \ --disable-systemd \ --without-systemd-daemon \ - --enable-systemd-logind=no + --disable-systemd-logind make @@ -101,7 +107,7 @@ build() { package_xorg-server-common() { pkgdesc="Xorg server common files" - depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap' 'xorg-fonts-misc' 'libunwind') + depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap') cd "${pkgbase}-${pkgver}" install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common" @@ -118,7 +124,7 @@ package_xorg-server-common() { package_xorg-server() { pkgdesc="Xorg X server" - depends=('libepoxy' 'libxfont2' 'pixman' 'xorg-server-common' 'libunwind' 'libgl' 'xf86-input-libinput' + depends=('libepoxy' 'libxfont2' 'pixman' 'xorg-server-common' 'libunwind' 'dbus' 'libgl' 'xf86-input-libinput' 'libpciaccess' 'libdrm' 'libxshmfence') # see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on # and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel pkg diff --git a/revert-udev-changes.diff b/revert-udev-changes.diff new file mode 100644 index 0000000..d25a0c7 --- /dev/null +++ b/revert-udev-changes.diff @@ -0,0 +1,104 @@ +From 5a5b6d6cca469521daa6ac9087f3589b7489ab55 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutterer@who-t.net> +Date: Tue, 26 Sep 2017 15:21:59 +1000 +Subject: config/udev: consider ID_INPUT_FOO=0 as 'unset' + +Historically we didn't need to care about this case but more devices are +having invalid types set and they cannot be unset with a hwdb entry (which +doesn't handle the empty string). Allow for "0" to mean "unset" because +anything else would be crazy anyway. + +Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> +(cherry picked from commit 5aad81445c8c3d6b7b30d503cfe26027fa482870) +--- + config/udev.c | 65 +++++++++++++++++++++++++++++------------------------------ + 1 file changed, 32 insertions(+), 33 deletions(-) + +(limited to 'config/udev.c') + +diff --git a/config/udev.c b/config/udev.c +index 932f230..e198e86 100644 +--- a/config/udev.c ++++ b/config/udev.c +@@ -134,7 +134,8 @@ device_added(struct udev_device *udev_device) + } + #endif + +- if (!udev_device_get_property_value(udev_device, "ID_INPUT")) { ++ value = udev_device_get_property_value(udev_device, "ID_INPUT"); ++ if (value && !strcmp(value, "0")) { + LogMessageVerb(X_INFO, 10, + "config/udev: ignoring device %s without " + "property ID_INPUT set\n", path); +@@ -237,38 +238,36 @@ device_added(struct udev_device *udev_device) + else if (!strcmp(key, "ID_VENDOR")) { + LOG_PROPERTY(path, key, value); + attrs.vendor = strdup(value); +- } +- else if (!strcmp(key, "ID_INPUT_KEY")) { +- LOG_PROPERTY(path, key, value); +- attrs.flags |= ATTR_KEY; +- } +- else if (!strcmp(key, "ID_INPUT_KEYBOARD")) { +- LOG_PROPERTY(path, key, value); +- attrs.flags |= ATTR_KEYBOARD; +- } +- else if (!strcmp(key, "ID_INPUT_MOUSE")) { +- LOG_PROPERTY(path, key, value); +- attrs.flags |= ATTR_POINTER; +- } +- else if (!strcmp(key, "ID_INPUT_JOYSTICK")) { +- LOG_PROPERTY(path, key, value); +- attrs.flags |= ATTR_JOYSTICK; +- } +- else if (!strcmp(key, "ID_INPUT_TABLET")) { +- LOG_PROPERTY(path, key, value); +- attrs.flags |= ATTR_TABLET; +- } +- else if (!strcmp(key, "ID_INPUT_TABLET_PAD")) { +- LOG_PROPERTY(path, key, value); +- attrs.flags |= ATTR_TABLET_PAD; +- } +- else if (!strcmp(key, "ID_INPUT_TOUCHPAD")) { +- LOG_PROPERTY(path, key, value); +- attrs.flags |= ATTR_TOUCHPAD; +- } +- else if (!strcmp(key, "ID_INPUT_TOUCHSCREEN")) { +- LOG_PROPERTY(path, key, value); +- attrs.flags |= ATTR_TOUCHSCREEN; ++ } else if (!strncmp(key, "ID_INPUT_", 9)) { ++ const struct pfmap { ++ const char *property; ++ unsigned int flag; ++ } map[] = { ++ { "ID_INPUT_KEY", ATTR_KEY }, ++ { "ID_INPUT_KEYBOARD", ATTR_KEYBOARD }, ++ { "ID_INPUT_MOUSE", ATTR_POINTER }, ++ { "ID_INPUT_JOYSTICK", ATTR_JOYSTICK }, ++ { "ID_INPUT_TABLET", ATTR_TABLET }, ++ { "ID_INPUT_TABLET_PAD", ATTR_TABLET_PAD }, ++ { "ID_INPUT_TOUCHPAD", ATTR_TOUCHPAD }, ++ { "ID_INPUT_TOUCHSCREEN", ATTR_TOUCHSCREEN }, ++ { NULL, 0 }, ++ }; ++ ++ /* Anything but the literal string "0" is considered a ++ * boolean true. The empty string isn't a thing with udev ++ * properties anyway */ ++ if (value && strcmp(value, "0")) { ++ const struct pfmap *m = map; ++ ++ while (m->property != NULL) { ++ if (!strcmp(m->property, key)) { ++ LOG_PROPERTY(path, key, value); ++ attrs.flags |= m->flag; ++ } ++ m++; ++ } ++ } + } + } + +-- +cgit v1.1 + -- GitLab