Package Apache license and standardize notices

Adopt the conventional NOTICE layout and include required license material in published crate archives. Verify workspace license metadata and the host coordinator's bundled ncurses notices.
This commit is contained in:
ms2k 2026-08-19 21:28:23 +09:00
commit 465c40822a
21 changed files with 129 additions and 34 deletions

View file

@ -23,6 +23,7 @@ version = "0.0.0"
edition = "2024" edition = "2024"
rust-version = "1.97" rust-version = "1.97"
license = "Apache-2.0" license = "Apache-2.0"
license-file = "LICENSE"
[workspace.dependencies] [workspace.dependencies]
anyhow = "=1.0.103" anyhow = "=1.0.103"

47
NOTICE Normal file
View file

@ -0,0 +1,47 @@
Lazaret
Copyright 2026 ms2k
Third-party notices
gVisor
The files matching patches/gvisor-9f8f6c917-* modify or describe a build of
gVisor revision 9f8f6c917885d9ef3d84c17280939c012dea0dfe. The patch files
contain context from gVisor source files and identify Lazaret's changes in
unified-diff form.
Copyright The gVisor Authors.
The gVisor files modified by these patches are licensed under the Apache
License 2.0 in LICENSE. The pinned gVisor revision does not contain a NOTICE
file. Its distribution also identifies files under MIT and BSD terms, which
are reproduced in LICENSES/gvisor-additional-licenses.txt.
fuser
The file patches/fuser-0.17.0-lock-flags.patch modifies fuser 0.17.0 and
contains context from its source files. Lazaret's changes in this patch are
offered under the upstream MIT License so the resulting modified files remain
under one license.
Copyright (c) 2020-present Christopher Berner.
Copyright (c) 2013-2019 Andreas Neuhaus.
The applicable license is reproduced in LICENSES/fuser-MIT.txt.
ncurses terminfo
The file crates/lazaret-host-coordinator/assets/tmux-256color.base64 is a
Base64 encoding of the compiled tmux-256color entry distributed with ncurses.
The SHA-256 digest of the decoded entry is
7f2870efd2bc94ba6ff2c6dd6e84777b687f4331920ad388991c5ffcfc444cca.
Copyright 2018-2024, 2025 Thomas E. Dickey.
Copyright 1998-2017, 2018 Free Software Foundation, Inc.
The applicable MIT Open Group variant is reproduced in
LICENSES/ncurses-MIT-open-group.txt. The ncurses terminfo source records
additional authorship and provenance for the terminal database:
https://invisible-island.net/ncurses/terminfo.src.html

View file

@ -42,4 +42,4 @@ Edit the example network allowlists and persistent volume paths before use.
- [Example configuration](docs/example.toml) - [Example configuration](docs/example.toml)
- [Verification entry point](tools/verify) - [Verification entry point](tools/verify)
- [Apache License 2.0](LICENSE) - [Apache License 2.0](LICENSE)
- [Third-party notices](THIRD_PARTY_NOTICES.md) - [Notices](NOTICE)

View file

