NetworkManager/src/libnm-systemd-core
Khem Raj 118e3117fe libnm-systemd-core: Disable sd_dhcp6_client_set_duid_uuid function
When building on musl systems ( with out systemd ), and using LLD linker
from LLVM project we fail to link with undefined symbols.

This symbol is in sd_id128.c but its disabled, so let disable the functions
which need this function.

| x86_64-yoe-linux-musl-ld.lld: error: undefined symbol: sd_id128_get_machine_app_specific
| >>> referenced by sd-dhcp-duid.c:202 (/usr/src/debug/networkmanager/1.48.0/../NetworkManager-1.48.0/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c:202)
| >>>               libnm-systemd-core.a.p/src_libsystemd-network_sd-dhcp-duid.c.o:(sd_dhcp_duid_set_uuid) in archive src/libnm-systemd-core/libnm-systemd-core.a
| x86_64-yoe-linux-musl-clang: error: linker command failed with exit code 1 (use -v to see invocation)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-08-01 13:42:41 +00:00
..
sd-adapt-core merge: branch 'systemd' into ff/fix_systemd 2024-03-04 18:19:25 +01:00
src libnm-systemd-core: Disable sd_dhcp6_client_set_duid_uuid function 2024-08-01 13:42:41 +00:00
meson.build merge: branch 'systemd' into ff/fix_systemd 2024-03-04 18:19:25 +01:00
nm-default-systemd-core.h systemd: move "src/core/systemd" to "src/libnm-systemd-core" 2021-05-30 09:45:05 +02:00
nm-sd.c dhcp: drop internal systemd DHCPv4 client 2022-04-14 14:51:02 +02:00
nm-sd.h lldp: use new libnm-lldp instead of systemd's sd_lldp_rx 2022-10-25 10:59:01 +02:00
README.md systemd: describe import of systemd code in README.md 2022-04-04 21:33:06 +02:00

libnm-systemd-core

This is a fork of systemd source files that are compiled as a static library with network helpers.

We use systemd's DHCPv6 and LLDP library, by forking their code.

We also still use their DHCPv4 library, but that is about to be replaced by nettools' n-dhcp4 and not used unless you configure the undocumented [main].dhcp=systemd plugin.

This approach of code-reuse is very cumbersome, and we should replace systemd code by a proper library (like nettools).

We should not use systemd directly from our sources, beyond what we really need.

Reimport Upstream Code

Read here.