No description
Find a file
robojerk 71f1e86f84
Some checks failed
Build ostree packages from sid to trixie / Build ostree packages (push) Failing after 10s
Remove unnecessary Docker container - use simple approach like composefs
- Remove Docker-in-Docker complexity that was causing build script issues
- Use direct approach on Ubuntu runner with Debian repositories
- Follow the same pattern as the working composefs CI
- Much simpler and more reliable - no container networking issues
- Just add Debian repos to Ubuntu runner and build directly
2025-09-06 11:25:27 -07:00
.forgejo/workflows Remove unnecessary Docker container - use simple approach like composefs 2025-09-06 11:25:27 -07:00
README.md first commit 2025-09-06 08:39:28 -07:00

OSTree Backport from Sid to Trixie

This repository contains the backport of OSTree packages from Debian Sid to Trixie to fix the library version issue with bootc.

Problem

The bootc command fails with:

[INFO] Installing bootc image to disk...
bootc: /lib/x86_64-linux-gnu/libostree-1.so.1: version `LIBOSTREE_2025.3' not found (required by bootc)

This happens because:

  • bootc requires libostree-1.so.1 version LIBOSTREE_2025.3
  • Trixie only has version 2025.2
  • Sid has version 2025.5 which includes LIBOSTREE_2025.3

Solution

Backport the following packages from Sid to Trixie:

Core OSTree Packages

  • ostree (2025.5-1) - Main OSTree package
  • libostree-1-1 (2025.5-1) - OSTree shared library
  • libostree-dev (2025.5-1) - Development headers
  • libostree-doc (2025.5-1) - Documentation
  • ostree-boot (2025.5-1) - Boot integration
  • gir1.2-ostree-1.0 (2025.5-1) - GObject introspection

Optional Packages

  • ostree-push (1.2.0-1) - Push functionality
  • ostree-tests (2025.5-1) - Test suite

Go Bindings (if needed)

  • golang-github-ostreedev-ostree-go-dev (0.0+git20210805.719684c64e4f-2)
  • golang-github-sjoerdsimons-ostree-go-dev (0.0~git20201014.8fae757-2)

Building

The CI workflow automatically:

  1. Clones ostree source from Debian Sid
  2. Builds all packages with proper dependencies
  3. Uploads to Forgejo Debian Registry
  4. Makes packages available for apt install

Usage

After the packages are built and uploaded:

# Add the repository (if not already added)
echo "deb [signed-by=/etc/apt/keyrings/forgejo-particle-os.asc] https://git.raines.xyz/api/packages/particle-os/debian trixie main" | sudo tee -a /etc/apt/sources.list.d/forgejo.list

# Update package lists
sudo apt update

# Install the updated ostree packages
sudo apt install ostree libostree-1-1

# Verify the version
ldd /usr/bin/bootc | grep libostree

CI Workflow

The .forgejo/workflows/ci.yml file:

  • Uses Docker to build packages in a clean environment
  • Downloads source from Debian Sid
  • Builds all OSTree packages
  • Uploads to Forgejo Debian Registry
  • Creates artifacts for manual installation

Manual Build

If you need to build manually:

# Clone this repository
git clone https://git.raines.xyz/particle-os/ostree.git
cd ostree

# Build with Docker
docker build -t ostree-build .
docker run -v $(pwd):/workspace ostree-build

# Install the built packages
sudo dpkg -i *.deb