diff options
-rw-r--r-- | user/bolt/APKBUILD | 36 | ||||
-rw-r--r-- | user/bolt/wakeup.patch | 50 |
2 files changed, 86 insertions, 0 deletions
diff --git a/user/bolt/APKBUILD b/user/bolt/APKBUILD new file mode 100644 index 000000000..b14289263 --- /dev/null +++ b/user/bolt/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=bolt +pkgver=0.8 +pkgrel=0 +pkgdesc="Thunderbolt 3 device manager" +url=" " +arch="all" +license="LGPL-2.1-only" +depends="" +makedepends="eudev-dev glib-dev meson ninja polkit-dev" +subpackages="" +source="https://gitlab.freedesktop.org/bolt/bolt/-/archive/$pkgver/bolt-$pkgver.tar.gz + wakeup.patch + " + +build() { + meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + . output + ninja -C output +} + +check() { + ninja -C output test +} + +package() { + DESTDIR="$pkgdir" ninja -C output install +} + +sha512sums="0fdbc026178a4ca6a8c53aa46933d1c411eb04e350955f8b10c7faff814576d0796dd28e56b968648e549c79cf5fa13d43970d797595af0f66457abaef8ace09 bolt-0.8.tar.gz +487f2c7824edba318692d40ffc4e55f893602587b1380b18877d9dca3b5b22b14e27001b3547369a8ec1a6c5fe7a5facc1fa97e92b3a5011a67ec967afce25ea wakeup.patch" diff --git a/user/bolt/wakeup.patch b/user/bolt/wakeup.patch new file mode 100644 index 000000000..a10d420c4 --- /dev/null +++ b/user/bolt/wakeup.patch @@ -0,0 +1,50 @@ +From ea3e3e30eb3ce76f6a0ae816a0f35809872f4edf Mon Sep 17 00:00:00 2001 +From: Christian Kellner <christian@kellner.me> +Date: Mon, 13 Jan 2020 17:38:47 +0100 +Subject: [PATCH] manager: ignore wakeup device uevents for probing + +The probing detection code should ignore wakeup device uevents +because these virtual devices can be added (and removed) without +and correspondence to any physical thunderbolt device (un-)plug +events. +--- + boltd/bolt-manager.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/boltd/bolt-manager.c b/boltd/bolt-manager.c +index 877c008..c8b60da 100644 +--- a/boltd/bolt-manager.c ++++ b/boltd/bolt-manager.c +@@ -2043,6 +2043,16 @@ device_is_thunderbolt_root (struct udev_device *dev) + bolt_streq (driver, "thunderbolt"); + } + ++static gboolean ++device_is_wakeup (struct udev_device *dev) ++{ ++ const char *subsys; ++ ++ subsys = udev_device_get_subsystem (dev); ++ ++ return bolt_streq (subsys, "wakeup"); ++} ++ + static gboolean + probing_add_root (BoltManager *mgr, + struct udev_device *dev) +@@ -2080,6 +2090,12 @@ manager_probing_device_added (BoltManager *mgr, + if (syspath == NULL) + return; + ++ /* ignore events for wakeup devices which get removed ++ * and added at random time without any connection to ++ * any physical thunderbolt device */ ++ if (device_is_wakeup (dev)) ++ return; ++ + roots = mgr->probing_roots; + for (guint i = 0; i < roots->len; i++) + { +-- +2.24.1 + |