+%attr(755,root,root) %{_bindir}/opencv_annotation
+%attr(755,root,root) %{_bindir}/opencv_interactive-calibration
+%attr(755,root,root) %{_bindir}/opencv_model_diagnostics
+%attr(755,root,root) %{_bindir}/opencv_version
+%attr(755,root,root) %{_bindir}/opencv_visualisation
+%attr(755,root,root) %{_bindir}/setup_vars_opencv4.sh
+%attr(755,root,root) %{_libdir}/libopencv_calib3d.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_calib3d.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_dnn.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_dnn.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_features2d.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_features2d.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_gapi.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_gapi.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_highgui.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_highgui.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_objdetect.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_objdetect.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_stitching.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_stitching.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_superres.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_superres.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_videostab.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_videostab.so.%{sover}
+# contrib modules
+%attr(755,root,root) %{_bindir}/opencv_waldboost_detector
+%attr(755,root,root) %ghost %{_libdir}/libopencv_alphamat.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_alphamat.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_aruco.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_aruco.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_bgsegm.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_bgsegm.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_bioinspired.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_bioinspired.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_ccalib.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_ccalib.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_datasets.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_datasets.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_dnn_objdetect.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_dnn_objdetect.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_dnn_superres.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_dnn_superres.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_dpm.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_dpm.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_face.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_face.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_freetype.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_freetype.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_fuzzy.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_fuzzy.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_hdf.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_hdf.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_hfs.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_hfs.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_img_hash.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_img_hash.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_intensity_transform.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_intensity_transform.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_line_descriptor.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_line_descriptor.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_mcc.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_mcc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_ovis.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_ovis.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_optflow.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_optflow.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_phase_unwrapping.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_phase_unwrapping.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_plot.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_plot.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_quality.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_quality.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_rapid.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_rapid.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_reg.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_reg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_rgbd.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_rgbd.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_saliency.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_saliency.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_shape.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_shape.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_sfm.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_sfm.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_stereo.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_stereo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_structured_light.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_structured_light.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_surface_matching.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_surface_matching.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_text.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_text.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_tracking.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_tracking.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_wechat_qrcode.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_wechat_qrcode.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_xfeatures2d.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_xfeatures2d.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_ximgproc.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_ximgproc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_xobjdetect.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_xobjdetect.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_xphoto.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_xphoto.so.*.*.*
+
+%dir %{_datadir}/opencv4
+%{_datadir}/opencv4/haarcascades
+%{_datadir}/opencv4/lbpcascades
+%{_datadir}/opencv4/quality
+
+%files core
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libopencv_core.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_core.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_flann.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_flann.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_imgcodecs.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_imgcodecs.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_imgproc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_imgproc.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_ml.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_ml.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_photo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_photo.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_video.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_video.so.%{sover}
+%attr(755,root,root) %{_libdir}/libopencv_videoio.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_videoio.so.%{sover}
+
+%if %{with vtk}
+%files viz
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libopencv_viz.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopencv_viz.so.%{sover}
+%endif