Element Desktop RPM packaging
This repository builds an RPM package from the upstream Element Desktop Linux tarballs:
https://packages.element.io/desktop/install/linux/glibc-x86-64/element-desktop.tar.gzhttps://packages.element.io/desktop/install/linux/glibc-aarch64/element-desktop.tar.gz
Latest upstream version tracked in this repo: 1.12.15
What it does
- Downloads the current upstream x86_64 and aarch64 tarballs.
- Derives the version from both tarball root directories and requires them to match.
- Renders a concrete spec file with that version before invoking
rpmbuild. - Repackages the prebuilt binaries into an RPM.
- Removes the upstream auto-update manifest so RPM remains the update path.
- Sets
resources/package-typetorpm. - Builds binary RPMs for
x86_64andaarch64, while still forcing SRPM generation to targetx86_64so COPR source builders stay consistent. - Supports COPR SCM builds through
.copr/Makefile.
Local builds
Build a source RPM:
make srpm
Build a binary RPM and source RPM:
make rpm
Artifacts are written to dist/.
COPR
Use COPR's SCM source type with:
- Clone URL: this repository
- Spec template:
SPECS/element-desktop.spec.in - SRPM build method:
make srpm - Enable
x86_64andaarch64binary chroots for this package
COPR will invoke .copr/Makefile, which calls the same SRPM generation script
used for local builds. That script downloads the upstream tarball during the
SRPM stage, so no vendored source archive is required in git.