Files
2026-05-04 10:25:13 -04:00

1.5 KiB

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.gz
  • https://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-type to rpm.
  • Builds binary RPMs for x86_64 and aarch64, while still forcing SRPM generation to target x86_64 so 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_64 and aarch64 binary 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.