Build separate packages for each GPU generation instead of a single
cuda13 package:
- mistralrs-ampere (sm_86, RTX 3060)
- mistralrs-ada (sm_89, RTX 4090)
- mistralrs-blackwell (sm_120, RTX 5090)
All use the same CUDA 13.0 toolkit and features (cuda, cudnn, flash-attn,
nccl), varying only the compute capability target.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Poll upstream main branch HEAD alongside release tags. When a new commit
is detected, build and publish prerelease RPMs to a separate unstable
repo at rpm.lair.cafe/fedora/$releasever/$basearch/unstable/.
RPM versioning uses the Fedora snapshot convention (e.g.
0.8.1-0.1.20260511git1a2b3c4.fc43) so stable releases automatically
supersede any installed prerelease.
- RPM spec: conditional Release field via mistralrs_prerelease define
- poll-upstream.yml: new check-prerelease job fetches main HEAD + Cargo.toml version
- build-prerelease.yml: new workflow for commit-based builds without --locked
- UI: fetch both stable/unstable manifests, show channel badges, add
unstable repo setup instructions to home page
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Drop Obsoletes/Provides for the old package name and update readme
and UI to use mistralrs-cuda13 consistently.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename the RPM package from mistralrs-server-<flavour> to
mistralrs-<flavour> and the installed binary from mistralrs-server
to mistralrs, matching the upstream CLI binary name.
Adds Obsoletes/Provides for the old package name so dnf will cleanly
replace it on upgrade.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Build the mistralrs binary (CLI) instead of the deprecated
mistralrs-server. The RPM still installs as /usr/bin/mistralrs-server
for backwards compatibility. The systemd unit now invokes
`mistralrs-server serve` to use the CLI's serve subcommand.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add %pre scriptlet to ensure the mistralrs user and group exist
before the package files are installed. The systemd unit runs the
service as this user.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Drop the flavour-suffixed binary name, flavour-specific systemd unit
names, and update-alternatives machinery. Install a plain
mistralrs-server binary, a single mistralrs@.service template, and
a default.conf.example. Flavour coexistence was over-engineered for
the target audience.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Install the binary as /usr/bin/mistralrs-server-<flavour> using the
standard %{_bindir} macro. The update-alternatives system manages
the /usr/bin/mistralrs-server symlink as before. Removes the
non-standard /opt/mistralrs/<flavour>/bin/ directory structure.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Set the rpm-changelog action author to the actual maintainer instead
of the default "Gitea Actions". Remove the static changelog entry
from the spec since the action generates entries automatically.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The binary's ELF headers cause rpm to auto-require exact soname
versions of CUDA libraries from the build host, forcing downgrades
on systems with newer compatible versions. Filter these out with
__requires_exclude so consumers can use any compatible CUDA install.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>