Apply symbolic link to files to support OpenCV3 accepted/tizen_6.0_unified_hotfix tizen_6.0_hotfix accepted/tizen/6.0/unified/20201030.111113 accepted/tizen/6.0/unified/hotfix/20201102.231859 accepted/tizen/unified/20200417.152815 submit/tizen/20200407.083853 submit/tizen/20200410.044903 submit/tizen/20200414.011245 submit/tizen_6.0/20201029.205503 submit/tizen_6.0_hotfix/20201102.192903 submit/tizen_6.0_hotfix/20201103.115103 tizen_6.0.m2_release
authorTae-Young Chung <ty83.chung@samsung.com>
Fri, 6 Mar 2020 00:15:03 +0000 (09:15 +0900)
committerTae-Young Chung <ty83.chung@samsung.com>
Fri, 6 Mar 2020 00:15:06 +0000 (09:15 +0900)
In OpenCV4, there are some changes which don't support compatibility.
For example, header files's location is changed and
pc file's name is also changed.
To support compatibility, create symbolic links to them.

Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
packaging/opencv.spec

index ab66af7..e5b4e18 100644 (file)
@@ -1,7 +1,7 @@
 Name: opencv
 Summary: OpenCV library
 Version: 4.2.0
-Release: 1
+Release: 2
 Group: Development/Libraries
 License: BSD-3-Clause and LGPL-2.1+
 Source0: %{name}-%{version}.tar.gz
@@ -52,6 +52,11 @@ ARCH=x86_64
 %ifarch %ix86
 ARCH=i386
 %endif
+
+# compatibility to opencv3
+sed -i 's/opencv4.pc/opencv.pc/g' cmake/OpenCVGenPkgconfig.cmake
+
+
 mkdir -p build
 cd build
 cmake .. -DCMAKE_INSTALL_PREFIX=/usr \
@@ -222,6 +227,21 @@ cd build
 rm -rf %{buildroot}
 %make_install
 
+# To support backward compatibility with OpenCV3
+# Header files
+ln -sf %{_includedir}/opencv4/opencv2 %{buildroot}%{_includedir}/opencv2
+# pkgconfig
+ln -sf %{_libdir}/pkgconfig/opencv.pc %{buildroot}%{_libdir}/pkgconfig/%{name}4.pc
+# cascades files
+mkdir -p %{buildroot}%{_datadir}/OpenCV
+ln -sf %{_datadir}/opencv4/haarcascades %{buildroot}%{_datadir}/OpenCV/haarcascades
+ln -sf %{_datadir}/opencv4/lbpcascades %{buildroot}%{_datadir}/OpenCV/lbpcascades
+
+ln -sf %{_libdir}/cmake/opencv4/OpenCVConfig-version.cmake %{buildroot}%{_datadir}/OpenCV/OpenCVConfig-version.cmake
+ln -sf %{_libdir}/cmake/opencv4/OpenCVConfig.cmake %{buildroot}%{_datadir}/OpenCV/OpenCVConfig.cmake
+ln -sf %{_libdir}/cmake/opencv4/OpenCVModules-release.cmake %{buildroot}%{_datadir}/OpenCV/OpenCVModules-release.cmake
+ln -sf %{_libdir}/cmake/opencv4/OpenCVModules.cmake %{buildroot}%{_datadir}/OpenCV/OpenCVModules.cmake
+
 %clean
 rm -rf %{buildroot}
 
@@ -241,6 +261,9 @@ rm -rf %{buildroot}
 /usr/share/opencv4/haarcascades/*frontalface_alt*
 /usr/share/opencv4/haarcascades/*smile*
 /usr/share/opencv4/lbpcascades/*frontalface*
+/usr/share/OpenCV/OpenCV*
+/usr/share/OpenCV/haarcascades
+/usr/share/OpenCV/lbpcascades
 
 %exclude /usr/share/opencv4/haarcascades/*eye*
 %exclude /usr/share/opencv4/haarcascades/*catface*