elastic / elastic/logstash

Logstash DEB version convention out of sync with rest of stack

Open
#8,038 7 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.