temp/iio-sensor-proxy: upgrade to 3.8

I dropped 2 patches that seem to have been merged upstream.
I also updated the pkgver format to follow what we do for other forked
pkgs, so hopefully the upstream compat monitoring thing will detect when
this pkg is out of date again

This adds a new patch to fix #3787

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7099>
This commit is contained in:
Clayton Craft 2025-09-29 13:07:33 -07:00 committed by The Friendly Merge Bot
parent c5ca2e756a
commit 6180adfdf2
No known key found for this signature in database
5 changed files with 45 additions and 595 deletions

View file

@ -0,0 +1,37 @@
From c73bdbca1b4278ada24dde68e0d09c352dcaa004 Mon Sep 17 00:00:00 2001
From: "Sicelo A. Mhlongo" <absicsz@gmail.com>
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

View file

@ -1,153 +0,0 @@
From f35d293e65841a3b9c0de778300c7fa58b181fd0 Mon Sep 17 00:00:00 2001
From: "Sicelo A. Mhlongo" <absicsz@gmail.com>
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

View file

@ -1,132 +0,0 @@
From 7416edf4da98d8e3b75f9eddb7e5c488ac4a4c54 Mon Sep 17 00:00:00 2001
From: "Sicelo A. Mhlongo" <absicsz@gmail.com>
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

View file

@ -1,298 +0,0 @@
From d00109194422a4fe3e9a7bc1235ffc492459c61a Mon Sep 17 00:00:00 2001
From: "Sicelo A. Mhlongo" <absicsz@gmail.com>
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 <string.h>
#include <errno.h>
#include <stdio.h>
+#include <glib/gstdio.h>
#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

View file

@ -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
"