From da8d01d82b56e4c5f2c3c6e6e0e7b366ed5d7163 Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 29 Aug 2025 17:37:07 -0700 Subject: [PATCH] Add Phase 5: Debian Package Structure planning - Document target package structure mirroring upstream osbuild RPMs - Define all 8 packages with proper dependencies - Map stage distribution across packages - Document benefits of modular structure - Track implementation progress --- todo.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/todo.txt b/todo.txt index 5cad1579..49b277a7 100644 --- a/todo.txt +++ b/todo.txt @@ -123,3 +123,62 @@ The project now maintains the exact same directory structure as the original osb - **Backup branch**: `backup-debian-changes` (contains all original work) - **Main branch**: Reorganized structure with 1:1 upstream compatibility - **Ready for**: Push to remote repository and continued development + +## Phase 5: Debian Package Structure (NEW) 🆕 +**Goal**: Mirror upstream osbuild RPM package structure with Debian packages + +### Upstream osbuild RPM Structure (Reference): +- **osbuild** - Main package (core engine) +- **osbuild-depsolve-dnf** - DNF dependency solver +- **osbuild-luks2** - LUKS2 encryption support +- **osbuild-lvm2** - LVM2 support +- **osbuild-ostree** - OSTree support +- **osbuild-selinux** - SELinux support +- **osbuild-tools** - Helper tools and utilities +- **python3-osbuild** - Python library + +### Target debian-forge Package Structure: +- [x] **debian-forge** - Main package (core engine and binary) +- [x] **debian-forge-depsolve-deb** - Debian package dependency solver (apt-based) +- [x] **debian-forge-luks2** - LUKS2 encryption support +- [x] **debian-forge-lvm2** - LVM2 support +- [x] **debian-forge-ostree** - OSTree support (critical for Debian Atomic) +- [x] **debian-forge-selinux** - SELinux support +- [x] **debian-forge-tools** - Helper tools and utilities +- [x] **python3-debian-forge** - Python library + +### Implementation Status: +- [x] **CI/CD Workflow Created** - Comprehensive Forgejo workflow in `.forgejo/workflows/ci.yml` +- [x] **Package Definitions** - All 8 packages defined in debian/control +- [x] **Build Rules** - debian/rules with proper file distribution across packages +- [x] **Dependencies Mapped** - Proper stage-to-package distribution +- [ ] **Test Package Building** - Verify all packages build correctly +- [ ] **Test Package Installation** - Verify packages install and work +- [ ] **Push to Repository** - Get workflow running in Forgejo + +### Package Dependencies: +- **debian-forge** → depends on python3-debian-forge + debian-forge-tools +- **python3-debian-forge** → core Python library with minimal deps +- **debian-forge-depsolve-deb** → depends on python3-debian-forge + libapt-pkg-dev +- **debian-forge-ostree** → depends on python3-debian-forge + ostree +- **debian-forge-luks2** → depends on python3-debian-forge + cryptsetup +- **debian-forge-lvm2** → depends on python3-debian-forge + lvm2 +- **debian-forge-selinux** → depends on python3-debian-forge + selinux-policy-default +- **debian-forge-tools** → depends on python3-debian-forge + +### Stage Distribution: +- **Core stages** → python3-debian-forge +- **apt.* stages** → debian-forge-depsolve-deb +- **ostree.* stages** → debian-forge-ostree +- **luks2.* stages** → debian-forge-luks2 +- **lvm2.* stages** → debian-forge-lvm2 +- **selinux.* stages** → debian-forge-selinux +- **tools/** → debian-forge-tools +- **Main binary** → debian-forge + +### Benefits of This Structure: +- **Modular Installation** - Users can install only what they need +- **Upstream Compatibility** - Mirrors osbuild package structure exactly +- **Debian Optimization** - apt-based dependency solving instead of dnf +- **Atomic Support** - OSTree package available for Debian Atomic systems +- **Clean Dependencies** - Each package has minimal, focused dependencies