1
0
forked from pool/mapserver

Accepting request 205644 from home:tzotsos:Application:Geo

upgrade to 6.4.0

OBS-URL: https://build.opensuse.org/request/show/205644
OBS-URL: https://build.opensuse.org/package/show/Application:Geo/mapserver?expand=0&rev=96
This commit is contained in:
Ismail Dönmez 2013-11-04 10:37:28 +00:00 committed by Git OBS Bridge
parent 5a8b8eddaa
commit ba48059a7c
6 changed files with 424 additions and 142 deletions

55
4791.patch Normal file
View File

@ -0,0 +1,55 @@
From c433652b0b205877e0d8eb921197dd35a46c6050 Mon Sep 17 00:00:00 2001
From: Thomas Bonfort <thomas.bonfort@gmail.com>
Date: Sun, 13 Oct 2013 13:08:48 +0200
Subject: [PATCH] try fixing lib install directory (#4789)
---
CMakeLists.txt | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 268e05d..c094c24 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,6 +6,8 @@ include(CheckLibraryExists)
include(CheckFunctionExists)
include(CheckIncludeFile)
include(CheckCSourceCompiles)
+include(GNUInstallDirs)
+
@@ -870,23 +872,23 @@ endif(WIN32)
#INSTALL(FILES mapserver-api.h ${PROJECT_BINARY_DIR}/mapserver-version.h DESTINATION include)
if(USE_ORACLE_PLUGIN)
- INSTALL(TARGETS msplugin_oracle DESTINATION lib)
+ INSTALL(TARGETS msplugin_oracle DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif(USE_ORACLE_PLUGIN)
if(USE_MSSQL2008)
- INSTALL(TARGETS msplugin_mssql2008 DESTINATION lib)
+ INSTALL(TARGETS msplugin_mssql2008 DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif(USE_MSSQL2008)
if(USE_SDE91)
- INSTALL(TARGETS msplugin_sde91 DESTINATION lib)
+ INSTALL(TARGETS msplugin_sde91 DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif(USE_SDE91)
if(USE_SDE92)
- INSTALL(TARGETS msplugin_sde92 DESTINATION lib)
+ INSTALL(TARGETS msplugin_sde92 DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif(USE_SDE92)
-INSTALL(TARGETS sortshp shptree shptreevis msencrypt legend scalebar tile4ms shptreetst shp2img mapserv mapserver RUNTIME DESTINATION bin LIBRARY DESTINATION lib)
+INSTALL(TARGETS sortshp shptree shptreevis msencrypt legend scalebar tile4ms shptreetst shp2img mapserv mapserver RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
if(BUILD_STATIC)
- INSTALL(TARGETS mapserver_static DESTINATION lib)
+ INSTALL(TARGETS mapserver_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif(BUILD_STATIC)
--
1.8.4

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:93eb52d659b58499939b609ac77f35dc8c862ca88db9e27de48476e9b766e392
size 2806026

3
mapserver-6.4.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f25553798fbd4eaf227bda66ebe44f40292ad7ec65f8bb1b3698580a518ca386
size 2097411

17
mapserver-rpmlintrc Normal file
View File

@ -0,0 +1,17 @@
# for the shared-lib-call-exit here the explanation
# <tbonfort> we're not really a library, so no problem here...
# <tbonfort> we exit on a failed malloc, which isn't really recoverable anyways
addFilter("mapserver.*: W: shared-lib-calls-exit*")
# All those binary are sort of mapserv
addFilter("W: no-manual-page-for-binary sortshp")
addFilter("W: no-manual-page-for-binary shptreetst")
addFilter("W: no-manual-page-for-binary shptreevis")
addFilter("W: no-manual-page-for-binary shp2img")
addFilter("W: no-manual-page-for-binary tile4ms")
addFilter("W: no-manual-page-for-binary shptree")
addFilter("W: no-manual-page-for-binary msencrypt")
addFilter("W: no-manual-page-for-binary mapserv")
addFilter("W: no-manual-page-for-binary scalebar")
addFilter("W: no-manual-page-for-binary legend")

View File

@ -1,7 +1,94 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Tue May 7 17:38:12 UTC 2013 - tzotsos@opensuse.org Sun Nov 3 15:28:44 UTC 2013 - tzotsos@opensuse.org
- Added OpenJPEG2 support - Some minor spec cleanup
-------------------------------------------------------------------
Sun Oct 13 14:33:33 UTC 2013 - bruno@ioda-net.ch
- Use patch commit 4791 for fixing cmake_install_lib
- split libmapserver to its own package
could be used by mapscript module alone
- add rpmlintrc with explanation for warning removal
- Review licence part, description
- Remove apache2-mod_php5 dependency which block usage on fcgid
fastcgi mode
- Rename all mapscript package to fix naming policy and clarify
what they are
- Added ruby mapscript package
- Make all DWITH extension visible in the spec to be sure about
which one are activated or not
-------------------------------------------------------------------
Sun Apr 21 22:31:20 UTC 2013 - tzotsos@opensuse.org
- Updated to v6.4.0 (see
http://mapserver.org/development/changelog/changelog-6-4.html#changelog-6-4-0
for a detailed description of the changes).
- Switched to CMake
-------------------------------------------------------------------
Sun Apr 21 22:31:20 UTC 2013 - tzotsos@opensuse.org
- Updated to v6.2.1
* Move #4577 fixes out of libmapserver (2013-04-18 10:55:23 +0200 - Thomas Bonfort)
* Exposed labelObj.text and labelObj.expression in PHP/MapScript (closes #4310) (2013-04-16 13:41:18 +0000 - Alan Boudreault)
* Fixed problems found in the mapfile.xsd while trying to convert current mapfiles into xmlmapfiles (2013-01-30 09:45:41 -0700 - Alex Wells)
* Ensure that msCopyLabel copies expression and text directives (2013-02-20 09:02:56 +0000 - Homme Zwaagstra)
* Updated submodule for #4633 (2013-04-12 18:56:44 +0200 - Thomas Bonfort)
* Update submodule for backported fix of #4633 (2013-04-12 18:32:53 +0200 - Thomas Bonfort)
* OGR WFS output: do not force null integer values to 0 (#4633) (2013-04-12 00:57:27 +0200 - Even Rouault)
* Fix for WMS requests with width and height of 1 (#4629) (2013-04-11 19:30:25 +0200 - Thomas Bonfort)
* Parse key value pairs sent in POST body (#4627) (2013-04-04 12:49:37 +0200 - Martin Kofahl)
* Add a script to run full test suite (build + test run) (2013-04-11 10:22:00 +0200 - Thomas Bonfort)
* update autotest submodule for #4625 and #4624 (2013-04-09 13:17:05 +0200 - Thomas Bonfort)
* Use ows_schemas_location for sld_capabilities ref (#4624) (2013-04-08 20:38:40 -0400 - Tom Kralidis)
* Update msautotests for #4622 (2013-04-08 11:56:34 +0200 - Thomas Bonfort)
* Dont entity-encode URLs used on attributes: libxml2 does this for us. Refs #4622 (2013-04-05 09:38:25 +0200 - ejn)
* Fix cgi label commands after multi-label changes (#4621) (2013-04-03 13:54:43 +0200 - Thomas Bonfort)
* Ignore additional encodings in received content-type headers (#4585) (2013-03-29 10:22:05 -0400 - Thomas Bonfort)
* Fix PHP building when GD is disabled. Closes #4550 (2013-03-28 16:53:07 -0400 - Thomas Bonfort)
* CAIRO renderer fails to render some truetype symbols (#4616) (2013-03-27 11:34:22 +0100 - szekerest)
* Fix mapfile writer to write SVG symbols (#4607) (2013-03-21 22:05:02 +0100 - szekerest)
* Fix issues with wms_layer_group printing (#4533) (2013-03-04 21:49:36 +0100 - szekerest)
* Write CLASS validation to mapfile (#4596) (2013-03-04 17:06:05 +0100 - Thomas Bonfort)
* Mark disabled layers as processed to prevent from being displayed in nested groups (#4533) (2013-03-03 19:25:25 +0100 - szekerest)
* Dont write GRATICULE connectiontype (#4165) (2013-02-28 10:20:24 +0100 - Thomas Bonfort)
* Add validation block to copy functions (#4596) (2013-02-27 17:39:39 +0100 - Thomas Bonfort)
* Fix for the segfault with WMS TIME patterns (#3795) (2013-02-22 23:08:36 +0100 - szekerest)
* Fix for the problem with filter when using WMS TIME parameters (#3795) (2013-02-22 21:51:13 +0100 - szekerest)
* Fix for the unsupported geometry type problem (#4591) (2013-02-21 19:38:30 +0100 - szekerest)
* #4528 : support for running mapscript tests without having to install core mapserver (2013-02-14 15:03:09 +0100 - Umberto Nicoletti)
* Fix rectObj/shapeObj draw function rendering when setting text property in mapscript (closes #4577) (2013-02-07 14:38:08 +0000 - Alan Boudreault)
* Fix rectObj->draw fails to render text in php/mapscript (#4577) (2013-02-06 20:57:59 +0000 - Alan Boudreault)
* Fix point->draw() fails when no LABEL defined (closes #4572) (2013-02-06 19:35:21 +0000 - Alan Boudreault)
* Modify msStyleSetGeomTransform to allow removing the transformation (#4580) (2013-02-03 22:13:08 +0100 - szekerest)
* Fix drawmode of rectObj->draw method in PHP/MapScript (2013-01-30 18:50:17 +0000 - Alan Boudreault)
* Modified mapfile.c for ticket #4568. (2013-01-22 12:29:02 -0600 - Steve Lime)
* Reapplied scaledenom fix (2013-01-10 15:52:18 +0000 - Alan Boudreault)
* Fix handling object ownership in msLoadMapFromString (#4551) (2013-01-05 18:43:39 +0100 - szekerest)
* Fix offset calculation for line legend icons (#2636) (2013-01-04 22:31:18 +0100 - szekerest)
* Fix symbolset initialization (#4556) (2013-01-02 22:37:35 +0100 - szekerest)
* Fix getCapabilities on maps with no layers (2012-12-18 20:39:40 +0000 - Jerome Villeneuve Larouche)
* msWMSGetCapabilities will not only check the MAP but every LAYERS. Fix for 4540 (2012-12-17 20:35:48 +0000 - Jerome Villeneuve Larouche)
* Dont try to project pixel coordinates (#4537) (2012-12-13 12:14:38 +0100 - Martin Kofahl)
* Improve __sync_sub_and_fetch detection #4231 (2012-12-12 17:39:58 +0100 - Umberto Nicoletti)
* Backported pull request #4532: fix for oracle paging bug #4417 (2012-12-12 17:03:21 +0100 - Umberto Nicoletti)
* Suffix php mapscript lib with version number (#4525) (2012-12-11 11:35:02 +0100 - Thomas Bonfort)
* Fix proj version check (#4526) (2012-12-11 10:57:03 +0100 - Thomas Bonfort)
* Fix order of wms <Style> element in capabilities (#4529) (2012-12-11 10:46:25 +0100 - Thomas Bonfort)
* Remove redundant call to msDebugInitFromEnv (#4522) (2012-11-12 11:16:46 +0000 - Homme Zwaagstra)
* Fix thread safety issue in msLoadMapFromString (#4523) (2012-11-13 15:45:09 +0000 - Homme Zwaagstra)
* Fix problems with STYLEITEM (#4534) (2012-12-09 21:19:14 +0100 - szekerest)
* Backport patch #4231 which was left behind due to a mis-git-undertanding (2012-11-28 20:43:25 +0100 - Umberto Nicoletti)
* Get rid of the warning on missing $excode (2012-11-17 13:55:06 +0100 - szekerest)
* Add C# typemaps for style pattern (2012-11-17 12:48:13 +0100 - szekerest)
-------------------------------------------------------------------
Fri Apr 19 10:30:52 UTC 2013 - tzotsos@opensuse.org
- Enabled openjpeg2 support since it is required from gdal-1.10
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Nov 14 15:29:11 UTC 2012 - tzotsos@opensuse.org Wed Nov 14 15:29:11 UTC 2012 - tzotsos@opensuse.org

View File

@ -1,51 +1,75 @@
#
# spec file for package mapserver 6.4 series
# this build respect python,java,perl,php package naming convention under
# openSUSE.
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2013 Ioda-Net Sàrl, Charmoille, Switzerland. Bruno Friedmann (tigerfoot)
# Copyright (c) 2013 Angelos Tzotsos (kalxas)
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the mapserver package itself (unless the
# license for the mapserver package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: mapserver Name: mapserver
%define fileversion 6.2.0 %define fileversion 6.4.0
Version: 6.2.0 %define libname libmapserver1
Version: 6.4.0
Release: 1 Release: 1
License: BSD License: MIT
Group: Productivity/Scientific/Other #see http://www.mapserver.org/copyright.html#license
Group: Productivity/Networking/Web/Servers
Source: %{name}-%{fileversion}.tar.gz Source: %{name}-%{fileversion}.tar.gz
Url: http://www.mapserver.org Url: http://www.mapserver.org
#wget https://github.com/mapserver/mapserver/pull/#PATCH.patch
# tbonfort fix lib in cmake_install
Patch0: 4791.patch
Summary: Environment for building spatially-enabled internet applications Summary: Environment for building spatially-enabled internet applications
Requires: php #@TODO : we should normally only require client & libs for database
Requires: postgresql Requires: postgresql >= 9.1
Requires: mysql Requires: mysql
Requires: FastCGI Requires: FastCGI
Requires: python
Requires: apache2 Requires: apache2
Requires: librsvg
Requires: fribidi
Requires: %{libname} = %{version}-%{release}
%if 0%{?suse_version} != 1010 %if 0%{?suse_version} != 1010
BuildRequires: xorg-x11-libXpm-devel BuildRequires: xorg-x11-libXpm-devel
%endif %endif
BuildRequires: rpm BuildRequires: rpm
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: chrpath
BuildRequires: autoconf
BuildRequires: cmake >= 2.4
BuildRequires: pam BuildRequires: pam
BuildRequires: pam-devel BuildRequires: pam-devel
BuildRequires: postgresql-devel BuildRequires: postgresql-devel >= 9.1
BuildRequires: libexpat-devel BuildRequires: libexpat-devel
BuildRequires: mysql-devel BuildRequires: mysql-devel
BuildRequires: giflib-devel BuildRequires: giflib-devel
BuildRequires: libgeos-devel BuildRequires: libgeos-devel
BuildRequires: libproj-devel BuildRequires: libproj-devel
BuildRequires: libgdal-devel BuildRequires: libgdal-devel >= 1.10
BuildRequires: openjpeg2-devel #BuildRequires: libjpeg8-devel I've normally use that one ?
BuildRequires: openjpeg2-devel
BuildRequires: readline-devel BuildRequires: readline-devel
BuildRequires: freetype2-devel BuildRequires: freetype2-devel
BuildRequires: FastCGI-devel BuildRequires: FastCGI-devel
BuildRequires: python-devel
BuildRequires: fribidi-devel BuildRequires: fribidi-devel
BuildRequires: cairo-devel BuildRequires: cairo-devel
BuildRequires: gd-devel >= 2.0.16 BuildRequires: gd-devel >= 2.0.16
%if 0%{?suse_version} >= 1030
BuildRequires: libcurl-devel
BuildRequires: php-devel
%else
BuildRequires: curl-devel
BuildRequires: php5-devel
%endif
%if 0%{?suse_version} >= 1120
BuildRequires: krb5-devel BuildRequires: krb5-devel
%endif
BuildRequires: zlib-devel BuildRequires: zlib-devel
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: libxslt-devel BuildRequires: libxslt-devel
@ -56,20 +80,9 @@ BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: swig BuildRequires: swig
BuildRequires: update-alternatives BuildRequires: update-alternatives
BuildRequires: apache2-devel BuildRequires: apache2-devel
%if 0%{?sles_version}
BuildRequires: java-devel <= 1.5
BuildRequires: java <= 1.5
%else
BuildRequires: java-devel >= 1.5
BuildRequires: java >= 1.5
%endif
%if 0%{?sles_version} == 10
%ifarch i586
BuildRequires: java-1_5_0-ibm-alsa
%endif
BuildRequires: krb5-devel BuildRequires: krb5-devel
%endif
BuildRequires: libgcj-devel BuildRequires: libgcj-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)") %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
@ -81,48 +94,104 @@ map images in real time. With appropriate interface pages,
Mapserver can provide an interactive internet map based on Mapserver can provide an interactive internet map based on
custom GIS data. custom GIS data.
%package -n php-mapserver %package -n %{libname}
Summary: PHP/Mapscript map making extensions to PHP Summary: Mapsserver library for mapserver or mapscript module
Group: Development/Languages Group: Development/Libraries/C and C++
Requires: php-gd
Requires: apache2
Requires: apache2-mod_php5
%description -n php-mapserver %description -n %{libname}
Mapserver library for mapserver or mapscript module. you need this lib to run mapserver
or any of the mapscript module (php, java, python, ruby)
# We don't require apache2_mod-php5 users could have php5 running
# with other modes (cgi, php-fpm etc)
%package -n php-mapscript
Summary: PHP/Mapscript map making extensions to PHP
Group: Development/Libraries/PHP
Requires: %{libname} = %{version}-%{release}
Requires: apache2
%if 0%{?sles_version} >= 11
BuildRequires: php53-devel
Requires: php53
Requires: php53-gd
%else
BuildRequires: php-devel
Requires: php
Requires: php-gd
%endif
Provides: php-mapserver = %{version}-%{release}
Obsoletes: php-mapserver < %{version}-%{release}
%description -n php-mapscript
The PHP/Mapscript extension provides full map customization capabilities within the PHP scripting language. The PHP/Mapscript extension provides full map customization capabilities within the PHP scripting language.
%package perl %package -n perl-mapscript
Summary: Perl/Mapscript map making extensions to Perl Summary: Perl/Mapscript map making extensions to Perl
Group: Development/Languages Group: Development/Languages/Perl
Requires: %{name} = %{version}-%{release} BuildRequires: perl-base
BuildRequires: perl(ExtUtils::MakeMaker)
Requires: %{libname} = %{version}-%{release}
Requires: perl-base Requires: perl-base
Provides: mapserver-perl = %{version}-%{release}
Obsoletes: mapserver-perl < %{version}-%{release}
%description perl %description -n perl-mapscript
The Perl/Mapscript extension provides full map customization capabilities The Perl/Mapscript extension provides full map customization capabilities
within the Perl programming language. within the Perl programming language.
%package python %package -n python-mapscript
Summary: Python/Mapscript map making extensions to Python Summary: Python/Mapscript map making extensions to Python
Group: Development/Languages Group: Development/Languages/Python
Requires: %{name} = %{version}-%{release} BuildRequires: python-devel
Requires: %{libname} = %{version}-%{release}
Requires: python-base Requires: python-base
Provides: mapserver-python = %{version}-%{release}
Obsoletes: mapserver-python < %{version}-%{release}
%description python %description -n python-mapscript
The Python/Mapscript extension provides full map customization capabilities The Python/Mapscript extension provides full map customization capabilities
within the Python programming language. within the Python programming language.
%package java %package -n libjavamapscript
Summary: Java/Mapscript map making extensions to Java Summary: Java/Mapscript map making extensions to Java
Group: Development/Languages Group: Development/Languages/Java
Requires: %{name} = %{version}-%{release} BuildRequires: java-devel >= 1.6
BuildRequires: java >= 1.6
BuildRequires: swig
%if 0%{?sles_version} == 10
%ifarch i586
BuildRequires: java-1_5_0-ibm-alsa
%endif
%endif
Requires: %{libname} = %{version}-%{release}
Requires: java >= 1.6
Requires: swig
Provides: java-mapscript = %{version}-%{release}
Provides: mapserver-java = %{version}-%{release}
Obsoletes: mapserver-java < %{version}-%{release}
Obsoletes: java-mapscript < %{version}-%{release}
%description java %description -n libjavamapscript
The Java/Mapscript extension provides full map customization capabilities The Java/Mapscript extension provides full map customization capabilities
within the Java programming language. within the Java programming language.
%package -n ruby-mapscript
Summary: Ruby/Mapscript map making extensions to Ruby
Group: Development/Languages/Ruby
Requires: ruby
BuildRequires: ruby-devel
BuildRequires: ruby-macros
Requires: %{libname} = %{version}-%{release}
Provides: mapserver-ruby = %{version}-%{release}
Obsoletes: mapserver-ruby < %{version}-%{release}
%description -n ruby-mapscript
The Ruby/Mapscript extension provides full map customization capabilities
within the Ruby programming language.
%package devel %package devel
Summary: Mapserver development files Summary: Mapserver development files
Group: Productivity/Scientific/Other Group: Development/Libraries/Other
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
%description devel %description devel
@ -131,110 +200,145 @@ against the C Mapserver library.
%prep %prep
%setup -q -n %{name}-%{fileversion} %setup -q -n %{name}-%{fileversion}
%patch0 -p1
%build -n %{name}-%{fileversion} %build -n %{name}-%{fileversion}
%configure XTRALIBS=-ldl \
--with-gd \
--with-zlib \
--with-freetype=%{_bindir}/freetype-config \
--with-fribidi-config \
--with-gdal=%{_bindir}/gdal-config \
--with-ogr=%{_bindir}/gdal-config \
--with-geos=%{_bindir}/geos-config \
--with-proj \
--with-sos \
--with-wms \
--with-wfs \
--with-wcs \
--with-wmsclient \
--with-wfsclient \
--with-xpm \
--with-png \
--with-cairo \
--with-postgis=%{_bindir}/pg_config \
--with-mygis=%{_bindir}/mysql_config \
--with-curl-config=%{_bindir}/curl-config \
--with-xml2-config=%{_bindir}/xml2-config \
--with-xslt-config=%{_bindir}/xslt-config \
--with-php=%{_bindir}/php-config \
--with-httpd=/usr/sbin/httpd2 \
--with-fastcgi=/usr \
--with-agg-svg-symbols=yes \
--with-expat=/usr \
--with-kml=yes \
--with-xml-mapfile \
--without-pdf \
--without-eppl \
--with-threads \
--enable-python-mapscript \
--disable-runpath
## WARNING !!! cd ..
# using %{?_smp_mflags} may break build mkdir build
cd build
#Pre export the PREFIX ( having it on the command line doesn't expand correctly for
#dynamic postgresql location
export CMAKE_PREFIX_PATH="%{_includedir}:%{_includedir}/fastcgi:%(pg_config --includedir):%(pg_config --includedir-server):%(pg_config --libdir)"
export CFLAGS=$RPM_OPT_FLAGS
export CXXFLAGS=$RPM_OPT_FLAGS
make #export LDFLAGS="-Wl,-Bsymbolic-functions $LDFLAGS" \
make mapscriptvars # -D CMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-Bsymbolic-functions" \
# -D CMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-Bsymbolic-functions" \
# -D CMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-Bsymbolic-functions" \
## build perl #specify all options and play with true/false
cd mapscript/perl #so we always know which option are included in our build.
perl Makefile.PL cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
make -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_C_FLAGS="%{optflags}" \
-DCMAKE_CXX_FLAGS="%{optflags}" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DLIB_SUFFIX=%{_libdir} \
-DCMAKE_BUILD_TYPE="Release" \
-DWITH_CAIRO=TRUE \
-DWITH_CLIENT_WFS=TRUE \
-DWITH_CLIENT_WMS=TRUE \
-DWITH_CURL=TRUE \
-DWITH_FCGI=TRUE \
-DWITH_FRIBIDI=TRUE \
-DWITH_GD=TRUE \
-DWITH_GDAL=TRUE \
-DWITH_GEOS=TRUE \
-DWITH_GIF=TRUE \
-DWITH_ICONV=TRUE \
-DWITH_JAVA=TRUE \
-DWITH_KML=TRUE \
-DWITH_LIBXML2=TRUE \
-DWITH_OGR=TRUE \
-DWITH_MYSQL=TRUE \
-DWITH_PERL=TRUE \
-DCUSTOM_PERL_SITE_ARCH_DIR="%{perl_vendorarch}" \
-DWITH_PHP=TRUE \
-DWITH_POSTGIS=TRUE \
-DWITH_PROJ=TRUE \
-DWITH_PYTHON=TRUE \
-DWITH_RUBY=TRUE \
-DWITH_SOS=TRUE \
-DWITH_THREAD_SAFETY=TRUE \
-DWITH_WCS=TRUE \
-DWITH_WMS=TRUE \
-DWITH_WFS=TRUE \
-DWITH_XMLMAPFILE=TRUE \
-DWITH_POINT_Z_M=TRUE \
-DWITH_APACHE_MODULE=FALSE \
-DWITH_SVGCAIRO=FALSE \
-DWITH_MYSQL=FALSE \
-DWITH_CSHARP=FALSE \
-DWITH_ORACLESPATIAL=FALSE \
-DWITH_ORACLE_PLUGIN=FALSE \
-DWITH_MSSQL2008=FALSE \
-DWITH_SDE=FALSE \
-DWITH_SDE_PLUGIN=FALSE \
-DWITH_EXEMPI=FALSE \
../%{name}-%{fileversion}/
# build java ## WARNING !!! using %%{?_smp_mflags} will break build
cd ../java ## This is not anymore true for 6x versions, if it happen then it's a bug :-)
make make %{?jobs:-j%{jobs}}
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
mkdir -p %{buildroot}/%{_sbindir} mkdir -p %{buildroot}/%{_sbindir}
mkdir -p %{buildroot}/%{_cgibindir} mkdir -p %{buildroot}/%{_cgibindir}
mkdir -p %{buildroot}/%{_sysconfdir}/php.d
mkdir -p %{buildroot}%{_libdir}/php5/extensions mkdir -p %{buildroot}%{_libdir}/php5/extensions
mkdir -p %{buildroot}/%{_bindir} mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}%{python_sitearch}/ mkdir -p %{buildroot}%{python_sitearch}/
mkdir -p %{buildroot}/%{_includedir}/mapserver mkdir -p %{buildroot}/%{_includedir}/%{name}
cp *.h %{buildroot}/%{_includedir}/mapserver/ #Comment this look a bit wired to be usefull sub-dir should also needed
# agg, etc
cp *.h %{buildroot}/%{_includedir}/%{name}/
make DESTDIR=%{buildroot} install # fix some exec bits essentially on examples to make rpmlint happy
# and avoid rpm adding require
find ./mapscript/ -type f -iname "*.p[ly]" -exec chmod -x {} \;
find ./mapscript/ -type f -iname "*.rb" -exec chmod -x {} \;
find ./mapscript/ -type f -iname "*.dist" -exec chmod -x {} \;
cp %{buildroot}%{_bindir}/mapserv %{buildroot}%{_cgibindir}/mapserv cd ../build
cp %{buildroot}%{_bindir}/legend %{buildroot}%{_cgibindir}/legend %makeinstall DESTDIR="%{buildroot}"
cp %{buildroot}%{_bindir}/scalebar %{buildroot}%{_cgibindir}/scalebar cd ../%{name}-%{fileversion}
# install perl module #@TODO FIX upstream this ugly hack work in progress
pushd mapscript/perl %ifarch x86_64
make DESTDIR=%{buildroot} pure_vendor_install mv -v %{buildroot}/usr/lib/*.so* %{buildroot}%{_libdir}/
popd %endif
# install java #@TODO shouldn't we use ln in post ?
mkdir -p %{buildroot}%{_javadir} cp -a %{buildroot}%{_bindir}/mapserv %{buildroot}%{_cgibindir}/mapserv
install -p -m 644 mapscript/java/mapscript.jar %{buildroot}%{_javadir}/ cp -a %{buildroot}%{_bindir}/legend %{buildroot}%{_cgibindir}/legend
cp -a %{buildroot}%{_bindir}/scalebar %{buildroot}%{_cgibindir}/scalebar
# install php config file # install php config file
mkdir -p %{buildroot}%{_sysconfdir}/php5/conf.d/ mkdir -p %{buildroot}%{_sysconfdir}/php5/conf.d/
cat > %{buildroot}%{_sysconfdir}/php5/conf.d/%{name}.ini <<EOF cat > %{buildroot}%{_sysconfdir}/php5/conf.d/mapscript.ini <<EOF
; Enable %{name} extension module ; Enable %{name} extension module
#For 6.4 this is still an upstream bug
#extension=php_mapscript-%%{version}.so
extension=php_mapscript.so extension=php_mapscript.so
EOF EOF
# cleanup junks # Important remove any RPATH in .so
for junk in {*.pod,*.bs,.packlist} ; do #find %%{buildroot}/ -iname "*.so*" -type f -exec chrpath --delete {} \;
find %{buildroot} -name "$junk" -exec rm -rf '{}' \;
done
# remove vera fonts, these are provided system wide # remove vera fonts, these are provided system wide
#@todo then we should patch the fonts file example
rm -rf %{buildroot}%{_docdir}/%{name}/tests/vera
rm -rf %{buildroot}%{_docdir}/%{name}-%{version}/tests/vera rm -rf %{buildroot}%{_docdir}/%{name}-%{version}/tests/vera
# fix some exec bits
chmod 755 %{buildroot}%{perl_vendorarch}/auto/mapscript/mapscript.so
%clean %clean
rm -rf %{buildroot} rm -rf %{buildroot}
%check
# make test
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%doc README README.CONFIGURE README.WIN32 COMMITERS GD-COPYING HISTORY.TXT %doc README COMMITERS GD-COPYING HISTORY.TXT
%doc INSTALL MIGRATION_GUIDE.txt %doc MIGRATION_GUIDE.txt
%doc symbols tests %doc symbols tests
%doc fonts %doc fonts
%{_bindir}/shp2img %{_bindir}/shp2img
@ -250,46 +354,65 @@ rm -rf %{buildroot}
%{_cgibindir}/mapserv %{_cgibindir}/mapserv
%{_cgibindir}/legend %{_cgibindir}/legend
%{_cgibindir}/scalebar %{_cgibindir}/scalebar
%{_libdir}/libmapserver-6.*.so
%{_libdir}/libmapserver.so
%files -n php-mapserver %files -n %{libname}
%defattr(-,root,root)
%{_libdir}/libmapserver.so.*
%files -n php-mapscript
%defattr(-,root,root) %defattr(-,root,root)
%doc mapscript/php/README %doc mapscript/php/README
%doc mapscript/php/README.WIN32
%doc mapscript/php/examples %doc mapscript/php/examples
%config(noreplace) %{_sysconfdir}/php5/conf.d/%{name}.ini %config(noreplace) %{_sysconfdir}/php5/conf.d/mapscript.ini
%{_libdir}/php5/extensions/php_mapscript.so %{_libdir}/php5/extensions/php_mapscript.so
%{_libdir}/php5/extensions/php_mapscript.la
%{_libdir}/php5/extensions/php_mapscript.so.0
%{_libdir}/php5/extensions/php_mapscript.so.0.0.0
%files perl %post -n php-mapscript
# Clean up any previous wrong version
if [ -e %{_libdir}/php5/extensions/php_mapscript.so ]; then
rm -f %{_libdir}/php5/extensions/php_mapscript.so
fi
if [ -e %{_sysconfdir}/php5/conf.d/%{name}.ini ]; then
rm -f %{_sysconfdir}/php5/conf.d/%{name}.ini
fi
%files -n perl-mapscript
%defattr(-,root,root) %defattr(-,root,root)
%doc mapscript/perl/examples %doc mapscript/perl/examples
%dir %{perl_vendorarch}/auto/mapscript %dir %{perl_vendorarch}/auto/mapscript
%{perl_vendorarch}/auto/mapscript/* %{perl_vendorarch}/auto/mapscript/*
%{perl_vendorarch}/mapscript.pm %{perl_vendorarch}/mapscript.pm
%files python %files -n python-mapscript
%defattr(-,root,root) %defattr(-,root,root)
%doc mapscript/python/README %doc mapscript/python/README
%doc mapscript/python/examples %doc mapscript/python/examples
%doc mapscript/python/tests %doc mapscript/python/tests
%{python_sitearch}/* %{python_sitearch}/*
%files java %files -n libjavamapscript
%defattr(-,root,root) %defattr(-,root,root)
%doc mapscript/java/README %doc mapscript/java/README
%doc mapscript/java/examples %doc mapscript/java/examples
%doc mapscript/java/tests %doc mapscript/java/tests
%{_javadir}/*.jar %{_libdir}/libjavamapscript.so
%files -n ruby-mapscript
%defattr(-,root,root)
%doc mapscript/ruby/README
%doc mapscript/ruby/examples
#@todo fix that by using a proper way ?
%ifarch x86_64
%{_libdir}/ruby/%{rb_ver}/x86_64-linux/mapscript.so
%else
%{_libdir}/ruby/%{rb_ver}/i586-linux/mapscript.so
%endif
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/mapserver-config
%{_libdir}/libmapserver.la
%dir %{_includedir}/mapserver %dir %{_includedir}/mapserver
%{_includedir}/mapserver/* %{_includedir}/mapserver/*
%{_libdir}/libmapserver.so
%changelog %changelog