Commit Graph

37 Commits

Author SHA1 Message Date
SFG545 2c3369d32a feat: bump depot version to 0.20.1 and remove unused lib32 architecture function 2026-03-12 13:58:45 -05:00
SFG545 eba99e56d5 feat: update depot version to 0.20.0 and add --install-deps flag for automatic dependency installation 2026-03-12 11:21:10 -05:00
SFG545 67951b3188 feat: update depot version to 0.19.1 and enhance lib32 installation handling 2026-03-12 08:50:36 -05:00
SFG545 f6760f43fe Refactor dependency handling for lib32 packages
- Updated the `CrossConfig` to change the generator name from `nyapm` to `depot`.
- Introduced a new `RequestedOutputs` enum to manage different output types for dependencies.
- Refactored dependency collection functions to support lib32-specific dependencies.
- Enhanced the `check_build_deps`, `check_runtime_deps`, and `check_test_deps` functions to accept output types.
- Modified the `print_dep_status` function to handle output-specific dependency statuses.
- Added support for lib32 dependencies in the `PackageSpec` struct and related methods.
- Updated the `source_deps_for_install` function to conditionally include lib32 dependencies.
- Implemented tests to verify the correct handling of lib32 dependencies and their overrides.
- Adjusted legacy hook collection to support lib32-prefixed scripts.
2026-03-12 08:07:52 -05:00
SFG545 ad425efeca Bump version to 0.18.1 and implement documentation splitting feature
- Updated version in Cargo.lock and Cargo.toml to 0.18.1.
- Added functions to handle documentation package creation and management in `src/package/spec.rs`.
- Implemented logic to split documentation into separate outputs during the staging process in `src/staging/mod.rs`.
- Enhanced database interaction to retrieve package directories in `src/db/mod.rs`.
- Refactored command handling in `src/commands.rs` to accommodate new output specifications.
- Added tests to verify the correct behavior of documentation splitting and package management.
2026-03-12 04:21:35 -05:00
SFG545 10d9e9a975 feat: update depot version to 0.18.0 across Cargo files and meson.build 2026-03-12 02:21:57 -05:00
SFG545 d434e79a76 feat: update depot version to 0.17.1 and enhance command execution with improved error handling and environment variable management 2026-03-12 00:48:30 -05:00
SFG545 f72b6c46de feat: update depot version to 0.17.0 and enhance Python build/install commands 2026-03-11 01:02:36 -05:00
SFG545 ef5359bb88 feat: update depot version to 0.16.1 and enhance CMake install directory handling 2026-03-10 22:07:20 -05:00
SFG545 ccd43fca6a Update dependencies and enhance archive extraction support
- Bump version of the `depot` package from 0.15.2 to 0.16.0 in Cargo.toml and meson.build.
- Add new dependencies: `lz4_flex` and `lzma-rust2` in Cargo.toml and Cargo.lock.
- Implement support for extracting `.tar.lz4`, `.tar.lzma`, and `.tar.lzip` formats in the extractor module.
- Refactor archive extraction logic to streamline handling of various archive formats.
- Add tests for new archive formats to ensure extraction functionality works as expected.
2026-03-10 20:09:03 -05:00
SFG545 7fad7c552b feat: update depot version to 0.15.2 and enhance install context handling 2026-03-10 19:45:08 -05:00
SFG545 a9102c2f58 feat: update dependencies and enhance package spec parsing with unknown key handling 2026-03-10 19:33:33 -05:00
SFG545 dcbe38ea2b feat: add support for package conflicts in alternatives
- Introduced a new `conflicts` field in the `Alternatives` struct to track conflicting packages.
- Updated database schema to include a `conflicts` table and related queries.
- Enhanced package specification handling to include conflicts in TOML serialization and deserialization.
- Modified the interactive package creation to allow input for conflicting packages.
- Updated source repository index creation to handle conflicts and added relevant statistics.
- Adjusted tests to cover new conflicts functionality in package alternatives.
2026-03-10 16:16:20 -05:00
SFG545 d3d885f54b feat: update depot to version 0.14.0 and add support for installing test dependencies 2026-03-10 15:24:43 -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 28dbcdf7bb feat: update depot version to 0.13.2 and clean up logging in installation commands 2026-03-10 14:10:34 -05:00
SFG545 adbdf80c0e feat: update package dependencies and enhance checksum verification with b2 and b2sum support 2026-03-10 14:00:03 -05:00
SFG545 233bd1f1fe Add update and check commands with UTC package timestamps 2026-03-10 13:50:11 -05:00
SFG545 242d9a7384 feat: update depot version to 0.12.2 and add support for custom linker and preprocessor flags 2026-03-09 03:24:56 -05:00
SFG545 6f263aa6a6 feat: update depot version to 0.12.1 and implement batch installation for archive requests 2026-03-09 03:04:07 -05:00
SFG545 a46ff3a99b feat: update depot version to 0.12.0 and refactor environment variable handling in tests 2026-03-09 02:44:43 -05:00
SFG545 63e7daa479 feat: update depot version to 0.11.1 and enhance permission handling for package extraction 2026-03-09 01:14:10 -05:00
SFG545 be0288440a feat: update depot version to 0.11.0 and add support for Perl build type 2026-03-08 17:45:03 -05:00
SFG545 93f1b13179 feat: update depot version to 0.10.1 and implement logic to skip purged payload paths 2026-03-08 17:20:15 -05:00
SFG545 78306f5da7 feat: update depot version to 0.10.0 and enhance install logic to skip specific files 2026-03-08 17:14:30 -05:00
SFG545 bcca8c3307 feat: update version numbers for depot and minisign to 0.9.0 and 0.9.1 respectively 2026-03-08 15:38:19 -05:00
SFG545 b033d64b5b feat: run transaction hooks at boundaries and add configurable LTO flags
- execute transaction pre hooks at transaction start and post hooks at transaction end
- add batched hook execution with ordered "(n/total)" logging
- refactor install flows to plan package actions first, then run hooks around commits
- add `build.flags.ltoflags` and `build.flags.use_lto` (default: true)
- export `LTOFLAGS` and append LTO flags to `CFLAGS`, `CXXFLAGS`, and `LDFLAGS`
  unless `use_lto = false`
