From 097dbe5b39ebb12f250233d20a1b05f7c16b89ad0c946b0a8d40a487b7c2feff Mon Sep 17 00:00:00 2001 From: Angelos Tzotsos Date: Fri, 26 Feb 2016 13:40:59 +0000 Subject: [PATCH] Accepting request 361781 from Application:Geo:Staging Point Data Abstraction Library Will be the future OBS-URL: https://build.opensuse.org/request/show/361781 OBS-URL: https://build.opensuse.org/package/show/Application:Geo/PDAL?expand=0&rev=1 --- .gitattributes | 23 ++ .gitignore | 1 + 01.patch | 13 + PDAL-1.2.0+git.1456409216.0884085.tar.xz | 3 + PDAL.changes | 85 +++++++ PDAL.spec | 303 +++++++++++++++++++++++ _service | 22 ++ _servicedata | 4 + 8 files changed, 454 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 01.patch create mode 100644 PDAL-1.2.0+git.1456409216.0884085.tar.xz create mode 100644 PDAL.changes create mode 100644 PDAL.spec create mode 100644 _service create mode 100644 _servicedata diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/01.patch b/01.patch new file mode 100644 index 0000000..d6e7064 --- /dev/null +++ b/01.patch @@ -0,0 +1,13 @@ +diff --git i/apps/CMakeLists.txt w/apps/CMakeLists.txt +index a6c6943..566ae82 100644 +--- i/apps/CMakeLists.txt ++++ w/apps/CMakeLists.txt +@@ -87,7 +87,7 @@ if(UNIX OR APPLE) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pdal.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/pdal.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pdal.pc +- DESTINATION "${CMAKE_INSTALL_PREFIX}/${PDAL_LIB_INSTALL_DIR}/pkgconfig/" ++ DESTINATION "${PDAL_LIB_INSTALL_DIR}/pkgconfig/" + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) + + # Autoconf compatibility variables to use the same script source. diff --git a/PDAL-1.2.0+git.1456409216.0884085.tar.xz b/PDAL-1.2.0+git.1456409216.0884085.tar.xz new file mode 100644 index 0000000..fb76d7a --- /dev/null +++ b/PDAL-1.2.0+git.1456409216.0884085.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84af9ab7646d51a9d369f50284d08bb01d46d4712a87c77bf7c9987d534f5008 +size 34604316 diff --git a/PDAL.changes b/PDAL.changes new file mode 100644 index 0000000..5a2546e --- /dev/null +++ b/PDAL.changes @@ -0,0 +1,85 @@ +------------------------------------------------------------------- +Thu Feb 25 14:53:51 UTC 2016 - bruno@ioda-net.ch + +- Update to version 1.2.0+git.1456409216.0884085: + + Enable shallow clones on AppVeyor + + Move boost/property_tree/ptree.hpp where it is actually needed. + + address #1157 -- invalid JSON output due to \r\n + + use PDAL_LIB_INSTALL_DIR instead of CMAKE_INSTALL_LIBDIR + + try using webhook instead of app for slack notifications + + one more PDAL_LIB_INSTALL_DIR fix + + typo'd incoming_webhook defn + +- 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 + +- Upstream release 1.1.0 + * Enhancements: + 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, + filters.gridprojection, filters.ground filters.movingleastsquares, + filters.poisson, filters.radiusoutlier, filters.statisticaloutlier, + filters.voxelgrid, filters.height, filters.dartsample) + Add readers.gdal to support reading raster sets as point clouds + 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 + handle only a single dimension. + 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 + of points. + Update to version 1.1.4 of rply in readers.rply. + 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 + 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 + 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 + was 1. (#1015) + 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. + (#1040) + Check object ID against table column id (attrelid) to ensure correct + PCID retrieval in readers.pgpointcloud. (#1051) + +- 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) + - Add patches from upstream to fix lib(arch) placement + * 0001-set-SOVERSION-for-plugins-too-1119.patch + * 0004-install-pkgconfig-script-into-CMAKE_INSTALL_LIBDIR-1.patch + * 0016-install-pdal.pc-pkgconfig-in-CMAKE_INSTALL_LIBDIR.patch + * 0017-more-CMAKE_INSTALL_LIBDIR-tweaks.patch + +------------------------------------------------------------------- +Sun Dec 29 16:38:02 UTC 2013 - bruno@ioda-net.ch + +- First packaging for OBS + Due to upstream bug, documentation is not available diff --git a/PDAL.spec b/PDAL.spec new file mode 100644 index 0000000..d035092 --- /dev/null +++ b/PDAL.spec @@ -0,0 +1,303 @@ +# +# spec file for package PDAL +# +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 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 +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine 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/ +# + +#@TODO: plugins PCL LASZIP P2G +# python breathe +# + +# Ask upstream to clarify seems sofull_version is build version +%define soname 1 +%define sovers 1 +%define sofull_version 2.0.0 + +Name: PDAL +Version: 1.2.0+git.1456409216.0884085 +Release: 0 +Summary: Point Data Abstraction Library. GDAL for point cloud data +#@todo verify with upstream if not BSD-3 +License: BSD-2-Clause +Group: Productivity/Graphics/CAD +Url: http://www.pdal.io/ +# We use git master on upstream recommandation until next March 2016 release +# use osc service dr +Source: http://download.osgeo.org/pdal/%{name}-%{version}.tar.xz +Patch0: 01.patch +# Override the problem of libpsl5 in tumbleweed +%if 0%{?suse_version} >= 1330 +BuildRequires: libpsl5 +%endif +BuildRequires: bash-completion +BuildRequires: boost-devel +BuildRequires: cairo-devel +BuildRequires: cmake >= 2.8 +BuildRequires: cunit-devel +BuildRequires: dblatex +BuildRequires: doxygen +BuildRequires: fdupes +BuildRequires: freeglut-devel +BuildRequires: gcc-c++ +BuildRequires: hdf5-devel +BuildRequires: libcgal-devel +BuildRequires: libgdal-devel +BuildRequires: libgeos-devel +BuildRequires: libgeotiff-devel +BuildRequires: libght-devel +BuildRequires: libjson-c-devel +BuildRequires: liblas-devel +BuildRequires: libproj-devel +BuildRequires: libspatialindex-devel +BuildRequires: libtiff-devel +BuildRequires: libxml2-devel +BuildRequires: pkg-config +BuildRequires: postgresql-devel >= 9.1 +BuildRequires: libpq5 >= 9.1 +# BuildRequires: pointcloud-devel +# BuildRequires: libpqxx-devel +BuildRequires: python-Sphinx +# Doesn't exist on obs BuildRequires: python-breathe +BuildRequires: python-devel +BuildRequires: python-docutils +BuildRequires: python-numpy-devel +BuildRequires: python3-Sphinx +# Doesn't exist on obs BuildRequires: python-breathe +BuildRequires: python3-devel +BuildRequires: python3-docutils +BuildRequires: python3-numpy-devel +BuildRequires: zlib-devel +Provides: libPDAL = %{version} +Requires: libpdal%{soname} = %{version} +Recommends: bash-completion + +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +PDAL is a C++ BSD library for translating and manipulating point cloud data. +It is very much like the GDAL library which handles raster and vector data. +See Readers and Writers for data formats PDAL supports, and see Filters for +filtering operations that you can apply with PDAL. + +In addition to the library code, PDAL provides a suite of command-line +applications that users can conveniently use to process, filter, translate, +and query point cloud data. See Applications for more information. +Developers and Sponsorship + +PDAL is developed by Howard Butler, Michael Gerlek, Andrew Bell, Brad Chambers +and others. Find out more about who contributes to PDAL at Contributors. + +Website : +https://www.pdal.io + +This package provides tools & utilities using PDAL library libpdal + +%package -n lib%{name}%{soname} +Summary: Point Data Abstraction Library. GDAL for point cloud data + +%description -n lib%{name}%{soname} +PDAL is a C++ BSD library for translating and manipulating point cloud data. +It is very much like the GDAL library which handles raster and vector data. +See Readers and Writers for data formats PDAL supports, and see Filters for +filtering operations that you can apply with PDAL. + +In addition to the library code, PDAL provides a suite of command-line +applications that users can conveniently use to process, filter, translate, +and query point cloud data. See Applications for more information. +Developers and Sponsorship + +PDAL is developed by Howard Butler, Michael Gerlek, Andrew Bell, Brad Chambers +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 +modification of point clouds. PDAL provides a limited interface to the PCL's +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: boost-devel +Requires: cmake +Requires: zlib-devel +Provides: lib%{name}%{soname}-devel = %{version} +Provides: lib%{name}-devel + +%description -n %{name}-devel +This package provides the headers files and tools you may need to +develop applications using PDAL. + +%package -n %{name}-doc +Summary: Documentation, examples and demos for PDAL +Group: Productivity/Graphics/CAD +Requires: %{name} = %{version} + +%description -n %{name}-doc +This package provides the documentation and sources of examples and data demos of +PDAL algorithms. + +%prep +%setup -q -n PDAL-%{version} +%patch0 -p1 + +#Cleanup spurious perms in documentation +find ./doc/ -type f -exec chmod -v 0644 {} \; + + +%build +%if 0%{?suse_version} == 1310 +# Make things more secure, but only on 13.1 (by default on 13.2+) +export LDFLAGS="-Wl,-z,relro,-z,now -pie" +export CFLAGS="%{optflags} -fPIE -pie" +export CXXFLAGS="%{optflags} -fPIE -pie" +%endif + +%cmake \ + -G "Unix Makefiles" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ + -DPDAL_LIB_INSTALL_DIR=%{_libdir} \ + -DPDAL_LIB_NAME=lib%{name} \ + -DCMAKE_C_FLAGS_RELEASE="%{optflags} -fno-strict-aliasing -g -DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE="%{optflags} -fno-strict-aliasing -g -DNDEBUG" \ + -DCMAKE_SKIP_INSTALL_RPATH=ON \ + -DCMAKE_SKIP_RPAH=ON \ + -DENABLE_CTEST=ON \ + -DWITH_TESTS=ON \ + -DWITH_ICONV=ON \ + -DBUILD_PLUGIN_PCL=OFF \ + -DWITH_LASZIP=OFF \ + -DWITH_GEOTIFF=ON \ + -DGEOTIFF_INCLUDE_DIR=%{_includedir}/libgeotiff \ + -DWITH_LAZPERF=OFF \ + -DWITH_LIBXML2=ON \ + -DBUILD_PLUGIN_PYTHON=ON \ + -DBUILD_PLUGIN_ATTRIBUTE=ON \ + -DBUILD_PLUGIN_HEXBIN=OFF \ + -DBUILD_PLUGIN_ICEBRIDGE=OFF \ + -DBUILD_PLUGIN_NITF=OFF \ + -DBUILD_PLUGIN_P2G=OFF \ + -DBUILD_PLUGIN_PGPOINTCLOUD=ON \ + -DBUILD_PLUGIN_SQLITE=ON \ + -DBUILD_PLUGIN_GREYHOUND=OFF \ + .. + +# -DBUILD_PLUGIN_GEOWAVE=OFF \ +# -DGEOWAVE_RUNTIME_JAR=/home/vagrant/geowave/geowave-jace.jar \ +# -DJACE_INCLUDE_DIR=/home/vagrant/geowave/include \ +# -DJACE_LIBRARY=/home/vagrant/geowave/build/libjace.so \ +# -DLAZPERF_INCLUDE_DIR=/home/vagrant/laz-perf \ + +make VERBOSE=1 %{?_smp_mflags} + +# Make documentation once fixed upstream +# cd doc +# make doxygen html man pdf + + +%check +make %{?_smp_mflags} test + +%install +pushd build +make DESTDIR=%{buildroot} install %{?_smp_mflags} +popd +mkdir -p %{buildroot}%{_datadir}/bash_completion/completions/ +cp -v scripts/bash-completion/pdal %{buildroot}%{_datadir}/bash_completion/completions/pdal + +#No .la lib +find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print + +%if 0%{?suse_version} +%fdupes %{buildroot} +%endif + +%post -n lib%{name}%{soname} -p /sbin/ldconfig + +%postun -n lib%{name}%{soname} -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%{_bindir}/pdal +%dir %{_datadir}/bash_completion +%dir %{_datadir}/bash_completion/completions +%{_datadir}/bash_completion/completions/pdal + +%files -n lib%{name}%{soname} +%defattr(-,root,root,-) +%doc AUTHORS.txt LICENSE.txt README.md ChangeLog +%{_libdir}/libpdal_base.so.%{sofull_version} +%{_libdir}/libpdal_plang.so.%{sofull_version} +# Plugins exist with their +%{_libdir}/libpdal_plugin_filter_attribute.so.%{sofull_version} +%{_libdir}/libpdal_plugin_filter_predicate.so.%{sofull_version} +%{_libdir}/libpdal_plugin_filter_programmable.so.%{sofull_version} +%{_libdir}/libpdal_plugin_reader_sqlite.so.%{sofull_version} +%{_libdir}/libpdal_plugin_writer_sqlite.so.%{sofull_version} +%{_libdir}/libpdal_plugin_reader_pgpointcloud.so.%{sofull_version} +%{_libdir}/libpdal_plugin_writer_pgpointcloud.so.%{sofull_version} +%{_libdir}/libpdal_util.so.%{sofull_version} + + +%files -n %{name}-devel +%defattr(-,root,root,-) +%doc AUTHORS.txt LICENSE.txt README.md CONTRIBUTING.md +%{_includedir}/pdal +%{_libdir}/libpdal_base.so.%{sovers} +%{_libdir}/libpdal_base.so +%{_libdir}/libpdal_plang.so.%{sovers} +%{_libdir}/libpdal_plang.so +%{_libdir}/libpdal_plugin_filter_attribute.so +%{_libdir}/libpdal_plugin_filter_attribute.so.%{sovers} +%{_libdir}/libpdal_plugin_filter_predicate.so +%{_libdir}/libpdal_plugin_filter_predicate.so.%{sovers} +%{_libdir}/libpdal_plugin_filter_programmable.so +%{_libdir}/libpdal_plugin_filter_programmable.so.%{sovers} +%{_libdir}/libpdal_plugin_reader_sqlite.so +%{_libdir}/libpdal_plugin_reader_sqlite.so.%{sovers} +%{_libdir}/libpdal_plugin_writer_sqlite.so +%{_libdir}/libpdal_plugin_writer_sqlite.so.%{sovers} +%{_libdir}/libpdal_plugin_reader_pgpointcloud.so +%{_libdir}/libpdal_plugin_reader_pgpointcloud.so.%{sovers} +%{_libdir}/libpdal_plugin_writer_pgpointcloud.so +%{_libdir}/libpdal_plugin_writer_pgpointcloud.so.%{sovers} +%{_libdir}/libpdal_util.so.%{sovers} +%{_libdir}/libpdal_util.so +%{_libdir}/libpdalcpp.so +%{_libdir}/pkgconfig/pdal.pc +%{_bindir}/pdal-config +%dir %{_libdir}/pdal/ +%dir %{_libdir}/pdal/cmake +%{_libdir}/pdal/cmake/PDALConfig.cmake +%{_libdir}/pdal/cmake/PDALConfigVersion.cmake +%{_libdir}/pdal/cmake/PDALTargets-release.cmake +%{_libdir}/pdal/cmake/PDALTargets.cmake + +%files -n %{name}-doc +%defattr(-,root,root,-) +%doc doc + +%changelog diff --git a/_service b/_service new file mode 100644 index 0000000..9dac69d --- /dev/null +++ b/_service @@ -0,0 +1,22 @@ + + + git://github.com/PDAL/pdal.git + git + .git + 1.2.0+git.%ct.%h + master + + PDAL + enable + + + *.tar + xz + + + PDAL + + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..bf3c0fc --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + git://github.com/PDAL/pdal.git + 0884085967888a7cd344604c35c9666351243c62 \ No newline at end of file