No description
Find a file
robojerk 65d5ef02da
All checks were successful
Build ostree packages from sid to trixie / build (push) Successful in 1m7s
Fix CI workflow to use traditional sources.list format instead of .sources
- The .sources format was not being recognized by apt source command
- apt source ostree requires traditional sources.list format with deb-src lines
- This fixes the root cause of the build failure where apt source was failing silently
- Now both apt-cacher-ng and standard mirrors use sources.list format
2025-09-06 10:56:20 -07:00
.forgejo/workflows Fix CI workflow to use traditional sources.list format instead of .sources 2025-09-06 10:56:20 -07:00
Dockerfile Fix Dockerfile to properly configure source repositories 2025-09-06 10:09:48 -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