- make autotools CFLAGS expansion use the final computed CFLAGS value
- update spec parsing/appends, interactive TOML output, docs, and contrib build config
- bump project version to 0.8.0 and update `zip` to 8.2.0
2026-03-03 00:15:20 -06:00
SFG545 3080eea58a feat: update package version to 0.7.0 and enhance manual source variable expansion 2026-03-01 14:34:22 -06:00
SFG545 c96a17c553 feat: add support for deferred lifecycle hooks and improve binary package download progress tracking 2026-02-28 19:18:00 -06:00
SFG545 c4e1f8fd29 feat: update package version to 0.6.0 and enhance binary package handling 2026-02-28 18:33:46 -06:00
SFG545 b8a2cfa9be feat: add CLI asset generation for shell completions and man page 2026-02-28 01:01:33 -06:00
SFG545 ce5fefa833 refactor command flow and add signed package/hook safety
- split CLI definitions and command execution out of main.rs into new cli.rs and commands.rs modules\n- add transaction hook support via /etc/depot.d/hooks/*.toml with pre/post phases, operation/package/path filters, wildcard negation, and optional affected-path stdin\n- execute transaction hooks around install/update/remove operations and add package-action prompts for install/build/remove flows\n- require and verify detached minisign signatures for binary package archives when allow_unsigned=false, including cache handling and tests\n- persist optional dependencies from package metadata into repo index data and include optional deps in produced metadata\n- update dependency/planner logic to ignore dependencies provided by local split outputs and stop pulling test deps into install planning\n- auto-disable tests when required test dependencies are missing instead of hard-failing build/install paths\n- improve autotools defaults by injecting standard install directory flags when supported and preserving user overrides\n- remove static .a archives during staging by default with new build.flags.no_delete_static escape hatch\n- preserve symlinks and file metadata (permissions/timestamps) in extractor fallback copy path and add regression tests\n- refresh README docs for detached package signatures, optional dependencies, and transaction hooks\n- adjust dependency set: add filetime, disable reqwest default features, and simplify git2/OpenSSL linkage
2026-02-28 00:54:08 -06:00
SFG545 be6184bbaf feat: update depot version to 0.5.0 and enhance build directory handling for lib32 2026-02-26 17:08:02 -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 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 9a00608104 feat: Implement build state tracking and interactive package specification creation
- Added StateTracker to manage build steps and allow resuming interrupted builds.
- Updated post_extract function to utilize StateTracker for patch and command execution.
- Introduced makefile.rs to handle building and installing packages via Makefile.
- Created interactive.rs for an interactive package specification creator with SHA256 computation for source URLs.
- Enhanced checksum verification to support multiple algorithms (SHA256, SHA512, MD5).
- Added example configuration files in contrib for system-wide and user-level Depot configurations.
- Updated tests to cover new functionality and ensure correctness of state tracking and interactive creation.
2026-02-16 21:38:05 -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