RPM names do not match their contents

filebeat RPM file names do not match their contents. Specifically, filebeat-1.2.3-x86_64.rpm should be filebeat-1.2.3-1.x86_64.rpm (is missing the release and the dot before the arch) and filebeat-5.2.1.rpm should be filebeat-5.2.1-1.x86_64.rpm (is missing release and arch).
It is the same for elasticsearch, kibana and logstash RPMs.

Running "rpm -qp --info" on an RPM file reports the .spec file information. The file name should match that information:

%{Name}%{Version}%{Release}.%{arch}.rpm

While yum and rpm will tolerate inconsistent file names, other tools may not, and it is confusing to customers and may cause them to question the integrity of the package.

Hello, thanks for reaching out about RPM names for filebeat. The pattern you mention holds true for the current release (filebeat-7.3.0-x86_64.rpm) as well. I'll see if there is a historical reason why the release has been omitted from RPM names.

Could you please provide some example tools that do not tolerate the current RPM file naming scheme? I've seen the following tools work fine with the RPMs.

  • rpm
  • yum
  • dnf

Hi @Michael_Madden,
Sorry for the late response.

We are using rpm or yum to install all the RPMs and there is no issue with the installation. But the problem comes when we run an automated script to check the installed version of the RPMs.
for example, we have filebeat rpm present with name "filebeat-oss-6.6.1-x86_64.rpm" and when we install and then check the rpm version by running the command "rpm -qa filebeat" it gives filebeat-6.6.1-1.x86_64.
Or when we do a "rpm -qp --info filebeat-oss-6.6.1-x86_64.rpm", it gives following output:
warning: filebeat-oss-6.6.1-x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Name : filebeat
Version : 6.6.1
Release : 1
Architecture: x86_64
Install Date: (not installed)
Group : default
Size : 38027035
License : ASL-2.0
Signature : RSA/SHA512, Wed 13 Feb 2019 06:09:03 PM UTC, Key ID d27d666cd88e42b4
Source RPM : filebeat-6.6.1-1.src.rpm
Build Date : Wed 13 Feb 2019 04:13:41 PM UTC
Build Host : 114d60ad07ed
Relocations : /
Packager : <@114d60ad07ed>
Vendor : Elastic
URL : https://www.elastic.co/products/beats/filebeat
Summary : Filebeat sends log files to Logstash or directly to Elasticsearch.
Description :
Filebeat sends log files to Logstash or directly to Elasticsearch.

So there is a mismatch in rpm name is available(filebeat-oss-6.6.1-x86_64.rpm) and the rpm name with which it is present(filebeat-6.6.1-1.x86_64 or in info filebeat-6.6.1-1.src.rpm) after installation. Hence the script fails to find the latest version. While we have resolved this by adding some extra lines of code in the automated script but packages from Red Hat always follow the convention, and having names matched gives the user more confidence that the package is good.

Regards,
Akshat