Add Debian package build target to Earthfile#278
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR introduces Debian package support for OS Image Composer, enabling easier distribution and installation on Ubuntu/Debian systems. The implementation follows Filesystem Hierarchy Standard (FHS) and Debian packaging best practices.
Key Changes:
- Added parameterized
+debtarget in Earthfile for building production-ready Debian packages - Introduced comprehensive installation documentation in README.md covering build, install, verify, and uninstall workflows
- Added experimental
build_oic_deb_package()function in validate.sh (appears to be legacy/test code)
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| Earthfile | Implements new +deb target with FHS-compliant directory structure, configurable VERSION/ARCH parameters, and artifact output to dist/ directory |
| README.md | Adds complete Debian package installation section with build instructions, verification steps, package contents overview, and uninstallation commands |
| validate.sh | Adds build_oic_deb_package() function for building basic Debian packages (appears to be experimental/legacy code) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
magerstam
left a comment
There was a problem hiding this comment.
I think there are more dependencies we need to add unify, mmdebbootstrap
License information has to be captured in metadata
|
@magerstam @srmungar |

Merge Checklist
All boxes should be checked before merging the PR
Description
This PR adds a new
+debtarget to the Earthfile that creates a production-ready Debian package for the OS Image Composer tool. The package follows the Filesystem Hierarchy Standard (FHS) and Debian packaging best practices, making it easy to distribute and install the tool on Ubuntu/Debian systems.Key Changes:
+debtarget to Earthfile with configurable VERSION and ARCH arguments/etc,/usr/local/bin,/usr/share)dist/directory for cleaner project organizationPackage Layout:
/usr/local/bin/os-image-composer/etc/os-image-composer/(user-editable)/usr/share/os-image-composer/examples/(read-only templates)/usr/share/doc/os-image-composer/(README, LICENSE, CLI spec)Usage:
Any Newly Introduced Dependencies
How Has This Been Tested?
Build package:

Install package on ubuntu machines:

Verify installation:

Uninstall:
