qsu

Check-in Differences
Login

Check-in Differences

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Difference From qsu-0.4.0 To qsu-0.4.1

2024-05-20
00:11
Merge. check-in: 343bfcf196 user: jan tags: trunk
2024-05-19
20:15
Start working on support specifying tracing filter. check-in: 322cec676c user: jan tags: tracing-filter
2024-05-18
22:19
Release maintenance. check-in: f7bd4bc90c user: jan tags: qsu-0.4.1, trunk
22:02
Metadata update; set to os category. check-in: f37a6b11c0 user: jan tags: trunk
2024-04-03
22:54
Re-export log and tracing. check-in: 999a598d71 user: jan tags: trunk
2024-03-22
13:34
Release maintenance. check-in: c90cbdbc41 user: jan tags: qsu-0.4.0, trunk
13:31
Cleanup and docs. check-in: 1e925f55cf user: jan tags: trunk

Changes to Cargo.toml.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[package]
name = "qsu"
version = "0.4.0"
edition = "2021"
license = "0BSD"
# https://crates.io/category_slugs
categories = [ "asynchronous" ]
keywords = [ "service", "systemd", "winsvc" ]
repository = "https://repos.qrnch.tech/pub/qsu"
description = "Service subsystem wrapper."
rust-version = "1.56"
exclude = [
  ".fossil-settings",
  ".efiles",


|



|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
[package]
name = "qsu"
version = "0.4.1"
edition = "2021"
license = "0BSD"
# https://crates.io/category_slugs
categories = [ "os" ]
keywords = [ "service", "systemd", "winsvc" ]
repository = "https://repos.qrnch.tech/pub/qsu"
description = "Service subsystem wrapper."
rust-version = "1.56"
exclude = [
  ".fossil-settings",
  ".efiles",
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
rocket = ["rt", "dep:rocket", "tokio"]
rt = []
tokio = ["rt", "tokio/macros", "tokio/rt-multi-thread", "tokio/signal"]
wait-for-debugger = ["dep:dbgtools-win"]

[dependencies]
apperr = { version = "0.2.0" }
async-trait = { version = "0.1.77" }
chrono = { version = "0.4.35" }
clap = { version = "4.5.2", optional = true, features = [
  "derive", "env", "string", "wrap_help"
] }
env_logger = { version = "0.11.3" }
futures = { version = "0.3.30" }
itertools = { version = "0.12.1", optional = true }
killswitch = { version = "0.4.2" }
log = { version = "0.4.20" }
parking_lot = { version = "0.12.1" }
rocket = { version = "0.5.0", optional = true }
sidoc = { version = "0.1.0", optional = true }
tokio = { version = "1.36.0", features = ["sync"] }
time = { version = "0.3.34", features = ["macros"] }
tracing = { version = "0.1.40" }

[dependencies.tracing-subscriber]
version = "0.3.18"
default-features = false
features = ["env-filter", "time", "fmt", "ansi"]

[target.'cfg(target_os = "linux")'.dependencies]
sd-notify = { version = "0.4.1", optional = true }

[target.'cfg(unix)'.dependencies]
libc = { version = "0.2.153" }
nix = { version = "0.28.0", features = ["pthread", "signal"] }

[target.'cfg(windows)'.dependencies]
dbgtools-win = { version = "0.2.1", optional = true }
eventlog = { version = "0.2.2" }
registry = { version = "1.2.3" }
scopeguard = { version = "1.2.0" }
windows-service = { version = "0.6.0" }
windows-sys = { version = "0.52.0", features = [
  "Win32_Foundation", "Win32_System_Console"
] }
winreg = { version = "0.52.0" }

[dev-dependencies]
clap = { version = "4.5.2", features = ["derive", "env", "wrap_help"] }
tokio = { version = "1.36.0", features = ["time"] }

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]

[[example]]
name = "hellosvc"







|
|
|




|


|


|
|











|







|






|
|







32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
rocket = ["rt", "dep:rocket", "tokio"]
rt = []
tokio = ["rt", "tokio/macros", "tokio/rt-multi-thread", "tokio/signal"]
wait-for-debugger = ["dep:dbgtools-win"]

[dependencies]
apperr = { version = "0.2.0" }
async-trait = { version = "0.1.80" }
chrono = { version = "0.4.38" }
clap = { version = "4.5.4", optional = true, features = [
  "derive", "env", "string", "wrap_help"
] }
env_logger = { version = "0.11.3" }
futures = { version = "0.3.30" }
itertools = { version = "0.13.0", optional = true }
killswitch = { version = "0.4.2" }
log = { version = "0.4.20" }
parking_lot = { version = "0.12.2" }
rocket = { version = "0.5.0", optional = true }
sidoc = { version = "0.1.0", optional = true }
tokio = { version = "1.37.0", features = ["sync"] }
time = { version = "0.3.36", features = ["macros"] }
tracing = { version = "0.1.40" }

[dependencies.tracing-subscriber]
version = "0.3.18"
default-features = false
features = ["env-filter", "time", "fmt", "ansi"]

[target.'cfg(target_os = "linux")'.dependencies]
sd-notify = { version = "0.4.1", optional = true }

[target.'cfg(unix)'.dependencies]
libc = { version = "0.2.155" }
nix = { version = "0.28.0", features = ["pthread", "signal"] }

[target.'cfg(windows)'.dependencies]
dbgtools-win = { version = "0.2.1", optional = true }
eventlog = { version = "0.2.2" }
registry = { version = "1.2.3" }
scopeguard = { version = "1.2.0" }
windows-service = { version = "0.7.0" }
windows-sys = { version = "0.52.0", features = [
  "Win32_Foundation", "Win32_System_Console"
] }
winreg = { version = "0.52.0" }

[dev-dependencies]
clap = { version = "4.5.4", features = ["derive", "env", "wrap_help"] }
tokio = { version = "1.37.0", features = ["time"] }

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]

