This is more of a packaging question I guess, but I thought someone here might 
know best too...

I was having a face2face discussion with Maitland at the recent GNU Radio 
Conference, about this, and I don't think we came to a conclusion.

When making a package for USB devices, that need udev rules, where should the 
udev rule go?


The specific example is, for IIO devices that have the library, utils, and a 
-dev package.
IIO devices are oscilloscopes, Software Defined Radios, Sensors, etc - (it's a 
kernel subsystem).

We don't want to keep a large list of USB PID/VIDs, so in our udev rule, so, we 
check iio_info, and set any found IIO device to 666.
https://github.com/analogdevicesinc/libiio/blob/master/libiio.rules.cmakein

This assumes that iio_info is accessible/runnable for the root user.

Today, iio_info is included in the libiio-utils package:
https://packages.debian.org/bullseye/amd64/libiio-utils/filelist

and the library libiio doesn't have it (iio_utils or the udev rule)
https://packages.debian.org/bullseye/amd64/libiio0/filelist

which that means when someone installs the base library (libiio), they can't 
actually use any USB devices (as a non-root user), since the udev rule isn't 
installed, and the udev rule is dependent on the libiio-utils package.

It's not in libiio-dev either, but that makes sense, since non-root users want 
to use and run applications too.
https://packages.debian.org/bullseye/arm64/libiio-dev/filelist


Thanks for the pointers.
-Robin

Reply via email to