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>
RPM 6 on Fedora 43 uses sequoia (sq) for signing instead of gpg.
Replace %_gpg_name with %_openpgp_sign_id and drop the gpg-agent
loopback config. Add a pre-flight check for sequoia-sq.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fedora 43 uses rpm-sequoia which does not expand %{__plaintext_filename}
or %{__signature_filename} from %__gpg_sign_cmd. Remove the override
and let rpm-sequoia read the gpg key directly. The key trust and
gpg-agent loopback config are already in place.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fedora 43 defaults to rpm-sequoia for signing which ignores the
imported gpg key. Set %__gpg_sign_cmd explicitly to force gpg-based
signing with loopback pinentry. Remove diagnostics.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The custom %__gpg_sign_cmd macro with %{__plaintext_filename} is not
supported on modern rpm. Instead, configure gpg-agent for loopback
pinentry and let rpm use its default sign command.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The heredoc with column-0 lines inside a YAML block scalar may
confuse Gitea's workflow parser. Move rpmmacros content to
rpm/rpmmacros as a template with sed substitution.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>