[[example]]
name = "hellosvc"

Changes to src/lib.rs.

61
62
63
64
65
66
67


68
69
70
71
72
73
74

#[cfg(feature = "tokio")]
pub use tokio;

#[cfg(feature = "rocket")]
pub use rocket;




/// Attempt to derive a default service name based on the executable's name.
///
/// The idea is to get the current executable's file name and strip it's
/// extension (if there is one).  The file stem name is the default service
/// name.  On macos the name will be prefixed by `local.`.
pub fn default_service_name() -> Option<String> {







>
>







61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

#[cfg(feature = "tokio")]
pub use tokio;

#[cfg(feature = "rocket")]
pub use rocket;

pub use log;
pub use tracing;

/// Attempt to derive a default service name based on the executable's name.
///
/// The idea is to get the current executable's file name and strip it's
/// extension (if there is one).  The file stem name is the default service
/// name.  On macos the name will be prefixed by `local.`.
pub fn default_service_name() -> Option<String> {

Changes to www/changelog.md.

1
2
3
4
5
6
7
8
9
10
11
12














13
14
15
16
17
18
19
# Change log

## [Unreleased]

[Details](/vdiff?from=qsu-0.4.0&to=trunk)

### Added

### Changed

### Removed















---

## [0.4.0] - 2024-03-22

[Details](/vdiff?from=qsu-0.3.0&to=qsu-0.4.0)

### Added




|







>
>
>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Change log

## [Unreleased]

[Details](/vdiff?from=qsu-0.4.1&to=trunk)

### Added

### Changed

### Removed

---

## [0.4.1] - 2024-05-19

[Details](/vdiff?from=qsu-0.4.0&to=qsu-0.4.1)

### Added

- Re-export `log` and `tracing`.

### Changed

- [windows-service](https://crates.io/crates/windows-service) 0.6.0 → 0.7.0

---

## [0.4.0] - 2024-03-22

[Details](/vdiff?from=qsu-0.3.0&to=qsu-0.4.0)

### Added