apt-ostree/debian/README.Debian
joe f26ffe8607
Some checks failed
Comprehensive CI/CD Pipeline / Build and Test (push) Failing after 11s
Comprehensive CI/CD Pipeline / Security Audit (push) Failing after 12s
Comprehensive CI/CD Pipeline / Package Validation (push) Successful in 3m51s
Comprehensive CI/CD Pipeline / Status Report (push) Has been skipped
feat: Implement comprehensive Debian packaging improvements and enhanced CI workflow
- 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.
2025-08-15 14:05:37 -07:00

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.