Skip to content

Commit ec26589

Browse files
authored
feat: use pure-Rust libsystemd crate (#11163)
This drops the `systemd-rs` family of crates in favor of `libsystemd`, a pure-Rust alternative: https://github.com/lucab/libsystemd-rs This crate has more recent activity (2 months ago vs 11 months ago for systemd-rs) and does not require C bindings. The `libsystemd` BUILD files are still required for `infogetty`.
1 parent 28e60fb commit ec26589

9 files changed

Lines changed: 115 additions & 612 deletions

File tree

Cargo.Bazel.json.lock

Lines changed: 60 additions & 446 deletions
Large diffs are not rendered by default.

Cargo.Bazel.toml.lock

Lines changed: 16 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1491,12 +1491,6 @@ dependencies = [
14911491
"serde",
14921492
]
14931493

1494-
[[package]]
1495-
name = "build-env"
1496-
version = "0.3.1"
1497-
source = "registry+https://github.com/rust-lang/crates.io-index"
1498-
checksum = "1522ac6ee801a11bf9ef3f80403f4ede6eb41291fac3dde3de09989679305f25"
1499-
15001494
[[package]]
15011495
name = "build-info"
15021496
version = "0.0.45"
@@ -2727,16 +2721,6 @@ dependencies = [
27272721
"syn 2.0.119",
27282722
]
27292723

2730-
[[package]]
2731-
name = "cstr-argument"
2732-
version = "0.1.2"
2733-
source = "registry+https://github.com/rust-lang/crates.io-index"
2734-
checksum = "b6bd9c8e659a473bce955ae5c35b116af38af11a7acb0b480e01f3ed348aeb40"
2735-
dependencies = [
2736-
"cfg-if",
2737-
"memchr",
2738-
]
2739-
27402724
[[package]]
27412725
name = "csv"
27422726
version = "1.2.2"
@@ -3389,6 +3373,7 @@ dependencies = [
33893373
"libflate",
33903374
"libfuzzer-sys",
33913375
"libnss",
3376+
"libsystemd",
33923377
"little-loadshedder",
33933378
"lmdb-rkv",
33943379
"lmdb-rkv-sys",
@@ -3529,7 +3514,6 @@ dependencies = [
35293514
"sys-mount",
35303515
"syscalls",
35313516
"sysinfo",
3532-
"systemd",
35333517
"tabled",
35343518
"tar",
35353519
"tarpc",
@@ -4359,28 +4343,7 @@ version = "0.3.2"
43594343
source = "registry+https://github.com/rust-lang/crates.io-index"
43604344
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
43614345
dependencies = [
4362-
"foreign-types-shared 0.1.1",
4363-
]
4364-
4365-
[[package]]
4366-
name = "foreign-types"
4367-
version = "0.5.0"
4368-
source = "registry+https://github.com/rust-lang/crates.io-index"
4369-
checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
4370-
dependencies = [
4371-
"foreign-types-macros",
4372-
"foreign-types-shared 0.3.1",
4373-
]
4374-
4375-
[[package]]
4376-
name = "foreign-types-macros"
4377-
version = "0.2.3"
4378-
source = "registry+https://github.com/rust-lang/crates.io-index"
4379-
checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
4380-
dependencies = [
4381-
"proc-macro2",
4382-
"quote",
4383-
"syn 2.0.119",
4346+
"foreign-types-shared",
43844347
]
43854348

43864349
[[package]]
@@ -4389,12 +4352,6 @@ version = "0.1.1"
43894352
source = "registry+https://github.com/rust-lang/crates.io-index"
43904353
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
43914354

4392-
[[package]]
4393-
name = "foreign-types-shared"
4394-
version = "0.3.1"
4395-
source = "registry+https://github.com/rust-lang/crates.io-index"
4396-
checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
4397-
43984355
[[package]]
43994356
name = "form_urlencoded"
44004357
version = "1.2.1"
@@ -7236,14 +7193,21 @@ dependencies = [
72367193
]
72377194

72387195
[[package]]
7239-
name = "libsystemd-sys"
7240-
version = "0.9.3"
7196+
name = "libsystemd"
7197+
version = "0.7.2"
72417198
source = "registry+https://github.com/rust-lang/crates.io-index"
7242-
checksum = "ed080163caa59cc29b34bce2209b737149a4bac148cd9a8b04e4c12822798119"
7199+
checksum = "19c97a761fc86953c5b885422b22c891dbf5bcb9dcc99d0110d6ce4c052759f0"
72437200
dependencies = [
7244-
"build-env",
7201+
"hmac",
72457202
"libc",
7246-
"pkg-config",
7203+
"log",
7204+
"nix 0.29.0",
7205+
"nom 8.0.0",
7206+
"once_cell",
7207+
"serde",
7208+
"sha2 0.10.9",
7209+
"thiserror 2.0.18",
7210+
"uuid",
72477211
]
72487212

72497213
[[package]]
@@ -7962,6 +7926,7 @@ dependencies = [
79627926
"cfg-if",
79637927
"cfg_aliases",
79647928
"libc",
7929+
"memoffset",
79657930
]
79667931

79677932
[[package]]
@@ -8407,7 +8372,7 @@ checksum = "a45fa2aa886c42762255da344f0a0d313e254066c46aad76f300c3d3da62d967"
84078372
dependencies = [
84088373
"bitflags 2.10.0",
84098374
"cfg-if",
8410-
"foreign-types 0.3.2",
8375+
"foreign-types",
84118376
"libc",
84128377
"openssl-macros",
84138378
"openssl-sys",
@@ -12028,21 +11993,6 @@ dependencies = [
1202811993
"libc",
1202911994
]
1203011995

12031-
[[package]]
12032-
name = "systemd"
12033-
version = "0.10.0"
12034-
source = "registry+https://github.com/rust-lang/crates.io-index"
12035-
checksum = "afec0101d9ae8ab26aedf0840109df689938ea7e538aa03df4369f1854f11562"
12036-
dependencies = [
12037-
"cstr-argument",
12038-
"foreign-types 0.5.0",
12039-
"libc",
12040-
"libsystemd-sys",
12041-
"log",
12042-
"memchr",
12043-
"utf8-cstr",
12044-
]
12045-
1204611996
[[package]]
1204711997
name = "systemstat"
1204811998
version = "0.2.3"
@@ -13362,12 +13312,6 @@ version = "1.0.5"
1336213312
source = "registry+https://github.com/rust-lang/crates.io-index"
1336313313
checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
1336413314

13365-
[[package]]
13366-
name = "utf8-cstr"
13367-
version = "0.1.6"
13368-
source = "registry+https://github.com/rust-lang/crates.io-index"
13369-
checksum = "55bcbb425141152b10d5693095950b51c3745d019363fc2929ffd8f61449b628"
13370-
1337113315
[[package]]
1337213316
name = "utf8-width"
1337313317
version = "0.1.6"

Cargo.lock

Lines changed: 28 additions & 73 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -771,6 +771,7 @@ libcryptsetup-rs = "0.15"
771771
libflate = "2.3.1"
772772
libfuzzer-sys = "0.4.7"
773773
libnss = "0.5.0"
774+
libsystemd = "0.7.2"
774775
lmdb-rkv = { git = "https://github.com/dfinity-lab/lmdb-rs", rev = "a244a247789fd9ece0fe1a406180c32e5bbc0c3f" }
775776
lmdb-rkv-sys = { git = "https://github.com/dfinity-lab/lmdb-rs", rev = "a244a247789fd9ece0fe1a406180c32e5bbc0c3f" }
776777
local-ip-address = "0.6.13"
@@ -921,7 +922,6 @@ subtle = "2.6.1"
921922
syn = { version = "2.0.110", features = ["fold", "full"] }
922923
sys-mount = "3.0"
923924
sysinfo = "0.37"
924-
systemd = "0.10"
925925
tar = "0.4.39"
926926
tempfile = "3.20"
927927
textplots = "^0.8"

bazel/rust.MODULE.bazel

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -969,6 +969,10 @@ crate.spec(
969969
package = "libnss",
970970
version = "^0.5.0",
971971
)
972+
crate.spec(
973+
package = "libsystemd",
974+
version = "0.7.2",
975+
)
972976
crate.spec(
973977
package = "little-loadshedder",
974978
version = "^0.2.0",
@@ -1702,10 +1706,6 @@ crate.spec(
17021706
package = "sysinfo",
17031707
version = "0.37",
17041708
)
1705-
crate.spec(
1706-
package = "systemd",
1707-
version = "0.10",
1708-
)
17091709
crate.spec(
17101710
package = "sys-mount",
17111711
version = "3.0",
@@ -2232,10 +2232,6 @@ crate.annotation(
22322232
crate = "libcryptsetup-rs-sys",
22332233
link_deps = ["@@//third_party:cryptsetup"],
22342234
)
2235-
crate.annotation(
2236-
crate = "libsystemd-sys",
2237-
link_deps = ["@@//third_party:systemd"],
2238-
)
22392235
crate.annotation(
22402236
crate = "virt-sys",
22412237
link_deps = ["@@//third_party:libvirt"],

0 commit comments

Comments
 (0)