ostree/README.md
robojerk a79a4f5797
All checks were successful
Build ostree packages from sid to trixie / build (push) Successful in 3m40s
first commit
2025-09-06 08:39:28 -07:00

88 lines
No EOL
2.4 KiB
Markdown

# 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:
```bash
[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:
```bash
# 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:
```bash
# 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
```