[osgeo4w-dev] First Spin of OSGeo4W using Cygwin Setup

Frank Warmerdam warmerdam at pobox.com
Wed Feb 6 02:24:46 EST 2008


Folks,

I have a preliminary vaguely useful OSGeo4W prototype using the Cygwin
style setup operating.  You should be able to download and run:

   http://download.osgeo.org/osgeo4w/setup.exe

Take the default settings as you go through, and when you get to package
selection open the Meta group, and click on GDAL.  Then proceed with the
install.

You should get a cygwin icon on the desktop at the end, labelled "OSGeo4W".
If you run it, you get a shell where "gdalinfo.exe --version" should work
and report 1.5.0.

Things to note:

1) All the dependencies of GDAL are installed as part of the GDAL install.

2) Stuff is installed from the network, while setup.exe is fairly small.

3) The actual list of packages is a text file from:

    http://download.osgeo.org/osgeo4w/setup.ini

This file contains entries like:

@ gdal
sdesc: "The GDAL/OGR library and commandline tools"
ldesc: "The GDAL/OGR library and commandline tools"
category: Libs Commands Meta
requires: msvcrt tiff libjpeg libgeotiff proj hdf5 curl geos libmysql sqlite3 
netcdf libpq expat xerces-c
version: 1.5.0-1
install: ./release/gdal/gdal-1.5.0-1.tar.bz2 2014292 
20fb64e6edc42a772d1d2484fed2fd67
source: ./release/gdal/gdal-1.5.0-1-src.tar.bz2 4373 
c1e732df28a8f6fedae521d29c6a6aa2

The "category" line is used to establish this packages
places within the treelist of packages.

The requires" line is used to establish what other packages
are required.

The actual file to download is listed, along with size and an
md5 checksum.  It is just a normal .tar.bz2 file.  This .ini
file entry is actually prepared from a setup.hint file provided
by me as package uploader.  It looks like:

sdesc: "The GDAL/OGR library and commandline tools"
ldesc: "The GDAL/OGR library and commandline tools"
category: Libs Commands Meta
requires: msvcrt tiff libjpeg libgeotiff proj hdf5 curl geos libmysql sqlite3 
netcdf libpq expat xerces-c

Note that the list of files, checksums, and version(s) are automatically
collected.  This basically is just stuff sitting on the disk looking like:

   http://download.osgeo.org/osgeo4w/release/gdal/

There would be a variety of work to do streamlining the actual setup.exe
program and completing rebranding for OSGeo.  And of course lots and lots
more stuff would need to be packaged (currently I have done MapServer, GDAL
and a bunch of supporting packages).

I haven't really explored post-install scripts which will be required for
more complex packages - for instance, installing apache as a service.

I have established some unix like conventions for layout of the directory
tree after install:

  osgeo4w\bin - .exe and .dll files
  osgeo4w\share\gdal - supporting data files.
  osgeo4w\share\proj
  osgeo4w\lib - stub libraries for dlls for development
  osgeo4w\include - include files for development.

I have mostly moved to including development support stuff in packages
instead of trying to factor them out with the exception of xerces-c where
I was too lazy to try and sort out the minimum needed and the include dev
portion ended up being huge.  So I made xerces-c-devel a distinct package.

But, with this devel stuff it is easy to install all the "stuff"
you need to build higher level packages like GDAL, and MapServer.

I'd like to thank Howard for buildkit, from which I derived quite a few
of the library packages.

So, where from here?

I've spoken to Tisham Dhar (what_nick) who is doing win32 qgis packaging.
Currently including QGIS in the tree is somewhat complicated by the fact
that QGIS uses MSYS for builds instead of visual studio.  This isn't a
problem at the C API level, but the compilers (gcc and vc) are incompatible
at the C++ level, and unfortunately QGIS uses the GDAL C++ API.

I imagine there will be some challenges packaging OSSIM because of the qt
dependency, but I think that is a logic effort to try now.

Obviously there is lots of work around Apache and the MS4W web packages.

I'd like to see GRASS but I'm a bit unclear what GRASS does for a shell
on windows.

If we decide not to use the Cygwin setup, we should be able to use
the same .tar.bz packages for other mechanisms (NSIS, MSI from WiX)
though some details will change of course.

I'm pumped! Lets make a plan and try to get some sort of
"OSGeo4W Alpha" out in the next month or two!

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | President OSGeo, http://osgeo.org



More information about the osgeo4w-dev mailing list