openplotter/openplotter-settings

oernc / oesenc

aw-bib opened this issue · 7 comments

There seems to be some confusion in sources and the two plugins required for o-charts.

Once openplotter-settings added the necessary sources the following packages become available:

  • opencpn-plugin-oernc
  • opencpn-plugin-oesenc
  • libsglock
  • oernc-pi
  • oesenc-pi
  • opencpn-sglock-amd64

oernc-pi, oesenc-pi and opencpn-sglock-amd64 are drawn from LP-PPA-opencpn-opencpn-bionic and the former two require the latter one.

opencpn-plugin-oernc, opencpn-plugin-oesenc and libsglock come from free-x.de where the former two requite the latter one.

It is not really clear which plugins should be installed or if they are just dupes with different names. (opencpn-plugin-* at least seems nearer the other stuff than *-pi, however it seems OpenPlotter settings go for the last option.)

Note further that one could tell the package manager to install either set, but if libsglock is installed for some reason, and one opts for oesenc-pi one ends up with an error that the required package opencpn-sglock-amd64 is trying to overwrite a file that is provided by another package and one ends up with a brocken package.

Similar requests for upgrade/downgrade also happen for opencpn itself, which is also provided by more than one source.

Found on Debian 10, using OpenPlotter Settings 2.2 trying to replicate the setup of a raspberry pi 4 running OpenPlotter 2.2 as well.

isRelatedTo: #1

opencpn-plugin-oernc and opencpn-plugin-oesenc are completely wrong and should not be anywhere.
Those names was an old mistake of OpenCPN maintainers naming the packages. Official packages are oernc-pi, oesenc-pi.

@free-x
The problem here is that we use free-x.de repository because there is a working and maintained version of XyGrib for raspberry but there are also other packages like opencpn or opencpn plugins that repo owners use to test or develop.

This is why we use Debian preferences to give priority to PPA repos: https://github.com/openplotter/openplotter-settings/blob/master/openplotterSettings/data/sources/99openplotter
The problem here is that opencpn-plugin-oernc and opencpn-plugin-oesenc only exist in free-x.de repo and they will have always preference and will be installed if anyone tries that. The easy solution is removing them if possible because they are obsolete.

moin,

i found that my name schema for these packages is much more clearer.
you can of course ban my packages

Package: opencpn-plugin-oe*
Pin-Priority: : -1

packages like opencpn or opencpn plugins that repo owners use to test or develop.

It's production ready packages.
I do not find it kosher to use ubuntu packages under debian. Because of different compilers, libraries, etc

Hi free-x, thanks for answering.

I though you were using those old names created by mistake. You are or course free to rename any package but if you have plans to distribute publicly those packages changing the name of official packages is not a good idea.

OpenCPN has been using Ubuntu PPA repos in Debian for long time without problems. But this is going to change soon. OpenCPN will become an official Debian package soon and plugins will be managed directly by OpenCPN so PPA will be progressively deserted:

OpenCPN/OpenCPN#1729

oernc-pi and oesenc-pi will be the first ones to be migrated to the new plugin management system where no repos will be involved, so even oernc-pi and oesenc-pi will become obsolete soon.

@sailoog thanks for clearing up this naming issue.

I have to admit, however, that I agree with @free-x wrt the naming. Indeed his package names are a lot clearer which is the reason why I ran into this issue in the first place. *-pi sounds a lot like for raspberry pi only which could not be as it's the amd64 repo etc. OTOH the free-x packges sort so neatly into opencpn.

OTHO I perfectly agree with @sailoog that renaming official packages is probably not the best of ideas. So if there is something official I'd suggest to stick to it.

@sailoog I like the idea of OpenCPN to become a real package in Debian. IMHO that's great news. I also admit that I really hate adding unofficial sources at all. I tend to leave this to the Ubuntu-people.

So becoming an offical part of debian will sort out quite a few issues I had in the past as Debian is not Ubuntu. Playing with OpenCPN for a while now on Debian (needless to say: stable) I got used to some strange issues to happen, broken packages popping up of nowhere an update that is not possible anymore as some libs changed, and quite a bit of clean up work. Basically, I still treat OpenCPN a bit like don't touch and even strongly considered moving it to some virtual box till it becomes stable on this front. Of course I could start to compile from source, which I do with some other tools, but due to the plugins required this seems to be a major endeavour.

However, I also admit I do not really like the circumvention of the package management you suggest by "we invent our own thing" that much. Note that using the package management can save quite a few clicks in the OpenPlotter setup GUI. Don't get me wrong: it is nice if you're new and don't know your way around and/or you don't know a thing about Linux. It really helped me to sort out all this raspberry pi black magic (that actually doesn't exist if you know Linux a bit ;) And adding the proper sources I can probably drop compiling xygrib.

So, IMHO apt update; apt upgrade together with apt install is so nice a feature, really no need to reinvent. I'd really like to update, especially the little one, that way instead of dd some images every other week. Hope, that this stays however you handle plugins. :)

I agree with both of you, opencpn-plugin-xxx is obviously the correct way but we realized this when it was too late and the xxx-pi had spread too much. We were forced to keep xxx-pi name or people would never update their installed versions, you know the apt update stuff... :)

Fortunately this will stop being important because both formats will disappear soon. Having OpenCPN as official debian package makes a plugin managed system mandatory because plugins developers will not become debian packages maintainers at all but especially because a centralized and managed plugin system will make possible sharing plugins with other linux distributions and platforms. Do not forget that maintaining a multi-platform software is a pain (all linux distributions and flavors, Windows, Mac and Android).

I think we also need the openplotter-opencpn-installer to make life easier to linux newbies, as you pointed, and to have a flexible system to integrate easily big changes like the future opencpn plugin managing system and correct mistakes like this opencpn-plugin-xxx/xxx-pi issue.

apt stuff will be always there for advanced users or brave newbies ;)

Fortunately this will stop being important because both formats will disappear soon. Having OpenCPN as official debian package makes a plugin managed system mandatory because plugins developers will not become debian packages maintainers at all but especially because a centralized and managed plugin system will make possible sharing plugins with other linux distributions and platforms. Do not forget that maintaining a multi-platform software is a pain

when i first read about "managed" plugins, my first wish was to call "Haleluja". But after that I realized what consequences this could have. The package management of distribution is being completely overridden. All the security mechanisms are overridden.
Maybe I'm exaggerating, but this is how a horror scenario looks for me: The binaries like oeserverd are simply installed by non-privileged users into a subdirectory of user and are started from plugin ( classic backdoor ).

Closed by #4
thanks @free-x !!!