serpent-os / tools

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

moss: SONAME providers can be hard-locked to a dependency release blocking .stones from higher priority repos #311

Closed joebonrichie closed 1 month ago

joebonrichie commented 1 month ago

Using icu as an example

Currently the version in the repo is v73.1 r3

in my local repo i have v75.0 r4

ls ~/.local_repo | grep icu
icu-32bit-75.1-4-1-x86_64.stone
icu-32bit-dbginfo-75.1-4-1-x86_64.stone
icu-32bit-devel-75.1-4-1-x86_64.stone
icu-75.1-4-1-x86_64.stone
icu-dbginfo-75.1-4-1-x86_64.stone
icu-devel-75.1-4-1-x86_64.stone

my local repo has higher priority than the default repo

$ boulder profile list
default-x86_64:
 - volatile = https://dev.serpentos.com/volatile/x86_64/stone.index [0]
local-x86_64:
 - volatile = https://dev.serpentos.com/volatile/x86_64/stone.index [0]
 - local = file:///home/ninya/.local_repo/stone.index [10]

When trying to rebuild various pkg such as vte, evolution-data-server, etc. against icu

$ boulder build -c -u -p local-x86_64
Refreshed local
Refreshed volatile

The following package(s) will be installed:
...
icu                           73-1-3
icu-devel                     75.1-4

The old version of icu gets forced into the DAG instead. The only pkg i can rebuild is harfbuzz for some reason

joebonrichie commented 1 month ago

user error, built in wrong order.