coreos / coreos/chunkah

Allow xattr components to target existing repo namespaces

Open
#65 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

complexity/medium
Dominant language
Rust
Stars
145
Forks
15
Avg merge
8m
Merged PRs (30d)
3

Description

When using user.component xattr to tag files that are generated at install time (e.g. .pyc bytecode), I would like to group those files in the parent RPM that created it, however chunkah always places xattr-claimed files into the xattr/ namespace, creating a separate component from the RPM-owned files.

For example
The google-cloud-cli RPM generates 200ish MB of .pyc files at install time, which is not "owned" by the RPM. They will be updated together, so should ideally be in the same component & layer.

If we allowed the user.component to include a repo prefix, e.g. "rpm/google-cloud-cli", and this would be joined into an RPM component of that name. I think it's pretty safe that, if a component name includes "rpm/" or "apt/" etc, that the user would want this behaviour.

Would also help (though not the perfect solution for) #35

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how the user.component xattr is parsed and how xattr-claimed files are assigned to the xattr/ namespace. Then inspect the existing RPM component and layer naming paths. Done means a repo-prefixed component such as rpm/google-cloud-cli joins the corresponding existing component rather than creating a separate xattr/ component.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
43/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.