Commit graph

18 commits

Author SHA1 Message Date
Benedikt
94d174c33d
Discovery: Refactor and add Avahi DBus backend (#1347)
* discovery: use opaque error type for DnsSdError

This helps to decouple discovery and core by not leaking implementation
details of the zeroconf backend into Error conversion impls in core.

* discovery: map all MDNS/DNS-SD errors to DiscoveryError::DnsSdError

previously, libmdns errors would use a generic conversion
from std::io::Error to core::Error

* discovery: use an opaque type for the handle to the DNS-SD service

* discovery: make features additive

i.e. add with-libmdns instead of using not(with-dns-sd).

The logic is such that enabling with-dns-sd in addition to the default
with-libmdns will still end up using dns-sd, as before.
If only with-libmdns is enabled, that will be the default.
If none of the features is enabled, attempting to build a `Discovery`
will yield an error.

* discovery: add --zeroconf-backend CLI flag

* discovery: Add minimal Avahi zeroconf backend

* bump MSRV to 1.75

required by zbus >= 4

* discovery: ensure that server and dns-sd backend shutdown gracefully

Previously, on drop the the shutdown_tx/close_tx, it wasn't guaranteed
the corresponding tasks would continue to be polled until they actually
completed their shutdown.

Since dns_sd::Service is not Send and non-async, and because libmdns is
non-async, put them on their own threads.

* discovery: use a shared channel for server and zeroconf status messages

* discovery: add Avahi reconnection logic

This deals gracefully with the case where the Avahi daemon is restarted
or not running initially.

* discovery: allow running when compiled without zeroconf backend...

...but exit with an error if there's no way to authenticate

* better error messages for invalid options with no short flag
2024-10-26 16:45:02 +02:00
Aleksandar
1ac238eae9
Update contrib/Dockerfile image (#1367)
Some checks failed
test / cargo fmt (push) Failing after 39s
test / cargo +${{ matrix.toolchain }} clippy (${{ matrix.os }}) (ubuntu-latest, stable) (push) Has been skipped
test / cargo +${{ matrix.toolchain }} check (${{ matrix.os }}) (false, ubuntu-latest, 1.74) (push) Has been skipped
test / cargo +${{ matrix.toolchain }} check (${{ matrix.os }}) (false, ubuntu-latest, stable) (push) Has been skipped
test / cargo +${{ matrix.toolchain }} check (${{ matrix.os }}) (true, ubuntu-latest, beta) (push) Has been skipped
test / cargo +${{ matrix.toolchain }} check (${{ matrix.os }}) (windows-latest, 1.74) (push) Has been skipped
test / cargo +${{ matrix.toolchain }} check (${{ matrix.os }}) (windows-latest, stable) (push) Has been skipped
test / cross +${{ matrix.toolchain }} build ${{ matrix.target }} (ubuntu-latest, aarch64-unknown-linux-gnu, 1.74) (push) Has been skipped
test / cross +${{ matrix.toolchain }} build ${{ matrix.target }} (ubuntu-latest, aarch64-unknown-linux-gnu, stable) (push) Has been skipped
test / cross +${{ matrix.toolchain }} build ${{ matrix.target }} (ubuntu-latest, armv7-unknown-linux-gnueabihf, 1.74) (push) Has been skipped
test / cross +${{ matrix.toolchain }} build ${{ matrix.target }} (ubuntu-latest, armv7-unknown-linux-gnueabihf, stable) (push) Has been skipped
test / cross +${{ matrix.toolchain }} build ${{ matrix.target }} (ubuntu-latest, riscv64gc-unknown-linux-gnu, 1.74) (push) Has been skipped
test / cross +${{ matrix.toolchain }} build ${{ matrix.target }} (ubuntu-latest, riscv64gc-unknown-linux-gnu, stable) (push) Has been skipped
2024-10-09 13:21:53 +02:00
yubiuser
dcd592bafb
Update MSRV to 1.74.0 and sysinfo to 0.31.3
Signed-off-by: yubiuser <github@yubiuser.dev>
2024-08-27 23:16:48 +02:00
Dariusz Olszewski
4f8a84e7cb Docker cross compile - remove MIPS target platform
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2024-06-11 20:55:27 +02:00
Christian König
b0170d142b
Bump MSRV to 1.73
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-06-10 18:50:38 +00:00
Dariusz Olszewski
799bc38094 Fix building Docker image for cross-compilation:
* Debian stretch packages are now available only from archive.debian.org
* Use rust 1.71 - MIPS target demoted to tier 3 at 1.72

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
(cherry picked from commit 3c0d998825)
2024-06-09 22:26:37 +02:00
Gabriel Pajot
262fc2e820 fix: working armv6hf docker image for cross-compiling 2024-03-11 10:36:12 +01:00
francesco
4a4f5d0add Fixes libpulse backend linking error by installing libpulse0 package for all architectures (excepts mipsel, which remains broken) 2023-03-25 19:28:47 +01:00
Mateusz Mojsiejuk
67836b5b02 Added arm64 target to docker run examples. Also removed
feature quotes as they're not nessesary and don't match
the non-quoted examples of targets in the WIKI
2021-12-14 21:23:13 +01:00
ashthespy
939fc583e7 Help pkg-config with explicit paths 2019-11-01 17:01:58 +01:00
ashthespy
06680f106c Add pkg-config to docker build container 2019-07-16 19:36:20 +02:00
ashthespy
24cd9aa581 Add a armv6hf crossbuild target
Tweak `armv6hf` crossbuild script

Fix example typo in Dockerfile

Changed File permissions
2018-03-10 19:10:34 +01:00
Anton Voyl
d01b7a4736 Add aarch64 as a cross-compilation target (#194) 2017-06-08 12:31:06 +01:00
Johan Anderholm
6daedde0e9 Add mipsel as a cross-compilation target. 2017-03-05 04:17:43 -08:00
Paul Lietar
9b781f74b3 Update Dockerfile and README to not use syntex anymore 2017-02-22 15:02:36 +00:00
Paul Lietar
a4ad1e7757 Add git to the Dockerfile
It is necessary for vergen to work
2017-02-22 14:51:51 +00:00
Paul Lietar
5aab6b884a fixup! Add Dockerfile for cross compilation 2017-02-17 10:30:23 +00:00
Paul Lietar
f5a4feeb90 Add Dockerfile for cross compilation 2017-02-16 21:38:48 +00:00