- Remove 7 unused dependencies: apt-pkg-native, pkg-config, walkdir, lazy_static, futures, async-trait, cap-std - Delete dead code: Remove unused parallel.rs module - Clean build artifacts: Remove debian/cargo/, debian/.debhelper/, and other build files - Update .gitignore: Comprehensive patterns for build artifacts, test files, and temporary files - Move documentation: Relocate project docs to docs/ directory - Remove test artifacts: Clean up test files and package archives - Update Cargo.toml: Streamline dependencies and remove unused features - Verify build: Ensure project still compiles after cleanup This commit significantly reduces project size and improves build efficiency.
123 lines
4.6 KiB
Markdown
123 lines
4.6 KiB
Markdown
# apt-ostree Package Merge Summary
|
|
|
|
## Overview
|
|
Successfully merged the separate `apt-ostree` (CLI tool) and `apt-ostreed` (daemon) packages into a single `apt-ostree` package. This simplifies installation, dependency management, and maintenance.
|
|
|
|
## Changes Made
|
|
|
|
### 1. **debian/control**
|
|
- Removed the separate `apt-ostreed` package
|
|
- Updated main `apt-ostree` package description to mention it contains both components
|
|
- Added `polkitd` and `dbus` dependencies directly to the main package
|
|
- Removed circular dependency between packages
|
|
|
|
### 2. **debian/rules**
|
|
- Modified installation rules to install both binaries into single package directory
|
|
- All daemon files (systemd services, polkit policies, config files) now go into main package
|
|
- Updated paths from `debian/apt-ostreed/` to `debian/apt-ostree/`
|
|
|
|
### 3. **debian/apt-ostree.postinst**
|
|
- Added daemon service setup functionality (`setup_service`)
|
|
- Added directory creation and permission setup (`setup_directories`)
|
|
- Added polkit rules reloading (`reload_polkit`)
|
|
- Removed dependency check for separate `apt-ostreed` package
|
|
- Integrated both CLI and daemon setup logic
|
|
|
|
### 4. **debian/apt-ostree.postrm**
|
|
- Added daemon service cleanup (`cleanup_daemon`)
|
|
- Added daemon file cleanup on purge (`cleanup_daemon_files`)
|
|
- Integrated both CLI and daemon cleanup logic
|
|
|
|
### 5. **debian/apt-ostree.prerm**
|
|
- Added daemon service stopping before removal
|
|
- Added daemon configuration backup functionality
|
|
- Enhanced backup to include both CLI and daemon configs
|
|
|
|
### 6. **debian/apt-ostree.triggers**
|
|
- Merged daemon triggers (polkit, systemd, D-Bus) into main package triggers
|
|
- Added triggers for `/usr/share/polkit-1/actions`, `/lib/systemd/system`, and `/usr/share/dbus-1/system-services`
|
|
|
|
### 7. **debian/apt-ostree.conffiles**
|
|
- Created new conffiles file for the main package
|
|
- Added daemon configuration file as a conffile: `/etc/apt-ostreed/apt-ostreed.conf`
|
|
|
|
### 8. **Cleaned up old files**
|
|
- Removed `debian/apt-ostreed.postinst`
|
|
- Removed `debian/apt-ostreed.postrm`
|
|
- Removed `debian/apt-ostreed.triggers`
|
|
- Removed `debian/apt-ostreed.conffiles`
|
|
- Removed `debian/apt-ostreed.substvars`
|
|
|
|
## Package Contents
|
|
|
|
The new single `apt-ostree` package now contains:
|
|
|
|
### CLI Components
|
|
- `/usr/bin/apt-ostree` - Main CLI binary
|
|
- `/usr/share/man/man1/apt-ostree.1` - Manual page
|
|
- `/usr/share/bash-completion/completions/apt-ostree` - Bash completion
|
|
- `/usr/share/zsh/vendor-completions/_apt-ostree` - Zsh completion
|
|
|
|
### Daemon Components
|
|
- `/usr/libexec/apt-ostreed` - Daemon binary
|
|
- `/lib/systemd/system/apt-ostreed.service` - Systemd service
|
|
- `/lib/systemd/system/apt-ostreed.socket` - Systemd socket
|
|
- `/usr/share/polkit-1/actions/org.projectatomic.aptostree1.policy` - Polkit policy
|
|
- `/etc/apt-ostreed/apt-ostreed.conf` - Daemon configuration
|
|
|
|
### System Integration
|
|
- `/var/log/apt-ostreed` - Log directory
|
|
- `/var/cache/apt-ostree` - Cache directory
|
|
- `/var/lib/apt-ostree` - State directory
|
|
|
|
## Dependencies
|
|
|
|
The single package now has these dependencies:
|
|
- `libc6 (>= 2.39)`
|
|
- `libgcc-s1 (>= 4.2)`
|
|
- `libostree-1-1 (>= 2025.2)`
|
|
- `ostree`
|
|
- `systemd`
|
|
- `libapt-pkg7.0 (>= 3.0.0)`
|
|
- `polkitd`
|
|
- `dbus`
|
|
|
|
## Benefits
|
|
|
|
1. **Simplified Installation**: Users only need to install one package instead of two
|
|
2. **Better Dependency Management**: No circular dependencies between packages
|
|
3. **Easier Maintenance**: Single package to maintain and update
|
|
4. **Consistent Versioning**: Both components always have the same version
|
|
5. **Cleaner Uninstallation**: Single command removes all components
|
|
6. **Reduced Package Complexity**: Fewer package files and scripts to manage
|
|
|
|
## Build Results
|
|
|
|
- **Package Name**: `apt-ostree_0.1.0-2_amd64.deb`
|
|
- **Size**: ~1.6 MB (includes both CLI and daemon)
|
|
- **Build Status**: ✅ Successful
|
|
- **Installation**: Both components install from single package
|
|
- **Service Management**: Daemon service automatically configured and started
|
|
|
|
## Testing
|
|
|
|
The package has been successfully built and verified to contain:
|
|
- ✅ CLI binary (`apt-ostree`)
|
|
- ✅ Daemon binary (`apt-ostreed`)
|
|
- ✅ Systemd service files
|
|
- ✅ Polkit policies
|
|
- ✅ Configuration files
|
|
- ✅ All necessary directories and permissions
|
|
|
|
## Future Considerations
|
|
|
|
1. **Version Management**: Both components will always be updated together
|
|
2. **Configuration**: Single package makes configuration management simpler
|
|
3. **Rollbacks**: Package rollbacks affect both components simultaneously
|
|
4. **Testing**: Integration testing can be simplified with single package
|
|
|
|
---
|
|
|
|
**Date**: 2025-08-17
|
|
**Status**: Complete
|
|
**Next Steps**: Test installation and functionality on target systems
|