!7 [sync] PR-6: 跟进上游版本,适配到 openEuler 22.03 LTS

From: @openeuler-sync-bot 
Reviewed-by: @jianminw 
Signed-off-by: @jianminw
This commit is contained in:
openeuler-ci-bot 2022-04-12 10:10:19 +00:00 committed by Gitee
commit 069421b6de
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
7 changed files with 589 additions and 108 deletions

View File

@ -1,17 +1,5 @@
From 3297328f8d8902c80a154d96517870d2dbae7b4a Mon Sep 17 00:00:00 2001
From: yafen <yafen@iscas.ac.cn>
Date: Wed, 11 Aug 2021 04:58:33 +0800
Subject: [PATCH 1/2] Revert "Revert "Add MMAL and MMAL_APPS to 64bit builds""
This reverts commit f97b1af1b3e653f9da2c1a3643479bfd469e3b74.
---
CMakeLists.txt | 18 ++++++++----------
host_applications/linux/CMakeLists.txt | 4 ++--
interface/mmal/CMakeLists.txt | 6 ++++--
3 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fe67fc8..d8ba238 100644
index 9ab5da1..bba3cb7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,13 +8,9 @@ SET(PROJECT_VER_PATCH 0)
@ -31,23 +19,8 @@ index fe67fc8..d8ba238 100644
set(vmcs_root ${PROJECT_SOURCE_DIR})
get_filename_component(VIDEOCORE_ROOT . ABSOLUTE)
@@ -78,9 +74,11 @@ if(BUILD_MMAL)
endif()
# VidTex supports Android and Linux
-if(BUILD_MMAL_APPS)
-add_subdirectory(host_applications/android/apps/vidtex)
-endif(BUILD_MMAL_APPS)
+if(NOT ARM64)
+ if(BUILD_MMAL_APPS)
+ add_subdirectory(host_applications/android/apps/vidtex)
+ endif(BUILD_MMAL_APPS)
+endif()
if(NOT ARM64)
add_subdirectory(middleware/openmaxil)
diff --git a/host_applications/linux/CMakeLists.txt b/host_applications/linux/CMakeLists.txt
index 928b637..4bb1e98 100644
index 9c76dbd..34515be 100644
--- a/host_applications/linux/CMakeLists.txt
+++ b/host_applications/linux/CMakeLists.txt
@@ -4,9 +4,9 @@ add_subdirectory(libs/bcm_host)
@ -59,11 +32,11 @@ index 928b637..4bb1e98 100644
if(NOT ARM64)
- add_subdirectory(apps/raspicam)
- add_subdirectory(libs/sm)
add_subdirectory(apps/smem)
#add_subdirectory(apps/smem)
endif()
add_subdirectory(libs/debug_sym)
diff --git a/interface/mmal/CMakeLists.txt b/interface/mmal/CMakeLists.txt
index 46f149d..8208f7c 100644
index dfdee0e..d43f7bb 100644
--- a/interface/mmal/CMakeLists.txt
+++ b/interface/mmal/CMakeLists.txt
@@ -11,8 +11,10 @@ add_subdirectory(core)
@ -79,6 +52,3 @@ index 46f149d..8208f7c 100644
target_link_libraries(mmal mmal_core mmal_util mmal_vc_client vcos mmal_components)
--
2.27.0

View File

@ -1,3 +1,3 @@
SUBSYSTEM=="vchiq", GROUP="video", MODE="0660"
KERNEL=="vchiq", GROUP="video", MODE="0660"
SUBSYSTEM=="vc-sm", GROUP="video", MODE="0660"
SUBSYSTEM=="bcm2708_vcio", GROUP="video", MODE="0660"
KERNEL=="vcio", GROUP="video", MODE="0660"

185
disable_legacy.patch Normal file
View File

