Some checks failed
Checks / Spelling (push) Has been cancelled
Checks / Python Linters (push) Has been cancelled
Checks / Shell Linters (push) Has been cancelled
Checks / 📦 Packit config lint (push) Has been cancelled
Checks / 🔍 Check for valid snapshot urls (push) Has been cancelled
Checks / 🔍 Check JSON files for formatting consistency (push) Has been cancelled
Generate / Documentation (push) Has been cancelled
Generate / Test Data (push) Has been cancelled
Tests / Unittest (push) Has been cancelled
Tests / Assembler test (legacy) (push) Has been cancelled
Tests / Smoke run: unittest as normal user on default runner (push) Has been cancelled
91 lines
3.1 KiB
Text
91 lines
3.1 KiB
Text
# Debian Forge File Structure Reorganization Plan
|
|
# Goal: Achieve near 1:1 compatibility with original osbuild repository structure
|
|
|
|
## Phase 1: Restore Original Structure
|
|
- [ ] Verify core directories exist and are complete:
|
|
- [ ] .devcontainer/
|
|
- [ ] .github/
|
|
- [ ] assemblers/
|
|
- [ ] data/
|
|
- [ ] devices/
|
|
- [ ] docs/
|
|
- [ ] inputs/
|
|
- [ ] mounts/
|
|
- [ ] osbuild/ # Core Python package
|
|
- [ ] runners/
|
|
- [ ] schemas/
|
|
- [ ] schutzbot/
|
|
- [ ] selinux/
|
|
- [ ] sources/
|
|
- [ ] stages/
|
|
- [ ] test/
|
|
- [ ] tools/
|
|
- [ ] samples/
|
|
|
|
- [ ] Restore missing configuration files:
|
|
- [ ] .bandit
|
|
- [ ] .editorconfig
|
|
- [ ] .git-blame-ignore-revs
|
|
- [ ] .gitignore
|
|
- [ ] .gitlab-ci.yml
|
|
- [ ] .mypy.ini
|
|
- [ ] .packit.yaml
|
|
- [ ] .ruff.toml
|
|
- [ ] CODEOWNERS
|
|
- [ ] Schutzfile
|
|
- [ ] osbuild.spec
|
|
- [ ] setup.cfg
|
|
- [ ] tox.ini
|
|
|
|
## Phase 2: Reorganize Debian-Specific Content
|
|
- [ ] Move Debian documentation to docs/:
|
|
- [ ] debian-forge-docs/ → docs/debian/
|
|
- [ ] Keep original docs/ structure intact
|
|
|
|
- [ ] Move Debian tests to test/:
|
|
- [ ] debian-forge-tests/ → test/debian/
|
|
- [ ] Ensure original test/ structure remains
|
|
|
|
- [ ] Move Debian blueprints to samples/:
|
|
- [ ] blueprints/ → samples/debian/
|
|
- [ ] Keep original samples/ content
|
|
|
|
- [ ] Move Debian stages to stages/:
|
|
- [ ] Ensure Debian stages integrate with existing stage structure
|
|
- [ ] Maintain original stage organization
|
|
|
|
## Phase 3: Clean Up Root Directory
|
|
- [ ] Move Python scripts to appropriate locations:
|
|
- [ ] composer_*.py → tools/ (if CLI tools) or osbuild/ (if core modules)
|
|
- [ ] debian_*.py → osbuild/ (core modules)
|
|
- [ ] build_*.py → osbuild/ (core modules)
|
|
|
|
- [ ] Remove custom build directories:
|
|
- [ ] build-environments/ → Move to .osbuild/ or create proper build system integration
|
|
- [ ] build-logs/ → Move to .osbuild/ or create proper build system integration
|
|
- [ ] artifacts/ → Move to .osbuild/ or create proper build system integration
|
|
|
|
## Phase 4: Maintain Debian Functionality
|
|
- [ ] Ensure Debian stages work with original pipeline system
|
|
- [ ] Integrate Debian package management with existing stage architecture
|
|
- [ ] Maintain OSTree support alongside original features
|
|
|
|
## Implementation Steps
|
|
1. [ ] Audit current structure against original osbuild repository
|
|
2. [ ] Create backup of current Debian-specific work
|
|
3. [ ] Restore original structure from upstream
|
|
4. [ ] Reintegrate Debian components into proper locations
|
|
5. [ ] Test functionality to ensure nothing breaks
|
|
6. [ ] Update documentation to reflect new structure
|
|
|
|
## Current Structure Issues Identified
|
|
- Extra directories: debian-forge-docs/, debian-forge-tests/, build-environments/, build-logs/, artifacts/
|
|
- Misplaced files: Python scripts in root that should be in tools/ or osbuild/
|
|
- Missing original structure: Some original directories may be incomplete
|
|
- Custom additions: Debian-specific files mixed with core structure
|
|
|
|
## Priority Order
|
|
1. High: Restore core osbuild structure
|
|
2. Medium: Reorganize Debian content
|
|
3. Low: Clean up and optimize
|
|
4. Critical: Maintain all Debian functionality during transition
|