Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: AerynOS/os-tools
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 9bb3cd05369ed4911892275e528618f3e023e361
Choose a base ref
..
head repository: AerynOS/os-tools
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1372d76a937d7031a71f86f979460f0ef0ce91a2
Choose a head ref
Showing with 2,395 additions and 796 deletions.
  1. +22 −0 .cargo/config.toml
  2. +8 −0 .github/workflows/ci.yaml
  3. +761 −363 Cargo.lock
  4. +42 −27 Cargo.toml
  5. +60 −30 README.md
  6. +11 −3 boulder/Cargo.toml
  7. +11 −13 boulder/README.md
  8. +41 −0 boulder/boulder-concurrency-test.yaml
  9. +5 −5 boulder/data/macros/actions/{autotools.yml → autotools.yaml}
  10. +8 −6 boulder/data/macros/actions/{cargo.yml → cargo.yaml}
  11. +5 −5 boulder/data/macros/actions/{cmake.yml → cmake.yaml}
  12. +5 −4 boulder/data/macros/actions/{meson.yml → meson.yaml}
  13. +12 −10 boulder/data/macros/actions/{misc.yml → misc.yaml}
  14. +1 −1 boulder/data/macros/actions/{perl.yml → perl.yaml}
  15. +7 −7 boulder/data/macros/actions/{pgo.yml → pgo.yaml}
  16. +5 −5 boulder/data/macros/actions/{python.yml → python.yaml}
  17. 0 boulder/data/macros/arch/{aarch64.yml → aarch64.yaml}
  18. +6 −1 boulder/data/macros/arch/{base.yml → base.yaml}
  19. 0 boulder/data/macros/arch/emul32/{x86_64.yml → x86_64.yaml}
  20. 0 boulder/data/macros/arch/{x86.yml → x86.yaml}
  21. 0 boulder/data/macros/arch/{x86_64-stage1.yml → x86_64-stage1.yaml}
  22. 0 boulder/data/macros/arch/{x86_64-v3x.yml → x86_64-v3x.yaml}
  23. 0 boulder/data/macros/arch/{x86_64.yml → x86_64.yaml}
  24. +1 −10 boulder/data/profile.d/default-x86_64.yaml
  25. 0 boulder/data/{recipeTemplate.yml → recipeTemplate.yaml}
  26. +1 −1 boulder/src/architecture.rs
  27. +14 −6 boulder/src/build/job/phase.rs
  28. +1 −1 boulder/src/build/pgo.rs
  29. +5 −4 boulder/src/build/root.rs
  30. +26 −15 boulder/src/cli.rs
  31. +1 −1 boulder/src/cli/chroot.rs
  32. +14 −12 boulder/src/cli/profile.rs
  33. +170 −6 boulder/src/cli/recipe.rs
  34. +34 −0 boulder/src/cli/version.rs
  35. +7 −10 boulder/src/draft/build.rs
  36. +29 −3 boulder/src/env.rs
  37. +5 −4 boulder/src/macros.rs
  38. +9 −11 boulder/src/package.rs
  39. +5 −3 boulder/src/package/analysis.rs
  40. +41 −2 boulder/src/package/analysis/handler/elf.rs
  41. +7 −1 boulder/src/package/emit.rs
  42. +7 −7 boulder/src/profile.rs
  43. +45 −5 boulder/src/recipe.rs
  44. +2 −1 crates/config/Cargo.toml
  45. +2 −1 crates/container/Cargo.toml
  46. +2 −1 crates/dag/Cargo.toml
  47. +2 −1 crates/fnmatch/Cargo.toml
  48. +5 −7 crates/fnmatch/src/lib.rs
  49. +13 −0 crates/serpent_buildinfo/Cargo.toml
  50. +149 −0 crates/serpent_buildinfo/build.rs
  51. +118 −0 crates/serpent_buildinfo/src/lib.rs
  52. +16 −0 crates/serpent_buildinfo/src/values.rs
  53. +3 −2 crates/stone/Cargo.toml
  54. +2 −1 crates/stone_recipe/Cargo.toml
  55. +9 −7 crates/stone_recipe/src/lib.rs
  56. +2 −0 crates/stone_recipe/src/macros.rs
  57. +27 −22 crates/stone_recipe/src/script.rs
  58. +13 −11 crates/stone_recipe/src/tuning.rs
  59. +8 −4 crates/triggers/Cargo.toml
  60. +2 −1 crates/tui/Cargo.toml
  61. +2 −2 crates/vfs/Cargo.toml
  62. +4 −3 crates/vfs/src/tree/builder.rs
  63. +5 −4 crates/vfs/src/tree/mod.rs
  64. +0 −6 crates/yaml/Cargo.toml
  65. +26 −1 justfile
  66. +11 −6 moss/Cargo.toml
  67. +0 −15 moss/build.rs
  68. +14 −11 moss/src/cli/mod.rs
  69. +5 −5 moss/src/cli/remove.rs
  70. +18 −7 moss/src/cli/version.rs
  71. +153 −0 moss/src/client/boot.rs
  72. +4 −3 moss/src/client/cache.rs
  73. +3 −0 moss/src/client/install.rs
  74. +8 −1 moss/src/client/mod.rs
  75. +5 −4 moss/src/client/prune.rs
  76. +6 −9 moss/src/client/verify.rs
  77. +4 −4 moss/src/db/layout/mod.rs
  78. +1 −0 moss/src/db/meta/migrations/2024-03-03-165811_init/down.sql
  79. +7 −0 moss/src/db/meta/migrations/2024-03-03-165811_init/up.sql
  80. +89 −4 moss/src/db/meta/mod.rs
  81. +9 −1 moss/src/db/meta/schema.rs
  82. +0 −2 moss/src/environment.rs
  83. +53 −24 moss/src/installation.rs
  84. +58 −0 moss/src/installation/lockfile.rs
  85. +26 −7 moss/src/package/meta.rs
  86. +5 −3 moss/src/registry/mod.rs
  87. +7 −4 moss/src/registry/plugin/cobble.rs
  88. +5 −5 moss/src/repository/manager.rs
  89. +7 −5 moss/src/repository/mod.rs
  90. +12 −9 moss/src/request.rs
  91. +3 −5 scripts/create-release-tar.sh
  92. +2 −1 test/base.yml
  93. +4 −4 test/cmake.yml
  94. BIN test/conflicts/italian-pizza-1-1-1-x86_64.stone
  95. +17 −0 test/conflicts/italian-pizza.yml
  96. BIN test/conflicts/pineapple-1-1-1-x86_64.stone
  97. +15 −0 test/conflicts/pineapple.yml
