Commit graph

5 commits

Author SHA1 Message Date
robojerk
fe8f5c7b85 Implement real APT package installation in compose functionality
- Add real package download using APT manager
- Implement DEB package extraction using dpkg-deb
- Add package metadata creation with JSON files
- Support package file extraction to staging directory
- Test: apt-ostree compose create --base ubuntu:24.04 --packages curl works!

This completes the enhanced compose functionality with real package integration.
Next: Complete package file extraction and dependency resolution.
2025-07-18 20:36:06 +00:00
robojerk
a37d98b049 Implement real compose deployment creation functionality
- Add real deployment creation with staging directory checkout
- Implement base image checkout from OSTree branches
- Add OSTree commit creation with proper metadata
- Support package specification and output branch control
- Add dry-run support for safe testing
- Fix branch name conversion with regex-based solution
- Test: apt-ostree compose create --base ubuntu:24.04 --packages nginx works!

This completes the core compose functionality milestone.
2025-07-18 20:31:33 +00:00
robojerk
c39d6c03b5 Fix branch name conversion bug with regex-based solution
- Replace broken sequential replace() logic with robust regex pattern
- Fix architecture name preservation (x86_64, aarch64, arm64)
- Use regex pattern ^([^_]+)_([^_]+)_(.*)$ for proper parsing
- Add lazy_static for efficient regex compilation
- Resolve compose command branch matching issues
- Test: ubuntu_24.04_x86_64 now correctly converts to ubuntu/24.04/x86_64
2025-07-18 20:25:07 +00:00
robojerk
5777c11f85 feat: Implement compose functionality with base image resolution
- Add ComposeManager for handling base image resolution and compose operations
- Support multiple base image formats: ubuntu:24.04, debian/12/x86_64, etc.
- Implement compose subcommands: create, build-image, list
- Add dry-run support for safe testing without OSTree environment
- Map base images to OSTree branches: ubuntu:24.04 -> ubuntu/24.04/x86_64
- Support package specification and output branch control
- Temporarily disable OSTree validation for compose commands to enable testing

This enables the critical path for dogfooding with apt-ostree compose create --base ubuntu:24.04
2025-07-18 19:03:00 +00:00
robojerk
a48ad95d70 Initial commit: apt-ostree project with 100% rpm-ostree CLI compatibility 2025-07-18 08:31:01 +00:00