No description
Find a file
2025-08-03 18:14:49 +00:00
contrib Add config file for cleaning up cache files 2023-04-12 09:56:43 +08:00
doc Release 4.10.0 2025-07-29 09:00:20 +02:00
pungi Add more tracing to kojiwrapper 2025-07-28 11:35:09 +02:00
pungi_utils Protect against decoding errors with subprocess text mode 2025-01-16 09:20:27 +01:00
share Allow setting <kojitag/> in <modules/> in variants.xml to get the modules from this Koji tag. 2018-03-21 14:33:45 +01:00
tests phases: implement image-builder 2025-07-25 15:12:10 +02:00
.gitignore Updated readme.md 2025-08-03 18:14:49 +00:00
AUTHORS extra-files: Write a metadata file enumerating extra files 2016-09-07 13:02:48 +02:00
COPYING Remove FSF address from comments 2016-09-23 10:26:43 +02:00
git-changelog git-changelog: Fix running on Python 3 2019-07-02 15:05:25 +02:00
GPL Update GPL to latest version from https://www.gnu.org/licenses/gpl-2.0.txt 2015-06-25 07:50:03 -04:00
Makefile Use pytest instead of nosetests 2020-07-29 14:57:16 +08:00
MANIFEST.in Default bztar format for sdist command 2022-12-12 12:10:54 +01:00
README.md Updated readme.md 2025-08-03 18:14:49 +00:00
requirements.txt Remove python 2.7 from tox configuration 2024-11-29 09:33:52 +01:00
setup.cfg Default bztar format for sdist command 2022-12-12 12:10:54 +01:00
setup.py Release 4.10.0 2025-07-29 09:00:20 +02:00
test-requirements.txt Remove python 2.7 from tox configuration 2024-11-29 09:33:52 +01:00
TODO Drop buildinstall method 2023-10-18 06:38:14 +00:00
tox.ini Remove python 2.7 from tox configuration 2024-11-29 09:33:52 +01:00

Tumbi-Assembler

Tumbi-Assembler is a distribution compose tool adapted from Pungi for ParticleOS, an immutable Debian-based Linux distribution.

Project Overview

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:

  • OSTree repositories (using apt-ostree)
  • Container images (using bootc-deb)
  • Live installation ISOs (using Calamares installer)
  • Package repositories (APT-compatible)

Key Features

  • 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

Architecture

Tumbi-Assembler maintains Pungi's phase-based architecture while adapting it for the Debian ecosystem:

  • 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
  • Original Pungi: https://pagure.io/pungi/
  • ParticleOS: [ParticleOS Project]
  • Development Documentation: See tumbi-assembler-dev-docs/ directory

License

This project is based on Pungi and maintains compatibility with its licensing terms.