Modularized Packaging
As part of OpenCPN 3.3 beta series we implemented a modularized
packaging system allowing to produce packages with just the program or
bundle various levels of data (documentation, tide/current harmonics, 7
levels of GSHHS shorelines)
The contents of the generated package are governed by the parameters
passed to the cmake configure process:
Parameter Possible Values
BUNDLE_DOCS |
ON,OFF,[BLAH] |
BUNDLE_TCDATA |
ON,OFF,[BLAH] |
BUNDLE_GSHHS |
NONE,MIN,CRUDE,LOW,INTERMEDIATE,HIGH,FULL,[BLAH] |
Note: Just the crude GSHHS data are now contained in the code repository, to use the higher levels, get the whole dataset from opencpn-gshhs_2.2.4.orig.tar.xz (87mb)
cmake -DBUNDLE_DOCS=ON -DBUNDLE_TCDATA=ON -DBUNDLE_GSHHS=INTERMEDIATE ..
The modularized packaging makes biggest sense on platforms where a packaging system is provided, which so far means Linux. The plumbing to produce all the modularized packages for Ubuntu/Debian we make available through the Launchpad PPA lives at https://github.com/nohal/launchpad
Platforms without proper package management
On Windows and Mac we miss the packaging system Linux distributions have
and will have to implement our own way to download the selected modules.
Until it is done, the configure/build process is set to produce the
monolithic package by default.
Until we manage to implement the distribution of modularized packages on
these platforms and change this behavior, the (for example) minimal
package can still be built using
cmake -DBUNDLE_DOCS=BLAH -DBUNDLE_TCDATA=BLAH -DBUNDLE_GSHHS=BLAH ..
(The BLAH or similar value has to be used to circumvent cmake’s inability to distinguish between unset and set to FALSE variables easily)
+