Commit graph

47 commits

Author SHA1 Message Date
Kenny Levinsen
66becee6da Bump version to 0.6.1 2021-09-14 11:58:56 +02:00
Kenny Levinsen
3ad9164a89 Bump version to 0.6.0 2021-09-11 14:02:44 +02:00
Kenny Levinsen
e7343ca96f man: Add simple seatd-launch(1) page 2021-09-08 20:45:42 +02:00
Fabrice Fontaine
15b0972bd3 meson.build: fix build with gcc < 7
Test if arguments (e.g. -Wimplicit-fallthrough) is available before
using it as -Wimplicit-fallthrough has been added only since gcc 7.1 and
81fea426da
and so it will raise the following build failure with gcc < 7:

arm-none-linux-gnueabi-gcc: error: unrecognized command line option '-Wimplicit-fallthrough'

Fixes:
 - http://autobuild.buildroot.org/results/0ee6816a7cceebdafd07612677a594bdf68e0790

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-09-02 20:00:03 +02:00
Kenny Levinsen
1e98727ae9 seatd-launch: Add seatd launch wrapper
This launch wrapper is used to conveniently start a new seatd instance,
wait for it to be ready, and launch a target application.
2021-08-06 01:29:52 +02:00
Simon Ser
2204db5531 build: add prefix to libseat options
The option names are a little bit confusing, because it's not clear
which ones toggle libseat features, and which ones toggle seatd
features.

Add a "libseat-" prefix to libseat-specific features, to make it
more obvious that they only are about the library.
2021-07-06 22:11:43 +02:00
Simeon Schaub
bff09d8859 link with rt
Since seatd uses `clock_gettime`, this is needed when cross-compiling.
This came up in https://github.com/JuliaPackaging/Yggdrasil/pull/3193.
2021-06-20 22:36:33 +02:00
Kenny Levinsen
355cc9c944 meson: Support building builtin without seatd
The builtin backend relies on the seatd backend implementation. When
builtin was enabled without seatd, compilation would fail due to the
implementation not being included.

Include the implementation if either seatd or builtin is enabled.
2021-04-25 20:20:52 +02:00
Simon Ser
81ff0a09a9 build: set pkgconfig/dependency variables for features
This allows libseat users to e.g. advise people to chmod a+s the
executable if libseat is built with the builtin backend.

While bumping the Meson version, adjust the scdoc logic to avoid
the following warnings:

    WARNING: Project targeting '>=0.56.0' but tried to use feature deprecated since '0.56.0': Dependency.get_pkgconfig_variable. use Dependency.get_variable(pkgconfig : ...) instead
    WARNING: Project targeting '>=0.56.0' but tried to use feature deprecated since '0.55.0': ExternalProgram.path. use ExternalProgram.full_path() instead
2021-04-10 15:16:40 +02:00
Simon Ser
5884a6003a build: disable logind on -Dauto_features=disabled -Dlogind=auto
Setting auto_features=disabled is supposed to disable all optional
dependencies. Since we aren't using a feature option here, we need
to manually add logic to disable logind in this case.
2021-04-10 15:16:26 +02:00
Simon Ser
753c5276cf build: don't allow "auto" for seatd, builtin, server and examples
These features don't have any dependencies, so "auto" doesn't make
sense.
2021-04-08 23:07:35 +02:00
Simon Ser
ee40913810 build: don't explicitly search for sh
This removes the "Program sh found" line in the build logs, and
should not change anything else.
2021-04-08 23:07:35 +02:00
Simon Ser
392da918e6 build: fix logind feature summary when auto-detected
If -Dlogind=auto but systemd/elogind isn't available,
logind_provider would get set to the last item of the foreach loop.
This would incorrectly report "systemd: YES".
2021-04-08 23:07:35 +02:00
Simon Ser
385cc0039d build: add explicit logind provider option, auto-detect by default
Allow package maintainers to explicitly select a logind provider
by passing -Dlogind=systemd or -Dlogind=elogind. In case both are
available (e.g. for distributions which support both), this makes
it possible to gte deterministic behavior.

By default, auto-detect the logind provider. That way, users which
have systemd or elogind installed get the backend built by default.
2021-04-08 23:07:35 +02:00
Kenny Levinsen
3ce4c57814 meson: make 'logind' var always available 2021-04-08 23:07:35 +02:00
Simon Ser
fa2700126f meson: declare libseat dependency
This can be used by parent projects when seatd is a subproject:

    libseat = dependency('libseat', fallback: ['seatd', 'libseat'])
