Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package laszip for openSUSE:Factory checked in at 2026-07-29 19:01:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/laszip (Old) and /work/SRC/openSUSE:Factory/.laszip.new.2004 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "laszip" Wed Jul 29 19:01:01 2026 rev:8 rq:1368326 version:3.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/laszip/laszip.changes 2020-05-19 14:47:57.736003413 +0200 +++ /work/SRC/openSUSE:Factory/.laszip.new.2004/laszip.changes 2026-07-29 19:02:40.816743377 +0200 @@ -1,0 +2,30 @@ +Wed Jul 29 08:12:53 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to 3.5.0: + * Support for LAS 1.5 + * Rename get/set_classification_uni to get/set_classification + * Merge from LAStools: LASMessage concept, warning and error + handling fixes + * Fix an integer overflow of number_of_point_records in + laszip_update_inventory + * Fix fseek with gcc for las/lax files larger than 2 GB + * Fix memory leaks in lasreaditemcompressed_v3 and laszip_dll + * Recover from bit-corrupted LAZ files whose chunk table is zeroed + * The shared library keeps soname 8; comparing exported symbols + against 3.4.3 shows 878 against 710, with four internal + LASindex/LASinterval symbols withdrawn and no consumer of them + in the distribution +- Switch to the git archive: upstream stopped attaching a release + tarball, and its detached sha256sum, after 3.4.3 +- Add a %check: upstream ships no test suite, so exercise the + deliberately corrupt LAZ files under data/ through the public C + API and require each to be rejected rather than accepted or + crashed on, which also covers the dlopen path in liblaszip_api +- Package the whole laszip include directory so a new upstream + header no longer breaks the build, as laszip_common.h did +- Track the upstream rename of COPYING, AUTHORS and ChangeLog to + their .txt forms, and normalise CRLF line endings in README.md +- Replace the hand-written ldconfig scriptlets with + %ldconfig_scriptlets, and drop Group tags + +------------------------------------------------------------------- Old: ---- laszip-src-3.4.3.tar.gz laszip-src-3.4.3.tar.gz.sha256sum New: ---- laszip-3.5.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ laszip.spec ++++++ --- /var/tmp/diff_new_pack.GOgong/_old 2026-07-29 19:02:41.380762815 +0200 +++ /var/tmp/diff_new_pack.GOgong/_new 2026-07-29 19:02:41.380762815 +0200 @@ -1,7 +1,7 @@ # # spec file for package laszip # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # Copyright (c) 2019 Bruno Friedmann, Ioda-Net Sàrl, Charmoille, Switzerland. # # All modifications and additions to the file contributed by third parties @@ -19,14 +19,14 @@ %define sover 8 Name: laszip -Version: 3.4.3 +Version: 3.5.0 Release: 0 Summary: Compression library supporting ASPRS LAS format data License: LGPL-2.1-or-later -Group: Development/Libraries/C and C++ URL: https://laszip.org/ -Source0: https://github.com/LASzip/LASzip/releases/download/%{version}/laszip-src-%{version}.tar.gz -Source1: https://github.com/LASzip/LASzip/releases/download/%{version}/laszip-src-%{version}.tar.gz.sha256sum +# Upstream stopped attaching a release tarball (and its .sha256sum) at 3.5.0; +# the git auto-archive is the only published artifact. +Source0: https://github.com/LASzip/LASzip/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: cmake BuildRequires: gcc-c++ @@ -41,7 +41,6 @@ %package -n lib%{name}%{sover} Summary: Library files for %{name} -Group: System/Libraries %description -n lib%{name}%{sover} A free product of rapidlasso GmbH - quickly turns bulky LAS files into @@ -58,7 +57,6 @@ Summary: API library files for lib%{name} # Packager comment are we sure this api can live alone ? #Requires: lib%%{name}%%{sover} = %%{version} -Group: System/Libraries %description -n lib%{name}_api%{sover} API library for %{name} @@ -66,7 +64,6 @@ %package devel Summary: Development files for %{name} -Group: Development/Libraries/C and C++ Requires: lib%{name}%{sover} = %{version} Requires: lib%{name}_api%{sover} = %{version} @@ -76,7 +73,9 @@ data. %prep -%setup -q -n laszip-src-%{version} +%autosetup -p1 -n LASzip-%{version} +# Upstream ships README.md with CRLF line endings +sed -i 's/\r$//' README.md %build # laszip need dlopen,dlsym,dlclose @@ -93,27 +92,56 @@ %install %cmake_install -%post -n lib%{name}%{sover} -p /sbin/ldconfig -%postun -n lib%{name}%{sover} -p /sbin/ldconfig -%post -n lib%{name}_api%{sover} -p /sbin/ldconfig -%postun -n lib%{name}_api%{sover} -p /sbin/ldconfig +%check +# Upstream ships no test suite -- the only fixtures in data/ are LAZ files +# that are deliberately corrupt in a different way each. Use them for what +# they are for: every one must be *rejected* through the public C API rather +# than crash or be silently accepted, which is the regression these files +# exist to catch. +cat > smoke.c <<'EOF' +#include <laszip_api.h> +#include <stdio.h> +int main(int argc, char **argv) +{ + int i, bad = 0; + /* liblaszip_api is a dlopen wrapper around liblaszip -- nothing works + until the DLL is loaded, so this also exercises the -ldl link. */ + if (laszip_load_dll()) { fprintf(stderr, "laszip_load_dll failed\n"); return 1; } + for (i = 1; i < argc; i++) { + laszip_POINTER h = 0; + laszip_BOOL compressed = 0; + if (laszip_create(&h)) { fprintf(stderr, "create failed\n"); return 1; } + if (laszip_open_reader(h, argv[i], &compressed) == 0) { + fprintf(stderr, "FAIL: %s was accepted but is corrupt\n", argv[i]); + bad = 1; + } else { + fprintf(stderr, "ok: %s rejected\n", argv[i]); + } + laszip_destroy(h); + } + return bad; +} +EOF +gcc %{optflags} -o smoke smoke.c -Idll -Iinclude/laszip -Lbuild/%{_lib} -llaszip_api +LD_LIBRARY_PATH=build/%{_lib} ./smoke data/*.laz + +%ldconfig_scriptlets -n lib%{name}%{sover} +%ldconfig_scriptlets -n lib%{name}_api%{sover} %files devel -%license COPYING -%doc ChangeLog AUTHORS -%dir %{_includedir}/%{name} -%{_includedir}/%{name}/%{name}_api_version.h -%{_includedir}/%{name}/%{name}_api.h +%license COPYING.txt +%doc CHANGES.txt AUTHORS.txt README.md +%{_includedir}/%{name}/ %{_libdir}/lib%{name}.so %{_libdir}/lib%{name}_api.so %files -n lib%{name}%{sover} -%doc ChangeLog AUTHORS -%license COPYING +%license COPYING.txt +%doc CHANGES.txt AUTHORS.txt README.md %{_libdir}/lib%{name}.so.* %files -n lib%{name}_api%{sover} -%doc ChangeLog AUTHORS -%license COPYING +%license COPYING.txt +%doc CHANGES.txt AUTHORS.txt README.md %{_libdir}/lib%{name}_api.so.* ++++++ laszip-src-3.4.3.tar.gz -> laszip-3.5.0.tar.gz ++++++ ++++ 40180 lines of diff (skipped)
