Add a spec file for RPM packaging

Merged Louis Moureaux requested to merge feature/packaging into develop

Description

This MR adds a cmsgemos.spec file that can be used to build RPM packages (source, binary and debug).

To do list:

  • The version number is hard-coded (to 1.0.0-1). Maybe this can be taken from git directly or passed by cmake. Decided not to do, better use a dedicated tool.
  • The packages install themselves in /usr, maybe the sysadmins won't like it. Up to the sysamdins
  • The LICENSE and README files aren't included (should go somewhere in prefix/share).
  • The license is set to Unknown. It's really unknown
  • We could set environment variables by dropping the appropriate files in /etc/profile.d. This would reduce the equivalent of $1151 for system-wide installs. Won't do
  • The symlinks created in $1151 could be created in the post-install script and removed in pre-remove. The gemdaq symlink is created correcly in /opt/xdaq/htdocs

I tried to use mock but it doesn't have sufficient permissions in Gitlab CI. Since it starts from a generic image, the CI job should be roughly equivalent.

Related Issue

#59 (closed)

How Has This Been Tested?

The CI tests that the packages can be built and installed on a pristine system. In particular, all run time dependencies that I know of are found and installed correctly.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
Edited by Louis Moureaux

Merge request reports