Commit Graph

126 Commits

Author SHA1 Message Date
SFG545 ef001600c1 feat: enhance chroot handling and add host shell bootstrap logic 2026-04-04 18:05:20 -05:00
SFG545 d54e6d56e8 Implement Perl build helper commands and integrate into CLI
- Added `run_helper_configure` and `run_helper_install` functions in `perl.rs` to handle Perl-specific build configurations and installations.
- Introduced new internal commands in `cli.rs` for Perl configuration and installation.
- Updated `internal.rs` to execute Perl helper commands using the new functions.
- Enhanced `shell_helpers.rs` to include scripts for Perl configure and install commands.
- Modified `hooks.rs` to apply build helper context and directories for post-extract and post-configure commands.
- Added tests to ensure the correct execution of Perl build helper commands and their integration with the build process.
2026-04-04 17:31:39 -05:00
SFG545 34d52d11a9 feat: update user configuration example and add development package support
- Enhanced the user.depot.toml.example file with additional comments and options for user-local preferences.
- Bumped version from 0.35.0 to 0.35.1 in meson.build.
- Introduced a new option for DEPOT_DEVELOPMENT_PACKAGE in meson_options.txt.
- Added functions to handle the requested development package in build_options.rs.
- Updated various builder files (autotools.rs, cmake.rs, custom.rs, meson.rs, perl.rs) to support passing build flags.
- Implemented checks for the required development package during source builds in commands.rs and commands/build_cmd.rs.
- Added tests to ensure the correct behavior of development package requirements and source build warnings.
- Modified manual source handling in source/mod.rs to validate local manual sources before proceeding with builds.
- Updated cargo build and test scripts to accept a new development package argument.
- Added VSCode settings to disable automatic configuration on open.
2026-04-04 17:02:42 -05:00
SFG545 135514acb3 feat: update depot version to 0.35.0 and enhance configure argument handling 2026-03-30 20:05:28 -05:00
SFG545 a26ee450bc feat: update meson options for CMake, Meson, Perl, Python, and Rust packages; enhance configure help text validation 2026-03-29 17:15:27 -05:00
SFG545 d7afe5486d feat: update depot version to 0.34.1 and enhance configure argument handling 2026-03-29 17:04:38 -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 192cdc1af2 feat: add support for package groups in dependency management
- Introduced a new `groups` field in the package specification to categorize packages.
- Updated various functions to handle package groups, including parsing, registration, and querying.
- Enhanced database schema to store package group information.
- Modified the interactive package creation process to allow users to specify package groups.
- Implemented tests to verify the correct handling of package groups in both source and binary repositories.
- Updated the output formatting to include package group information where applicable.
2026-03-25 00:23:16 -05:00
SFG545 60c26d217a feat: update depot version to 0.33.0 and enhance package handling 2026-03-24 19:20:46 -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 a5fcf4b916 feat: add support for SHA1 checksum verification and update related documentation 2026-03-23 17:14:18 -05:00
SFG545 18e376e4f7 feat: update depot version to 0.32.0 and add support for environment variable declarations in build flags 2026-03-23 17:08:03 -05:00
SFG545 fd7873995a feat: add support for Mercurial (hg) source handling in mod.rs
- Implemented `split_hg_url` to parse Mercurial URLs and revisions.
- Added `checkout_hg` function to clone Mercurial repositories.
- Integrated Mercurial handling into the `prepare_one` function to support resuming builds.
- Added tests for `split_hg_url` to ensure correct parsing of URLs and revisions.

---

feat: introduce legacy STARBUILD conversion support in starbuild.rs

