Hello community, here is the log from the commit of package opencv for openSUSE:Factory checked in at 2019-07-17 13:13:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/opencv (Old) and /work/SRC/openSUSE:Factory/.opencv.new.1887 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opencv" Wed Jul 17 13:13:58 2019 rev:73 rq:714221 version:4.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/opencv/opencv.changes 2018-11-06 15:19:40.681021523 +0100 +++ /work/SRC/openSUSE:Factory/.opencv.new.1887/opencv.changes 2019-07-17 13:14:02.647854531 +0200 @@ -1,0 +2,57 @@ +Tue Jul 2 23:06:30 UTC 2019 - Stefan Brüns <stefan.bru...@rwth-aachen.de> + +- Update to version 4.1.0 + * DNN module: + + Reduced peak memory consumption for some models up to 30%. + + Inference Engine + - Inference Engine 2018R3 is now a minimal supported version of IE. + - Myriad X (Intel® Neural Compute Stick 2) is now supported and tested. + - Automatic IR network reshaping for different inputs. + - Improved samples to work with models from OpenVINO Open Model Zoo + + New networks from TensorFlow Object Detection API: Faster-RCNNs, SSDs + and Mask-RCNN with dilated convolutions, FPN SSD + * Performance improvements: + + More optimization using AVX2 instruction set. + + Automatic runtime dispatching is available for large set of functions + from core and imgproc modules. + * Other improvements: + + Matplotlib Perceptually Uniform Sequential colormaps + + Add keypoints matching visualization for real-time pose estimation tutorial + + Add Hand-Eye calibration methods + + Java: improved support for multidimensional arrays (Mat) + + Dynamically loaded videoio backends (FFmpeg, GStreamer) + + opencv_contrib: Robust local optical flow (RLOF) implementations + + opencv_contrib: Implementation of Quasi Dense Stereo algorithm + + opencv_contrib: New module: Image Quality Analysis (IQA) API + + opencv_contrib: BRISQUE No Reference Image Quality Assessment (IQA) API + Check https://github.com/opencv/opencv/wiki/ChangeLog#version410 +- Update to version 4.0.0 + * A lot of C API from OpenCV 1.x has been removed. The affected modules are + objdetect, photo, video, videoio, imgcodecs, calib3d. + * Persistence (storing and loading structured data to/from XML, YAML or JSON) + in the core module has been completely reimplemented. + * OpenCV is now C++11 library and requires C++11-compliant compiler. + Thanks to the extended C++11 standard library, we could get rid of hand-crafted + cv::String and cv::Ptr. Now cv::String == std::string and cv::Ptr is a thin + wrapper on top of std::shared_ptr. Also, on Linux/BSD for cv::parallel_for_ + we now use std::thread's instead of pthreads. + * DNN improvements + * Completely new module opencv_gapi has been added. It is the engine for very + efficient image processing, based on lazy evaluation and on-fly construction. + * Performance improvements + A few hundreds of basic kernels in OpenCV have been rewritten using so-called + "wide universal intrinsics". Those intrinsics map to SSE2, SSE4, AVX2, NEON or + VSX intrinsics, depending on the target platform and the compile flags. + * QR code detector and decoder have been added to opencv/objdetect module. + * The popular Kinect Fusion algorithm has been implemented, optimized for CPU and + GPU (OpenCL), and integrated into opencv_contrib/rgbd module. + * Very efficient and yet high-quality DIS dense optical flow algorithm has been + moved from opencv_contrib to opencv, video module. See the example. + * The slower TV L1 optical flow algorithm has been moved to opencv_contrib. + Check https://github.com/opencv/opencv/wiki/ChangeLog#version400 +- Drop obsolete opencv-lib_suffix.patch +- Add 0001-Handle-absolute-OPENCV_INCLUDE_INSTALL_PATH-correctl.patch +- As this is a major version upgrade, the old 3.4.x package is still + available as opencv3 + +------------------------------------------------------------------- Old: ---- opencv-3.4.3.tar.gz opencv-lib_suffix.patch opencv_contrib-3.4.3.tar.gz New: ---- 0001-Handle-absolute-OPENCV_INCLUDE_INSTALL_PATH-correctl.patch opencv-4.1.0.tar.gz opencv_contrib-4.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ opencv.spec ++++++ --- /var/tmp/diff_new_pack.5HHHYi/_old 2019-07-17 13:14:07.499852175 +0200 +++ /var/tmp/diff_new_pack.5HHHYi/_new 2019-07-17 13:14:07.499852175 +0200 @@ -1,7 +1,7 @@ # # spec file for package opencv # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,8 +16,11 @@ # +# The ADE required for gapi is not yet packaged, disable it for now +%bcond_with gapi + %define libname lib%{name} -%define soname 3_4 +%define soname 4_1 # disabled by default as many fail %bcond_with tests %bcond_without qt5 @@ -26,7 +29,7 @@ %bcond_without python3 %bcond_without openblas Name: opencv -Version: 3.4.3 +Version: 4.1.0 Release: 0 Summary: Collection of algorithms for computer vision # GPL-2.0 AND Apache-2.0 files are in 3rdparty/ittnotify which is not build @@ -42,10 +45,13 @@ Patch1: opencv-build-compare.patch # PATCH-FIX-OPENSUSE 0001-Do-not-include-glx.h-when-using-GLES.patch -- Fix build error on 32bit ARM, due to incompatible pointer types, https://github.com/opencv/opencv/issues/9171 Patch2: 0001-Do-not-include-glx.h-when-using-GLES.patch -# PATCH-FIX-OPENSUSE fix_processor_detection_for_32bit_on_64bit.patch -- Fix CPU detection for 32bit build on qemu-system-aarch64 +# PATCH-FIX-UPSTREAM fix_processor_detection_for_32bit_on_64bit.patch -- Fix CPU detection for 32bit build on qemu-system-aarch64 Patch3: fix_processor_detection_for_32bit_on_64bit.patch -# PATCH-FIX-OPENSUSE remove LIB_SUFFIX from OPENCV_LIB_INSTALL_PATH because CMAKE_INSTALL_LIBDIR is arch dependent -Patch4: opencv-lib_suffix.patch +# PATCH-FIX-OPENSUSE +Patch4: 0001-Handle-absolute-OPENCV_INCLUDE_INSTALL_PATH-correctl.patch +%if %{with gapi} +BuildRequires: ade-devel >= 0.1.0 +%endif BuildRequires: cmake BuildRequires: fdupes BuildRequires: libeigen3-devel @@ -65,8 +71,8 @@ BuildRequires: pkgconfig(libv4l2) BuildRequires: pkgconfig(libv4lconvert) BuildRequires: pkgconfig(zlib) -Provides: opencv-qt5 -Obsoletes: opencv-qt5 +Provides: opencv-qt5 = %{version} +Obsoletes: opencv-qt5 < %{version} %if %{with openblas} BuildRequires: openblas-devel %endif @@ -128,8 +134,8 @@ Requires: pkgconfig(sm) Requires: pkgconfig(x11) Requires: pkgconfig(xext) -Provides: %{name}-qt5-devel -Obsoletes: %{name}-qt5-devel +Provides: %{name}-qt5-devel = %{version} +Obsoletes: %{name}-qt5-devel < %{version} %description devel This package contains the OpenCV C/C++ library and header files, as well as @@ -142,8 +148,8 @@ Group: Development/Libraries/Python Provides: python-%{name} = %{version}-%{release} Obsoletes: python-%{name} < %{version}-%{release} -Provides: python-%{name}-qt5 -Obsoletes: python-%{name}-qt5 +Provides: python-%{name}-qt5 = %{version} +Obsoletes: python-%{name}-qt5 < %{version} %description -n python2-%{name} This package contains Python 2 bindings for the OpenCV library. @@ -152,8 +158,8 @@ Summary: Python 3 bindings for apps which use OpenCV License: BSD-3-Clause Group: Development/Libraries/Python -Provides: python3-%{name}-qt5 -Obsoletes: python3-%{name}-qt5 +Provides: python3-%{name}-qt5 = %{version} +Obsoletes: python3-%{name}-qt5 < %{version} %description -n python3-%{name} This package contains Python 3 bindings for the OpenCV library. @@ -165,8 +171,8 @@ Recommends: python # Since this package also contains examples that need -devel to be compiled Suggests: %{name}-devel -Provides: %{name}-qt5-doc -Obsoletes: %{name}-qt5-doc +Provides: %{name}-qt5-doc = %{version} +Obsoletes: %{name}-qt5-doc < %{version} %description doc This package contains the documentation and examples for the OpenCV library. @@ -176,7 +182,7 @@ %autopatch -p1 # Only copy over modules we need -mv opencv_contrib-%{version}/modules/{face,tracking,plot} modules/ +mv opencv_contrib-%{version}/modules/{face,tracking,optflow,plot,shape,superres,videostab,ximgproc} modules/ cp opencv_contrib-%{version}/LICENSE LICENSE.contrib # Remove Windows specific files @@ -191,6 +197,8 @@ %if %{with tests} -DBUILD_TESTS=ON \ %endif + -DOPENCV_INCLUDE_INSTALL_PATH=%{_includedir} \ + -DOPENCV_LICENSES_INSTALL_PATH=%{_licensedir}/%{name} \ -DINSTALL_C_EXAMPLES=ON \ -DINSTALL_PYTHON_EXAMPLES=ON \ -DENABLE_OMIT_FRAME_POINTER=OFF \ @@ -200,13 +208,19 @@ -DWITH_XINE=ON \ -DWITH_IPP=OFF \ -DWITH_TBB=ON \ +%if %{without gapi} + -DWITH_ADE=OFF \ + -DWITH_opencv_gapi=OFF \ +%else + -Dade_DIR:PATH=%{_datadir}/ade \ +%endif %ifarch %{ix86} -DCPU_BASELINE_DISABLE=SSE \ -DCPU_DISPATCH=SSE,SSE2,SSE3 \ %endif %ifarch x86_64 -DCPU_BASELINE=SSE2 \ - -DCPU_DISPATCH=SSE3,SSE4_1,SSE4_2,AVX,FP16,AVX2 \ + -DCPU_DISPATCH=SSE3,SSE4_1,SSE4_2,FP16,FMA3,AVX,AVX2 \ %endif %ifarch %{arm} %ifarch armv7l armv7hl @@ -223,6 +237,7 @@ %if 0%{?suse_version} >= 1500 -DPYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 \ %endif + -DOPENCV_SKIP_PYTHON_LOADER=ON \ make %{?_smp_mflags} VERBOSE=1 @@ -235,11 +250,14 @@ %install %cmake_install mkdir -p %{buildroot}%{_docdir}/%{name}-doc -mv %{buildroot}%{_datadir}/OpenCV/samples %{buildroot}%{_docdir}/%{name}-doc/examples +mv %{buildroot}%{_datadir}/opencv4/samples %{buildroot}%{_docdir}/%{name}-doc/examples # Fix rpmlint warning "doc-file-dependency" chmod 644 %{buildroot}%{_docdir}/%{name}-doc/examples/python/*.py +# Remove LD_LIBRARY_PATH wrapper script, we install into proper library dirs +rm %{buildroot}%{_bindir}/setup_vars_opencv4.sh + %fdupes -s %{buildroot}%{_docdir}/%{name}-doc/examples %fdupes -s %{buildroot}%{_includedir} @@ -248,9 +266,10 @@ %files %license LICENSE LICENSE.contrib +%license %{_licensedir}/opencv/* %{_bindir}/opencv_* -%{_datadir}/OpenCV -%exclude %{_datadir}/OpenCV/OpenCVConfig*.cmake +%{_datadir}/opencv4 +%exclude %{_datadir}/opencv4/valgrind* %files -n %{libname}%{soname} %license LICENSE LICENSE.contrib @@ -260,11 +279,15 @@ %{_libdir}/libopencv_face.so.* %{_libdir}/libopencv_features2d.so.* %{_libdir}/libopencv_flann.so.* +%if %{with gapi} +%{_libdir}/libopencv_gapi.so.* +%endif %{_libdir}/libopencv_highgui.so.* %{_libdir}/libopencv_imgcodecs.so.* %{_libdir}/libopencv_imgproc.so.* %{_libdir}/libopencv_ml.so.* %{_libdir}/libopencv_objdetect.so.* +%{_libdir}/libopencv_optflow.so.* %{_libdir}/libopencv_photo.so.* %{_libdir}/libopencv_plot.so.* %{_libdir}/libopencv_shape.so.* @@ -274,14 +297,16 @@ %{_libdir}/libopencv_video.so.* %{_libdir}/libopencv_videoio.so.* %{_libdir}/libopencv_videostab.so.* +%{_libdir}/libopencv_ximgproc.so.* %files devel %license LICENSE LICENSE.contrib -%{_includedir}/opencv/ %{_includedir}/opencv2/ %{_libdir}/lib*.so -%{_libdir}/pkgconfig/opencv.pc -%{_datadir}/OpenCV/OpenCVConfig*.cmake +%dir %{_libdir}/cmake/opencv4 +%{_libdir}/cmake/opencv4/OpenCVConfig*.cmake +%{_libdir}/cmake/opencv4/OpenCVModules*.cmake +%{_datadir}/opencv4/valgrind* %if %{with python2} %files -n python2-%{name} ++++++ 0001-Handle-absolute-OPENCV_INCLUDE_INSTALL_PATH-correctl.patch ++++++ >From 16088f02b282cf2c7d94bc2a599f2e98b2ba4f29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bru...@rwth-aachen.de> Date: Fri, 28 Jun 2019 15:36:18 +0200 Subject: [PATCH] Handle absolute OPENCV_INCLUDE_INSTALL_PATH correctly In case OPENCV_INCLUDE_INSTALL_PATH is absolute (i.e. starts with a "/"), the path ends up with a double "/". While this is mostly equivalent to a single slash, it may have a nasty side effect when: - OpenCV_INSTALL_PATH is empty - OPENCV_INCLUDE_INSTALL_PATH is "/usr/include" - the calling build script uses "-isystem" to specify the path to the headers of dependencies (to avoid warnings) Specifying "-isystem /usr/include" breaks the path ordering, and GCC can no longer find its "stdlib.h", thus CMake filters such statements. Unfortunately it fails to do so when using "//usr/include". --- cmake/OpenCVGenConfig.cmake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake index f452678ad..cef9d0bbc 100644 --- a/cmake/OpenCVGenConfig.cmake +++ b/cmake/OpenCVGenConfig.cmake @@ -68,7 +68,11 @@ configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake. # Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use *with* "make install" # ------------------------------------------------------------------------------------------- file(RELATIVE_PATH OpenCV_INSTALL_PATH_RELATIVE_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/${OPENCV_CONFIG_INSTALL_PATH}/" ${CMAKE_INSTALL_PREFIX}) -set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_INCLUDE_INSTALL_PATH}\"") +if (IS_ABSOLUTE ${OPENCV_INCLUDE_INSTALL_PATH}) + set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"${OPENCV_INCLUDE_INSTALL_PATH}\"") +else() + set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_INCLUDE_INSTALL_PATH}\"") +endif() if(USE_IPPICV) file(RELATIVE_PATH IPPICV_INSTALL_PATH_RELATIVE_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}" "${IPPICV_INSTALL_PATH}") -- 2.22.0 ++++++ opencv-3.4.3.tar.gz -> opencv-4.1.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/opencv/opencv-3.4.3.tar.gz /work/SRC/openSUSE:Factory/.opencv.new.1887/opencv-4.1.0.tar.gz differ: char 12, line 1 ++++++ opencv_contrib-3.4.3.tar.gz -> opencv_contrib-4.1.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/opencv/opencv_contrib-3.4.3.tar.gz /work/SRC/openSUSE:Factory/.opencv.new.1887/opencv_contrib-4.1.0.tar.gz differ: char 26, line 1