[packages/ogdi] - added proj480 patch (based on RH bugzilla) to adapt to proj_api.h as found in proj 4.8.0 - list mo

qboosh qboosh at pld-linux.org
Sat Sep 29 15:53:45 CEST 2012


commit 084821327aaefd0b5ceb58900855418c3534b330
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Sep 29 15:54:59 2012 +0200

    - added proj480 patch (based on RH bugzilla) to adapt to proj_api.h as found in proj 4.8.0
    - list modules explicitly to avoid duplication
    - release 5

 ogdi-proj480.patch | 256 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 ogdi.spec          |  26 ++++--
 2 files changed, 275 insertions(+), 7 deletions(-)
---
diff --git a/ogdi.spec b/ogdi.spec
index 9dccd65..e13eb80 100644
--- a/ogdi.spec
+++ b/ogdi.spec
@@ -8,18 +8,19 @@ Summary:	Open Geographic Datastore Interface
 Summary(pl.UTF-8):	OGDI - otwarty interfejs do danych geograficznych
 Name:		ogdi
 Version:	3.1.6
-Release:	4
+Release:	5
 License:	BSD-like
-Group:		Applications
-Source0:	http://dl.sourceforge.net/ogdi/%{name}-%{version}.tar.gz
+Group:		Applications/Databases
+Source0:	http://downloads.sourceforge.net/ogdi/%{name}-%{version}.tar.gz
 # Source0-md5:	212ad71896aa70528ed139c95bed6511
 Source1:	http://ogdi.sourceforge.net/ogdi.pdf
 # Source1-md5:	029a8cdcd36bee73df92196ee769040e
 Patch0:		%{name}-pic.patch
+Patch1:		%{name}-proj480.patch
 URL:		http://ogdi.sourceforge.net/
 BuildRequires:	autoconf
 BuildRequires:	expat-devel
-BuildRequires:	proj-devel
+BuildRequires:	proj-devel >= 4.8
 %{?with_tcl:BuildRequires:	tcl-devel}
 %{?with_odbc:BuildRequires:	unixODBC-devel}
 BuildRequires:	zlib-devel
@@ -49,7 +50,7 @@ Summary:	OGDI header files and documentation
 Summary(pl.UTF-8):	Pliki nagłówkowe i dokumentacja OGDI
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
-Requires:	proj-devel
+Requires:	proj-devel >= 4.8
 
 %description devel
 OGDI header files and developer's documentation.
@@ -84,6 +85,7 @@ Interfejs Tcl do OGDI.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 cp -f %{SOURCE1} .
 
@@ -148,14 +150,24 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/gltpd
 %attr(755,root,root) %{_bindir}/ogdi_*
 %attr(755,root,root) %{_libdir}/libogdi.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libogdi.so.3
 %dir %{_libdir}/ogdi
-%attr(755,root,root) %{_libdir}/ogdi/lib[!l]*.so
+%attr(755,root,root) %{_libdir}/ogdi/libadrg.so
+%attr(755,root,root) %{_libdir}/ogdi/libdtcanada.so
+%attr(755,root,root) %{_libdir}/ogdi/libdted.so
+%attr(755,root,root) %{_libdir}/ogdi/libdtusa.so
+%attr(755,root,root) %{_libdir}/ogdi/libgdal.so
+%attr(755,root,root) %{_libdir}/ogdi/libremote.so
+%attr(755,root,root) %{_libdir}/ogdi/librpf.so
+%attr(755,root,root) %{_libdir}/ogdi/libskeleton.so
+%attr(755,root,root) %{_libdir}/ogdi/libvrf.so
 
 %files devel
 %defattr(644,root,root,755)
 %doc ogdi.pdf
 %attr(755,root,root) %{_libdir}/libogdi.so