@ -1,33 +0,0 @@
# Third-party notices
Except for the material identified below, this repository is licensed under the Apache License 2.0 in [LICENSE](LICENSE).
This file identifies third-party material stored in the source repository. A binary distribution must also provide the notices required by linked Rust dependencies and dependencies incorporated into the patched gVisor runtime.
## gVisor
The files matching `patches/gvisor-9f8f6c917-*` modify or describe a build of [gVisor](https://github.com/google/gvisor) revision `9f8f6c917885d9ef3d84c17280939c012dea0dfe`. The patch files contain context from gVisor source files and clearly identify Lazaret's changes in unified-diff form.
Copyright The gVisor Authors.
The gVisor files modified by these patches are licensed under the Apache License 2.0 in [LICENSE](LICENSE). The pinned gVisor revision does not contain a `NOTICE` file. Its distribution also identifies files under MIT and BSD terms, which are reproduced in [LICENSES/gvisor-additional-licenses.txt](LICENSES/gvisor-additional-licenses.txt).
## fuser
The file `patches/fuser-0.17.0-lock-flags.patch` modifies [fuser 0.17.0](https://crates.io/crates/fuser/0.17.0) and contains context from its source files. Lazaret's changes in this patch are offered under the upstream MIT License so the resulting modified files remain under one license.
Copyright (c) 2020-present Christopher Berner.
Copyright (c) 2013-2019 Andreas Neuhaus.
The applicable license is reproduced in [LICENSES/fuser-MIT.txt](LICENSES/fuser-MIT.txt).
## ncurses terminfo
The file `crates/lazaret-host-coordinator/assets/tmux-256color.base64` is a Base64 encoding of the compiled `tmux-256color` entry distributed with ncurses. The SHA-256 digest of the decoded entry is `7f2870efd2bc94ba6ff2c6dd6e84777b687f4331920ad388991c5ffcfc444cca`.
Copyright 2018-2024, 2025 Thomas E. Dickey.
Copyright 1998-2017, 2018 Free Software Foundation, Inc.
The applicable MIT Open Group variant is reproduced in [LICENSES/ncurses-MIT-open-group.txt](LICENSES/ncurses-MIT-open-group.txt). The [ncurses terminfo source](https://invisible-island.net/ncurses/terminfo.src.html) records additional authorship and provenance for the terminal database.

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[[bin]] [[bin]]
name = "lazaret" name = "lazaret"

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[dependencies] [dependencies]
lazaret-core = { version = "=0.0.0", path = "../lazaret-core" } lazaret-core = { version = "=0.0.0", path = "../lazaret-core" }

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[dependencies] [dependencies]
ed25519-dalek.workspace = true ed25519-dalek.workspace = true

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[dependencies] [dependencies]
lazaret-core = { version = "=0.0.0", path = "../lazaret-core" } lazaret-core = { version = "=0.0.0", path = "../lazaret-core" }

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[[bin]] [[bin]]
name = "lazaret-escalation-client" name = "lazaret-escalation-client"

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[[bin]] [[bin]]
name = "lazaret-host-coordinator" name = "lazaret-host-coordinator"

View file

@ -0,0 +1 @@
../../../LICENSES/ncurses-MIT-open-group.txt

View file

@ -0,0 +1,20 @@
Lazaret
Copyright 2026 ms2k
Third-party notices
ncurses terminfo
The file assets/tmux-256color.base64 is a Base64 encoding of the compiled
tmux-256color entry distributed with ncurses. The SHA-256 digest of the
decoded entry is
7f2870efd2bc94ba6ff2c6dd6e84777b687f4331920ad388991c5ffcfc444cca.
Copyright 2018-2024, 2025 Thomas E. Dickey.
Copyright 1998-2017, 2018 Free Software Foundation, Inc.
The applicable MIT Open Group variant is reproduced in
LICENSES/ncurses-MIT-open-group.txt. The ncurses terminfo source records
additional authorship and provenance for the terminal database:
https://invisible-island.net/ncurses/terminfo.src.html

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[dependencies] [dependencies]
bstr.workspace = true bstr.workspace = true

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[dependencies] [dependencies]
lazaret-core = { version = "=0.0.0", path = "../lazaret-core" } lazaret-core = { version = "=0.0.0", path = "../lazaret-core" }

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[dependencies] [dependencies]
anyhow.workspace = true anyhow.workspace = true

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[[bin]] [[bin]]
name = "lazaret-runtime-supervisor" name = "lazaret-runtime-supervisor"

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[dependencies] [dependencies]
lazaret-core = { version = "=0.0.0", path = "../lazaret-core" } lazaret-core = { version = "=0.0.0", path = "../lazaret-core" }

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[[bin]] [[bin]]
name = "lazaret-sandbox-init" name = "lazaret-sandbox-init"

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[dependencies] [dependencies]
lazaret-core = { version = "=0.0.0", path = "../lazaret-core" } lazaret-core = { version = "=0.0.0", path = "../lazaret-core" }

View file

@ -4,6 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
license.workspace = true license.workspace = true
license-file.workspace = true
[dependencies] [dependencies]
lazaret-core = { version = "=0.0.0", path = "../lazaret-core" } lazaret-core = { version = "=0.0.0", path = "../lazaret-core" }

Some files were not shown because too many files have changed in this diff Show more