libratbag is now a static library only and the only exposed interface is the
DBus interface. We have ratbagctl for that interface.
ratbag-command shouldn't be installed, it becomes a pure developer tool now.
We still keep it around for that reason, but let's not install it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Now that ratbagd is part of libratbag, the DBus interface is the preferred way
to interact with a device. Shipping libratbag as a .so file means we have to
worry about two ABIs when it's unlikely that anyone ever uses the libratbag.so
directly.
Make it a static library internally instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Because if we can't strdup a device name or dbus path, we have problems we
can't recover from anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
We are using a custom python script to generate the final ratbagctl
so we can strip out the headers.
Now merging and testing ratbagd.py in piper will be easier than ever.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
When developing with ratbagd, we need to test against master, not
the system-wide installed daemon.
Allow to name space ratbagd with the creation of a new (not installed)
rabtagd.devel daemon, that is tagged with the git sha of the ratbagd
folder.
Handle this namespace in ratbagctl by looking at an environment variable
RATBAGCTL_DEVEL.
Then provide a python script that launches both rabtagd.devel and
ratbagctl with the correct environment variable set so that they can
talk to each other.
Note that we blindly overwrite the dbus .conf file as nobody else than
developers should have one.
Note: the tagging of ratbagd.devel (like the meson bit) won't run unless
a rebuild is triggered. So we don't necessarily always get the right git
tag. However, touching ratbagctl.in triggers a rebuild, so we should be
OK-ish.
Fixes#206
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
The previous approach had no effect, it wasn't doing things correctly.
Add a proper valgrind setup, run with:
mesontest --setup=valgrind
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
[fixed rebase conflict]
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Fedora uses /usr/lib64 as libdir but systemd uses /usr/lib for its files. We
used libdir to install the unit files, which then end up in
/usr/lib64/systemd/systemd where it will be ignored. There's no good way to
avoid this beyond detecting this mismatch and hacking around it.
To keep custom prefixes intact, this patch detects a /usr prefix and checks
with systemd's pkconfig, if the libdir and the systemd unitdir mismatch, then
we adjust the path.
https://github.com/libratbag/libratbag/issues/188
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
I couldn't get the subdir() to work, it would throw exceptions somewhere
internal to meson. So instead, just merge the two together.
This still builds everything as before, it's just a single meson file now.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
- convert Logitech devices to the commit API (those compatible)
- fixes for ratbag-command regarding LEDs (still few caveats left)
- some coverity fixes
- a brand new lur-command man page
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
- coverity fixes
- new --version to ratbag-command
- cleaning up the meson build tools
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Unsurprisingly, meson does not support the ratbag keyword argument. Though it
should, because we're great. But anyway, this lead to the argument being
ignored which means it didn't get an 'input' argument, which means that
libratbag-version.h.in was ignored. And since it all works anyway (Behold! The
magic! Ooooh! Aaaah!) we can just drop that file.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
pkgconfig.generate() does not (yet) have a parameter for setting custom
variables - we need that for pkgdatadir to point to the SVG files. Swap to
using configure_file with the old .pc.in file that was forgotten in the tree
anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
For a builddir called 'builddir', the following commands are sufficient now:
meson builddir
ninja -C builddir
sudo ninja -C builddir install
Meson only needs to be run once after checkout or after the removal of the
builddir.
Fixes https://github.com/libratbag/libratbag/issues/142
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>