pi - Dashboard

This is the Bug Report, Feature Request and Patch tracker for the Dashboard plugin.
Tasklist

FS#725 - Nmea use the actively maintained system's copy of nmea0183/ instead of a local copy

Attached to Project: pi - Dashboard
Opened by Hamish B (HamishB) - Sunday, 29 January 2012, 21:56 GMT-7
Last edited by Rick Gleason (rgleason) - Sunday, 08 September 2013, 09:16 GMT-7
Task Type Bug Report
Category Backend / Core
Status Assigned
Assigned To Jean-Eudes Onfray (SethDart)
Operating System All
Severity Low
Priority Normal
Reported Version 1.0
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

Hi,

opencpn-2.5.0/plugins/dashboard_pi/src/ includes a copy of nmea0183/, but the copy is out of date and unmaintained as compared to the copy of the library in opencpn-2.5.0/src/nmea0183/.

the copy in plugins/demo_pi_sample/ is also out of sync but not quite as badly as the dashboard's one.

suggested patch:
<code>
rm -rf plugins/dashboard_pi/src/nmea0183/

-#include "nmea0183/nmea0183.h"
+#include "../../../src/nmea0183/nmea0183.h"
</code>


thanks,
Hamish
This task depends upon

Comment by Jean-Eudes Onfray (SethDart) - Monday, 30 January 2012, 00:48 GMT-7
It's requested as such by Dave. Plugins must be self-contained. (There's also a problem with sharing code between plugins and core while linking and running)

No plugin should require anything outside of its path (nothing but ../../../include/ocpn_plugin.h) You'll also notice that a few plugins are using tinyxml in their codebase, maybe other libs.

How can you tell it's out of date? It's not the same, for sure. The dashboard plugin haldle more nmea token than core OpenCPN. So the code base is different.
Comment by Hamish B (HamishB) - Monday, 30 January 2012, 20:16 GMT-7
> It's requested as such by Dave. Plugins must be self-contained.
> (There's also a problem with sharing code between plugins and
> core while linking and running)
>
> No plugin should require anything outside of its path (nothing
> but ../../../include/ocpn_plugin.h)

thanks for the info. can you point me to where that's documented?
(so I can add it to the justifications list in the proto-Debian
package)


> You'll also notice that a few plugins are using tinyxml in their
> codebase, maybe other libs.

I've already ripped out the embedded tinyxml, zlib, and bzip2 in
favour using of the system ones.


> How can you tell it's out of date? It's not the same, for sure.
> The dashboard plugin haldle more nmea token than core OpenCPN.
> So the code base is different.

Ok; I just ran `diff` on the two directories and saw ~500 lines of
change for the dashboard and ~80 lines of change for the sample_demo,
so bad assumption on my part.

Is there any reason that the dashboard's nmea improvements could or should
not be merged upstream to the main copy?


(particularly the short-staffed but under a lot of pressure debian security
team get rather upset if they have to fix the same bug in two places, so
embedded libraries are very, very unwelcome)


thanks,
Hamish

Loading...