SHA256
1
0
forked from pool/PDAL

Accepting request 678419 from home:bruno_friedmann:branches:Application:Geo

- Remove FindLASzip-cmake.patch with new laszip 3.2.2 

- Update to 1.8.0 version (fix broken build with python3.7)
  + changelog https://github.com/PDAL/PDAL/releases/tag/1.8.0
  + important issue about las 1.4 compressed with laszip
- Packaging
  + refresh patch FindLASzip-cmake.patch
  + spec-cleaner minimal
  + bump SONAME to 8.0.0, SOVER to 7
  + cleanup changes (trailling space)
  + delete orphan f717a4c.patch
  + add new plugin libpdal_plugin_kernel_fauxplugin

OBS-URL: https://build.opensuse.org/request/show/678419
OBS-URL: https://build.opensuse.org/package/show/Application:Geo/PDAL?expand=0&rev=9
This commit is contained in:
Bruno Friedmann 2019-02-24 09:15:38 +00:00 committed by Git OBS Bridge
parent f4f20e21ab
commit 8262873898
8 changed files with 98 additions and 164 deletions

View File

@ -1,18 +0,0 @@
diff -rup a/cmake/modules/FindLASzip.cmake b/cmake/modules/FindLASzip.cmake
--- a/cmake/modules/FindLASzip.cmake
+++ b/cmake/modules/FindLASzip.cmake
@@ -49,11 +49,13 @@ FIND_LIBRARY(LASZIP_LIBRARY
NAMES ${LASZIP_NAMES}
PATHS
/usr/lib
+ /usr/lib64
/usr/local/lib
+ /usr/local/lib64
${OSGEO4W_ROOT_DIR}/lib)
# Comment out laszip.hpp version info
-SET(LASZIP_VERSION_H "${LASZIP_INCLUDE_DIR}/laszip/laszip_api_version.h")
+SET(LASZIP_VERSION_H "${LASZIP_INCLUDE_DIR}/laszip_api_version.h")
IF(LASZIP_INCLUDE_DIR AND EXISTS ${LASZIP_VERSION_H})
SET(LASZIP_VERSION 0)

View File

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

View File

@ -1 +0,0 @@
a89710005fd54e6d2436955e2e542838 PDAL-1.7.2RC3-src.tar.gz

3
PDAL-1.8.0-src.tar.gz Normal file
View File

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

View File

@ -0,0 +1 @@
f2fb81abbd6b9a2fab0b7cb7bd025c86 PDAL-1.8.0-src.tar.gz

View File

@ -1,7 +1,26 @@
-------------------------------------------------------------------
Wed Feb 20 09:30:33 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
- Remove FindLASzip-cmake.patch with new laszip 3.2.2
-------------------------------------------------------------------
Mon Feb 18 17:57:26 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
- Update to 1.8.0 version (fix broken build with python3.7)
+ changelog https://github.com/PDAL/PDAL/releases/tag/1.8.0
+ important issue about las 1.4 compressed with laszip
- Packaging
+ refresh patch FindLASzip-cmake.patch
+ spec-cleaner minimal
+ bump SONAME to 8.0.0, SOVER to 7
+ cleanup changes (trailling space)
+ delete orphan f717a4c.patch
+ add new plugin libpdal_plugin_kernel_fauxplugin
-------------------------------------------------------------------
Mon Jun 11 12:47:56 UTC 2018 - bruno@ioda-net.ch
- Define %make_build for openSUSE_Leap_42.3
- Define %make_build for openSUSE_Leap_42.3
-------------------------------------------------------------------
Fri Jun 1 19:35:14 UTC 2018 - bruno@ioda-net.ch
@ -17,7 +36,7 @@ Fri Jun 1 19:35:14 UTC 2018 - bruno@ioda-net.ch
- See changelog https://github.com/PDAL/PDAL/releases/tag/1.7.2
- Major release 1.7.1
- See numerous changes at
https://github.com/PDAL/PDAL/releases/tag/1.7.1
https://github.com/PDAL/PDAL/releases/tag/1.7.1
-------------------------------------------------------------------
Sat Mar 17 13:45:07 UTC 2018 - aaronpuchert@alice-dsl.net
@ -34,21 +53,21 @@ Sat Mar 17 13:45:07 UTC 2018 - aaronpuchert@alice-dsl.net
-------------------------------------------------------------------
Mon Jan 15 13:00:20 UTC 2018 - bruno@ioda-net.ch
- Update to version 1.6.0
- Update to version 1.6.0
Visit https://github.com/PDAL/PDAL/releases/tag/1.6.0 for all
improvements done since 1.5
- Adjust sofull_version to 6.1.0 soname to 5 and sovers to 5
- Add upstream patch f717a4c.patch (json-c 0.13 support)
- Packaging:
+ tarball are only published in tar.gz so adapt
+ tarball are only published in tar.gz so adapt
+ Build now only with python3
+ ToBeDone upgrade laszip to 3.1.0
+ Adapt file list to newer version
-------------------------------------------------------------------
Wed May 31 06:24:07 UTC 2017 - bruno@ioda-net.ch
- Update to version 1.5.0
- Update to version 1.5.0
Visit https://github.com/PDAL/PDAL/releases/tag/1.5.0 for all
improvements done since 1.4
- Remove patch c2cf2d.patch merged upstream
@ -57,7 +76,7 @@ Wed May 31 06:24:07 UTC 2017 - bruno@ioda-net.ch
-------------------------------------------------------------------
Fri Mar 10 12:51:53 UTC 2017 - bruno@ioda-net.ch
- Use the lastest patch c2cf2d.patch in place of
- Use the lastest patch c2cf2d.patch in place of
cfb888a04897f9704d5bdfaf4d2979e9ff303aab.patch
with use of short commit tag.
@ -66,12 +85,12 @@ Wed Mar 8 14:51:03 UTC 2017 - bruno@ioda-net.ch
- Update to version 1.4.0
visit https://github.com/PDAL/PDAL/releases/tag/1.4.0 and
https://github.com/PDAL/PDAL/releases/tag/1.3.0 for all
https://github.com/PDAL/PDAL/releases/tag/1.3.0 for all
improvements done since 1.2
- Packaging :
+ Add cfb888a04897f9704d5bdfaf4d2979e9ff303aab.patch
Fix for being he only distribution with laszip header not in
Fix for being he only distribution with laszip header not in
subdir. See upstream https://github.com/PDAL/PDAL/issues/1503
+ Move to boost-devel split for TW
+ Comment Requires for build documentation.
@ -82,7 +101,7 @@ Wed Mar 8 14:51:03 UTC 2017 - bruno@ioda-net.ch
-------------------------------------------------------------------
Sun Apr 24 14:02:39 UTC 2016 - bruno@ioda-net.ch
- Update to version 1.2.0
- Update to version 1.2.0
see https://github.com/PDAL/PDAL/releases/tag/1.2.0/Changelog
- Fix missing Provide lowercase name
- Remove 01.patch merged upstream
@ -101,7 +120,7 @@ Thu Feb 25 14:53:51 UTC 2016 - bruno@ioda-net.ch
- packaging : on upstream recommandation Move to git master version
at least until next March 2016 release.
-------------------------------------------------------------------
Thu Feb 25 11:11:11 UTC 2016 - bruno@ioda-net.ch
@ -110,7 +129,7 @@ Thu Feb 25 11:11:11 UTC 2016 - bruno@ioda-net.ch
Add support for the LAZperf LAS compressor in decoding/encoding
LAS files. LAZperf can be enabled with the 'compression' option
in readers.las and writers.las.
Add PCL functionality as filters (filters.greedyprojection,
Add PCL functionality as filters (filters.greedyprojection,
filters.gridprojection, filters.ground filters.movingleastsquares,
filters.poisson, filters.radiusoutlier, filters.statisticaloutlier,
filters.voxelgrid, filters.height, filters.dartsample)
@ -118,46 +137,46 @@ Thu Feb 25 11:11:11 UTC 2016 - bruno@ioda-net.ch
Update writers.geowave and readers.geowave to work with the latest
version of GeoWave software.
Add readers.ilvis2 to support the Icebridge ILVIS2 format.
Disallow nested options. Check stage documentation for changes in
option names and handling. (filters.ferry, filters.colorization,
filters.attribute, filters.crop). Change filters.attribute to
Disallow nested options. Check stage documentation for changes in
option names and handling. (filters.ferry, filters.colorization,
filters.attribute, filters.crop). Change filters.attribute to
handle only a single dimension.
Add 'output_dims' options in writers.bpf to allow control of the
Add 'output_dims' options in writers.bpf to allow control of the
dimensions that should be written.
Add 'all' keyword in 'extra_dims' options of writers.las to cause
all dimensions to be written to either the standard or extra
dimensions of a LAS point.
Add filters.randomize to allow randomized order of points.
Add filters.divider to split a set of points into subsets of a
fixed number or into subsets containing a specific number
Add filters.divider to split a set of points into subsets of a
fixed number or into subsets containing a specific number
of points.
Update to version 1.1.4 of rply in readers.rply.
Change the logic of the range filter to allow multiple ranges
Change the logic of the range filter to allow multiple ranges
for a single dimension and support a simple boolean logic.
Change the default scaling on writer.bpf to 'auto'.
Add support for smoothing boundaries generated by filters.hexbin.
Add readers.tindex to allow vector-filtered input of point
Add readers.tindex to allow vector-filtered input of point
cloud files.
Allow merging of datasets with non-matching spatial references.
Many, many documentation enhancements.
* Fixes:
Handle error with Pgpointcloud when pointcloud extension is not
Handle error with Pgpointcloud when pointcloud extension is not
installed on postgres server. Skip tests if extension is missing.
Set precision on output of doubles to metadata.
Fix a divide-by-zero error in readers.faux when the point count
Fix a divide-by-zero error in readers.faux when the point count
was 1. (#1015)
Fix fatal error loading numpy library that occurred when running
Fix fatal error loading numpy library that occurred when running
filters.predicate or filters.programmable. (#1010)
Correct readers.las to properly check WKT bit when choosing spatial
reference VLR. (#1040)
Correct writer.las to emit only WKT or GeoTiff VLR, not both.
Correct writer.las to emit only WKT or GeoTiff VLR, not both.
(#1040)
Check object ID against table column id (attrelid) to ensure correct
Check object ID against table column id (attrelid) to ensure correct
PCID retrieval in readers.pgpointcloud. (#1051)
- Packaging
- Packaging
- Documentation is still missing since we don't have python-breathe
- Some modules (plugins) are not yet present on obs
So they are not compiled (help welcome)
@ -171,4 +190,4 @@ Thu Feb 25 11:11:11 UTC 2016 - bruno@ioda-net.ch
Sun Dec 29 16:38:02 UTC 2013 - bruno@ioda-net.ch
- First packaging for OBS
Due to upstream bug, documentation is not available
Due to upstream bug, documentation is not available

106
PDAL.spec
View File

@ -1,8 +1,8 @@
#
# spec file for package PDAL
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 Friedmann Bruno, Ioda-Net Sàrl, Charmoille, Switzerland.
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 Friedmann Bruno, Ioda-Net Sàrl, Charmoille, Switzerland.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -13,81 +13,63 @@
# 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/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
#@TODO: plugins PCL P2G
# Mandatory : build -doc appart (too much texlive used otherwise)
# Temporary fix for Leap 42.3
%if ! %{defined make_build}
%define make_build /usr/bin/make %{?_smp_mflags}
%endif
# Ask upstream to clarify seems sofull_version is build version
%define soname 6
%define sovers 6
%define sofull_version 7.0.2
%define soname 7
%define sovers 7
%define sofull_version 8.0.0
%define lname pdal
# Temporary fix for Leap 42.3
%if ! %{defined make_build}
%define make_build %{_bindir}/make %{?_smp_mflags}
%endif
Name: PDAL
Version: 1.7.2
Version: 1.8.0
Release: 0
Summary: Point Data Abstraction Library. GDAL for point cloud data
License: BSD-3-Clause
Group: Productivity/Graphics/CAD
Url: http://www.pdal.io/
Source0: http://download.osgeo.org/pdal/%{name}-%{version}-src.tar.gz
Source1: http://download.osgeo.org/pdal/%{name}-%{version}-src.tar.gz.md5
URL: https://www.pdal.io/
Source0: https://github.com/PDAL/PDAL/releases/download/%{version}/%{name}-%{version}-src.tar.gz
Source1: https://github.com/PDAL/PDAL/releases/download/%{version}/%{name}-%{version}-src.tar.gz.md5
# Source2: https://www.pdal.io/PDAL.pdf
Patch0: FindLASzip-cmake.patch
# Override the problem of libpsl5 in tumbleweed
%if 0%{?suse_version} >= 1330
BuildRequires: libpsl5
%endif
BuildRequires: bash-completion
%if 0%{?suse_version} > 1325
BuildRequires: libboost_headers-devel
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_program_options-devel
%else
BuildRequires: boost-devel
%endif
BuildRequires: cairo-devel
BuildRequires: cmake >= 2.8
BuildRequires: cunit-devel
BuildRequires: curl-devel
BuildRequires: fdupes
BuildRequires: freeglut-devel
# Needed for tests
BuildRequires: gdal
BuildRequires: gcc-c++
# For tests but don't exist for Leap 42.3
# BuildRequires: gtest
BuildRequires: libgdal-devel
BuildRequires: libgeos-devel
BuildRequires: gdal
BuildRequires: geotiff-devel
BuildRequires: jsoncpp-devel
# We need 3.1.1+ for 1.6
BuildRequires: laszip-devel
# For tests but don't exist for Leap 42.3
# BuildRequires: gtest
BuildRequires: libgdal-devel
BuildRequires: libgeos-devel
BuildRequires: libproj-devel
BuildRequires: libspatialindex-devel
BuildRequires: libtiff-devel
BuildRequires: libxml2-devel
BuildRequires: xz-devel
BuildRequires: pkg-config
BuildRequires: pkgconfig(libpq)
BuildRequires: pkgconfig
BuildRequires: python3
# We don't have it yet
# BuildRequires: pointcloud-devel
# Python extension will be build separately.
BuildRequires: python3-Cython
BuildRequires: python3
BuildRequires: python3-devel
BuildRequires: python3-numpy-devel
BuildRequires: python3-setuptools
BuildRequires: sqlite3-devel
BuildRequires: xz-devel
BuildRequires: zlib-devel
BuildRequires: pkgconfig(libpq)
# Needed for documentation but we don't build it.
# BuildRequires: dblatex
# BuildRequires: doxygen
@ -99,10 +81,19 @@ BuildRequires: zlib-devel
# BuildRequires: python-sphinxcontrib-breathe
# Doesn't exist on obs BuildRequires: python3-breathe
Requires: lib%{name}%{soname} = %{version}
Provides: pdal = %{version}
Recommends: bash-completion
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: pdal = %{version}
# Override the problem of libpsl5 in tumbleweed
%if 0%{?suse_version} >= 1330
BuildRequires: libpsl5
%endif
%if 0%{?suse_version} > 1325
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_headers-devel
BuildRequires: libboost_program_options-devel
%else
BuildRequires: boost-devel
%endif
%description
PDAL is a C++ BSD library for translating and manipulating point cloud data.
@ -124,9 +115,9 @@ https://www.pdal.io
This package provides tools & utilities using PDAL library libpdal
%package -n lib%{name}%{soname}
Provides: lib%{lname}%{soname}
Provides: libpdal%{soname}
Summary: Point Data Abstraction Library. GDAL for point cloud data
Summary: Point Data Abstraction Library. GDAL for point cloud data
Provides: lib%{lname}%{soname}
Provides: libpdal%{soname}
%description -n lib%{name}%{soname}
PDAL is a C++ BSD library for translating and manipulating point cloud data.
@ -145,7 +136,6 @@ and others. Find out more about who contributes to PDAL at Contributors.
Website :
https://www.pdal.io
Note
PDAL should not be confused with PCL (Point Cloud Library).
PCL is a library specifically designed to provide algorithmic analysis and
@ -155,17 +145,16 @@ facilities, but does not in general attempt to duplicate its capabilites.
PDAL is focused more on data access and translation than PCL. See
filters.pclblock for more background.
%package -n %{name}-devel
Summary: Development files and tools for PDAL applications
Group: Development/Libraries/C and C++
Requires: lib%{name}%{soname} = %{version}
Requires: libboost_headers-devel
Requires: libboost_filesystem-devel
Requires: libboost_program_options-devel
Requires: cmake
Requires: zlib-devel
Requires: lib%{name}%{soname} = %{version}
Requires: libboost_filesystem-devel
Requires: libboost_headers-devel
Requires: libboost_program_options-devel
Requires: xz-devel
Requires: zlib-devel
Provides: lib%{name}%{soname}-devel = %{version}
Provides: lib%{lname}%{soname}-devel = %{version}
Provides: lib%{name}-devel
@ -179,7 +168,7 @@ develop applications using PDAL.
Summary: Documentation, examples and demos for PDAL
Group: Productivity/Graphics/CAD
Requires: %{name} = %{version}
BuildArch: noarch
BuildArch: noarch
%description -n %{name}-doc
This package provides the documentation and sources of examples and data demos of
@ -187,9 +176,8 @@ PDAL algorithms.
%prep
%setup -q -n %{name}-%{version}-src
%patch0 -p1
# Fix all wrong shebang and move to python3 only
find . -type f -iname "*.py" -exec sed 's,^#!/usr/bin/env python,#!/usr/bin/python3,' {} \;
find . -type f -iname "*.py" -exec sed 's,^#!%{_bindir}/env python,#!%{_bindir}/python3,' {} \;
#Cleanup spurious perms in documentation
find ./doc/ -type f -exec chmod -v 0644 {} \;
@ -269,6 +257,7 @@ find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
%{_libdir}/libpdal_base.so.%{sofull_version}
# Plugins
%{_libdir}/libpdal_plugin_filter_python.so.%{sofull_version}
%{_libdir}/libpdal_plugin_kernel_fauxplugin.so.%{sofull_version}
%{_libdir}/libpdal_plugin_reader_numpy.so.%{sofull_version}
%{_libdir}/libpdal_plugin_reader_sqlite.so.%{sofull_version}
%{_libdir}/libpdal_plugin_writer_sqlite.so.%{sofull_version}
@ -276,7 +265,6 @@ find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
%{_libdir}/libpdal_plugin_writer_pgpointcloud.so.%{sofull_version}
%{_libdir}/libpdal_util.so.%{sofull_version}
%files -n %{name}-devel
%defattr(-,root,root,-)
%license LICENSE.txt
@ -286,6 +274,8 @@ find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
%{_libdir}/libpdal_base.so
%{_libdir}/libpdal_plugin_filter_python.so
%{_libdir}/libpdal_plugin_filter_python.so.%{sovers}
%{_libdir}/libpdal_plugin_kernel_fauxplugin.so
%{_libdir}/libpdal_plugin_kernel_fauxplugin.so.%{sovers}
%{_libdir}/libpdal_plugin_reader_numpy.so
%{_libdir}/libpdal_plugin_reader_numpy.so.%{sovers}
%{_libdir}/libpdal_plugin_reader_sqlite.so

View File

@ -1,57 +0,0 @@
From f717a4ceabf2c23fcb03838945865cd54a4698c7 Mon Sep 17 00:00:00 2001
From: Howard Butler <howard@hobu.co>
Date: Thu, 28 Dec 2017 09:05:02 -0600
Subject: [PATCH] jsoncpp changed the return signature of removeMember and we
need to get the same behavior in two steps now (#1759)
---
dimbuilder/DimBuilder.cpp | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/dimbuilder/DimBuilder.cpp b/dimbuilder/DimBuilder.cpp
index dd2f4a4c7..96b978a67 100644
--- a/dimbuilder/DimBuilder.cpp
+++ b/dimbuilder/DimBuilder.cpp
@@ -174,9 +174,11 @@ bool DimBuilder::execute()
void DimBuilder::extractDim(Json::Value& dim)
{
DimSpec d;
+ Json::Value empty;
// Get dimension name.
- Json::Value name = dim.removeMember("name");
+ Json::Value name = dim.get("name", empty);
+ dim.removeMember("name");
if (name.isNull())
throw dimbuilder_error("Dimension missing name.");
if (!name.isString())
@@ -185,7 +187,8 @@ void DimBuilder::extractDim(Json::Value& dim)
validateDimension(d.m_name);
// Get dimension description.
- Json::Value description = dim.removeMember("description");
+ Json::Value description = dim.get("description", empty);
+ dim.removeMember("description");
if (description.isNull())
{
std::ostringstream oss;
@@ -204,7 +207,8 @@ void DimBuilder::extractDim(Json::Value& dim)
d.m_description = description.asString();
// Get dimension type
- Json::Value type = dim.removeMember("type");
+ Json::Value type = dim.get("type", empty);
+ dim.removeMember("type");
if (type.isNull())
{
std::ostringstream oss;
@@ -222,7 +226,8 @@ void DimBuilder::extractDim(Json::Value& dim)
throw dimbuilder_error(oss.str());
}
- Json::Value altNames = dim.removeMember("alt_names");
+ Json::Value altNames = dim.get("alt_names", empty);
+ dim.removeMember("alt_names");
if (!altNames.isNull())
{
if (!altNames.isString())