https://www.x-cmd.com/rpm/— a yum / dnf / zypper repository that hosts the official x-cmd RPM package.
This repository is published verbatim under https://www.x-cmd.com/rpm/. Any
Packages/*.rpm together with the generated repodata/ is a standard RPM
repository that can be consumed directly by dnf, yum, or zypper.
The package itself is built and released upstream at
x-cmd/release; this repo only mirrors the
.rpm artifacts and maintains the repository metadata.
# 1. Enable this repository
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://www.x-cmd.com/rpm/x-cmd.repo
# 2. Install x-cmd
sudo dnf install -y x-cmdOr, without dnf-plugins-core, drop the repo file manually:
sudo curl -fsSL https://www.x-cmd.com/rpm/x-cmd.repo -o /etc/yum.repos.d/x-cmd.repo
sudo dnf install -y x-cmdsudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://www.x-cmd.com/rpm/x-cmd.repo
sudo yum install -y x-cmdsudo zypper ar -f https://www.x-cmd.com/rpm/ x-cmd
sudo zypper refresh
sudo zypper in x-cmdAfter install, verify with:
x --version.
├── Packages/ # the hosted .rpm artifacts
│ └── x-cmd_0.9.9_all.rpm
├── repodata/ # repository metadata generated by createrepo_c
│ ├── repomd.xml # the entry point clients fetch first
│ ├── <sha>-primary.xml.gz
│ ├── <sha>-filelists.xml.gz
│ └── <sha>-other.xml.gz
├── x-cmd.repo # ready-to-use dnf/yum repo definition
└── README.md
baseurl is the repository root, so the package <location href> is the
relative path Packages/x-cmd_0.9.9_all.rpm.
The package is architecture-independent (noarch), so a single flat layout
serves every architecture.
-
Drop the new
.rpmintoPackages/(optionally remove superseded ones). -
Regenerate the metadata with
createrepo_c. There is nocreaterepoon macOS, so run it through a container:docker run --rm -v "$PWD:/repo" debian:latest bash -lc ' apt-get update -qq && apt-get install -y -qq --no-install-recommends createrepo_c >/dev/null && createrepo_c --general-compress-type=gz --basedir /repo /repo'
Metadata is gzip-compressed (
--general-compress-type=gz) for maximum client compatibility (classicyumon RHEL 7 cannot read zstd metadata). -
Commit
Packages/*.rpm, the updatedrepodata/, and push. The site refreshes from this branch.
- Packages and metadata are currently unsigned (
gpgcheck=0). Enable GPG signing once a key is published. - Source RPM and build provenance live in x-cmd/release.
- License of the x-cmd package: Apache-2.0.