@ -0,0 +1,185 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,8 +34,8 @@ include_directories(${PROJECT_SOURCE_DIR
include_directories(interface/vcos/pthreads)
include_directories(interface/vmcs_host/linux)
include_directories(interface/vmcs_host)
-include_directories(interface/vmcs_host/khronos)
-include_directories(interface/khronos/include)
+#include_directories(interface/vmcs_host/khronos)
+#include_directories(interface/khronos/include)
include_directories(${PROJECT_BINARY_DIR})
include_directories(interface/vchiq_arm)
#include_directories(tools/inet_transport)
@@ -68,7 +68,7 @@ endif()
add_subdirectory(interface/vcos)
add_subdirectory(interface/vmcs_host)
add_subdirectory(interface/vchiq_arm)
-if(NOT ARM64)
+if(FALSE)
add_subdirectory(interface/khronos)
endif()
@@ -80,11 +80,11 @@ if(BUILD_MMAL)
endif()
# VidTex supports Android and Linux
-if(BUILD_MMAL_APPS)
+if(FALSE)
add_subdirectory(host_applications/android/apps/vidtex)
-endif(BUILD_MMAL_APPS)
+endif(FALSE)
-if(NOT ARM64)
+if(FALSE)
add_subdirectory(middleware/openmaxil)
endif()
@@ -124,7 +124,7 @@ include_directories("${PROJECT_BINARY_DI
include(FindPkgConfig QUIET)
if(PKG_CONFIG_FOUND)
# Produce a pkg-config file
- foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc)
+ foreach(PCFILE bcm_host.pc vcsm.pc mmal.pc)
configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -17,7 +17,7 @@ add_library(vchostif
#add_library(bufman vc_vchi_bufman.c )
set(INSTALL_TARGETS vchostif)
-if(NOT ARM64)
+if(FALSE)
# OpenMAX/IL component service
add_library(vcilcs
vcilcs.c vcilcs_in.c vcilcs_out.c vcilcs_common.c)
--- a/host_applications/linux/CMakeLists.txt
+++ b/host_applications/linux/CMakeLists.txt
@@ -7,13 +7,13 @@ add_subdirectory(apps/vcmailbox)
if(NOT ARM64)
add_subdirectory(apps/raspicam)
add_subdirectory(libs/sm)
- add_subdirectory(apps/smem)
+ #add_subdirectory(apps/smem)
endif()
add_subdirectory(libs/debug_sym)
add_subdirectory(apps/dtoverlay)
add_subdirectory(apps/dtmerge)
-if(ALL_APPS)
+if(FALSE)
add_subdirectory(apps/vcdbg)
add_subdirectory(libs/elftoolchain)
# add_subdirectory(apps/smct)
--- a/makefiles/cmake/vmcs.cmake
+++ b/makefiles/cmake/vmcs.cmake
@@ -59,8 +59,8 @@ configure_file (
# PERMISSIONS OWNER_WRITE WORLD_READ)
# provide hello_pi demos
-install(DIRECTORY host_applications/linux/apps/hello_pi
- DESTINATION ${VMCS_INSTALL_PREFIX}/src)
+#install(DIRECTORY host_applications/linux/apps/hello_pi
+# DESTINATION ${VMCS_INSTALL_PREFIX}/src)
# provide header files
#install(DIRECTORY host_applications/linux/libs/bcm_host/include
@@ -72,10 +72,10 @@ install(DIRECTORY ${vmcs_root}/interface
install(DIRECTORY ${vmcs_root}/interface/vctypes DESTINATION ${VMCS_INSTALL_PREFIX}/include/interface FILES_MATCHING PATTERN "*.h")
install(DIRECTORY ${vmcs_root}/vcinclude DESTINATION ${VMCS_INSTALL_PREFIX}/include FILES_MATCHING PATTERN "*.h")
install(DIRECTORY ${vmcs_root}/interface/peer DESTINATION ${VMCS_INSTALL_PREFIX}/include/interface FILES_MATCHING PATTERN "*.h")
-install(DIRECTORY ${vmcs_root}/interface/vmcs_host DESTINATION ${VMCS_INSTALL_PREFIX}/include/interface FILES_MATCHING PATTERN "*.h" PATTERN "${vmcs_root}/interface/vmcs_host/khronos" EXCLUDE)
+install(DIRECTORY ${vmcs_root}/interface/vmcs_host DESTINATION ${VMCS_INSTALL_PREFIX}/include/interface FILES_MATCHING PATTERN "*.h" PATTERN "IL" EXCLUDE)
-install(DIRECTORY ${vmcs_root}/interface/khronos/include DESTINATION ${VMCS_INSTALL_PREFIX} FILES_MATCHING PATTERN "*.h")
-install(DIRECTORY ${vmcs_root}/interface/vmcs_host/khronos/IL DESTINATION ${VMCS_INSTALL_PREFIX}/include FILES_MATCHING PATTERN "*.h")
+#install(DIRECTORY ${vmcs_root}/interface/khronos/include DESTINATION ${VMCS_INSTALL_PREFIX} FILES_MATCHING PATTERN "*.h")
+#install(DIRECTORY ${vmcs_root}/interface/vmcs_host/khronos/IL DESTINATION ${VMCS_INSTALL_PREFIX}/include FILES_MATCHING PATTERN "*.h")
install(DIRECTORY ${vmcs_root}/host_applications/linux/libs/bcm_host/include DESTINATION ${VMCS_INSTALL_PREFIX} FILES_MATCHING PATTERN "*.h")
--- a/containers/CMakeLists.txt
+++ b/containers/CMakeLists.txt
@@ -74,54 +74,9 @@ install(TARGETS containers DESTINATION $
set(container_readers)
set(container_writers)
-# Container modules
-add_subdirectory(mp4)
-set(container_readers ${container_readers} reader_mp4)
-set(container_writers ${container_writers} writer_mp4)
-add_subdirectory(mpeg)
-set(container_readers ${container_readers} reader_ps)
-add_subdirectory(mpga)
-set(container_readers ${container_readers} reader_mpga)
-add_subdirectory(binary)
-set(container_readers ${container_readers} reader_binary)
-set(container_writers ${container_writers} writer_binary)
-add_subdirectory(mkv)
-set(container_readers ${container_readers} reader_mkv)
-add_subdirectory(wav)
-set(container_readers ${container_readers} reader_wav)
-add_subdirectory(asf)
-set(container_readers ${container_readers} reader_asf)
-set(container_writers ${container_writers} writer_asf)
-add_subdirectory(flash)
-set(container_readers ${container_readers} reader_flv)
-add_subdirectory(avi)
-set(container_readers ${container_readers} reader_avi)
-set(container_writers ${container_writers} writer_avi)
-add_subdirectory(rtp)
-set(container_readers ${container_readers} reader_rtp)
-add_subdirectory(rtsp)
-set(container_readers ${container_readers} reader_rtsp)
-add_subdirectory(rcv)
-set(container_readers ${container_readers} reader_rcv)
-add_subdirectory(rv9)
-set(container_readers ${container_readers} reader_rv9)
-add_subdirectory(qsynth)
-set(container_readers ${container_readers} reader_qsynth)
-add_subdirectory(simple)
-set(container_readers ${container_readers} reader_simple)
-set(container_writers ${container_writers} writer_simple)
-add_subdirectory(raw)
-set(container_readers ${container_readers} reader_raw_video)
-set(container_writers ${container_writers} writer_raw_video)
-add_subdirectory(dummy)
-set(container_writers ${container_writers} writer_dummy)
-
-add_subdirectory(metadata/id3)
-set(container_readers ${container_readers} reader_metadata_id3)
-
if (${LIBRARY_TYPE} STREQUAL STATIC)
target_link_libraries(containers ${container_readers} ${container_writers})
endif (${LIBRARY_TYPE} STREQUAL STATIC)
# Test apps
-add_subdirectory(test)
+#add_subdirectory(test)
--- a/host_applications/linux/apps/raspicam/CMakeLists.txt
+++ b/host_applications/linux/apps/raspicam/CMakeLists.txt
@@ -40,7 +40,7 @@ set (COMMON_SOURCES
RaspiGPS.c
libgps_loader.c)
-if(NOT ARM64)
+if(FALSE)
set (EGL_LIBS brcmGLESv2 brcmEGL)
set (EGL_SOURCES RaspiTex.c RaspiTexUtil.c tga.c)
set (GL_SCENE_SOURCES
--- a/host_applications/linux/apps/raspicam/RaspiTex.h
+++ b/host_applications/linux/apps/raspicam/RaspiTex.h
@@ -148,8 +148,8 @@ typedef struct RASPITEX_STATE
/* DispmanX info. This might be unused if a custom create_native_window
* does something else. */
- DISPMANX_DISPLAY_HANDLE_T disp; /// Dispmanx display for GL preview
- EGL_DISPMANX_WINDOW_T win; /// Dispmanx handle for preview surface
+ //DISPMANX_DISPLAY_HANDLE_T disp; /// Dispmanx display for GL preview
+ //EGL_DISPMANX_WINDOW_T win; /// Dispmanx handle for preview surface
EGLNativeWindowType* native_window; /// Native window used for EGL surface
EGLDisplay display; /// The current EGL display

72
mv-man-to-usr-share.patch Normal file
View File

@ -0,0 +1,72 @@
diff --git a/host_applications/linux/apps/dtmerge/CMakeLists.txt b/host_applications/linux/apps/dtmerge/CMakeLists.txt
index d3f7e36..8755fdc 100755
--- a/host_applications/linux/apps/dtmerge/CMakeLists.txt
+++ b/host_applications/linux/apps/dtmerge/CMakeLists.txt
@@ -18,4 +18,4 @@ add_executable(dtmerge dtmerge.c)
target_link_libraries(dtmerge dtovl)
install(TARGETS dtmerge RUNTIME DESTINATION bin)
-install(FILES dtmerge.1 DESTINATION man/man1)
+install(FILES dtmerge.1 DESTINATION share/man/man1)
diff --git a/host_applications/linux/apps/dtoverlay/CMakeLists.txt b/host_applications/linux/apps/dtoverlay/CMakeLists.txt
index 97bcadc..7d2f35f 100755
--- a/host_applications/linux/apps/dtoverlay/CMakeLists.txt
+++ b/host_applications/linux/apps/dtoverlay/CMakeLists.txt
@@ -17,11 +17,11 @@ include_directories (
add_executable(dtoverlay dtoverlay_main.c utils.c)
target_link_libraries(dtoverlay dtovl)
install(TARGETS dtoverlay RUNTIME DESTINATION bin)
-install(FILES dtoverlay.1 DESTINATION man/man1)
+install(FILES dtoverlay.1 DESTINATION share/man/man1)
add_custom_command(TARGET dtoverlay POST_BUILD COMMAND ln;-sf;dtoverlay;dtparam)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dtparam DESTINATION bin)
-install(FILES dtparam.1 DESTINATION man/man1)
+install(FILES dtparam.1 DESTINATION share/man/man1)
set(DTOVERLAY_SCRIPTS dtoverlay-pre dtoverlay-post)
install(PROGRAMS ${DTOVERLAY_SCRIPTS} DESTINATION bin)
diff --git a/host_applications/linux/apps/gencmd/CMakeLists.txt b/host_applications/linux/apps/gencmd/CMakeLists.txt
index 0c2c32a..7c30e70 100644
--- a/host_applications/linux/apps/gencmd/CMakeLists.txt
+++ b/host_applications/linux/apps/gencmd/CMakeLists.txt
@@ -17,4 +17,4 @@ include_directories( ../../../..
add_executable(vcgencmd gencmd.c)
target_link_libraries(vcgencmd vcos vchiq_arm vchostif)
install(TARGETS vcgencmd RUNTIME DESTINATION bin)
-install(FILES vcgencmd.1 DESTINATION man/man1)
+install(FILES vcgencmd.1 DESTINATION share/man/man1)
diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt
index e6bd373..a03df7f 100644
--- a/host_applications/linux/apps/raspicam/CMakeLists.txt
+++ b/host_applications/linux/apps/raspicam/CMakeLists.txt
@@ -67,5 +67,5 @@ target_link_libraries(raspivid ${MMAL_LIBS} vcos bcm_host m)
target_link_libraries(raspividyuv ${MMAL_LIBS} vcos bcm_host m)
install(TARGETS raspistill raspiyuv raspivid raspividyuv RUNTIME DESTINATION bin)
-install(FILES raspistill.1 raspiyuv.1 raspivid.1 raspividyuv.1 DESTINATION man/man1)
-install(FILES raspicam.7 DESTINATION man/man7)
+install(FILES raspistill.1 raspiyuv.1 raspivid.1 raspividyuv.1 DESTINATION share/man/man1)
+install(FILES raspicam.7 DESTINATION share/man/man7)
diff --git a/host_applications/linux/apps/tvservice/CMakeLists.txt b/host_applications/linux/apps/tvservice/CMakeLists.txt
index 0190774..de771d6 100644
--- a/host_applications/linux/apps/tvservice/CMakeLists.txt
+++ b/host_applications/linux/apps/tvservice/CMakeLists.txt
@@ -4,4 +4,4 @@ target_link_libraries(tvservice vchostif bcm_host)
install(TARGETS tvservice
RUNTIME DESTINATION bin)
-install(FILES tvservice.1 DESTINATION man/man1)
+install(FILES tvservice.1 DESTINATION share/man/man1)
diff --git a/host_applications/linux/apps/vcmailbox/CMakeLists.txt b/host_applications/linux/apps/vcmailbox/CMakeLists.txt
index d153363..0356738 100644
--- a/host_applications/linux/apps/vcmailbox/CMakeLists.txt
+++ b/host_applications/linux/apps/vcmailbox/CMakeLists.txt
@@ -3,5 +3,5 @@ target_link_libraries(vcmailbox vchostif)
install(TARGETS vcmailbox
RUNTIME DESTINATION bin)
-install(FILES vcmailbox.1 DESTINATION man/man1)
-install(FILES vcmailbox.7 raspiotp.7 raspirev.7 DESTINATION man/man7)
+install(FILES vcmailbox.1 DESTINATION share/man/man1)
+install(FILES vcmailbox.7 raspiotp.7 raspirev.7 DESTINATION share/man/man7)

View File

@ -1,26 +1,24 @@
%global _ld_path /etc/ld.so.conf.d
%global _rules_path /lib/udev/rules.d
%global _opt_bin_path /opt/vc/bin
%global _opt_man_path /opt/vc/man
%global commitid 97bc8180ad682b004ea224d1db7b8e108eda4397
%global commitid 8fa944c74085aacd99da3e733af8dc5ac9b04fd9
%global debug_package %{nil}
Name: raspberrypi-userland
Version: 20210902
Release: 2
Version: 20220322
Release: 1
Summary: Libraries for interfacing to Raspberry Pi GPU
License: BSD-3-Clause
URL: https://github.com/raspberrypi/userland
Source0: https://github.com/raspberrypi/userland/archive/%{commitid}/userland-%{commitid}.tar.gz
Source10: 00-vmcs.conf
Source11: 10-local-rpi.rules
Patch0000: 0001-Revert-Revert-Add-MMAL-and-MMAL_APPS-to-64bit-builds.patch
Patch0001: 0002-Revert-Revert-mmal-Support-64-bit-clients.patch
Patch0000: set_gnu_install_paths.patch
Patch0001: disable_legacy.patch
Patch0002: mv-man-to-usr-share.patch
Patch0003: 0001-Add-MMAL-and-MMAL_APPS-to-64bit-builds.patch
Patch0004: 0002-Revert-Revert-mmal-Support-64-bit-clients.patch
BuildRequires: make >= 3.78
BuildRequires: gcc >= 3.4.2
BuildRequires: gcc-c++ cmake ncurses-devel bison gzip
BuildRequires: gcc-c++ cmake libEGL-devel libGL-devel
AutoReq: no
AutoProv: yes
@ -38,92 +36,67 @@ ExclusiveOS: Linux
This package contains libraries for interfacing to Raspberry Pi GPU.
%package -n libraspberrypi0
Summary: EGL/GLES/OpenVG/etc. libraries for the Raspberry Pi's VideoCore IV
Summary: Libraries for the Raspberry Pi's VideoCore IV
Requires: raspberrypi-firmware
Provides: libraspberrypi0 = %{version}-%{release}
%description -n libraspberrypi0
This package provides implementations of EGL, OpenGL ES, OpenVG, OpenWF
Composition, and others for the Raspberry Pi's VideoCore IV multimedia
processor.
This package provides MMAL and other libraries for the Raspberry Pi's
VideoCore IV multimedia processor.
%package -n libraspberrypi-bin
Summary: Miscellaneous Raspberry Pi utilities
Requires: libraspberrypi0 dtc
Provides: libraspberrypi-bin = %{version}-%{release}
%description -n libraspberrypi-bin
This package provides various utilities for interacting with the Raspberry Pi's
VideoCore IV.
This package provides various utilities for interacting with the Raspberry Pi's VideoCore IV.
%package -n libraspberrypi-devel
Summary: EGL/GLES/OpenVG/etc. libraries for the Raspberry Pi's VideoCore IV (headers)
Summary: Libraries for the Raspberry Pi's VideoCore IV (headers)
Requires: libraspberrypi0
Provides: libraspberrypi-devel = %{version}-%{release}
%description -n libraspberrypi-devel
This package provides headers and other development files for implementations
of EGL, OpenGL ES, OpenVG, OpenWF Composition, and others for the Raspberry Pi's
VideoCore IV multimedia processor.
This package provides headers and other development files for
MMAL and other libraries for the Raspberry Pi's VideoCore IV multimedia processor.
%package -n libraspberrypi-help
Summary: EGL/GLES/OpenVG/etc. libraries for the Raspberry Pi's VideoCore IV (headers)
Summary: Libraries for the Raspberry Pi's VideoCore IV (docs)
Requires: libraspberrypi0
Provides: libraspberrypi-help = %{version}-%{release}
%description -n libraspberrypi-help
This package provides headers, example code, and other development files for
implementations of EGL, OpenGL ES, OpenVG, OpenWF Composition, and others for
the Raspberry Pi's VideoCore IV multimedia processor.
This package provides headers and other development files for
MMAL and other libraries for the Raspberry Pi's VideoCore IV multimedia processor.
%prep
%setup -q -n %{name}-%{version} -c
mv userland-%{commitid} %{name}-%{version}
cd %{name}-%{version}
cp %{SOURCE10} .
cp %{SOURCE11} .
%patch0000 -p1
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
%build
cd %{name}-%{version}
mkdir -p build/raspberry/release
cd build/raspberry/release
cmake -DCMAKE_BUILD_TYPE=Release -DARM64=ON ../../..
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DVMCS_INSTALL_PREFIX=%{_prefix} \
-DARM64=ON ../
make
%install
cd %{name}-%{version}
mkdir -p %{buildroot}%{_ld_path}
mkdir -p %{buildroot}%{_rules_path}
install -p -m 644 %{SOURCE10} %{buildroot}%{_ld_path}/
install -p -m 644 %{SOURCE11} %{buildroot}%{_rules_path}/
cd ./build/raspberry/release
cd ./build
make install DESTDIR=%{buildroot}
mkdir -p %{buildroot}%{_bindir}
cd %{buildroot}%{_bindir}
ln -s ../..%{_opt_bin_path}/raspistill ./
ln -s ../..%{_opt_bin_path}/raspivid ./
ln -s ../..%{_opt_bin_path}/raspividyuv ./
ln -s ../..%{_opt_bin_path}/raspiyuv ./
ln -s ../..%{_opt_bin_path}/tvservice ./
ln -s ../..%{_opt_bin_path}/vcgencmd ./
ln -s ../..%{_opt_bin_path}/vchiq_test ./
ln -s ../..%{_opt_bin_path}/dtoverlay ./
ln -s ../..%{_opt_bin_path}/dtoverlay-pre ./
ln -s ../..%{_opt_bin_path}/dtoverlay-post ./
ln -s ../..%{_opt_bin_path}/dtoverlay ./dtparam
ln -s ../..%{_opt_bin_path}/dtmerge ./
mkdir -p %{buildroot}%{_mandir}/man1
mkdir -p %{buildroot}%{_mandir}/man7
cd %{buildroot}%{_opt_man_path}/man1
gzip $(ls *.1)
cd %{buildroot}%{_mandir}/man1
ln -s $(ls ../../../..%{_opt_man_path}/man1/*.1.gz) ./
cd %{buildroot}%{_opt_man_path}/man7
gzip $(ls *.7)
gzip $(ls *.1)
cd %{buildroot}%{_mandir}/man7
ln -s $(ls ../../../..%{_opt_man_path}/man7/*.7.gz) ./
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
gzip $(ls *.7)
%files
%defattr (-, root, root)
@ -131,39 +104,36 @@ ln -s $(ls ../../../..%{_opt_man_path}/man7/*.7.gz) ./
%files -n libraspberrypi0
%defattr (-, root, root)
%dir /opt/vc
%dir /opt/vc/lib
%{_ld_path}/*
%{_rules_path}/*
/opt/vc/lib/lib*.so
/opt/vc/lib/plugins
%{_libdir}/*.so.0
%license %{name}-%{version}/LICENCE
%doc %{name}-%{version}/README.md
%files -n libraspberrypi-bin
%defattr (-, root, root)
%dir /opt/vc
%{_opt_bin_path}
%{_bindir}/*
%{_opt_man_path}
%{_mandir}/*
%license %{name}-%{version}/LICENCE
%files -n libraspberrypi-devel
%defattr (-, root, root)
%dir /opt/vc
%dir /opt/vc/lib
/opt/vc/include
/opt/vc/lib/lib*.a
/opt/vc/lib/pkgconfig
%{_includedir}/*
%{_libdir}/*.a
%{_libdir}/pkgconfig
%{_libdir}/*.so
%license %{name}-%{version}/LICENCE
%files -n libraspberrypi-help
%defattr (-, root, root)
%dir /opt/vc
/opt/vc/src
%license %{name}-%{version}/LICENCE
%changelog
* Tue Mar 22 2022 Yafen Fang<yafen@iscas.ac.cn> - 20220322-1
- update upstream to last commit (8fa944c74085aacd99da3e733af8dc5ac9b04fd9): mmal: Add mapping for IL OMX_IndexParamBrcmEnableIJGTableScaling param
- set install paths
- disable legacy
- update udev rules for raspi
* Wed Jan 26 2021 Yafen Fang<yafen@iscas.ac.cn> - 20210902-2
- add BuildRequires: gcc-c++

284
set_gnu_install_paths.patch Normal file
View File

@ -0,0 +1,284 @@
--- a/makefiles/cmake/vmcs.cmake
+++ b/makefiles/cmake/vmcs.cmake
@@ -10,7 +10,7 @@ INCLUDE(CPack)
if (ANDROID)
SET(VMCS_INSTALL_PREFIX "/vendor/brcm/islands" CACHE PATH "Prefix prepended to install directories" FORCE)
elseif(NOT DEFINED VMCS_INSTALL_PREFIX)
- SET(VMCS_INSTALL_PREFIX "/opt/vc" CACHE PATH "Prefix prepended to install directories" FORCE)
+ SET(VMCS_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Prefix prepended to install directories" FORCE)
endif()
SET(CMAKE_INSTALL_PREFIX "${VMCS_INSTALL_PREFIX}" CACHE INTERNAL "Prefix
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,6 +20,8 @@ get_filename_component(VIDEOCORE_ROOT .
set(VCOS_PTHREADS_BUILD_SHARED TRUE)
+include(GNUInstallDirs)
+
include(makefiles/cmake/global_settings.cmake)
include(makefiles/cmake/arm-linux.cmake)
include(makefiles/cmake/vmcs.cmake)
@@ -125,7 +127,7 @@ if(PKG_CONFIG_FOUND)
foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc)
configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}"
- DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
endforeach()
endif()
# Remove cache entry, if one added by command line
--- a/interface/mmal/components/CMakeLists.txt
+++ b/interface/mmal/components/CMakeLists.txt
@@ -30,5 +30,7 @@ set(container_libs ${container_libs} con
target_link_libraries(mmal_components ${container_libs} mmal_util)
target_link_libraries(mmal_components mmal_core)
-install(TARGETS mmal_components DESTINATION lib)
+set_target_properties(mmal_components PROPERTIES SOVERSION 0)
+
+install(TARGETS mmal_components DESTINATION ${CMAKE_INSTALL_LIBDIR})
--- a/host_applications/linux/libs/sm/CMakeLists.txt
+++ b/host_applications/linux/libs/sm/CMakeLists.txt
@@ -14,5 +14,7 @@ add_library(vcsm ${SHARED} user-vcsm.c)
target_link_libraries(vcsm vcos)
-install(TARGETS vcsm DESTINATION lib)
+set_target_properties(vcsm PROPERTIES SOVERSION 0)
+
+install(TARGETS vcsm DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES user-vcsm.h DESTINATION include/interface/vcsm)
--- a/interface/khronos/CMakeLists.txt
+++ b/interface/khronos/CMakeLists.txt
@@ -78,8 +78,11 @@ target_link_libraries(GLESv2 EGL khrn_cl
target_link_libraries(WFC EGL)
target_link_libraries(OpenVG EGL)
-install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION lib)
-install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION lib)
+set_target_properties(EGL GLESv2 OpenVG WFC khrn_client PROPERTIES SOVERSION 0)
+set_target_properties(EGL_static GLESv2_static khrn_static PROPERTIES SOVERSION 0)
+
+install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
# recommended names to use to avoid conflicts with mesa libs
add_library(brcmEGL ${SHARED} ${EGL_SOURCE})
@@ -92,4 +95,6 @@ target_link_libraries(brcmGLESv2 brcmEGL
target_link_libraries(brcmWFC brcmEGL)
target_link_libraries(brcmOpenVG brcmEGL)
-install(TARGETS brcmEGL brcmGLESv2 brcmOpenVG brcmWFC DESTINATION lib)
+set_target_properties(brcmEGL brcmGLESv2 brcmOpenVG brcmWFC PROPERTIES SOVERSION 0)
+
+install(TARGETS brcmEGL brcmGLESv2 brcmOpenVG brcmWFC DESTINATION ${CMAKE_INSTALL_LIBDIR})
--- a/interface/vcos/pthreads/CMakeLists.txt
+++ b/interface/vcos/pthreads/CMakeLists.txt
@@ -41,6 +41,7 @@ else ()
target_link_libraries (vcos pthread rt)
endif ()
+set_target_properties(vcos PROPERTIES SOVERSION 0)
#install(FILES ${HEADERS} DESTINATION include)
-install(TARGETS vcos DESTINATION lib)
+install(TARGETS vcos DESTINATION ${CMAKE_INSTALL_LIBDIR})
--- a/host_applications/linux/libs/bcm_host/CMakeLists.txt
+++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt
@@ -19,5 +19,7 @@ add_library(bcm_host ${SHARED} bcm_host.
target_link_libraries(bcm_host vcos vchostif)
-install(TARGETS bcm_host DESTINATION lib)
+set_target_properties(bcm_host PROPERTIES SOVERSION 0)
+
+install(TARGETS bcm_host DESTINATION ${CMAKE_INSTALL_LIBDIR})
--- a/host_applications/linux/libs/debug_sym/CMakeLists.txt
+++ b/host_applications/linux/libs/debug_sym/CMakeLists.txt
@@ -11,6 +11,9 @@ include_directories (
add_library(debug_sym ${SHARED} debug_sym.c)
add_library(debug_sym_static STATIC debug_sym.c)
-install(TARGETS debug_sym DESTINATION lib)
-install(TARGETS debug_sym_static DESTINATION lib)
+set_target_properties(debug_sym PROPERTIES SOVERSION 0)
+set_target_properties(debug_sym_static PROPERTIES SOVERSION 0)
+
+install(TARGETS debug_sym DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(TARGETS debug_sym_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES debug_sym.h DESTINATION include/interface/debug_sym)
--- a/interface/mmal/CMakeLists.txt
+++ b/interface/mmal/CMakeLists.txt
@@ -16,7 +16,9 @@ add_subdirectory(client)
target_link_libraries(mmal mmal_core mmal_util mmal_vc_client vcos mmal_components)
-install(TARGETS mmal DESTINATION lib)
+set_target_properties(mmal PROPERTIES SOVERSION 0)
+
+install(TARGETS mmal DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES
mmal.h
mmal_buffer.h
--- a/interface/mmal/core/CMakeLists.txt
+++ b/interface/mmal/core/CMakeLists.txt
@@ -13,7 +13,9 @@ add_library (mmal_core ${LIBRARY_TYPE}
target_link_libraries (mmal_core vcos mmal_vc_client)
-install(TARGETS mmal_core DESTINATION lib)
+set_target_properties(mmal_core PROPERTIES SOVERSION 0)
+
+install(TARGETS mmal_core DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES
mmal_buffer_private.h
mmal_clock_private.h
--- a/interface/mmal/util/CMakeLists.txt
+++ b/interface/mmal/util/CMakeLists.txt
@@ -12,7 +12,9 @@ add_library (mmal_util ${LIBRARY_TYPE}
target_link_libraries (mmal_util vcos)
-install(TARGETS mmal_util DESTINATION lib)
+set_target_properties(mmal_util PROPERTIES SOVERSION 0)
+
+install(TARGETS mmal_util DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES
mmal_component_wrapper.h
mmal_connection.h
--- a/interface/mmal/vc/CMakeLists.txt
+++ b/interface/mmal/vc/CMakeLists.txt
@@ -13,7 +13,9 @@ endif(BUILD_MMAL_APPS)
include_directories ( ../../../host_applications/linux/libs/sm )
-install(TARGETS mmal_vc_client DESTINATION lib)
+set_target_properties(mmal_vc_client PROPERTIES SOVERSION 0)
+
+install(TARGETS mmal_vc_client DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES
mmal_vc_api.h
mmal_vc_api_drm.h
--- a/interface/vchiq_arm/CMakeLists.txt
+++ b/interface/vchiq_arm/CMakeLists.txt
@@ -5,7 +5,9 @@ add_library(vchiq_arm SHARED
# pull in VCHI cond variable emulation
target_link_libraries(vchiq_arm vcos)
-install(TARGETS vchiq_arm DESTINATION lib)
+set_target_properties(vchiq_arm PROPERTIES SOVERSION 0)
+
+install(TARGETS vchiq_arm DESTINATION ${CMAKE_INSTALL_LIBDIR})
#install(FILES etc/10-vchiq.rules DESTINATION /etc/udev/rules.d)
include_directories(../..)
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
@@ -32,5 +32,7 @@ target_link_libraries(vchostif vchiq_arm
#target_link_libraries(bufman WFC)
-install(TARGETS ${INSTALL_TARGETS} DESTINATION lib)
+set_target_properties(${INSTALL_TARGETS} PROPERTIES SOVERSION 0)
+
+install(TARGETS ${INSTALL_TARGETS} DESTINATION ${CMAKE_INSTALL_LIBDIR})
--- a/middleware/openmaxil/CMakeLists.txt
+++ b/middleware/openmaxil/CMakeLists.txt
@@ -49,4 +49,6 @@ else ()
endif ()
-install (TARGETS openmaxil DESTINATION lib)
+set_target_properties(openmaxil PROPERTIES SOVERSION 0)
+
+install (TARGETS openmaxil DESTINATION ${CMAKE_INSTALL_LIBDIR})
--- a/containers/CMakeLists.txt
+++ b/containers/CMakeLists.txt
@@ -66,7 +66,10 @@ set(packetizers_SRCS ${packetizers_SRCS}
add_library(containers ${LIBRARY_TYPE} ${core_SRCS} ${io_SRCS} ${net_SRCS} ${packetizers_SRCS})
target_link_libraries(containers vcos)
-install(TARGETS containers DESTINATION lib)
+
+set_target_properties(containers PROPERTIES SOVERSION 0)
+
+install(TARGETS containers DESTINATION ${CMAKE_INSTALL_LIBDIR})
set(container_readers)
set(container_writers)
--- a/helpers/dtoverlay/CMakeLists.txt
+++ b/helpers/dtoverlay/CMakeLists.txt
@@ -22,4 +22,6 @@ add_library (dtovl ${SHARED}
target_link_libraries(dtovl fdt)
-install (TARGETS dtovl DESTINATION lib)
+set_target_properties(dtovl PROPERTIES SOVERSION 0)
+
+install (TARGETS dtovl DESTINATION ${CMAKE_INSTALL_LIBDIR})
--- a/pkgconfig/bcm_host.pc.in
+++ b/pkgconfig/bcm_host.pc.in
@@ -1,6 +1,6 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/include
Name: bcm_host
--- a/pkgconfig/brcmegl.pc.in
+++ b/pkgconfig/brcmegl.pc.in
@@ -1,6 +1,6 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/include
Name: brcmEGL
--- a/pkgconfig/brcmglesv2.pc.in
+++ b/pkgconfig/brcmglesv2.pc.in
@@ -1,6 +1,6 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/include
Name: brcmGLESv2
--- a/pkgconfig/brcmvg.pc.in
+++ b/pkgconfig/brcmvg.pc.in
@@ -1,6 +1,6 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/include
Name: brcmOpenVG
--- a/pkgconfig/mmal.pc.in
+++ b/pkgconfig/mmal.pc.in
@@ -1,6 +1,6 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/include
Name: MMAL
--- a/pkgconfig/vcsm.pc.in
+++ b/pkgconfig/vcsm.pc.in
@@ -1,6 +1,6 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/include
Name: VCSM