- Enhanced Package Information: Expanded PackageInfo struct with 23 fields including section, priority, maintainer, homepage, size, dependencies, and more - Real Package Data Extraction: Integrated dpkg and apt-cache for actual package information instead of mock data - Professional Debian Packaging: Added man pages, shell completions, postinst/prerm scripts, triggers, and lintian overrides - Enhanced Build System: Improved debian/rules with cross-compilation support, enhanced build.sh with options and validation - CI Workflow Updates: Added missing build dependencies, enhanced package validation, lintian quality checks, and comprehensive reporting - Quality Assurance: Added lintian validation, enhanced file checking, and professional packaging standards - Documentation: Comprehensive README.Debian with build instructions and troubleshooting guide Resolves mock package issues and provides production-ready Debian packaging infrastructure.
123 lines
3 KiB
Text
123 lines
3 KiB
Text
apt-ostree for Debian
|
|
====================
|
|
|
|
This is the Debian packaging for apt-ostree, a tool for managing atomic,
|
|
immutable deployments on Debian and Ubuntu systems using OSTree as the backend.
|
|
|
|
Building the Package
|
|
-------------------
|
|
|
|
To build the Debian package:
|
|
|
|
1. Install build dependencies:
|
|
```bash
|
|
sudo apt-get install build-essential devscripts debhelper dh-cargo
|
|
sudo apt-get install libostree-dev libglib2.0-dev libcurl4-gnutls-dev
|
|
sudo apt-get install libssl-dev libsystemd-dev libmount-dev libselinux1-dev
|
|
sudo apt-get install libapt-pkg-dev
|
|
```
|
|
|
|
2. Install Rust toolchain:
|
|
```bash
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
source ~/.cargo/env
|
|
```
|
|
|
|
3. Build the package:
|
|
```bash
|
|
# Using the build script (recommended)
|
|
./debian/build.sh
|
|
|
|
# Or manually
|
|
dpkg-buildpackage -us -uc -b
|
|
```
|
|
|
|
4. Install the package:
|
|
```bash
|
|
sudo dpkg -i ../apt-ostree_*.deb
|
|
sudo apt-get install -f # Install any missing dependencies
|
|
```
|
|
|
|
Package Structure
|
|
----------------
|
|
|
|
The package installs the following components:
|
|
|
|
- Binary: `/usr/bin/apt-ostree`
|
|
- Man page: `/usr/share/man/man1/apt-ostree.1`
|
|
- Bash completion: `/usr/share/bash-completion/completions/apt-ostree`
|
|
- Zsh completion: `/usr/share/zsh/vendor-completions/_apt-ostree`
|
|
- Configuration: `/etc/apt-ostree/config.toml`
|
|
- Data directory: `/var/lib/apt-ostree`
|
|
- Log directory: `/var/log/apt-ostree`
|
|
|
|
Configuration
|
|
------------
|
|
|
|
After installation, apt-ostree will create a default configuration file at
|
|
`/etc/apt-ostree/config.toml`. You can modify this file to customize the
|
|
behavior of apt-ostree.
|
|
|
|
Dependencies
|
|
-----------
|
|
|
|
apt-ostree requires the following system packages:
|
|
|
|
- ostree (>= 2025.2)
|
|
- systemd
|
|
- libapt-pkg7.0 (>= 3.0.0)
|
|
- libostree-1-1 (>= 2025.2)
|
|
|
|
Development
|
|
----------
|
|
|
|
For development builds, you can use the local options:
|
|
|
|
```bash
|
|
# Enable debug mode
|
|
export DH_VERBOSE=1
|
|
export APT_OSTREE_LOG_LEVEL=debug
|
|
|
|
# Build with debug symbols
|
|
export CARGO_PROFILE_RELEASE_DEBUG=1
|
|
|
|
# Build the package
|
|
dpkg-buildpackage -us -uc -b
|
|
```
|
|
|
|
Troubleshooting
|
|
--------------
|
|
|
|
If you encounter build issues:
|
|
|
|
1. Ensure all build dependencies are installed
|
|
2. Check that Rust toolchain is properly configured
|
|
3. Verify OSTree development libraries are available
|
|
4. Check build logs in `debian/cargo/target/`
|
|
|
|
For runtime issues:
|
|
|
|
1. Check the configuration file at `/etc/apt-ostree/config.toml`
|
|
2. Verify OSTree is properly configured on the system
|
|
3. Check logs in `/var/log/apt-ostree/`
|
|
4. Ensure proper permissions on OSTree directories
|
|
|
|
Reporting Bugs
|
|
-------------
|
|
|
|
Please report bugs to the project issue tracker:
|
|
https://github.com/robojerk/apt-ostree/issues
|
|
|
|
Include the following information:
|
|
- Debian/Ubuntu version
|
|
- apt-ostree version
|
|
- Error messages and logs
|
|
- Steps to reproduce the issue
|
|
|
|
Maintainer Information
|
|
----------------------
|
|
|
|
This package is maintained by Robojerk <robojerk@example.com>.
|
|
|
|
For Debian-specific issues, please contact the maintainer or file a bug
|
|
report against the apt-ostree package in the Debian bug tracking system.
|