serpent-os / tools

The home of moss (system state manager) and boulder (moss format build tool)
https://serpentos.com
137 stars 12 forks source link

moss: Add the ability to deprecate and replace recipes/.stones #318

Open ermo opened 3 months ago

ermo commented 3 months ago

It is currently possible to install golang-1.20.3 and golang-devel-1.20 next to each other, because golang-devel is still available in the volatile repository.

moss will currently complain vociferously about file conflicts, but will not refuse to install golang-devel next to golang.

This needs a solution.

Will likely need to build on #39

ikeycode commented 3 months ago

The current thoughts for replaces would be to rely on abusing the providers system, such that a yaml could do the following..

packages:
    - "%(name)":
        provides:
            - name(golang-devel)

Worth pointing out that "obsoletes" is invariably a hint in an indexing mechanism to occlude a name from emission, so would appear to be a vessel problem.