- Created `ConvertedStarbuild` and `ParsedStarbuild` structs to manage conversion data.
- Implemented `convert_starbuild_file` to parse STARBUILD files and generate package specifications.
- Added functions to handle parsing of various STARBUILD constructs, including dependencies and build phases.
- Developed a build script generator for STARBUILD, supporting custom install functions.
- Included tests to validate conversion of single and multi-output STARBUILD files.
2026-03-23 15:13:07 -05:00
SFG545 19da5b960c feat: update depot version to 0.31.0, enhance shell helper functions for primary staging support 2026-03-22 21:53:23 -05:00
SFG545 ce06fcba1b feat: update depot and zip versions to 0.30.1 and 8.3.1 respectively, enhance shell helper functions for safer file operations 2026-03-22 20:42:33 -05:00
SFG545 fc9a78a748 feat: update depot version to 0.30.0 and enhance manual source validation and lifecycle hook handling 2026-03-22 15:10:05 -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 bdb34c5c88 feat: update depot version to 0.27.1 and enhance pkg-config environment configuration 2026-03-17 19:59:54 -05:00
SFG545 3bc4d738c4 feat: update depot version and enhance host build support
- Bump the version of the "depot" package from 0.26.1 to 0.27.0 in Cargo.toml and Cargo.lock.
- Modify meson.build, autotools.rs, cmake.rs, custom.rs, makefile.rs, and other builder files to include a new parameter for host build directory.
- Implement logic to handle host builds across various build systems (Autotools, CMake, Meson).
- Add tests to ensure that environment variables for host build directories are correctly expanded.
- Introduce new flags in PackageSpec to control host build behavior.
2026-03-17 19:29:04 -05:00
SFG545 a6c7ca6fa7 feat: add support for package replacement in metadata and corresponding test 2026-03-17 00:26:50 -05:00
SFG545 e7538a42ad refactor: remove deferred hook handling from lifecycle script execution 2026-03-16 23:32:51 -05:00
SFG545 1dc043fa38 feat: enhance dependency handling in install process and update repo key trust prompt 2026-03-16 23:26:34 -05:00
SFG545 7f0f7d8c6f refactor: remove early return for non-empty output in Resolver 2026-03-16 23:07:22 -05:00
SFG545 2bc9e7a525 Implement package replacement feature across the codebase
- Introduced a new `replaces` field in various structs to support package replacements.
- Updated database schema to include a `replaces` table and corresponding queries.
- Modified the package index to handle replacements and ensure they take precedence over exact package names.
- Enhanced the `create_source_repo_index` function to include replacement entries in the index.
- Updated tests to validate the new replacement functionality, including parsing and metadata generation.
- Refactored relevant functions and structures to accommodate the new `replaces` feature in package specifications and alternatives.
2026-03-16 22:47:35 -05:00
SFG545 82f3b625ee feat: update depot version to 0.26.0 and modify lib32 hook script handling 2026-03-15 23:37:08 -05:00
SFG545 4ac242ed7b test: rename and update lib32 installation tests to reflect changes in path handling 2026-03-15 23:05:24 -05:00
SFG545 99ceacdb64 feat: update depot version to 0.25.1 and enhance lib32 installation handling 2026-03-15 22:55:17 -05:00
SFG545 a7a8ac201e feat: update depot version to 0.25.0 2026-03-15 22:06:12 -05:00
SFG545 db0dcb2ff5 feat: enhance automatic test skipping logic for multilib builds 2026-03-15 22:05:10 -05:00
SFG545 0d768e0941 feat: add support for preserving environment variables in sudo reexec 2026-03-15 16:59:03 -05:00
SFG545 6129edb50c feat: update depot version to 0.24.1 and enhance lib32 installation handling 2026-03-15 16:49:53 -05:00
SFG545 be52338e91 feat: set install context to planned for direct install requests 2026-03-15 16:34:58 -05:00
SFG545 167467d169 feat: add support for renamed package updates and ABI-breaking flags
- Introduced `real_name` field in `InstalledPackageRecord` and `PackageInfo` to handle renamed packages.
- Added `abi_breaking` field to manage versioned shared libraries during renamed updates.
- Updated database schema to include `real_name` and `abi_breaking` columns.
- Enhanced package registration logic to support replacement of renamed packages while retaining specified files and directories.
- Modified various functions and tests to accommodate the new fields and ensure backward compatibility.
- Updated TOML serialization to include `real_name` and `abi_breaking` in package metadata.
2026-03-15 16:31:44 -05:00
SFG545 a6a752bf69 feat: bump depot version to 0.23.1 and add tests for self-update context handling 2026-03-15 14:55:19 -05:00
SFG545 a774c61e5a Implement interrupt handling for long-running commands and archive extraction
- Added an `interrupts` module to manage Ctrl-C signals and propagate them to child processes.
- Refactored archive extraction functions to check for interrupts and handle them gracefully.
- Introduced `copy_interruptibly` function to allow for interruptible copying of data.
- Updated various source files to utilize the new interrupt handling functions, ensuring that commands and archive extractions can be interrupted by the user.
- Added tests to verify the interrupt functionality during copying and tar extraction.
- Introduced a new Meson option for generating HTML CLI documentation.
- Enhanced the `PackageSpec` struct to support additional Rust LTO flags.
2026-03-15 14:48:01 -05:00
SFG545 108c989695 feat: update package versions and enhance lib32 output handling 2026-03-15 13:44:32 -05:00
SFG545 1d877eeec2 feat: update version to 0.22.0 and enhance symlink handling in installation process 2026-03-13 12:22:17 -05:00
SFG545 a7217f2f1b feat: enhance repo ownership query to support symlinks and hard links 2026-03-13 09:05:06 -05:00
SFG545 1cafe87c8e feat: bump depot version to 0.21.1 and update install command handling 2026-03-13 08:59:36 -05:00
SFG545 0c06be6b6b feat: enhance package dependency handling and signing process
- Updated `lib32_dependencies` method to ensure the package name is included in runtime dependencies if not already present.
- Modified the signing key loading process to allow for multiple password attempts, improving user experience during key access.
- Introduced functions for staging licenses of split packages, ensuring proper symlink creation for matching licenses and copying distinct ones.
- Added tests for verifying the correct functionality of manpage compression and license staging.
2026-03-13 08:52:42 -05:00
SFG545 8d9e13ed71 feat: add cleanup option for auto-installed dependencies in build command
- Introduced a new `cleanup_deps` flag in the build command to remove dependencies that were automatically installed during the build process.
- Implemented an `InterruptWatcher` to handle Ctrl-C interruptions gracefully during the build process.
- Enhanced the `AutoInstalledDependencyTracker` to track and manage auto-installed dependencies, allowing for cleanup after the build.
- Updated the CLI to parse the new `cleanup_deps` flag and integrated it into the build workflow.
- Added tests to ensure the correct parsing of the `cleanup_deps` flag and the functionality of the dependency tracking and cleanup process.
- Improved logging for package removal operations to include a verbose mode controlled by the `DEPOT_VERBOSE_REMOVE` environment variable.
2026-03-12 18:06:38 -05:00
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