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.
