libostree-dev/README.md
robojerk 38e017cef3
Some checks failed
Build libostree Backport / Build libostree Backport (push) Failing after 17m20s
Build ostree Backports / Build ostree Backport for noble (push) Failing after 2m37s
Add multi-distribution ostree backport support for Ubuntu Noble and Debian Trixie
- 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
2025-08-05 09:33:14 -07:00

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/)