2021-03-26 11:21:05 +01:00
Simon Ser
9a7824b7c3 Add no-op session
This is useful for headless testing, for instance with VKMS:

    modprobe vkms
    export WLR_DRM_DEVICES=/dev/dri/card1
    export WLR_BACKENDS=drm
    export LIBSEAT_BACKEND=noop
    sway

We don't need any of the VT handling in this case.
2021-03-26 11:11:26 +01:00
Kenny Levinsen
75cb20e891 meson: Minor cleanup 2021-03-16 13:03:57 +01:00
Kenny Levinsen
e802d381a1 meson: Fix logind backend auto mode 2021-03-16 13:03:57 +01:00
Kenny Levinsen
e303e11334 Bump version to 0.5.0 2021-03-15 20:32:27 +01:00
Kenny Levinsen
c53c94985e meson: Fix indentation 2021-03-15 20:26:06 +01:00
Kenny Levinsen
a9b2079319 meson: Make summary prettier 2021-03-15 20:23:09 +01:00
Kenny Levinsen
951c1790fa meson: Clean up test declarations a bit 2021-03-15 20:22:55 +01:00
Aleksei Bavshin
152ee5102a meson: ignore 'man-pages' if 'server' is disabled
`seatd.1` is the only man page, so it's not necessary to install it or
require scdoc when the server is not built.
2021-02-27 17:45:07 +01:00
Kenny Levinsen
271305a15f Bump version to 0.4.0 2020-10-19 23:11:07 +02:00
Kenny Levinsen
e0945eb840 connection: Add unittest 2020-10-12 18:02:00 +02:00
Kenny Levinsen
884c1416b3 meson: Make default seatd socket path configurable
FreeBSD and Linux have different preferred socket locations. Expose an
option to set the location, and implement simple auto-logic for
linux/freebsd.
2020-09-22 01:14:20 +02:00
Kenny Levinsen
6da52fff23 poller: Add unittest 2020-09-22 01:01:46 +02:00
Kenny Levinsen
fb5743971c Bump version to 0.3.0 2020-09-08 00:03:59 +02:00
Kenny Levinsen
d4b1f4d449 libseat: Version the .so file 2020-09-08 00:00:48 +02:00
Isaac Freund
1867f29d42 meson: fix manpage generation for cross builds
We want to use the scdoc of the host system not the target system, so
pass the `native: true` parameter to meson.
2020-09-01 21:32:36 +02:00
Kenny Levinsen
8610ec4aac Remove unused list implementation 2020-08-31 14:14:39 +02:00
Kenny Levinsen
de96b3938b Bump version to 0.2.0 2020-08-28 23:09:14 +02:00
Kenny Levinsen
ff44c56ef9 meson: Set license to MIT 2020-08-22 21:47:00 +02:00
Kenny Levinsen
b312fbfb5e man: Add simple seatd(1) page 2020-08-08 14:54:25 +02:00
Isaac Freund
48e712ffd9 build: check for libelogind before libsystemd
elogind provides a libsystemd wrapper which is packaged by some distros.
For whatever reason using this wrapper instead of libelogind directly
causes compiler warnings to pop up. Checking for libelogind first
ensures that this wrapper is not used.
2020-08-08 14:46:14 +02:00
Kenny Levinsen
a98e0c4ce9 seatd: Add command-line arguments 2020-08-07 15:50:27 +02:00
Kenny Levinsen
b496efa2f9 linked_list: Add unittest 2020-08-06 13:23:51 +02:00
Kenny Levinsen
493cc2a97d log: Remove libseat prefixes 2020-08-05 23:41:55 +02:00
Kenny Levinsen
e25688fed6 libseat: Convert clients to linked_list 2020-08-03 02:49:04 +02:00
Kenny Levinsen
9b7a12d90a seat: Convert device list to linked list 2020-08-03 02:16:21 +02:00
Kenny Levinsen
3f3bdd41dd poller: Remove unnecessary poll_impl abstraction 2020-08-03 01:15:20 +02:00
Kenny Levinsen
3e301b8e70 libseat: Use symbol file instead of -fvisibility 2020-08-03 00:54:55 +02:00
Kenny Levinsen
f754198c5b meson: FreeBSD options 2020-08-01 02:37:26 +02:00
Kenny Levinsen
554898e6b3 meson: Set _FORTIFY_SOURCE=2 for optimized builds 2020-07-31 16:03:49 +02:00
Kenny Levinsen
9d08511da4 meson: Add summary printout 2020-07-31 14:19:41 +02:00
Kenny Levinsen
61716a2c77 Initial implementation of seatd and libseat 2020-07-31 00:22:18 +02:00