canonical / canonical/layer-basic
Improved package support/modularization
- Dominant language
- Python
- Stars
- 10
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Description
The way the layer currently handles packages is inconsistent. Packages to be installed via apt are placed into layer.yaml, but python packages are in wheelhouse.txt, and there's no support for other packaging formats, such as snaps or npm.
A more modular approach would allow developers to write support for a particular packaging format, with a consistent way to install them. Two possible formats of layer.yaml to support this idea:
``` yaml
options:
basic:
packages:
- apt:traceroute
- pip:paramiko==2.0.1
- npm:grunt
- npm:grunt-cli
- snap:hello-world
```
``` yaml
options:
basic:
packages:
apt:
- traceroute
pip:
- paramiko==2.0.1
npm:
- grunt
- grunt-cli
snap:
- hello-world
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading how package entries are currently handled in layer.yaml and how Python packages are read from wheelhouse.txt. Compare the proposed layer.yaml formats with the existing behavior and determine the supported packaging interfaces; done requires an agreed modular approach for the listed package formats.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100