22 changes: 22 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[target."x86_64-unknown-linux-gnu"]
# - On systems that do not use lld as the system linker (such as Solus) using lld directly saves about a second
# of build time for incremental compiles for building boulder (from 2.191s to 1.198s on my machine).
# - Compressing debug symbols with zstd shrinks the dev profile boulder binary from 206.03MB to 81.44MB, a 124.59MB
# or ~60% savings. It doesn't affect the binary size for packaging builds since we strip those, but the debug symbols
# are reduced in size from 113.16MB to 34.63MB. It adds about ~152ms to the build times which is less than we gained
# by switching to lld
# - The new symbol mangling format (https://doc.rust-lang.org/rustc/symbol-mangling/v0.html) improves the backtrace
# shown by RUST_BACKTRACE=1 and other debug utilities. It should also be helpful once we have ABI reports. Upstream
# hasn't switched to it yet by default due to stable distros not having new enough tools, but that doesn't matter for us
rustflags = [
"-Clink-arg=-fuse-ld=lld",
"-Clink-arg=-Wl,--compress-debug-sections=zstd",
"-Csymbol-mangling-version=v0",
]

[target."aarch64-unknown-linux-gnu"]
rustflags = [
"-Clink-arg=-fuse-ld=lld",
"-Clink-arg=-Wl,--compress-debug-sections=zstd",
"-Csymbol-mangling-version=v0",
]
8 changes: 8 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -23,6 +23,14 @@ jobs:
- name: typos-action
uses: crate-ci/typos@v1.20.8

- name: Install LLVM and Clang
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 18
echo "/usr/lib/llvm-18/bin" >> $GITHUB_PATH
echo "CC=/usr/lib/llvm-18/bin/clang" >> $GITHUB_ENV
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
Loading