fix(rpm): explicitly Provides user(cortex)/group(cortex)
Some checks failed
CI / Format, lint, build, test (push) Successful in 1m4s
CI / Build cortex SRPM (push) Successful in 44s
CI / Build neuron SRPM (push) Successful in 1m46s
CI / Publish cortex to COPR (push) Successful in 8m49s
CI / Publish neuron to COPR (push) Successful in 9m51s
CI / Bump version in source (push) Failing after 47s
Some checks failed
CI / Format, lint, build, test (push) Successful in 1m4s
CI / Build cortex SRPM (push) Successful in 44s
CI / Build neuron SRPM (push) Successful in 1m46s
CI / Publish cortex to COPR (push) Successful in 8m49s
CI / Publish neuron to COPR (push) Successful in 9m51s
CI / Bump version in source (push) Failing after 47s
dnf5 was silently rejecting neuron-0.1.3 with "Nothing to do" because it had an unresolvable Requires. Inspection showed: Requires: user(cortex) ← unversioned Provides: user(cortex) = <base64> ← versioned only, no unversioned rpm's sysusers provides-generator only emits the unversioned user() provide when the u-line is minimal. Our sysusers.conf specifies GECOS, home dir, and shell, which pushes the generator to versioned-only. The matching Requires (auto-generated from %attr(,,cortex) on config files) is unversioned, so resolution failed silently. Explicitly declare Provides: user(cortex) and Provides: group(cortex) to guarantee the unversioned forms exist. group(cortex) was already emitted unversioned but adding it for symmetry and to protect against future generator changes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,12 @@ BuildRequires: systemd-rpm-macros
|
|||||||
Requires(pre): shadow-utils
|
Requires(pre): shadow-utils
|
||||||
Requires: systemd
|
Requires: systemd
|
||||||
|
|
||||||
|
# rpm's sysusers provides-generator only emits versioned user(cortex) when
|
||||||
|
# the u-line has GECOS/home/shell fields. %attr(,,cortex) in %files emits
|
||||||
|
# an unversioned Requires: user(cortex), so we provide it explicitly.
|
||||||
|
Provides: user(cortex)
|
||||||
|
Provides: group(cortex)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Cortex is a Rust reverse-proxy that sits in front of multiple inference
|
Cortex is a Rust reverse-proxy that sits in front of multiple inference
|
||||||
nodes (via neuron daemons) and presents a unified OpenAI and Anthropic
|
nodes (via neuron daemons) and presents a unified OpenAI and Anthropic
|
||||||
|
|||||||
@@ -22,6 +22,12 @@ BuildRequires: systemd-rpm-macros
|
|||||||
Requires(pre): shadow-utils
|
Requires(pre): shadow-utils
|
||||||
Requires: systemd
|
Requires: systemd
|
||||||
|
|
||||||
|
# rpm's sysusers provides-generator only emits versioned user(cortex) when
|
||||||
|
# the u-line has GECOS/home/shell fields. %attr(,,cortex) in %files emits
|
||||||
|
# an unversioned Requires: user(cortex), so we provide it explicitly.
|
||||||
|
Provides: user(cortex)
|
||||||
|
Provides: group(cortex)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Neuron is a per-node daemon for cortex inference clusters. It discovers
|
Neuron is a per-node daemon for cortex inference clusters. It discovers
|
||||||
local GPU hardware via nvidia-smi, manages inference harnesses (mistral.rs,
|
local GPU hardware via nvidia-smi, manages inference harnesses (mistral.rs,
|
||||||
|
|||||||
Reference in New Issue
Block a user