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

4.9 KiB

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

  1. Go to Forgejo 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
  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:

# 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

📚 Source References