The artifacts produced by the build process don't use the same naming when generating a pre-release package (alpha or beta). Some of the file contains a tidle or a hyphen. I think we should standardize on the hyphen like other ES products like beats. This will make sure that our download statistic are correctly compiled.
logstash_5.0.0~alpha1-1_all.deb
logstash-5.0.0-alpha1.tar.gz
logstash-5.0.0-alpha1.zip
logstash-5.0.0~alpha1-1.noarch.rpm
We need to take care of the following, the debian and the rpm still need to use the ~ in their metadata to make sure that alpha1 is lower than GA.
cc @drewr @dedemorton
One more reason to use hyphen in the package name instead of using the tidle. https://github.com/elastic/logstash/issues/5105 it break apt-get install.
@ph the reason ~ is used is because of versioning conventions in both debian and red hat. See https://github.com/elastic/logstash/pull/2461 for history.
The file names could use - instead of ~ but the metadata cannot.
To be honest, the deb and rpm names including tilde are more-correct for those particular universes. If we wish to use tilde for tar.gz and zip, that's fine.
I agree we cannot change the metadata, but the name of the file we can do it.
I would still prefer to use "-" instead of the "~" because we are running theses off s3 for now.
I suggest the following naming for the generated artifacts:
logstash-5.0.0-alpha1_all.deb
logstash-5.0.0-alpha1.tar.gz
logstash-5.0.0-alpha1.zip
logstash-5.0.0-alpha1.noarch.rpm
This mostly has the same naming convention but we have added the platform for the packages.
@jordansissel ^ Wdyt?
@jordansissel Do we still need the platform suffix in deb and rpm? Pulling the Elastic consistency card here :)
In most cases for rpms and debs, it is common to _not_ modify the filenames beyond their default names. Changing ~ to - is already an uncommon thing due to a bug in apt-get and S3). Removing the platform all and noarch is also uncommon. For the consistency question, Kibana releases multiple artifacts targeting each architecture, so having the architecture is not uncommon for Elastic artifacts.
In terms of naming the files, to be honest, the only files humans are likely to see are the .tar.gz and .zip. The only common consumer of the deb and rpm files will be computers (apt-get and yum).
I haven't tried renaming the rpm file, so I don't know what side effects will happen if we choose to rename the file.
Summarizing my previous comment, I'm not convinced to rename the files other than this bug in S3+apt-get. However, if we test that renaming the rpm works fine, then I have no reason to reject the rename, either.
If there's no problems caused by the ~-to-- rpm file name, then +1 on renaming.
@suyograo I'm not sure what value removing the arch in the filename has. If we focus on the blocker part of this, we only need to rename the .deb (tilde to dash) and nothing else.
I would be inclined to say for the rpm/debian it shouldn't really matter.
https://github.com/elastic/beats/blob/515dd68df710859fba6d242003b64e39f016df2c/dev-tools/packer/platforms/centos/run.sh.j2#L43
https://github.com/elastic/beats/blob/515dd68df710859fba6d242003b64e39f016df2c/dev-tools/packer/platforms/debian/run.sh.j2#L42
@jordansissel If you look carefully in my proposition I am also removing the -1 part of the name.
logstash_5.0.0~alpha1-1_all.deb => logstash-5.0.0-alpha1_all.deb
@ph +1 on removing the release label (-1) from the filename. We do not use this field (rpm/deb release) anyway.
+1 on the changes @ph proposed
+1 to @suyograo's +1
;P
@drewr just adding you on the loop on this since its related to download logs.
Most helpful comment
+1 to @suyograo's +1