mauroc / squiddio_pi

squiddio_pi
3 stars 13 forks source link

Deployment: wrong name on NSIS package #82

Closed rgleason closed 4 years ago

rgleason commented 4 years ago

https://ci.appveyor.com/project/mauroc/squiddio-pi/builds/28296948

To conform to the current naming conventions. It should be
squiddio_pi-1.0.17.1_ov50_msvc-10.0.14393.exe or squiddio_pi-1.0.17.1_ov50_win32_10.0.14393.exe

rgleason commented 4 years ago

Plugin File Name Format From the Developer Manual

lib [PluginName] [OSdesignation]_pi [Plugin-API]_v [VersionNumber]_pi.dll eg: lib_aisradar_win32_pi18_v32_pi.dll eg: lib_aisradar_win32_pi.dll (Simpler version) eg: lib_aisradar_win32_pi18_v32_pi.exe (as an executable)

lib is the designation for a released plugin. Beta Versions of plugins will not have the [LIB] prefix.
PluginName is the name of the plugin.
OSdesignation is Operating system designation “win32” or “win64”, etc.
Plugin-API is the Plugin API number required by this PlugIn “18”, 19“, “10”, etc. which also 
     equates to designated main OCPN program API numbers. See chart below.
VersionNumber is the private version number of the Plugin itself, controlled by the Plugin developer.
.dll Means that the plugin is a Windows version of the plugin, probably compiled using MSVC

Since Opencpn 5.0, we have been using "ov50" in lieu of the Plugin API, however the plugin file really should have the pi designation. Using the "lib" designation at the front for a released plugin would be good too, but has not been practiced.

I think you should have the Plugin API number and "win32" instead of the more generic "msvc" in the file name if it is used for manual deployment.

rgleason commented 4 years ago

Why not use the same repository for both squiddio-stable (release) and squiddio-manual (current system), provided the name conventions are reasonably followed? IE add the Plugin API number and "win32" instead of "msvc" for the .exe file?

Strictly following the format for release: lib_squiddio_pi116_win32_1.0.17.1_pi.exe something similar with the added identifier 10.0.14393 would be more useful for manual identification. Substituting "pi116" with "ov50" would be even more useful.

leamas commented 4 years ago

IE add the Plugin API number

seems sane

and "win32" instead of "msvc" for the .exe file?

Doesn't seem sane. We have mingw builds in the air. Those are also win32 but incompatible. The formally correct form would be ...msvc-win32 (or ...mingw-win32) but hey...

leamas commented 4 years ago

Which would leave us with a filename like

squiddio_pi-1.0.17.1-pi116-msvc-win32-10.0.14393.exe

It's a bit clumsy, but complete. Thoughts?

EDIT: underscores -> hyphens

EDIT: The alternative would be a simple filename like squiddio_pi-1.0.17.1.exe augmented by a README in the download directory. I would say this is a more common way to handle it.

rgleason commented 4 years ago

Alec, we are still talking about this file being installed manually? If so,

squiddio_1.0.17.1_pi116_win32_pi

should work. Users will at least be able to look up manually which versions of Opencpn will work with it. However it would be much better if it was

squiddio_1.0.17.1_ov50_win32_pi

Then the users will know that is the minimum opencpn version that can be used. This is the way we have been doing it and is the way I think we should do it.

The tar and tz files that are installed via the Plugin Installer can certainly be the format you are using, (IMHO)

rgleason commented 4 years ago

Should I close this now?

leamas commented 4 years ago

Alec, we are still talking about this file being installed manually?

yes

If so, squiddio_1.0.17.1_pi116_win32_pi should work

No, it won't. Problem is that there might be a mingw build as well, so we need either mingw or msvc to be present. That's actually the only hard requirement, since these two exe files are indeed different files not to be intermixed.

The rest is just extra information encoded in the filename. If it should be there it should IMHO be consistent and show the api version rather than opencpn's. There has been (and probably will be) minor updates which does not change the api version. The problem is that users have no way to check their api version, but there is already a PR at opencpn for that.

Which leaves us with two options: squiddio_pi_1.0.17.1_pi116_msvc_win32.exe or squiddio_pi_1.0.17.1_pi116_msvc.exe. Also note that most projects uses hyphens rather than underscores to delimit versions parts which would boil down to squiddio_pi-1.0.17.1-pi116-msvc.exe or so.

Moving the _pi suffix the the end makes absolutely no sense. The name of the plugin is squiddio_pi, nothing else, and should not be changed by meddlesome deployment code.

rgleason commented 4 years ago

Alec, I understand the mingw issue but is that going to be manually installed too?

Opencpn is currently win32 only. There are users now asking why not x64?

So in the future how to distinguish this? Also I see no reason to change from "win32" which we have been using for years and users are familiar with. Maybe it needs to be msvc-win32?

It dont think changing to hypens is a problem.

leamas commented 4 years ago

So, we could agree on squiddio_pi-1.0.17.1-pi116-msvc-win32.exe ?

rgleason commented 4 years ago

Yes!

leamas commented 4 years ago

OK, case closed, sort of.

Let's leave bug open until it's implemented.

Perhaps you should change the title to "deployment: wrong name on NSIS package" or something similar.

rgleason commented 4 years ago

Do you want it closed now?

leamas commented 4 years ago

No, as I said: let's wait until it is implemented.

Now, if we could find a similar agreement on the open issues in #71 we could move on. Until then, we are blocked...

rgleason commented 4 years ago

Well it is now squiddio_pi-1.0.18.6_msvc-10.0.14393.exe with no pi116 or win32

leamas commented 4 years ago

Right, I havn't really looked into this yet. Stay tuned.

rgleason commented 4 years ago

Closing. Thank you!