-
Notifications
You must be signed in to change notification settings - Fork 17
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
ci: tarball name does not contain version #79
Comments
Hmmm.. |
Yes. So version could be like 4.2.2 instead of 4.2.2-4. I have understood this as you have forked someone else's radar_pi, and in that case the release makes sense. Otherwise not. |
Confused... wrong plugin. release makes no sense here. I'll add a commit. sorry for the mess. |
Dropped release part, pushed. Now building. |
Just to clarify: The release part is used when for example Rick forks oesenc, adds a patch or two and publish. In this situation he cannot change the upstream version (i. e., your version), but still needs to differentiate his patched version. So, it's basically a corner-case loophole, not often used. |
Dave, Is this going to affect the VDR_pi and Squiddio_pi plugins? I wonder if the same thing is true for my version of squiddio? Mauro is still working on a new release with NDBC bouys and perhaps Ship's notices.... |
When I look into https://raw.githubusercontent.com/rgleason/plugins/rg-alpha/ocpn-plugins.xml, I see for example the following filenames as the last part of a tarball-url
Both of these are perfectly fine, they match the spec at https://github.com/leamas/opencpn/wiki/Tarballs#tarball-names. In particular, the filenames contains the version. This issue is about oesenc_pi omitting the version in the filename, causing troubles as described in the top commit at #79 (comment) |
Thanks, good. Also I realized that although the Cloudsmith uploaded metadata and tarballs have "VDR" and "vdr" in the filenames, that is is not what is used for the "CommonName". It is in the metadata you linked to, and that is all "VDR" as below, which is correct. Thanks.
|
This is unrelated to this issue but you do have a point here. Since some tooling determines the plugin name from the filename it must match, also case-wise. I will look into enhancing the check-metadata-urls tool to check also that the filename in the url complies with the spec. |
@bdbcat: Please don't merge. I need to review this in light of Rick's comments |
Hrmpf. I did get some things right, but not this. This is last-minute fix for a basic issue: the two names floating around for most plugins, like oesenc_pi (package name?) and oeSENC (plugin name as of My initial attempt was to normalize all plugin names to use lowercase letters. However, we abandoned this, and I didn't see all the consequences. My last commit in #80 (5fbfdb8634f) should clear things up w r t oesenc. However, this has some impact on all plugins. I'll try to update the check-metadata-urls tool as a first step, but my time is limited. That said, I think this is now ready to merge |
Not to be difficult... So, as a plugin author, I ask rhetorically:
Let us remember that all the plugin tooling is just that: tooling. If a plugin author wants to build a plugin by hand, we should not care what the name is, as long as the metadata is correct, and the URL points to a legitimate tarball, hosted at the author's choice of cloud or private storage. |
For plugin developers, many who are not that familiar with Cmake, it would be very good to have a PI Manager "Frontend #1" based upon oesenc_pi, that is working well, and documented clearly. Part this requirement is making it clear what the CommonName is and what variable it goes into such that the result is a proper metadata.xml (verified). Confirming these details will help ensure that plugin Devs will migrate. |
CommonName has nothing to do with the title of this patch, and the issue at hand. Also, let us not dance around the reallty. |
Ok |
Good questions are never difficult in that sense ;)
The arguments are lined up in the top comment: #79 (comment)
A consistent naming scheme makes things easier for tools and deployment, and creates less cloudsmith lock-in. ocpn-install (in plugins), the off-line installer, will fail if it cannot parse the plugin name and version from filename. |
"ocpn-install (in plugins), the off-line installer, will fail if it cannot parse the plugin name and version from filename." |
For me, the overall difficulties storing files with same name but different version is quite a reason. That said, when running ocpn-install the metadata is typacally not available. The alternative to parse the filename would be to ask for it, interactive or as an option. Neither seems that attractive. |
Needed some sleep on this. Conclusions: You are right about the naming and ocpn-install. It's better to parse the metadata which is available in any usecase involving this tool. However, it's still problematic not having the version as part of the filename. It will make things complicated for most scenarios where these tarballs should be stored besides cloudsmith. Simply put, having two versions with the same filename will create collisions and confusion. One example on this is the current cache implementation, which will happily use any version of oesenc cached when requested even though the request is for a specific version. As of now, this is not a problem with for example Rick's plugins; the cache logic is sound. Note that this is just one example exposing the general problem of not encoding the version in the filename. @bdbcat: thoughts? |
Leamas |
OK. Please hold until I clean up the PR, I'm in another rathole... |
Cleaned up the PR. Assumptions:
Late commits concerned with the (common) name part are dropped. |
There are some reasons to include the version in the tarball
filename:
Without version. it's not possible to store different version
in a common namespace. While cloudsmith doesn't, most other
usage scenarios will suffer from this.
Tools like ocpn-install.sh figures out version from the filename, and will fail
without it.
FWIW, the tarball name is defined at
https://github.com/leamas/opencpn/wiki/Tarballs#tarball-names
The text was updated successfully, but these errors were encountered: