-
Notifications
You must be signed in to change notification settings - Fork 431
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add extended_version
to package definition
#586
Conversation
Allows to store additional version information for an installed package. related to elastic#515
schemas/package.yml
Outdated
different package types. For example it can contain a release string for RHEL packages, or the commit SHA of | ||
a non-released package. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think having one field for two different kinds of versions will be confusing.
I'm not sure how often a package will have both a build version and a release version, but it wouldn't surprise me that this is possible. Especially when we consider repos made available by third party organizations, making pre-release software available.
I think package.release_version
would be very clear in its intent. The mere presence of this field may also help avoid having various event sources accidentally putting release versions in package.version
.
If there's a need & a desire to also track the build version, I would be in favour of package.build_version
as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you think about software dependencies in applications I think it is not that uncommon to pin some third party libraries to a specific commit. My original intend to add this field was to have a possibility to capture this scenario. If adding release_version
and build_version
this would go into the build_version
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@simitt Could you please clarify what do you mean by the following?
If adding release_version and build_version this would go into the build_version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to say that if a third party library is pinned to a specific commit rather than to a release version, the specific commit hash should not be stored as release_version
, but would be stored in the field we are discussing here (package.extended_version
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see and I agree :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@webmat are you suggesting to have package.version
(already introduced with original package PR), package.release_version
and package.build_version
?
I still suggest we only add one more version information. As the concrete content can vary, I still think extended_version
is a good fit.
Any additional thoughts @andrewkroh or @cwurm ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes my suggestion is indeed to add 2 more version fields, for a total of 3. I think it's important to avoid having two different possible meanings for one field.
- This ensures analysis can be done on actual release versions such as RHEL's without them being polluted by commit IDs
- This ensures analysis can be done on actual build IDs without them being polluted by weird release versions.
- This finally ensures that edge cases such as perhaps pre-release or development packages (e.g. Fedora Core, or simply mainline build candidates anywhere) can record both the weird full release version and build version at the same time, if appropriate.
I think in many cases only one or two would be present, however, I agree with that part. But even in those cases, I think build_version
and release_version
will be much clearer in what they mean, than a more abstract extended_version
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@webmat Could you please clarify the difference between package.version
and package.release_version
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will need the build_version
for runtime dependencies in APM. I renamed extended_version
to build_version
.
Regarding release_version
- as pointed out above, this seems to be rather specific. To avoid confusion between version
and release_version
, I suggest to not introduce at all for now, and only add it when there is a concrete use case. (Except in case this would be filled already by anyone? cc @andrewkroh ).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@SergeyKleyman Here's a comment where I gave a concrete example based on MySQL on CentOS #560 (comment)
@simitt Yes that makes sense. We can flesh it out separately, if/when the need arise. Thanks for renaming :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Allows to store additional version information for an installed
package.
related to #515
Follow up from #532 to focus on adding an additional version information.
Summary of previous discussions around this field:
#532 (review)
#532 (comment)
#532 (comment)
#532 (comment)
#532 (comment)
#532 (comment)
#532 (comment)
#532 (comment)