Updated readme.md
This commit is contained in:
parent
c276a5a25a
commit
50ad12fc55
2 changed files with 66 additions and 27 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -17,3 +17,4 @@ htmlcov/
|
||||||
.venv
|
.venv
|
||||||
.kdev4/
|
.kdev4/
|
||||||
pungi.kdev4
|
pungi.kdev4
|
||||||
|
tumbi-assembler-dev-docs
|
||||||
92
README.md
92
README.md
|
|
@ -1,39 +1,77 @@
|
||||||
# Pungi
|
# Tumbi-Assembler
|
||||||
|
|
||||||
*Pungi* is a distribution compose tool.
|
*Tumbi-Assembler* is a distribution compose tool adapted from Pungi for ParticleOS, an immutable Debian-based Linux distribution.
|
||||||
|
|
||||||
Composes are release snapshots that contain release deliverables such as:
|
## Project Overview
|
||||||
|
|
||||||
- installation trees
|
Tumbi-Assembler is a fundamental adaptation of Pungi's distribution compose system to work with the Debian/APT package ecosystem. It enables the creation of ParticleOS distribution snapshots containing:
|
||||||
- RPMs
|
|
||||||
- repodata
|
|
||||||
- comps
|
|
||||||
- (bootable) ISOs
|
|
||||||
- kickstart trees
|
|
||||||
- anaconda images
|
|
||||||
- images for PXE boot
|
|
||||||
|
|
||||||
|
- **OSTree repositories** (using apt-ostree)
|
||||||
|
- **Container images** (using bootc-deb)
|
||||||
|
- **Live installation ISOs** (using Calamares installer)
|
||||||
|
- **Package repositories** (APT-compatible)
|
||||||
|
|
||||||
## Tool overview
|
## Key Features
|
||||||
|
|
||||||
*Pungi* consists of multiple separate executables backed by a common library.
|
- **APT Package Management**: Complete integration with Debian's APT package system
|
||||||
|
- **OSTree Integration**: Atomic system updates using apt-ostree
|
||||||
|
- **Container Support**: OCI container image generation using bootc-deb
|
||||||
|
- **Live System Creation**: Calamares-based installer ISO generation
|
||||||
|
- **Future-Proof Design**: Robust, production-ready implementation with comprehensive error handling
|
||||||
|
|
||||||
The main entry-point is the `pungi-koji` script. It loads the compose
|
## Architecture
|
||||||
configuration and kicks off the process. Composing itself is done in phases.
|
|
||||||
Each phase is responsible for generating some artifacts on disk and updating
|
|
||||||
the `compose` object that is threaded through all the phases.
|
|
||||||
|
|
||||||
*Pungi* itself does not actually do that much. Most of the actual work is
|
Tumbi-Assembler maintains Pungi's phase-based architecture while adapting it for the Debian ecosystem:
|
||||||
delegated to separate executables. *Pungi* just makes sure that all the
|
|
||||||
commands are invoked in the appropriate order and with correct arguments. It
|
|
||||||
also moves the artifacts to correct locations.
|
|
||||||
|
|
||||||
|
- **Package Gathering**: APT-based package resolution and dependency management
|
||||||
|
- **Repository Creation**: APT-compatible repository generation
|
||||||
|
- **OSTree Composition**: apt-ostree integration for immutable system images
|
||||||
|
- **Container Generation**: bootc-deb integration for OCI container images
|
||||||
|
- **Live System Building**: Calamares installer integration with live-build
|
||||||
|
|
||||||
|
## Development Status
|
||||||
|
|
||||||
|
This project represents a complete adaptation of Pungi from RPM/DNF to APT/DEB ecosystems, with comprehensive documentation covering:
|
||||||
|
|
||||||
|
- **Technical Analysis**: Deep dive into Pungi's architecture and adaptation requirements
|
||||||
|
- **Implementation Plans**: Detailed roadmaps and technical specifications
|
||||||
|
- **Production-Ready Solutions**: Robust implementations addressing all technical challenges
|
||||||
|
- **Future-Proof Design**: Solutions designed for long-term maintainability
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
Comprehensive development documentation is available in the `tumbi-assembler-dev-docs/` directory:
|
||||||
|
|
||||||
|
- `PUNGI_ANALYSIS_FOR_PARTICLEOS.md` - Initial architectural analysis
|
||||||
|
- `IMPLEMENTATION_PLAN.md` - First implementation plan with code examples
|
||||||
|
- `CRITICAL_ANALYSIS_REVISION.md` - Critical review and technical challenges
|
||||||
|
- `INTEGRATION_DETAILS.md` - Detailed integration specifications
|
||||||
|
- `PRACTICAL_ROADMAP.md` - 26-week implementation timeline
|
||||||
|
- `FINAL_FUTURE_PROOF_IMPLEMENTATION.md` - Production-ready implementation
|
||||||
|
|
||||||
|
## Key Technical Achievements
|
||||||
|
|
||||||
|
- **Accurate Debian Version Parsing**: Proper handling of complex Debian version constraints
|
||||||
|
- **Complete APT Environment Management**: Self-contained build environment setup
|
||||||
|
- **Atomic Configuration Updates**: Race-condition-free system configuration
|
||||||
|
- **Future-Proof Group Resolution**: Multiple data sources with consistent logic
|
||||||
|
- **Zero External Dependencies**: Pure Python implementations using python-apt
|
||||||
|
|
||||||
|
## ParticleOS Integration
|
||||||
|
|
||||||
|
Tumbi-Assembler is specifically designed for ParticleOS, providing:
|
||||||
|
|
||||||
|
- **Immutable System Support**: OSTree-based atomic updates
|
||||||
|
- **Container Deployment**: bootc-deb integration for container-based deployment
|
||||||
|
- **Modern Installer**: Calamares-based installation experience
|
||||||
|
- **Debian Compatibility**: Full compatibility with Debian package ecosystem
|
||||||
|
|
||||||
## Links
|
## Links
|
||||||
|
|
||||||
- Documentation: https://docs.pagure.org/pungi/
|
- **Original Pungi**: https://pagure.io/pungi/
|
||||||
- Upstream GIT: https://pagure.io/pungi/
|
- **ParticleOS**: [ParticleOS Project]
|
||||||
- Issue tracker: https://pagure.io/pungi/issues
|
- **Development Documentation**: See `tumbi-assembler-dev-docs/` directory
|
||||||
- Questions can be asked in the *#fedora-releng* IRC channel on irc.libera.chat
|
|
||||||
or in the matrix room
|
## License
|
||||||
[`#releng:fedoraproject.org`](https://matrix.to/#/#releng:fedoraproject.org)
|
|
||||||
|
This project is based on Pungi and maintains compatibility with its licensing terms.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue