Initial commit: Complete bootc packaging with CI/CD automation
Some checks failed
Build Packages / Build libostree Backport (push) Failing after 0s
Build Packages / Build bootc Package (push) Has been skipped
Test Build / Test bootc Build (with existing libostree) (push) Failing after 0s
Build Packages / Create Release (push) Has been skipped
Build Packages / Create Artifacts for README Update (push) Has been skipped

This commit is contained in:
robojerk 2025-07-20 23:30:16 +00:00
commit 695714a60e
15 changed files with 1545 additions and 0 deletions

9
debian/changelog vendored Normal file
View file

@ -0,0 +1,9 @@
bootc (1.5.1-1~noble1) noble-backports; urgency=medium
* Initial Debian package for bootc
* Includes compatibility patch for libostree 2025.2-1 on Ubuntu Noble
* Fixes set_null_log() compatibility issue with current ostree Rust bindings
* Provides bootable container image deployment tooling
* Supports Aurora-style workflow with apt-ostree integration
-- Bootc Debian Packaging <packaging@example.com> Sun, 20 Jul 2025 22:50:00 +0000

69
debian/control vendored Normal file
View file

@ -0,0 +1,69 @@
Source: bootc
Section: admin
Priority: optional
Maintainer: Bootc Debian Packaging <packaging@example.com>
Build-Depends: debhelper-compat (= 13),
dh-cargo,
cargo,
rustc,
pkg-config,
libostree-dev (>= 2025.2),
libglib2.0-dev,
libgpgme-dev,
libssl-dev,
libcurl4-gnutls-dev,
libarchive-dev,
libfuse3-dev,
libsystemd-dev,
libmount-dev,
libselinux1-dev,
libavahi-client-dev,
libavahi-glib-dev,
libsoup-3.0-dev,
gobject-introspection,
gtk-doc-tools,
docbook-xml,
docbook-xsl,
xsltproc,
gjs,
libglib2.0-doc
Standards-Version: 4.7.2
Homepage: https://github.com/containers/bootc
Vcs-Git: https://github.com/containers/bootc.git
Vcs-Browser: https://github.com/containers/bootc
Package: bootc
Architecture: any
Depends: ${shlibs:Depends},
${misc:Depends},
libostree-1-1 (>= 2025.2),
systemd,
podman | docker.io,
skopeo
Recommends: ostree,
ostree-boot
Description: Bootable container image deployment tool
Bootc is a tool for deploying and transactionally updating systems
using bootable container images. It uses ostree-containers as a backend
to support a model of bootable container images that can be updated
in-place without requiring a full reinstall.
.
Once installed, whether directly via `bootc install` (executed as part
of a container) or via another mechanism such as an OS installer tool,
further updates can be pulled and applied using `bootc upgrade`.
.
This package provides the bootc command-line tool and related utilities
for managing bootable container deployments.
Package: bootc-dev
Architecture: any
Depends: ${shlibs:Depends},
${misc:Depends},
bootc (= ${binary:Version})
Description: Development files for bootc
This package contains development files for bootc, including
headers and libraries needed to build applications that use
bootc functionality.
.
This package is primarily intended for developers who want to
integrate bootc functionality into their applications.

25
debian/copyright vendored Normal file
View file

@ -0,0 +1,25 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: bootc
Upstream-Contact: https://github.com/containers/bootc
Source: https://github.com/containers/bootc
Files: *
Copyright: 2023-2025 Red Hat, Inc. and contributors
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Files: debian/*
Copyright: 2025 Bootc Debian Packaging <packaging@example.com>
License: Apache-2.0
This packaging is licensed under the Apache License, Version 2.0.
See the main license above for details.

35
debian/rules vendored Executable file
View file

@ -0,0 +1,35 @@
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE = 1
# This has to be exported to make some magic below work.
export DH_OPTIONS
# Build system
export CARGO_HOME = $(CURDIR)/debian/cargo
export CARGO_TARGET_DIR = $(CURDIR)/debian/cargo/target
# Apply our compatibility patch
override_dh_auto_patch:
# Apply the libostree compatibility patch
patch -p1 < ../bootc-libostree-compatibility.patch
dh_auto_patch
override_dh_auto_build:
# Build bootc with cargo
cargo build --release
dh_auto_build
override_dh_auto_install:
# Install the bootc binary
install -D -m 755 target/release/bootc debian/bootc/usr/bin/bootc
dh_auto_install
override_dh_auto_clean:
# Clean cargo build artifacts
rm -rf debian/cargo
dh_auto_clean
%:
dh $@