diff --git a/temp/iio-sensor-proxy/0001-WIP-iio-sensor-proxy.c-Do-not-exit-based-on-sensor-e.patch b/temp/iio-sensor-proxy/0001-WIP-iio-sensor-proxy.c-Do-not-exit-based-on-sensor-e.patch new file mode 100644 index 000000000..44c9401b3 --- /dev/null +++ b/temp/iio-sensor-proxy/0001-WIP-iio-sensor-proxy.c-Do-not-exit-based-on-sensor-e.patch @@ -0,0 +1,37 @@ +From c73bdbca1b4278ada24dde68e0d09c352dcaa004 Mon Sep 17 00:00:00 2001 +From: "Sicelo A. Mhlongo" +Date: Tue, 30 Sep 2025 13:17:16 +0200 +Subject: [PATCH] WIP: iio-sensor-proxy.c: Do not exit based on sensor events + +... +--- + src/iio-sensor-proxy.c | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/src/iio-sensor-proxy.c b/src/iio-sensor-proxy.c +index 5f26d3d..7505783 100644 +--- a/src/iio-sensor-proxy.c ++++ b/src/iio-sensor-proxy.c +@@ -766,8 +766,7 @@ name_acquired_handler (GDBusConnection *connection, + + bail: + data->ret = 0; +- g_debug ("No sensors or missing kernel drivers for the sensors"); +- g_main_loop_quit (data->loop); ++ g_debug ("No sensors or missing kernel drivers for the sensors. Waiting for hotplug sensors"); + } + + static gboolean +@@ -1050,9 +1049,6 @@ sensor_changes (GUdevClient *client, + send_driver_changed_dbus_event (data, i); + } + } +- +- if (!any_sensors_left (data)) +- g_main_loop_quit (data->loop); + } else if (g_strcmp0 (action, "add") == 0) { + for (i = 0; i < G_N_ELEMENTS(drivers); i++) { + SensorDriver *driver = (SensorDriver *) drivers[i]; +-- +2.51.0 + diff --git a/temp/iio-sensor-proxy/0010-drv-iio-buffer-relocate-the-.discover-method-to-brin.patch b/temp/iio-sensor-proxy/0010-drv-iio-buffer-relocate-the-.discover-method-to-brin.patch deleted file mode 100644 index 4bbf66cb0..000000000 --- a/temp/iio-sensor-proxy/0010-drv-iio-buffer-relocate-the-.discover-method-to-brin.patch +++ /dev/null @@ -1,153 +0,0 @@ -From f35d293e65841a3b9c0de778300c7fa58b181fd0 Mon Sep 17 00:00:00 2001 -From: "Sicelo A. Mhlongo" -Date: Sun, 25 May 2025 17:44:29 +0200 -Subject: [PATCH 1/4] drv-iio-buffer-*: relocate the .discover method to bring - the .open and .close methods into scope - -To fix #411 [0], the .discover method will now attempt to read from the sensor -buffer. Therefore, it will need to call .open and .close. Relocate the method -to ensure the former are within scope. There is no functional change in the -.discover method. - -[0] https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues/411 ---- - src/drv-iio-buffer-accel.c | 26 +++++++++++++------------- - src/drv-iio-buffer-compass.c | 26 +++++++++++++------------- - src/drv-iio-buffer-light.c | 26 +++++++++++++------------- - 3 files changed, 39 insertions(+), 39 deletions(-) - -diff --git a/src/drv-iio-buffer-accel.c b/src/drv-iio-buffer-accel.c -index 90747a6..931d5cb 100644 ---- a/src/drv-iio-buffer-accel.c -+++ b/src/drv-iio-buffer-accel.c -@@ -120,19 +120,6 @@ read_orientation (gpointer user_data) - return G_SOURCE_CONTINUE; - } - --static gboolean --iio_buffer_accel_discover (GUdevDevice *device) --{ -- if (!drv_check_udev_sensor_type (device, "iio-buffer-accel", NULL)) -- return FALSE; -- -- if (!is_buffer_usable (device)) -- return FALSE; -- -- g_debug ("Found IIO buffer accelerometer at %s", g_udev_device_get_sysfs_path (device)); -- return TRUE; --} -- - static void - iio_buffer_accel_set_polling (SensorDevice *sensor_device, - gboolean state) -@@ -205,6 +192,19 @@ iio_buffer_accel_close (SensorDevice *sensor_device) - g_free (sensor_device); - } - -+static gboolean -+iio_buffer_accel_discover (GUdevDevice *device) -+{ -+ if (!drv_check_udev_sensor_type (device, "iio-buffer-accel", NULL)) -+ return FALSE; -+ -+ if (!is_buffer_usable (device)) -+ return FALSE; -+ -+ g_debug ("Found IIO buffer accelerometer at %s", g_udev_device_get_sysfs_path (device)); -+ return TRUE; -+} -+ - SensorDriver iio_buffer_accel = { - .driver_name = "IIO Buffer accelerometer", - .type = DRIVER_TYPE_ACCEL, -diff --git a/src/drv-iio-buffer-compass.c b/src/drv-iio-buffer-compass.c -index f0399f4..cfe8f4f 100644 ---- a/src/drv-iio-buffer-compass.c -+++ b/src/drv-iio-buffer-compass.c -@@ -103,19 +103,6 @@ read_heading (gpointer user_data) - return G_SOURCE_CONTINUE; - } - --static gboolean --iio_buffer_compass_discover (GUdevDevice *device) --{ -- if (!drv_check_udev_sensor_type (device, "iio-buffer-compass", NULL)) -- return FALSE; -- -- if (!is_buffer_usable (device)) -- return FALSE; -- -- g_debug ("Found IIO buffer compass at %s", g_udev_device_get_sysfs_path (device)); -- return TRUE; --} -- - static SensorDevice * - iio_buffer_compass_open (GUdevDevice *device) - { -@@ -188,6 +175,19 @@ iio_buffer_compass_close (SensorDevice *sensor_device) - g_free (sensor_device); - } - -+static gboolean -+iio_buffer_compass_discover (GUdevDevice *device) -+{ -+ if (!drv_check_udev_sensor_type (device, "iio-buffer-compass", NULL)) -+ return FALSE; -+ -+ if (!is_buffer_usable (device)) -+ return FALSE; -+ -+ g_debug ("Found IIO buffer compass at %s", g_udev_device_get_sysfs_path (device)); -+ return TRUE; -+} -+ - SensorDriver iio_buffer_compass = { - .driver_name = "IIO Buffer Compass", - .type = DRIVER_TYPE_COMPASS, -diff --git a/src/drv-iio-buffer-light.c b/src/drv-iio-buffer-light.c -index 4be2398..6046dc3 100644 ---- a/src/drv-iio-buffer-light.c -+++ b/src/drv-iio-buffer-light.c -@@ -108,19 +108,6 @@ read_light (gpointer user_data) - return G_SOURCE_CONTINUE; - } - --static gboolean --iio_buffer_light_discover (GUdevDevice *device) --{ -- if (!drv_check_udev_sensor_type (device, "iio-buffer-als", NULL)) -- return FALSE; -- -- if (!is_buffer_usable (device)) -- return FALSE; -- -- g_debug ("Found IIO buffer ALS at %s", g_udev_device_get_sysfs_path (device)); -- return TRUE; --} -- - static void - iio_buffer_light_set_polling (SensorDevice *sensor_device, - gboolean state) -@@ -192,6 +179,19 @@ iio_buffer_light_close (SensorDevice *sensor_device) - g_free (sensor_device); - } - -+static gboolean -+iio_buffer_light_discover (GUdevDevice *device) -+{ -+ if (!drv_check_udev_sensor_type (device, "iio-buffer-als", NULL)) -+ return FALSE; -+ -+ if (!is_buffer_usable (device)) -+ return FALSE; -+ -+ g_debug ("Found IIO buffer ALS at %s", g_udev_device_get_sysfs_path (device)); -+ return TRUE; -+} -+ - SensorDriver iio_buffer_light = { - .driver_name = "IIO Buffer Light sensor", - .type = DRIVER_TYPE_LIGHT, --- -2.50.0 - diff --git a/temp/iio-sensor-proxy/0011-buffer_drv_data_new-rework-trigger_name-handling.patch b/temp/iio-sensor-proxy/0011-buffer_drv_data_new-rework-trigger_name-handling.patch deleted file mode 100644 index b457056f7..000000000 --- a/temp/iio-sensor-proxy/0011-buffer_drv_data_new-rework-trigger_name-handling.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 7416edf4da98d8e3b75f9eddb7e5c488ac4a4c54 Mon Sep 17 00:00:00 2001 -From: "Sicelo A. Mhlongo" -Date: Sun, 25 May 2025 19:17:51 +0200 -Subject: [PATCH 2/4] buffer_drv_data_new: rework trigger_name handling - -In each buffer driver, the get_trigger_name() call is always immediately -followed by a call to buffer_drv_data_new(). To simplify the code, -buffer_drv_data_new() now calls get_trigger_name(). Incidentally, -iio-sensor-proxy does not actually use the buffer sensor's trigger for -anything. ---- - src/drv-iio-buffer-accel.c | 6 +----- - src/drv-iio-buffer-compass.c | 10 +--------- - src/drv-iio-buffer-light.c | 9 +-------- - src/iio-buffer-utils.c | 9 ++++----- - src/iio-buffer-utils.h | 3 +-- - 5 files changed, 8 insertions(+), 29 deletions(-) - -diff --git a/src/drv-iio-buffer-accel.c b/src/drv-iio-buffer-accel.c -index 931d5cb..06db1aa 100644 ---- a/src/drv-iio-buffer-accel.c -+++ b/src/drv-iio-buffer-accel.c -@@ -151,13 +151,9 @@ iio_buffer_accel_open (GUdevDevice *device) - { - SensorDevice *sensor_device; - DrvData *drv_data; -- g_autofree char *trigger_name = NULL; - BufferDrvData *buffer_data; - -- /* Get the trigger name, and build the channels from that */ -- trigger_name = get_trigger_name (device); -- -- buffer_data = buffer_drv_data_new (device, trigger_name); -+ buffer_data = buffer_drv_data_new (device); - if (!buffer_data) - return NULL; - -diff --git a/src/drv-iio-buffer-compass.c b/src/drv-iio-buffer-compass.c -index cfe8f4f..2ae0ccd 100644 ---- a/src/drv-iio-buffer-compass.c -+++ b/src/drv-iio-buffer-compass.c -@@ -108,17 +108,9 @@ iio_buffer_compass_open (GUdevDevice *device) - { - SensorDevice *sensor_device; - DrvData *drv_data; -- g_autofree char *trigger_name = NULL; - BufferDrvData *buffer_data; - -- /* Get the trigger name, and build the channels from that */ -- trigger_name = get_trigger_name (device); -- if (!trigger_name) { -- g_debug ("Could not find trigger for %s", g_udev_device_get_sysfs_path (device)); -- return NULL; -- } -- -- buffer_data = buffer_drv_data_new (device, trigger_name); -+ buffer_data = buffer_drv_data_new (device); - if (!buffer_data) - return NULL; - -diff --git a/src/drv-iio-buffer-light.c b/src/drv-iio-buffer-light.c -index 6046dc3..2a524c6 100644 ---- a/src/drv-iio-buffer-light.c -+++ b/src/drv-iio-buffer-light.c -@@ -139,16 +139,9 @@ iio_buffer_light_open (GUdevDevice *device) - { - SensorDevice *sensor_device; - DrvData *drv_data; -- g_autofree char *trigger_name = NULL; - BufferDrvData *buffer_data; - -- /* Get the trigger name, and build the channels from that */ -- trigger_name = get_trigger_name (device); -- if (!trigger_name) { -- g_debug ("Could not find trigger for %s", g_udev_device_get_sysfs_path (device)); -- return NULL; -- } -- buffer_data = buffer_drv_data_new (device, trigger_name); -+ buffer_data = buffer_drv_data_new (device); - if (!buffer_data) - return NULL; - -diff --git a/src/iio-buffer-utils.c b/src/iio-buffer-utils.c -index 7a627d3..bc74e4c 100644 ---- a/src/iio-buffer-utils.c -+++ b/src/iio-buffer-utils.c -@@ -880,13 +880,14 @@ buffer_drv_data_free (BufferDrvData *buffer_data) - } - - BufferDrvData * --buffer_drv_data_new (GUdevDevice *device, -- const char *trigger_name) -+buffer_drv_data_new (GUdevDevice *device) - { - BufferDrvData *buffer_data; -+ g_autofree char *trigger_name = NULL; - - buffer_data = g_new0 (BufferDrvData, 1); - buffer_data->dev_dir_name = g_udev_device_get_sysfs_path (device); -+ trigger_name = get_trigger_name (device); - if (trigger_name) - buffer_data->trigger_name = g_strdup (trigger_name); - buffer_data->device = g_object_ref (device); -@@ -909,10 +910,8 @@ is_buffer_usable (GUdevDevice *device) - g_autofree char *trigger_name = NULL; - BufferDrvData *buffer_data; - -- trigger_name = get_trigger_name (device); -- - /* Temporarily enable the buffer to ensure the kernel driver is buffer-capable */ -- buffer_data = buffer_drv_data_new (device, trigger_name); -+ buffer_data = buffer_drv_data_new (device); - if (!buffer_data) - return FALSE; - -diff --git a/src/iio-buffer-utils.h b/src/iio-buffer-utils.h -index 597177a..9c5e6db 100644 ---- a/src/iio-buffer-utils.h -+++ b/src/iio-buffer-utils.h -@@ -43,8 +43,7 @@ gboolean iio_fixup_sampling_frequency (GUdevDevice *dev); - char *get_trigger_name (GUdevDevice *device); - - void buffer_drv_data_free (BufferDrvData *buffer_data); --BufferDrvData *buffer_drv_data_new (GUdevDevice *device, -- const char *trigger_name); -+BufferDrvData *buffer_drv_data_new (GUdevDevice *device); - void disable_ring_buffer (BufferDrvData *data); - gboolean enable_ring_buffer (BufferDrvData *data); - gboolean is_buffer_usable (GUdevDevice *device); --- -2.50.0 - diff --git a/temp/iio-sensor-proxy/0012-iio-buffer-attempt-to-read-from-buffer-during-sensor.patch b/temp/iio-sensor-proxy/0012-iio-buffer-attempt-to-read-from-buffer-during-sensor.patch deleted file mode 100644 index c266f0fa4..000000000 --- a/temp/iio-sensor-proxy/0012-iio-buffer-attempt-to-read-from-buffer-during-sensor.patch +++ /dev/null @@ -1,298 +0,0 @@ -From d00109194422a4fe3e9a7bc1235ffc492459c61a Mon Sep 17 00:00:00 2001 -From: "Sicelo A. Mhlongo" -Date: Mon, 26 May 2025 09:11:59 +0200 -Subject: [PATCH 3/4] iio-buffer: attempt to read from buffer during sensor - discovery - -The kernel drivers for some sensors report support for buffer mode, and allow -the buffer to be enabled, but never return any data in the buffer. Since -59c29aca616f ("drivers: accel: Remove trigger requirement on -iio-buffer-accel"), these sensors fail silently. iio-sensor-proxy must use the -polling method on these sensors. - -To achieve this, during sensor discovery, enable the sensor in buffer mode, -then attempt to read data off the buffer. Modify tests in order for the data -file to be opened before startDaemon() is called, since this is now necessary -for sensor discovery. - -Fixes: #411 [0] -[0] https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues/411 ---- - src/drv-iio-buffer-accel.c | 20 +++++++++++++++++++- - src/drv-iio-buffer-compass.c | 24 +++++++++++++++++++++--- - src/drv-iio-buffer-light.c | 24 +++++++++++++++++++++--- - src/iio-buffer-utils.c | 32 +++++++++++++++++++++----------- - src/iio-buffer-utils.h | 2 +- - tests/integration-test.py | 16 ++++++++++++++-- - 6 files changed, 97 insertions(+), 21 deletions(-) - -diff --git a/src/drv-iio-buffer-accel.c b/src/drv-iio-buffer-accel.c -index 06db1aa..5900ac5 100644 ---- a/src/drv-iio-buffer-accel.c -+++ b/src/drv-iio-buffer-accel.c -@@ -191,12 +191,30 @@ iio_buffer_accel_close (SensorDevice *sensor_device) - static gboolean - iio_buffer_accel_discover (GUdevDevice *device) - { -+ SensorDevice *sensor_device; -+ DrvData *drv_data; -+ gboolean buffer_usable = FALSE; -+ - if (!drv_check_udev_sensor_type (device, "iio-buffer-accel", NULL)) - return FALSE; - -- if (!is_buffer_usable (device)) -+ sensor_device = iio_buffer_accel_open (device); -+ if (!sensor_device) - return FALSE; - -+ /* Attempt to read from the sensor */ -+ drv_data = (DrvData *) sensor_device->priv; -+ enable_ring_buffer (drv_data->buffer_data); -+ -+ buffer_usable = is_buffer_usable(drv_data->dev_path); -+ -+ /* Close the sensor until it has been claimed */ -+ disable_ring_buffer (drv_data->buffer_data); -+ iio_buffer_accel_close (sensor_device); -+ -+ if (!buffer_usable) -+ return FALSE; -+ - g_debug ("Found IIO buffer accelerometer at %s", g_udev_device_get_sysfs_path (device)); - return TRUE; - } -diff --git a/src/drv-iio-buffer-compass.c b/src/drv-iio-buffer-compass.c -index 2ae0ccd..4638134 100644 ---- a/src/drv-iio-buffer-compass.c -+++ b/src/drv-iio-buffer-compass.c -@@ -20,7 +20,7 @@ typedef struct { - guint timeout_id; - - GUdevDevice *dev; -- const char *dev_path; -+ char *dev_path; - int device_id; - BufferDrvData *buffer_data; - } DrvData; -@@ -125,7 +125,7 @@ iio_buffer_compass_open (GUdevDevice *device) - drv_data = (DrvData *) sensor_device->priv; - drv_data->dev = g_object_ref (device); - drv_data->buffer_data = buffer_data; -- drv_data->dev_path = g_udev_device_get_device_file (device); -+ drv_data->dev_path = get_device_file (device); - - return sensor_device; - } -@@ -170,10 +170,28 @@ iio_buffer_compass_close (SensorDevice *sensor_device) - static gboolean - iio_buffer_compass_discover (GUdevDevice *device) - { -+ SensorDevice *sensor_device; -+ DrvData *drv_data; -+ gboolean buffer_usable = FALSE; -+ - if (!drv_check_udev_sensor_type (device, "iio-buffer-compass", NULL)) - return FALSE; - -- if (!is_buffer_usable (device)) -+ sensor_device = iio_buffer_compass_open (device); -+ if (!sensor_device) -+ return FALSE; -+ -+ /* Attempt to read from the sensor */ -+ drv_data = (DrvData *) sensor_device->priv; -+ enable_ring_buffer (drv_data->buffer_data); -+ -+ buffer_usable = is_buffer_usable(drv_data->dev_path); -+ -+ /* Close the sensor until it has been claimed */ -+ disable_ring_buffer (drv_data->buffer_data); -+ iio_buffer_compass_close (sensor_device); -+ -+ if (!buffer_usable) - return FALSE; - - g_debug ("Found IIO buffer compass at %s", g_udev_device_get_sysfs_path (device)); -diff --git a/src/drv-iio-buffer-light.c b/src/drv-iio-buffer-light.c -index 2a524c6..7a423c5 100644 ---- a/src/drv-iio-buffer-light.c -+++ b/src/drv-iio-buffer-light.c -@@ -20,7 +20,7 @@ typedef struct { - guint timeout_id; - - GUdevDevice *dev; -- const char *dev_path; -+ char *dev_path; - int device_id; - BufferDrvData *buffer_data; - } DrvData; -@@ -156,7 +156,7 @@ iio_buffer_light_open (GUdevDevice *device) - drv_data = (DrvData *) sensor_device->priv; - drv_data->dev = g_object_ref (device); - drv_data->buffer_data = buffer_data; -- drv_data->dev_path = g_udev_device_get_device_file (device); -+ drv_data->dev_path = get_device_file (device); - - return sensor_device; - } -@@ -175,10 +175,28 @@ iio_buffer_light_close (SensorDevice *sensor_device) - static gboolean - iio_buffer_light_discover (GUdevDevice *device) - { -+ SensorDevice *sensor_device; -+ DrvData *drv_data; -+ gboolean buffer_usable = FALSE; -+ - if (!drv_check_udev_sensor_type (device, "iio-buffer-als", NULL)) - return FALSE; - -- if (!is_buffer_usable (device)) -+ sensor_device = iio_buffer_light_open (device); -+ if (!sensor_device) -+ return FALSE; -+ -+ /* Attempt to read from the sensor */ -+ drv_data = (DrvData *) sensor_device->priv; -+ enable_ring_buffer (drv_data->buffer_data); -+ -+ buffer_usable = is_buffer_usable(drv_data->dev_path); -+ -+ /* Close the sensor until it has been claimed */ -+ disable_ring_buffer (drv_data->buffer_data); -+ iio_buffer_light_close (sensor_device); -+ -+ if (!buffer_usable) - return FALSE; - - g_debug ("Found IIO buffer ALS at %s", g_udev_device_get_sysfs_path (device)); -diff --git a/src/iio-buffer-utils.c b/src/iio-buffer-utils.c -index bc74e4c..29163ee 100644 ---- a/src/iio-buffer-utils.c -+++ b/src/iio-buffer-utils.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - - #define IIO_MIN_SAMPLING_FREQUENCY 10 /* Hz */ - -@@ -905,19 +906,28 @@ buffer_drv_data_new (GUdevDevice *device) - } - - gboolean --is_buffer_usable (GUdevDevice *device) -+is_buffer_usable (char *path) - { -- g_autofree char *trigger_name = NULL; -- BufferDrvData *buffer_data; -- -- /* Temporarily enable the buffer to ensure the kernel driver is buffer-capable */ -- buffer_data = buffer_drv_data_new (device); -- if (!buffer_data) -- return FALSE; -+ gboolean buffer_usable = FALSE; -+ g_autofd int fp = -1; -+ GPollFD fds; -+ -+ /* Attempt to read from the sensor buffer */ -+ fp = g_open (path, O_RDONLY | O_NONBLOCK); -+ if (fp == -1) { -+ g_warning ("Failed to open '%s': %s", path, g_strerror (errno)); -+ } else { -+ fds.fd = fp; -+ fds.events = G_IO_IN | G_IO_ERR; -+ g_poll (&fds, 1, 500); -+ -+ if (fds.revents & G_IO_IN) -+ buffer_usable = TRUE; -+ else -+ g_warning ("Buffer '%s' did not have data within 0.5s", path); -+ } - -- /* Destroy buffer information until actually needed (in the .open call) */ -- g_clear_pointer (&buffer_data, buffer_drv_data_free); -- return TRUE; -+ return buffer_usable; - } - - IIOSensorData * -diff --git a/src/iio-buffer-utils.h b/src/iio-buffer-utils.h -index 9c5e6db..2b95625 100644 ---- a/src/iio-buffer-utils.h -+++ b/src/iio-buffer-utils.h -@@ -46,4 +46,4 @@ void buffer_drv_data_free (BufferDrvData *buffer_data); - BufferDrvData *buffer_drv_data_new (GUdevDevice *device); - void disable_ring_buffer (BufferDrvData *data); - gboolean enable_ring_buffer (BufferDrvData *data); --gboolean is_buffer_usable (GUdevDevice *device); -+gboolean is_buffer_usable (char *path); -diff --git a/tests/integration-test.py b/tests/integration-test.py -index 8910539..b596eaa 100755 ---- a/tests/integration-test.py -+++ b/tests/integration-test.py -@@ -555,6 +555,9 @@ class Tests(dbusmock.DBusTestCase): - ['name', 'accel_3d-dev0'], - [] - ) -+ data = self.read_file(top_srcdir + '/tests/iio-buffer-accel-data/orientation-normal.bin') -+ with open(mock_dev_data,'wb') as mock_file: -+ mock_file.write(data) - self.start_daemon() - self.assertEqual(self.get_dbus_property('HasAmbientLight'), False) - self.assertEqual(self.get_dbus_property('HasAccelerometer'), True) -@@ -566,7 +569,6 @@ class Tests(dbusmock.DBusTestCase): - self.assertEqual(self.read_sysfs_attr(accel, 'scan_elements/in_accel_y_en'), b'1') - self.assertEqual(self.read_sysfs_attr(accel, 'scan_elements/in_accel_z_en'), b'1') - -- data = self.read_file(top_srcdir + '/tests/iio-buffer-accel-data/orientation-normal.bin') - with open(mock_dev_data,'wb') as mock_file: - mock_file.write(data) - self.proxy.ClaimAccelerometer() -@@ -595,6 +597,8 @@ class Tests(dbusmock.DBusTestCase): - - def test_driver_buffer_without_trigger(self): - '''buffer driver picking without trigger''' -+ top_srcdir = os.getenv('top_srcdir', '.') -+ mock_dev_data = self.testbed.get_root_dir() + '/iio-dev-data.bin' - accel = self.testbed.add_device('iio', 'iio-buffer-accel0', None, - ['name', 'IIO Test Accelerometer', - 'buffer/enable', '0', -@@ -615,6 +619,9 @@ class Tests(dbusmock.DBusTestCase): - 'IIO_SENSOR_PROXY_TYPE', 'iio-buffer-accel'] - ) - -+ data = self.read_file(top_srcdir + '/tests/iio-buffer-accel-data/orientation-normal.bin') -+ with open(mock_dev_data,'wb') as mock_file: -+ mock_file.write(data) - self.start_daemon() - - self.assertEqual(self.get_dbus_property('HasAmbientLight'), False) -@@ -696,10 +703,12 @@ class Tests(dbusmock.DBusTestCase): - ) - env = os.environ.copy() - env['LC_NUMERIC'] = 'fr_FR.UTF-8' -+ data = self.read_file(top_srcdir + '/tests/iio-buffer-accel-data/orientation-normal.bin') -+ with open(mock_dev_data,'wb') as mock_file: -+ mock_file.write(data) - self.start_daemon(env=env) - - self.assertEqual(self.get_dbus_property('HasAccelerometer'), True) -- data = self.read_file(top_srcdir + '/tests/iio-buffer-accel-data/orientation-normal.bin') - with open(mock_dev_data,'wb') as mock_file: - mock_file.write(data) - self.proxy.ClaimAccelerometer() -@@ -742,6 +751,9 @@ class Tests(dbusmock.DBusTestCase): - ) - env = os.environ.copy() - env['LC_NUMERIC'] = 'fr_FR.UTF-8' -+ data = self.read_file(top_srcdir + '/tests/iio-buffer-accel-data/orientation-normal.bin') -+ with open(mock_dev_data,'wb') as mock_file: -+ mock_file.write(data) - self.start_daemon(env=env) - - self.assertEqual(self.get_dbus_property('HasAccelerometer'), True) --- -2.50.0 - diff --git a/temp/iio-sensor-proxy/APKBUILD b/temp/iio-sensor-proxy/APKBUILD index 1c530081a..c1e8bd8c3 100644 --- a/temp/iio-sensor-proxy/APKBUILD +++ b/temp/iio-sensor-proxy/APKBUILD @@ -1,8 +1,9 @@ # Forked from Alpine to add Qualcomm SSC support with libssc pkgname=iio-sensor-proxy -pkgver=9999 -pkgrel=11 +pkgver=99993.8 +_pkgver=3.8 +pkgrel=0 pkgdesc="IIO sensors to D-Bus proxy" url="https://gitlab.freedesktop.org/hadess/iio-sensor-proxy" arch="aarch64" @@ -17,11 +18,11 @@ makedepends=" libssc-dev>=0.2.1 " subpackages="$pkgname-openrc" -_commit="bfcf0c867bbba90ef26138c99da5780a76d9b99b" -builddir="$srcdir/$pkgname-$_commit" -source="https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/archive/$_commit/iio-sensor-proxy-$_commit.tar.gz +builddir="$srcdir/$pkgname-$_pkgver" +source="https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/archive/$_pkgver/iio-sensor-proxy-$_pkgver.tar.gz iio-sensor-proxy.initd 0001-iio-sensor-proxy-depend-on-libssc.patch + 0001-WIP-iio-sensor-proxy.c-Do-not-exit-based-on-sensor-e.patch 0002-proximity-support-SSC-proximity-sensor.patch 0003-light-support-SSC-light-sensor.patch 0004-accelerometer-support-SSC-accelerometer-sensor.patch @@ -30,9 +31,6 @@ source="https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/archive/$_commi 0007-data-iio-sensor-proxy.service.in-add-AF_QIPCRTR.patch 0008-drv-ssc-implement-set_polling.patch 0009-tests-integration-test-add-SSC-sensors.patch - 0010-drv-iio-buffer-relocate-the-.discover-method-to-brin.patch - 0011-buffer_drv_data_new-rework-trigger_name-handling.patch - 0012-iio-buffer-attempt-to-read-from-buffer-during-sensor.patch 0013-integration-test-add-test-for-sensors-that-report-no.patch " @@ -57,9 +55,10 @@ package() { } sha512sums=" -610bafa3d4899100ce40fd6f71cb947e849059274e8b81da0e20c73f9e75c35aadbf7069236e9f5852a26df35d8594e5efe69b6ea627f8c90fc2259b5a943d50 iio-sensor-proxy-bfcf0c867bbba90ef26138c99da5780a76d9b99b.tar.gz +9cca8d706c531c9a2e34dfebdc8673a1765b615533e3f7776118c74cb1ce145e472203c6c7804d35701c22cc93755609829bc3817c5920d5961249d7e8de87c6 iio-sensor-proxy-3.8.tar.gz b25df94e249ca46fe96926e5a866c20dc913fa52a2d9259fb7a3594861c6b2f246fc7fef8a21f5b021f3a71401f734ae27210137b0b1917a7daaffb5e3221f2e iio-sensor-proxy.initd d46eeb1deabb6ee6017b86f573fcb717d8b992979bfd447e52c6dabc95d9e6c986ab937f602c2f0a731d10d87d67578aa59930d7faff69b2f42a0eab25f4c60c 0001-iio-sensor-proxy-depend-on-libssc.patch +4b43ea53b71c9be29367897a3c9ba349e9fdb71185300aafc00be69f923d7f27aa02bb7f0f5c5be800f0d494035992e046c010fd70a1754f8a47701b17666926 0001-WIP-iio-sensor-proxy.c-Do-not-exit-based-on-sensor-e.patch 59800fbd73abd77c6cf86ab1bcdce85abefb07e3cd28d58c3e91a4b3cdd9d893a9671e8f0f3dc212064d5744a62b0b24c54fa91ce8f3ac84e361f7ba8cc64ded 0002-proximity-support-SSC-proximity-sensor.patch 7cdcd1d78629f662fa588c90e657c6abed7e43f1462c43f0d14e7756933ea927435077e193429d069b7360ba2d1c16b608226e1707858e56460c82595f054080 0003-light-support-SSC-light-sensor.patch a956d28d55ee0e0a03bea63caf06881ead7511ac60000a5def61d482b3575006575edd6b0b30ae7874ffd9b2268fd8008a273d6ede561cc44aad46f18233d789 0004-accelerometer-support-SSC-accelerometer-sensor.patch @@ -68,8 +67,5 @@ d4379f8e53eea02f53640752bef883870a44d0169cf821d3f5bb3245309cac1d1502a7848d5cce60 376999144da2c5a6374de73bfaaf0eb605c5c686640f4de8cbcabbe3e78f3fce4675d5bfdc2dd60dacaa84447a039cf22cc4e5fcda478ea77a00001f052a3d85 0007-data-iio-sensor-proxy.service.in-add-AF_QIPCRTR.patch bf0ea8a078eb168937645a661fea5b979bf1747ee0c1cd556a238c25f4f26eefd6b2f7a1da1eb0b7d66dcafe24ce31521d71e1a188a324671b08178b392206af 0008-drv-ssc-implement-set_polling.patch 2a208aa064e4f3d6cb24701f65c5cdc5d35a99f61489ac0ab5f336aa8229bc1aa7571b6d7e928a3a28e53b8e35a07655ec3e8b432d7295d82606f8b1f206e7af 0009-tests-integration-test-add-SSC-sensors.patch -f697507221c83e32012e1cfd4f08525791bdae6c3c4ac2d23cb532bf70820f7cebfba3e10c84d0a464dea7da93a3eb64d4d30dc6e5e3771fb9d6c2bcf7b47866 0010-drv-iio-buffer-relocate-the-.discover-method-to-brin.patch -74170846478fcd1cbe5738ae00174f0aa3783afa003f6afb1a19267d847c6685d237ab9e0ece53ea598be4b5fd9a28826179e61a52a97074c945a2bf2d4afe34 0011-buffer_drv_data_new-rework-trigger_name-handling.patch -d4ba829d8a8032bea72598d065e67f4cd3a58eaab7a0f942f4e5019236696aa4f5071318ca6eddc08c20c0681907de907a805582447422bc0e8017a53ef8e700 0012-iio-buffer-attempt-to-read-from-buffer-during-sensor.patch 9273f01d35e0f45ddc943808326d87f3a2e678ea29e607d3d70cabc9ea321db761cc170a86b3093553a4c3dfae1d81c5057d146b9a90ff490c85641f02b040df 0013-integration-test-add-test-for-sensors-that-report-no.patch "