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
This commit is contained in:
parent
23c2ad7ace
commit
38e017cef3
10 changed files with 1018 additions and 21 deletions
89
README.md
89
README.md
|
|
@ -1,6 +1,6 @@
|
|||
# libostree-dev Backport for Ubuntu Noble
|
||||
# ostree Backport for Ubuntu Noble and Debian Trixie
|
||||
|
||||
This repository contains a backport of libostree 2025.2-1 for Ubuntu Noble (24.04 LTS).
|
||||
This repository contains backports of ostree 2025.2-1 for Ubuntu Noble (24.04 LTS) and Debian Trixie (12).
|
||||
|
||||
## 📦 Package Status
|
||||
|
||||
|
|
@ -13,15 +13,30 @@ This repository contains a backport of libostree 2025.2-1 for Ubuntu Noble (24.0
|
|||
- ✅ 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 libostree packages (under 'debian' or 'generic')
|
||||
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
|
||||
|
|
@ -33,39 +48,66 @@ This repository contains a backport of libostree 2025.2-1 for Ubuntu Noble (24.0
|
|||
4. Download the `release-assets` artifact containing all .deb files
|
||||
|
||||
### Option 3: Local Build
|
||||
Run the local build script:
|
||||
Run the local build script for your target distribution:
|
||||
|
||||
```bash
|
||||
./libostree-dev_noble_backport.sh
|
||||
# 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)
|
||||
- **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~noble1_amd64.deb` - Development headers and libraries
|
||||
- `libostree-1-1_2025.2-1~noble1_amd64.deb` - Runtime libraries
|
||||
- `ostree_2025.2-1~noble1_amd64.deb` - Command-line tools
|
||||
- `gir1.2-ostree-1.0_2025.2-1~noble1_amd64.deb` - GObject introspection
|
||||
- `libostree-doc_2025.2-1~noble1_all.deb` - Documentation
|
||||
- `ostree-boot_2025.2-1~noble1_amd64.deb` - Boot utilities
|
||||
- `ostree-tests_2025.2-1~noble1_amd64.deb` - Test suite
|
||||
- `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 Workflow
|
||||
## 🚀 CI/CD Workflows
|
||||
|
||||
The workflow automatically:
|
||||
1. Sets up Ubuntu Noble environment
|
||||
2. Installs Rust 1.82.0+ and build dependencies
|
||||
3. Downloads and patches libostree source
|
||||
4. Builds all packages
|
||||
5. Uploads to Forgejo Package Registry
|
||||
6. Provides assignment instructions
|
||||
### 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
|
||||
|
|
@ -76,3 +118,8 @@ The workflow automatically:
|
|||
- [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/)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue