Logstash DEB version convention out of sync with rest of stack
- Dominant language
- Java
- Stars
- 14.9k
- Forks
- 3.5k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 88
Description
- Version: Any, up to 5.5.2 and 6.0.0-beta1
- Operating System: Linux
Logstash seems to be the only package with an additional epoch and debian revision entries in its Version inside DEB packages (I believe format is described as [epoch:]upstream_version[-debian_revision]).
This results in counter-intuive user experience where logstash is a bit of snowflake and needs to be handled slightly differently than all other packages, creating additional management overhead and/or complicating using configuration management (as you cannot easily specify the same version string for all elements).
Is it possible to make it use the same convention as others?
- Sample Data
```
$ dpkg -I elasticsearch-6.0.0-beta1.deb | grep Version
Version: 6.0.0-beta1
$ dpkg -I logstash-6.0.0-beta1.deb | grep Version
Version: 1:6.0.0~beta1-1
```
- Steps to Reproduce:
```
# apt list --upgradable
elasticsearch/stable 6.0.0-beta1 all [upgradable from: 5.5.2]
filebeat/stable 6.0.0-beta1 amd64 [upgradable from: 5.5.2]
kibana/stable 6.0.0-beta1 amd64 [upgradable from: 5.5.2]
logstash/stable 1:6.0.0~beta1-1 all [upgradable from: 1:5.5.2-1]
metricbeat/stable 6.0.0-beta1 amd64 [upgradable from: 5.5.2]
packetbeat/stable 6.0.0-beta1 amd64 [upgradable from: 5.5.2]
```
As a result for any ES/KB/Beats package this notation will work:
```
# apt-get install packetbeat=6.0.0-beta1
Get:1 https://artifacts.elastic.co/packages/6.x-prerelease/apt/ stable/main packetbeat amd64 6.0.0-beta1 [13.7 MB]
```
But for logstash it won't. You need to call `1:6.0.0~beta1-1` instead.
```
# apt-get install logstash=6.0.0-beta1
E: Version '6.0.0-beta1' for 'logstash' was not found
```
Contributor guide
Assessment
This issue has not been assessed yet.