oxidecomputer / oxidecomputer/helios

Would like way for top-level tools to not change environment file after setup

Open
#8 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
481
Forks
21
Avg merge
1d 17h
Merged PRs (30d)
2

Description

The use of the top-level tools for automating things like builds and bldenv is nice. However, they generally rewrite the environment file. While I can understand why this might be helpful, there are a couple of cases where there might be gotchas here (for reference we did this in smartos-live only when someone reran ./configure not when they did a build). In particular here are a few things to think about:

  • Someone updates helios build but not the various dependencies. For example, with #3, that person would suddenly find themselves with a broken build.
  • If you want to manually control and do a debug-only build (e.g. my default development build is quick, but not multi-proto), you might manually edit the files, but then that'll get undone.
  • Makes it hard to test new stuff or potentially lie about things like VERSION for wsdiff.

I'm a little torn on this as I realize that most folks will probably be well served here by the current defaults and it might just be that I'm in a power user camp where I should just use the underlying tools, but I figured I should mention this.

Contributor guide

No contributing guide indexed for this repository

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

The issue names no files, tests, or entry points. Start by locating the top-level build tools and the path where they rewrite the environment file. Before implementation, define whether builds preserve manual edits or provide an opt-out; done requires agreed behavior covering defaults, overrides, and reruns.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.