- Add main ostree-backport.sh script with distribution selection - Add wrapper scripts: backport-noble.sh and backport-trixie.sh - Add usage-guide.sh for comprehensive documentation - Update CI/CD workflows with improved multi-distribution support - Add test-build.yml workflow for quick validation - Update README.md with multi-distribution documentation - Add CI-CD-IMPROVEMENTS.md with detailed workflow documentation - Remove old .deb files (steam.deb, wget_1.21.4-1ubuntu4.1_amd64.deb) Features: - Ubuntu Noble: Source from Questing, target Noble - Debian Trixie: Source from sid, target Trixie - Enhanced error handling and logging - Manual triggers for single/all distributions - Comprehensive CI/CD documentation
125 lines
4.9 KiB
Markdown
125 lines
4.9 KiB
Markdown
# ostree Backport for Ubuntu Noble and Debian Trixie
|
|
|
|
This repository contains backports of ostree 2025.2-1 for Ubuntu Noble (24.04 LTS) and Debian Trixie (12).
|
|
|
|
## 📦 Package Status
|
|
|
|
**✅ BUILD STATUS**: Packages are being built and uploaded successfully via CI/CD!
|
|
|
|
**🔧 DISTRIBUTION STATUS**: Packages are uploaded to Forgejo Package Registry but require manual assignment to this repository.
|
|
|
|
### What's Working
|
|
- ✅ Automated builds on every push
|
|
- ✅ All dependencies resolved (Rust 1.82.0+, build tools)
|
|
- ✅ Successful package uploads to Forgejo Package Registry
|
|
- ✅ Automatic token authentication working
|
|
- ✅ Multi-distribution support (Ubuntu Noble + Debian Trixie)
|
|
|
|
### What Needs Manual Action
|
|
- 🔄 **Package Assignment**: Uploaded packages need to be manually assigned to this repository via the Forgejo web interface
|
|
|
|
## 🎯 Supported Distributions
|
|
|
|
### Ubuntu Noble (24.04 LTS)
|
|
- **Source**: Ubuntu Questing
|
|
- **Target**: Ubuntu Noble
|
|
- **Package Suffix**: `~noble1`
|
|
- **Usage**: `./backport-noble.sh` or `./ostree-backport.sh noble`
|
|
|
|
### Debian Trixie (12)
|
|
- **Source**: Debian sid
|
|
- **Target**: Debian Trixie
|
|
- **Package Suffix**: `~trixie1`
|
|
- **Usage**: `./backport-trixie.sh` or `./ostree-backport.sh trixie`
|
|
|
|
## 📥 Download Options
|
|
|
|
### Option 1: Manual Package Assignment (Recommended)
|
|
1. Go to [Forgejo Packages](https://git.raines.xyz/robojerk/-/packages)
|
|
2. Find the uploaded ostree packages (under 'debian' or 'generic')
|
|
3. Click on each package → Settings → Assign to repository
|
|
4. Select 'libostree-dev' repository
|
|
5. Packages will then appear at: https://git.raines.xyz/robojerk/libostree-dev/packages
|
|
|
|
### Option 2: Download from Latest Workflow Artifacts
|
|
1. Go to [Latest Workflow Run](https://git.raines.xyz/robojerk/libostree-dev/actions)
|
|
2. Click on the latest successful run
|
|
3. Scroll down to "Artifacts" section
|
|
4. Download the `release-assets` artifact containing all .deb files
|
|
|
|
### Option 3: Local Build
|
|
Run the local build script for your target distribution:
|
|
|
|
```bash
|
|
# For Ubuntu Noble
|
|
./backport-noble.sh
|
|
|
|
# For Debian Trixie
|
|
./backport-trixie.sh
|
|
|
|
# Or use the main script directly
|
|
./ostree-backport.sh noble # Ubuntu Noble
|
|
./ostree-backport.sh trixie # Debian Trixie
|
|
```
|
|
|
|
## 🔧 Technical Details
|
|
|
|
### Build Environment
|
|
- **Base**: Ubuntu Noble (24.04 LTS) or Debian Trixie (12)
|
|
- **Rust**: 1.82.0+ (installed via rustup)
|
|
- **Build Tools**: Full development environment with all dependencies
|
|
|
|
### Package Contents
|
|
- `libostree-dev_2025.2-1~[distro]1_amd64.deb` - Development headers and libraries
|
|
- `libostree-1-1_2025.2-1~[distro]1_amd64.deb` - Runtime libraries
|
|
- `ostree_2025.2-1~[distro]1_amd64.deb` - Command-line tools
|
|
- `gir1.2-ostree-1.0_2025.2-1~[distro]1_amd64.deb` - GObject introspection
|
|
- `libostree-doc_2025.2-1~[distro]1_all.deb` - Documentation
|
|
- `ostree-boot_2025.2-1~[distro]1_amd64.deb` - Boot utilities
|
|
- `ostree-tests_2025.2-1~[distro]1_amd64.deb` - Test suite
|
|
|
|
## 🚀 CI/CD Workflows
|
|
|
|
### Main Build Workflow (`build-ostree-backports.yml`)
|
|
The main workflow automatically:
|
|
1. Sets up Ubuntu environment for target distribution
|
|
2. Installs build dependencies and tools
|
|
3. Downloads ostree source from appropriate distribution (Questing for Noble, sid for Trixie)
|
|
4. Modifies changelog for backport versioning
|
|
5. Builds all packages for target distribution
|
|
6. Uploads to Forgejo Package Registry
|
|
7. Provides detailed upload summaries and assignment instructions
|
|
|
|
### Test Workflow (`test-build.yml`)
|
|
A simplified workflow for testing:
|
|
- Tests source download from both distributions
|
|
- Verifies source extraction and changelog modification
|
|
- Quick validation before full builds
|
|
|
|
### Manual Triggers
|
|
- **Single Distribution**: Build for specific distribution (noble/trixie)
|
|
- **All Distributions**: Build for both distributions simultaneously
|
|
- **Test Mode**: Quick validation of build process
|
|
|
|
## 📋 Recent Changes
|
|
|
|
- **2025-01-XX**: CI/CD workflows improved with better error handling and multi-distribution support
|
|
- **2025-01-XX**: Test workflow added for quick validation
|
|
- **2025-01-XX**: Manual triggers enhanced (single/all distributions)
|
|
- **2025-01-XX**: Multi-distribution support added (Ubuntu Noble + Debian Trixie)
|
|
- **2025-01-XX**: Source configuration updated (Questing → Noble, sid → Trixie)
|
|
- **2025-07-21**: Automatic token authentication implemented
|
|
- **2025-07-21**: Package uploads working (requires manual assignment)
|
|
- **2025-07-21**: Rust version compatibility resolved
|
|
- **2025-07-21**: All build dependencies resolved
|
|
|
|
## 🔗 Links
|
|
|
|
- [Workflow Runs](https://git.raines.xyz/robojerk/libostree-dev/actions)
|
|
- [Forgejo Packages](https://git.raines.xyz/robojerk/-/packages)
|
|
- [Repository Packages](https://git.raines.xyz/robojerk/libostree-dev/packages) (after assignment)
|
|
|
|
## 📚 Source References
|
|
|
|
- [Debian sid ostree package](https://packages.debian.org/source/sid/ostree)
|
|
- [Ubuntu Questing ostree package](http://archive.ubuntu.com/ubuntu/pool/universe/o/ostree/)
|