Documentation: Add comprehensive Debian package structure and build information to ComposeFS docs
This commit is contained in:
parent
6cd1be1ba1
commit
00e4e68d39
1 changed files with 97 additions and 1 deletions
|
|
@ -56,6 +56,100 @@ apt-layer uses [ComposeFS](https://ostreedev.github.io/ostree/composefs/) as its
|
|||
|
||||
---
|
||||
|
||||
## Package Structure
|
||||
|
||||
### Debian/Ubuntu Packages
|
||||
|
||||
ComposeFS is packaged in Debian/Ubuntu as three separate packages:
|
||||
|
||||
#### 1. `composefs` (Main Tools Package)
|
||||
**Purpose:** Userspace tools for ComposeFS operations
|
||||
**Contains:**
|
||||
- `/usr/bin/mkcomposefs` - Create ComposeFS images
|
||||
- `/usr/bin/composefs-info` - Inspect and manage images
|
||||
- `/usr/bin/mount.composefs` - Mount helper for `mount -t composefs`
|
||||
- `/usr/share/man/man1/` - Manual pages for all tools
|
||||
- `/usr/share/doc/composefs/` - Documentation
|
||||
|
||||
#### 2. `libcomposefs1` (Runtime Library)
|
||||
**Purpose:** Runtime shared library for ComposeFS
|
||||
**Contains:**
|
||||
- `/usr/lib/x86_64-linux-gnu/libcomposefs.so.1` - Runtime library
|
||||
- `/usr/lib/x86_64-linux-gnu/libcomposefs.so.1.4.0` - Library version
|
||||
- **Dependencies:** `glibc`, `libgcc`, `openssl-libs`
|
||||
|
||||
#### 3. `libcomposefs-dev` (Development Package)
|
||||
**Purpose:** Development headers and pkg-config files
|
||||
**Contains:**
|
||||
- `/usr/include/libcomposefs/` - Header files
|
||||
- `/usr/lib/x86_64-linux-gnu/libcomposefs.so` - Development symlink
|
||||
- `/usr/lib/x86_64-linux-gnu/pkgconfig/composefs.pc` - pkg-config file
|
||||
- **Dependencies:** `libcomposefs1 (= ${binary:Version})`
|
||||
|
||||
### Fedora/RHEL Packages
|
||||
|
||||
ComposeFS is packaged in Fedora/RHEL as three separate packages:
|
||||
|
||||
#### 1. `composefs` (Main Tools Package)
|
||||
**Purpose:** Userspace tools for ComposeFS operations
|
||||
**Contains:** Same tools as Debian package
|
||||
|
||||
#### 2. `composefs-libs` (Runtime Library)
|
||||
**Purpose:** Runtime shared library for ComposeFS
|
||||
**Contains:** Same library as Debian `libcomposefs1`
|
||||
|
||||
#### 3. `composefs-devel` (Development Package)
|
||||
**Purpose:** Development headers and pkg-config files
|
||||
**Contains:** Same development files as Debian `libcomposefs-dev`
|
||||
|
||||
### Installation Commands
|
||||
|
||||
**Debian/Ubuntu:**
|
||||
```sh
|
||||
sudo apt install -y composefs libcomposefs1
|
||||
```
|
||||
|
||||
**Fedora/RHEL:**
|
||||
```sh
|
||||
sudo dnf install -y composefs composefs-libs
|
||||
```
|
||||
|
||||
**For development (optional):**
|
||||
```sh
|
||||
# Debian/Ubuntu
|
||||
sudo apt install -y libcomposefs-dev
|
||||
|
||||
# Fedora/RHEL
|
||||
sudo dnf install -y composefs-devel
|
||||
```
|
||||
|
||||
### Build Dependencies
|
||||
|
||||
The ComposeFS source package requires the following build dependencies:
|
||||
|
||||
**Debian Build Dependencies:**
|
||||
- `debhelper-compat (= 13)`
|
||||
- `fsverity` - File system verity support
|
||||
- `fuse3` - FUSE filesystem support
|
||||
- `go-md2man` - Markdown to man page converter
|
||||
- `libcap2-bin` - Capability utilities
|
||||
- `libfuse3-dev` - FUSE development headers
|
||||
- `libssl-dev` - OpenSSL development headers
|
||||
- `meson` - Build system
|
||||
- `pkgconf` - Package configuration
|
||||
|
||||
**Build System:** ComposeFS uses the Meson build system for compilation and packaging.
|
||||
|
||||
### Source Package Information
|
||||
|
||||
- **Repository:** [salsa.debian.org/debian/composefs](https://salsa.debian.org/debian/composefs)
|
||||
- **Maintainer:** Roland Hieber <rhi@pengutronix.de>
|
||||
- **Uploaders:** Dylan Aïssi <daissi@debian.org>
|
||||
- **Homepage:** [github.com/containers/composefs](https://github.com/containers/composefs)
|
||||
- **License:** BSD 2-Clause "Simplified" License
|
||||
|
||||
---
|
||||
|
||||
## Commands
|
||||
|
||||
The `composefs` package provides the following tools:
|
||||
|
|
@ -125,8 +219,10 @@ umount <mountpoint>
|
|||
|
||||
## Integration Notes
|
||||
|
||||
- **Package Structure:** apt-layer supports the official ComposeFS packages from both Debian (`composefs`, `libcomposefs1`) and Fedora (`composefs`, `composefs-libs`) repositories
|
||||
- **Specific Tools:** While there isn't a single monolithic `composefs` CLI, specialized commands like `composefs-info` exist for introspection, and `mount.composefs` is the dedicated helper for mounting (callable directly or via `mount -t composefs`)
|
||||
- **Dependencies:** apt-layer requires `mkcomposefs`, `composefs-info`, `mount.composefs` (which might be part of the `composefs` package), `mksquashfs`, and `unsquashfs` for ComposeFS support
|
||||
- **Dependencies:** apt-layer requires `mkcomposefs`, `composefs-info`, `mount.composefs` (from the `composefs` package), `mksquashfs`, and `unsquashfs` for ComposeFS support
|
||||
- **Distribution Detection:** apt-layer automatically detects the distribution and provides appropriate installation commands for ComposeFS packages
|
||||
- **Fallback:** If `mkcomposefs` (and potentially `mount.composefs`) is not available, apt-layer can fall back to a shell script alternative (for development/testing only)
|
||||
- **Compatibility:** This approach matches rpm-ostree and Fedora Silverblue's use of ComposeFS for system layering
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue