From 8262873898e18015eafccde031a071fefe1ecc26aaf3f37c17f01dbde03a6c0d Mon Sep 17 00:00:00 2001 From: Bruno Friedmann Date: Sun, 24 Feb 2019 09:15:38 +0000 Subject: [PATCH] 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 --- FindLASzip-cmake.patch | 18 ------- PDAL-1.7.2-src.tar.gz | 3 -- PDAL-1.7.2-src.tar.gz.md5 | 1 - PDAL-1.8.0-src.tar.gz | 3 ++ PDAL-1.8.0-src.tar.gz.md5 | 1 + PDAL.changes | 73 ++++++++++++++++---------- PDAL.spec | 106 +++++++++++++++++--------------------- f717a4c.patch | 57 -------------------- 8 files changed, 98 insertions(+), 164 deletions(-) delete mode 100644 FindLASzip-cmake.patch delete mode 100644 PDAL-1.7.2-src.tar.gz delete mode 100644 PDAL-1.7.2-src.tar.gz.md5 create mode 100644 PDAL-1.8.0-src.tar.gz create mode 100644 PDAL-1.8.0-src.tar.gz.md5 delete mode 100644 f717a4c.patch diff --git a/FindLASzip-cmake.patch b/FindLASzip-cmake.patch deleted file mode 100644 index 5da4f1e..0000000 --- a/FindLASzip-cmake.patch +++ /dev/null @@ -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) - diff --git a/PDAL-1.7.2-src.tar.gz b/PDAL-1.7.2-src.tar.gz deleted file mode 100644 index a65c990..0000000 --- a/PDAL-1.7.2-src.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f5dd28c7f25bcd13c460a845860eded67446f3abb6b6a2e2f394a776ad03428a -size 68321591 diff --git a/PDAL-1.7.2-src.tar.gz.md5 b/PDAL-1.7.2-src.tar.gz.md5 deleted file mode 100644 index a33f5e5..0000000 --- a/PDAL-1.7.2-src.tar.gz.md5 +++ /dev/null @@ -1 +0,0 @@ -a89710005fd54e6d2436955e2e542838 PDAL-1.7.2RC3-src.tar.gz diff --git a/PDAL-1.8.0-src.tar.gz b/PDAL-1.8.0-src.tar.gz new file mode 100644 index 0000000..35e4de7 --- /dev/null +++ b/PDAL-1.8.0-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf5952ab0b9ba1fc07ed879128c64d21b6a22e32166a0fe03072a9589adc75d7 +size 76466623 diff --git a/PDAL-1.8.0-src.tar.gz.md5 b/PDAL-1.8.0-src.tar.gz.md5 new file mode 100644 index 0000000..d8ed801 --- /dev/null +++ b/PDAL-1.8.0-src.tar.gz.md5 @@ -0,0 +1 @@ +f2fb81abbd6b9a2fab0b7cb7bd025c86 PDAL-1.8.0-src.tar.gz diff --git a/PDAL.changes b/PDAL.changes index 7cd9fc0..bf15a28 100644 --- a/PDAL.changes +++ b/PDAL.changes @@ -1,7 +1,26 @@ +------------------------------------------------------------------- +Wed Feb 20 09:30:33 UTC 2019 - Bruno Friedmann + +- Remove FindLASzip-cmake.patch with new laszip 3.2.2 + +------------------------------------------------------------------- +Mon Feb 18 17:57:26 UTC 2019 - Bruno Friedmann + +- 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 diff --git a/PDAL.spec b/PDAL.spec index f969a57..045bcaf 100644 --- a/PDAL.spec +++ b/PDAL.spec @@ -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 diff --git a/f717a4c.patch b/f717a4c.patch deleted file mode 100644 index ab4f1c5..0000000 --- a/f717a4c.patch +++ /dev/null @@ -1,57 +0,0 @@ -From f717a4ceabf2c23fcb03838945865cd54a4698c7 Mon Sep 17 00:00:00 2001 -From: Howard Butler -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())