diff --git a/0001-Revert-Revert-Add-MMAL-and-MMAL_APPS-to-64bit-builds.patch b/0001-Add-MMAL-and-MMAL_APPS-to-64bit-builds.patch similarity index 60% rename from 0001-Revert-Revert-Add-MMAL-and-MMAL_APPS-to-64bit-builds.patch rename to 0001-Add-MMAL-and-MMAL_APPS-to-64bit-builds.patch index 4d87fcfa80ae6f04b24e5fd0bc4e00064fe3feff..438731a34b530528b91617b8db04725ea79fe45c 100644 --- a/0001-Revert-Revert-Add-MMAL-and-MMAL_APPS-to-64bit-builds.patch +++ b/0001-Add-MMAL-and-MMAL_APPS-to-64bit-builds.patch @@ -1,17 +1,5 @@ -From 3297328f8d8902c80a154d96517870d2dbae7b4a Mon Sep 17 00:00:00 2001 -From: yafen -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 - diff --git a/10-local-rpi.rules b/10-local-rpi.rules index 001571d3f58640f2d7d409d30dcd6d8d49678b6a..e8b27943b631483f4e38ad227dc3f87cacf9ea10 100644 --- a/10-local-rpi.rules +++ b/10-local-rpi.rules @@ -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" diff --git a/disable_legacy.patch b/disable_legacy.patch new file mode 100644 index 0000000000000000000000000000000000000000..4000e5a6376732f7e8928c2c1c3318d7ebdd98c8 --- /dev/null +++ b/disable_legacy.patch @@ -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 + diff --git a/mv-man-to-usr-share.patch b/mv-man-to-usr-share.patch new file mode 100644 index 0000000000000000000000000000000000000000..75cd083f195dc0ef23e4700fee3fdee4eb14f759 --- /dev/null +++ b/mv-man-to-usr-share.patch @@ -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) diff --git a/raspberrypi-userland.spec b/raspberrypi-userland.spec index 98c249bc01abb1e02dd35351725796d82a3c5e00..1e9c6722395d0669a585b089155c1e71fd67f1e8 100644 --- a/raspberrypi-userland.spec +++ b/raspberrypi-userland.spec @@ -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 - 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 - 20210902-2 - add BuildRequires: gcc-c++ diff --git a/set_gnu_install_paths.patch b/set_gnu_install_paths.patch new file mode 100644 index 0000000000000000000000000000000000000000..ed5833253fb80f637952581993ece4f1eeae188f --- /dev/null +++ b/set_gnu_install_paths.patch @@ -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 + diff --git a/userland-97bc8180ad682b004ea224d1db7b8e108eda4397.tar.gz b/userland-8fa944c74085aacd99da3e733af8dc5ac9b04fd9.tar.gz similarity index 83% rename from userland-97bc8180ad682b004ea224d1db7b8e108eda4397.tar.gz rename to userland-8fa944c74085aacd99da3e733af8dc5ac9b04fd9.tar.gz index b78406abc643c1077fe2c1c2bbcadc0789cef5a3..8eeb99bfdfb49352ddfdd1feb75af1ff437d9c29 100644 Binary files a/userland-97bc8180ad682b004ea224d1db7b8e108eda4397.tar.gz and b/userland-8fa944c74085aacd99da3e733af8dc5ac9b04fd9.tar.gz differ