- Fix Deployments property to always return JSON string
- Resolve TypeError and ValueError in D-Bus property serialization
- Add JSON serialization for complex data structures
- Implement fallback values for empty collections
- Update TODO and changelogs to reflect completion
- Ensure full compliance with D-BUS.md and daemon-notes.md
- Fixed critical 'asyncio.run() cannot be called from a running event loop' error
- Converted all D-Bus methods to async def with proper await usage
- Fixed dbus-next integration for full async functionality
- Daemon now properly handles concurrent async operations
- Updated TODO.md and CHANGELOG.md to reflect async bug fix
- Added interface_simple.py with dbus-next implementation
- Updated D-Bus policy for development use
- Added test script for D-Bus properties verification
- Created ShellIntegration utility for apt-layer.sh command execution
- Implemented async command execution with ThreadPoolExecutor
- Added comprehensive output parsing for install, remove, composefs operations
- Integrated automatic script path discovery with fallback locations
- Added timeout management and error handling for all shell operations
- Extended D-Bus interface with Deploy, Upgrade, Rollback, CreateComposeFSLayer methods
- All methods include proper authorization, transaction management, and error handling
- Updated InstallPackages and RemovePackages to use actual apt-layer.sh commands
- Added proper async/await pattern for non-blocking shell operations
This completes the apt-layer.sh integration phase, enabling the daemon to
orchestrate actual apt-layer.sh commands while providing structured D-Bus
responses with detailed feedback and error handling.
- Created apt-ostreed.service with security hardening and OSTree integration
- Added D-Bus activation service file for auto-startup
- Enhanced install.sh with complete service file management
- Implemented proper directory structure and permissions
- Added comprehensive CHANGELOG.md for apt-ostree.py project
- Updated TODO.md to reflect completed systemd integration work
- Merged install-service.sh functionality into main install.sh
- Added production-ready security features and D-Bus policy
This completes the systemd service integration phase, making the daemon
ready for production deployment with proper service management.
- Add InstallPackages and RemovePackages methods to Sysroot interface
- Implement automatic client registration for D-Bus method calls
- Add client authorization with root/sudo group validation
- Confirm transaction management system working with UUID tracking
- Test all methods successfully with proper D-Bus type handling
- Update CHANGELOG.md with package management milestone
- Update TODO.md to reflect completed daemon integration
The apt-ostree daemon now has a complete package management interface
with working D-Bus methods, client management, and transaction tracking.
Ready for integration with apt-layer.sh for actual package operations.
- Fix D-Bus type errors by flattening status dictionary
- Remove nested 'config' dictionary that caused TypeError
- Convert all values to D-Bus-compatible types (string, int, bool, double)
- Confirm production security policy working (root-only access)
- Successfully test GetStatus method with valid response
- Update D-Bus policy to allow root access to specific interfaces
- Update CHANGELOG.md with D-Bus communication milestone
- Update TODO.md to reflect completed daemon integration
The apt-ostree daemon now has working D-Bus communication with proper
type handling and production-ready security policies. Ready for full
integration with apt-layer.sh client.
- Update D-Bus policy for production use (root-only access)
- Document production vs development policy rationale
- Enhance D-BUS.md with security considerations
- Update CHANGELOG.md with production security hardening
- Update TODO.md to reflect completed security improvements
This change implements a production-ready security model where only root
users can access the apt-ostree daemon, which is appropriate since all
operations (package installation, OSTree commits, ComposeFS management)
inherently require root privileges. This eliminates the need for complex
PolicyKit authorization rules and provides clear security boundaries.
- Complete Particle-OS rebranding from uBlue-OS
- Professional installation system with standardized paths
- Self-initialization system with --init and --reset commands
- Enhanced error messages and dependency checking
- Comprehensive testing infrastructure
- All source scriptlets updated with runtime improvements
- Clean codebase with redundant files moved to archive
- Complete documentation suite