-%{_includedir}/*.h
+%{_includedir}/ecs.h
+%{_includedir}/ecs_util.h
 
 %if %{with odbc}
 %files odbc
diff --git a/ogdi-proj480.patch b/ogdi-proj480.patch
new file mode 100644
index 0000000..389b1bf
--- /dev/null
+++ b/ogdi-proj480.patch
@@ -0,0 +1,256 @@
+Index: ogdi-dfsg/configure.in
+===================================================================
+--- ogdi-dfsg.orig/configure.in
++++ ogdi-dfsg/configure.in
+@@ -81,13 +81,13 @@
+ if test "$with_proj" = "yes" ; then
+ 
+   AC_CHECK_LIB(proj,pj_init,PROJ_SETTING=external,PROJ_SETTING=missing,)
+-  AC_CHECK_HEADERS(projects.h)
++  AC_CHECK_HEADERS(proj_api.h)
+ 
+   if test $PROJ_SETTING = missing ; then
+     AC_MSG_ERROR([Unable to find external PROJ.4 library, give path or use default internal library.])
+   fi
+   if test "$ac_cv_header_projects_h" = no ; then
+-    AC_MSG_ERROR([Unable to find external PROJ.4 projects.h file, give path or use default internal library.])
++    AC_MSG_ERROR([Unable to find external PROJ.4 proj_api.h file, give path or use default internal library.])
+   fi
+ 
+   PROJ_SETTING=external
+@@ -95,11 +95,11 @@
+ 
+ elif test "$with_proj" != "no" -a "$with_proj" != "" ; then
+   
+-  if test -r $with_proj/include/projects.h ; then
+-    echo "checking for $with_proj/include/projects.h ... found"
++  if test -r $with_proj/include/projapi.h ; then
++    echo "checking for $with_proj/include/proj_api.h ... found"
+     PROJ_INCLUDE=-I$with_proj/include
+   else
+-    AC_MSG_ERROR([Unable to find $with_proj/include/projects.h])
++    AC_MSG_ERROR([Unable to find $with_proj/include/proj_api.h])
+   fi
+ 
+   if test -r $with_proj/lib/libproj.so ; then
+Index: ogdi-dfsg/ogdi/c-api/client.c
+===================================================================
+--- ogdi-dfsg.orig/ogdi/c-api/client.c
++++ ogdi-dfsg/ogdi/c-api/client.c
+@@ -1576,7 +1576,7 @@
+   char *error_message;
+   ecs_CtlPoints *cpts;
+   ecs_Result *res;
+-  PJ *tempproj;
++  projPJ tempproj;
+ 
+   if (multiblock != 0) {
+     res = &cln_dummy_result;
+@@ -1598,7 +1598,7 @@
+   /* Check if the projection is valid */
+ 
+   if (strncmp(projection,PROJ_LONGLAT,13) != 0) {
+-    tempproj = (PJ *) cln_ProjInit(projection);
++    tempproj = (projPJ) cln_ProjInit(projection);
+     if(tempproj == NULL) {
+       res = &cln_dummy_result;
+       ecs_SetError(res,1,"This projection string is invalid");
+@@ -1775,7 +1775,7 @@
+   ecs_Result *res;
+   register ecs_Client *cln;
+   char *server_proj;
+-  PJ *oldtarget,*oldsource;
++  projPJ oldtarget,oldsource;
+   ecs_Region oldreg;
+   int oldisprojequal;
+   int oldisTargetLL;
+@@ -1874,7 +1874,7 @@
+ 
+   if (strncmp(projection,PROJ_LONGLAT,13) != 0) {
+     cln->isTargetLL = FALSE;
+-    cln->target = (PJ *) cln_ProjInit(projection);
++    cln->target = (projPJ) cln_ProjInit(projection);
+     if(cln->target == NULL) {
+       goto setprojerror;
+     }
+@@ -1920,7 +1920,7 @@
+ 
+   if (strncmp(server_proj,PROJ_LONGLAT,13) != 0) {
+     cln->isSourceLL = FALSE;
+-    cln->source = (PJ *) cln_ProjInit(server_proj);
++    cln->source = (projPJ) cln_ProjInit(server_proj);
+     if(cln->source == NULL) {
+       goto setprojerror;
+     }
+@@ -2328,13 +2328,13 @@
+  *	char *d: Projection name
+  *
+  *  OUT
+- *	return PJ *: New projection structure. If NULL, the operation
++ *	return projPJ: New projection structure. If NULL, the operation
+  *	is a failure.
+  *
+  *----------------------------------------------------------------------
+  */
+ 
+-PJ *cln_ProjInit(d)
++projPJ cln_ProjInit(d)
+      char *d;
+ {
+   int i,n;
+@@ -2343,7 +2343,7 @@
+   char *l;
+   int longueur;
+   char *c;
+-  PJ *retour;
++  projPJ retour;
+   
+   if ((c = (char *) malloc(strlen(d)+3)) == NULL) {
+     return NULL;
+@@ -2378,7 +2378,7 @@
+     n++;
+   }
+ 
+-  retour = (PJ *) pj_init(n, (char **) tableau);
++  retour = (projPJ) pj_init(n, (char **) tableau);
+   free(c);
+   free(tableau);
+ 
+Index: ogdi-dfsg/ogdi/c-api/ecsgeo.c
+===================================================================
+--- ogdi-dfsg.orig/ogdi/c-api/ecsgeo.c
++++ ogdi-dfsg/ogdi/c-api/ecsgeo.c
+@@ -310,7 +310,7 @@
+      char *projection;
+      double X1,Y1,X2,Y2;
+ {
+-  PJ *proj;
++  projPJ proj;
+   char **argv;
+   int argc;
+   double lon1,lat1,lon2,lat2;
+Index: ogdi-dfsg/ogdi/datum_driver/usa/dtusa.c
+===================================================================
+--- ogdi-dfsg.orig/ogdi/datum_driver/usa/dtusa.c
++++ ogdi-dfsg/ogdi/datum_driver/usa/dtusa.c
+@@ -26,7 +26,12 @@
+   ********************************************************************/
+ 
+ #include "ecs.h"
+-#include "projects.h"
++#include "proj_api.h"
++
++/* Definition from Proj.4 */
++projUV nad_cvt(projUV, int, struct CTABLE *);
++struct CTABLE *nad_init(projCtx ctx, char *);
++void nad_free(struct CTABLE *);
+ 
+ typedef struct {
+   struct CTABLE *dtptr;
+@@ -124,7 +129,7 @@
+     strcat(pathfile,"/");  
+     strcat(pathfile,table);  
+ 
+-    ptr->dtptr = nad_init(pathfile);
++    ptr->dtptr = nad_init(pj_get_default_ctx(), pathfile);
+     if (ptr->dtptr == NULL) {
+       ptr->count--;
+       return FALSE;
+Index: ogdi-dfsg/ogdi/include/ecs_util.h
+===================================================================
+--- ogdi-dfsg.orig/ogdi/include/ecs_util.h
++++ ogdi-dfsg/ogdi/include/ecs_util.h
+@@ -105,12 +105,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ 
+-#include "projects.h"
+-
+-/* Ensure we are compatible with PROJ.4.4.x and PROJ.4.3.x */
+-#ifndef USE_PROJUV
+-#  define projUV UV
+-#endif
++#include "proj_api.h"
+ 
+ #include "ecs.h"
+ 
+@@ -1054,8 +1049,8 @@
+      ecs_Family currentSelectionFamily: Current layer selection type
+      char *tclprocname: attribute callback procedure for tcl
+      char *target_proj: Projection descriptor
+-     PJ *target: target (c interface) projection descriptors
+-     PJ *source: source (driver) projection descriptors
++     projPJ target: target (c interface) projection descriptors
++     projPJ source: source (driver) projection descriptors
+      ecs_Datum targetdatum: target datum information
+      ecs_Datum sourcedatum: source datum information
+      void *dthandle: Handle to the datum driver
+@@ -1092,8 +1088,8 @@
+   ecs_Family currentSelectionFamily; /* Current layer selection type */
+   char *tclprocname;      /* attribute callback procedure for tcl */
+   char *target_proj;
+-  PJ *target;             /* source and target projection descriptors */
+-  PJ *source;
++  projPJ target;             /* source and target projection descriptors */
++  projPJ source;
+   int isSourceLL;         /* flags to avoid unnecessary computation */
+   int isTargetLL;
+   int isProjEqual;
+@@ -1165,7 +1161,7 @@
+ 
+ /* Projection conversion functions */
+ 
+-PJ *cln_ProjInit                     _ANSI_ARGS_((char *d));
++projPJ cln_ProjInit                     _ANSI_ARGS_((char *d));
+ int cln_CompareProjections           _ANSI_ARGS_((int ClientID));
+ int cln_UpdateMaxRegion              _ANSI_ARGS_((int ClientID, double x, double y, ecs_Region *gr, int sens, int first));
+ int cln_ConvRegion                   _ANSI_ARGS_((int ClientID, ecs_Region *gr, int sens));
+Index: ogdi-dfsg/contrib/ogdi_import/ogdi_import.c
+===================================================================
+--- ogdi-dfsg.orig/contrib/ogdi_import/ogdi_import.c
++++ ogdi-dfsg/contrib/ogdi_import/ogdi_import.c
+@@ -63,12 +63,7 @@
+ #include "ecs.h"
+ #include "shapefil.h"
+ #include <assert.h>
+-#include "projects.h"
+-
+-#ifndef PJ_VERSION
+-#define projPJ PJ*
+-#define projUV UV
+-#endif
++#include "proj_api.h"
+ 
+ static int	ClientID = -1;
+ static int      bNoDict = FALSE;
+Index: ogdi-dfsg/contrib/ogdi_info/ogdi_info.c
+===================================================================
+--- ogdi-dfsg.orig/contrib/ogdi_info/ogdi_info.c
++++ ogdi-dfsg/contrib/ogdi_info/ogdi_info.c
+@@ -63,7 +63,7 @@
+  */
+ 
+ #include "ecs.h"
+-#include "projects.h"
++#include "proj_api.h"
+ 
+ static int	ClientID = -1;
+ static int      bNoDict = FALSE;
+@@ -214,7 +214,7 @@
+ /*                          DumpGlobalRegion()                          */
+ /************************************************************************/
+ 
+-static int DumpGlobalRegion( ecs_Region * region, PJ * proj_defn )
++static int DumpGlobalRegion( ecs_Region * region, projPJ proj_defn )
+ 
+ {
+     ecs_Result	*result;
+@@ -398,7 +398,7 @@
+ 
+ {
+     ecs_Result *result;
+-    PJ	       *proj_defn = NULL;
++    projPJ     proj_defn = NULL;
+ 
+ /* -------------------------------------------------------------------- */
+ /*      Close old client if there is one active.                        */
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ogdi.git/commitdiff/084821327aaefd0b5ceb58900855418c3534b330



More information about the pld-cvs-commit mailing list