canonical / canonical/layer-basic

Improved package support/modularization

Open
#74 12 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.