Package beat with proper RPM naming


(yuanlinios) #1

Hello experts

I developed a customized community beat, and want to build RPMs, and then deploy to my environment.

I can use "make package" to build RPMs successfully, but I want to make the package name and its rpm meta data conform to the standard "name-version-release.architecture.rpm" format, e.g. xxxbeat-6.0.0-2.x86_64.rpm,
(see http://ftp.rpm.org/max-rpm/ch-rpm-file-format.html)

I get some problems here

The rpm package generated uses "-" before the "arch", instead of ".". Can I change it from the build process? It is annoying to rename every time.

Release information cannot be specified. If I provide "version-release" information in "version.yml", it only appears in "Version" field of the rpm meta data. For example, I use 'version: "6.0.0-2"' in version.yml, and then get version 6.0.0_2 when I run "rpm -qi" against the package, and the release field is always "1". Is there any method to specify the release information correctly?


(Tudor Golubenco) #2

Have a look at this file, it's where we invoke FPM to build the rpm packages. You could modify your vendored copy of that file to try adding the functionality that you need.

Note that we use common pacakge naming conventions across the Elastic stack projects, so we're relatively inflexible in changing those for the main project.


(yuanlinios) #3

Great. Thanks a lot for this info! I will have a look


(system) #4