Commit Graph

16 Commits

Author SHA1 Message Date
SFG545 fa6ef2ddc9 use codex to make the codebase MUCH more maintainable 2026-07-13 05:15:22 -05:00
SFG545 5b23ea95e0 Update dependencies, improve CLI asset generation, and add man page
- Bump `git2` from 0.20.4 to 0.21.0 and `rusqlite` from 0.39.0 to 0.40.1 in Cargo.toml.
- Refactor CLI asset generation in `cli_assets.rs` to write a man page directly instead of generating it with `clap_mangen`.
- Implement a function to remove old man pages before writing the new one.
- Add tests to ensure the generated man page documents all visible command paths.
- Update the install script to copy the newly generated man page correctly.
- Introduce a new man page for the `depot` command with comprehensive documentation.
2026-06-10 06:33:39 -05:00
SFG545 57a364aa97 Implement update check functionality with version comparison and archive listing
- Added `check.rs` to handle package update checks, including logic for determining available updates from remote git repositories and archive listings.
- Introduced `versions.rs` to manage version patterns, comparison logic, and extraction of candidate versions from git refs and archive listings.
- Implemented `hex.rs` for encoding byte arrays to lowercase hexadecimal strings.
2026-03-29 12:09:44 -05:00
SFG545 8c601a8091 feat: update depot version to 0.32.1, add git clone support and enhance manual source handling 2026-03-23 22:23:31 -05:00
SFG545 bfbec3ff8e feat: update depot version to 0.29.1 and enhance git fetch handling with full refs support 2026-03-21 13:49:34 -05:00
SFG545 ae93cf0bd8 feat: update depot version to 0.29.0 and enhance git source handling with cherry-pick support 2026-03-21 01:41:49 -05:00
SFG545 b7a686a531 feat: update depot version to 0.28.1, upgrade dependencies and enhance git source handling 2026-03-20 21:49:21 -05:00
SFG545 9c4f686eb4 feat: update depot version to 0.28.0 and implement package replacement handling in database 2026-03-20 21:31:42 -05:00
SFG545 e9d8df062f feat: update depot version to 0.13.3 and enhance remote callback handling in git source 2026-03-10 14:34:13 -05:00
SFG545 fd58dc6afc refactor: streamline BuildFlags initialization across multiple modules 2026-03-08 15:35:45 -05:00
SFG545 73a994ac53 feat(source): support cherry-picking commits for git sources
- add source.cherry_pick (and cherry-pick alias) to package spec parsing/serialization
- apply listed cherry-picks in order after git checkout
- reject cherry_pick on non-git sources with explicit error
- include cherry_pick in interactive spec TOML output
- add parsing/behavior tests and update Source test fixtures
2026-02-28 02:13:46 -06:00
SFG545 f172814111 feat: enhance revision resolution in checkout_rev function and add fallback for invalid local HEAD 2026-02-28 01:05:41 -06:00
SFG545 9953d4b2ee feat: add repo planning/binary repo support and Meson build integration
- add repos.toml source/binary repo configuration with arch overrides and priorities
- add dependency planner/execution plan flow with interactive provider selection and --yes support
- expand binary repo DB metadata (sha512, dependencies, file lists) and repo owns/search helpers
- add rootfs-scoped fd locking and minisign detached signing/verification helpers
- add Meson build/test support for the project with builddir-local CARGO_HOME/CARGO_TARGET_DIR
- install contrib example configs into sysconfdir (/etc/depot.d layout) via Meson
- improve builder env handling (sanitized PATH, tool env passthrough, CXXFLAGS support)
- support += appends in package specs and add build.flags.cxxflags parsing
- prompt for git credentials when private repo auth is required
- update docs/examples and dependency setup (system libs, zstdmt, tempfile pin)
2026-02-24 21:38:12 -06:00
SFG545 d63ad03e98 feat: improve depot UX and packaging workflow
- add shared terminal UI helpers for colored info/warn/success logs and yes/no prompts
- add Python build backend (PEP 517/setup.py wheel build + install) and expose python in interactive spec creation
- expand spec/build flags (post_configure, make phase targets/dirs, configure_file, no_strip, no_compress_man)
- support split-output staging with internal .depot output dirs, shell helpers (haul/subdestdir), and per-output deps/provides overrides
- improve staging with ELF auto-strip and zstd manpage compression (with opt-out flags)
- enforce runtime deps before install and support legacy lifecycle hook script names
- improve manual source handling with files/urls lists and stricter validation
2026-02-22 14:52:45 -06:00
SFG545 c9bed308e2 Refactor and enhance source management and installation processes
- Improved error handling and context messages in `checkout` function in `git.rs`.
- Updated license field in package specification to use a vector in `hooks.rs`.
- Enhanced `copy_manual_sources` function in `mod.rs` to support both local file and remote URL sources, including checksum verification.
- Added new utility functions for path normalization and skipping installation of specific files in `staging/mod.rs`.
- Implemented logic to handle existing files during installation, allowing for `.depotnew` suffix for kept files.
- Added tests for manual source copying, installation behavior, and path validation.
- Introduced a new LICENSE file with MIT License terms.
2026-02-21 13:25:14 -06:00
SFG545 00ca2ebac6 feat: initial implementation of Depot package manager
- Implement source-based package management with support for archives and Git
- Add multi-system build support (Autotools, CMake, Meson, Rust/Cargo, Custom)
- Implement atomic installation logic using transactions and fakeroot
- Add dependency resolution for build-time and runtime requirements
- Implement package indexing and local repository management
- Add comprehensive configuration system with system/package overrides
- Include Project guidelines (AGENTS.md) and README.md
2026-02-16 11:35:23 -06:00