Changes between Initial Version and Version 1 of Ticket #3859, comment 11


Ignore:
Timestamp:
Oct 6, 2017, 1:15:32 PM (7 years ago)
Author:
robe

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #3859, comment 11

    initial v1  
    1 It wouldn't be possible to do that for debian packages, they'd still package the thing as postgis and still drag or not drag in those dependencies.  Because otherwise the two packages would be in conflict.
     1It is messy for debian packages to do that because then they'd have to build the full postgis and then break apart into a postgis raster piece and postgis piece to accomplish what you describe.   Then again they seem to package the scripts separately anyway so maybe it wouldn't be that much trouble.  They'd still be free to do that with this approach and would just have to package the rtpostgis lib and full postgis---2.5.0 create scripts in the raster package and have raster depend on their postgis_core package.
     2
     3However as I mentioned to strk, I think what we call the VERSION "2.5.0" should still have raster in it because it breaks backward compatibility otherwise, what I propose doesn't break backward compatibility but gives more flexibility forward.
     4
     5What I am proposing is encoding the lack of raster in the version name which is the easiest thing to do.  I wanted to call this version "2.5.0less"  because it's not clear how much less it is than what we have.  If we go with proposing the --without-geos, less might be much less than core as a ton of our functions will be stubbed with error messages.
     6
     7So my proposition is as follows:
     8
     9--without-raster
     10
     11Perhaps --without-geos
     12
     13
     14would give you a postgis extension of version something like "2.5.0less" or "2.5.0lite"  or "2.5.0core" whatever we wish to call the thing and that would be the default for you and what you get when you run (the default is encoded in the postgis.control file)
     15
     16
     17{{{
     18CREATE EXTENSION postgis;
     19}}}
     20
     21
     22If you compile without specifying without-raster, you'd get what we get now, but the VERSION 2.5.0less script would still be created  for you to use.
     23
     24So a full version can explicitly ask for the lesser version
     25
     26
     27{{{
     28CREATE EXTENSION postgis VERSION "2.5.0less";
     29}}}
     30
     31And users who want to upgrade from the lesser to the full version can do so
     32Packagers if they do want to provide both options, can override the installed control file
     33so their postgis_core would have a postgis.control file that has "2.5.0less"
     34
     35and the full postgis  would overwrite the postgis.control file with "2.5.0"
     36
     37Having both you can explicitly ask for the lesser by
     38
     39{{{
     40ALTER EXTENSION postgis UPDATE "2.5.0less";
     41}}}
     42
     43Only thing is what to call this new version, less, lite, core come to mind.
     44
     45I've often wished GDAL was a true plug-in architecture that the libgdal only loaded the extra libs at runtime like it can do with proj, without explicitly embdedding the symbols of the lib in it.  I asked Even about that a while ago and he said it would be a ton of work so probably not doable.
     46GDAL itself is not that heavy.  I build with only a couple extra dependencies (Curl, SQLite, Expat, and OpenJPEG) and my GDAL 2.2.2 lib is only 13MB and each extra depen adds about 500kb to 1 MB each.