Package - dependencies updated (#416)

* Package - dependencies updated

* Changelog - new format added

* Setup - OS specific updates

* CMakeList - Cleanup

* Version Updates Fix
This commit is contained in:
Kiriti Gowda
2024-10-07 13:20:10 -07:00
کامیت شده توسط GitHub
والد befc6f6562
کامیت 64078a58cb
6فایلهای تغییر یافته به همراه63 افزوده شده و 46 حذف شده
+40 -1
مشاهده پرونده
@@ -3,6 +3,46 @@
Documentation for rocDecode is available at
[https://rocm.docs.amd.com/projects/rocDecode/en/latest/](https://rocm.docs.amd.com/projects/rocDecode/en/latest/)
## rocDecode 0.8.0 (unreleased)
### Changes
* Clang - Default CXX compiler
### Removals
* CTest - Core tests for make test and package test
* mesa-amdgpu-dri-drivers - dependencies for RHEL & SLES
### Optimizations
* Setup Script - Build and runtime install options
### Resolved issues
* Package - VA driver dependencies updated
* VA drivers - only use mesa-amdgpu-va-drivers for both debian and RPM based OS
* mesa-amdgpu-va-drivers - brings all it's dependencies
* Sample - Bugfix for videoDecodeBatch
### Known issues
### Upcoming changes
### Tested configurations
* Linux
* Ubuntu - `20.04` / `22.04`
* RHEL - `8` / `9`
* SLES - `15 SP5`
* ROCm:
* rocm-core - `6.2.0.60200-66`
* amdgpu-core - `1:6.2.60200-2009582`
* libva-dev - `2.7.0-2` / `2.14.0-1`
* mesa-amdgpu-va-drivers - `1:24.2.0.60200-2009582`
* FFmpeg - `4.2.7` / `4.4.2-0`
* rocDecode Setup Script - `V2.2.0`
## rocDecode 0.7.0
### Additions
@@ -32,7 +72,6 @@ Documentation for rocDecode is available at
* amdgpu-core - `1:6.2.60200-2009582`
* libva-dev - `2.7.0-2` / `2.14.0-1`
* mesa-amdgpu-va-drivers - `1:24.2.0.60200-2009582`
* mesa-amdgpu-dri-drivers - `24.1.0.60200`
* FFmpeg - `4.2.7` / `4.4.2-0`
* rocDecode Setup Script - `V2.2.0`
+13 -18
مشاهده پرونده
@@ -26,7 +26,8 @@ if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER clang++)
endif()
set(VERSION "0.7.0")
# NOTE: Match version with api/rocdecode_version.h
set(VERSION "0.8.0")
set(CMAKE_CXX_STANDARD 17)
# Set Project Version and Language
@@ -194,22 +195,16 @@ if(HIP_FOUND AND Libva_FOUND)
# Find Ubuntu 22.04 - Add libstdc++-12-dev package deps for Dev Package
file(READ "/etc/os-release" OS_RELEASE)
string(REGEX MATCH "22.04" UBUNTU_22_FOUND ${OS_RELEASE})
string(REGEX MATCH "SLES" SLES_FOUND ${OS_RELEASE})
string(REGEX MATCH "Mariner" MARINER_FOUND ${OS_RELEASE})
# Set the dependent packages - TBD: mesa-amdgpu-va-drivers should bring libdrm-amdgpu, and parts of mesa-amdgpu-dri-drivers but unavailable on RPM
set(rocDecode_DEBIAN_PACKAGE_LIST "rocm-hip-runtime, libva2, libdrm-amdgpu1, mesa-amdgpu-va-drivers")
set(rocDecode_RPM_PACKAGE_LIST "rocm-hip-runtime, libva, libdrm-amdgpu, mesa-amdgpu-va-drivers, mesa-amdgpu-dri-drivers")
if(SLES_FOUND OR MARINER_FOUND)
set(rocDecode_RPM_PACKAGE_LIST "rocm-hip-runtime, libva2, libdrm-amdgpu, mesa-amdgpu-va-drivers, mesa-amdgpu-dri-drivers")
endif()
# Set the dependent packages - TBD: To verify mesa-amdgpu-va-drivers should bring in all it's dependencies
set(ROCDECODE_RUNTIME_PACKAGE_LIST "rocm-hip-runtime, mesa-amdgpu-va-drivers")
# Set the dev dependent packages
set(rocDecode_DEBIAN_DEV_PACKAGE_LIST "rocm-hip-runtime-dev, libva-dev, pkg-config, ffmpeg, libavcodec-dev, libavformat-dev, libavutil-dev")
set(ROCDECODE_DEBIAN_DEV_PACKAGE_LIST "rocm-hip-runtime-dev, libva-dev, pkg-config, ffmpeg, libavcodec-dev, libavformat-dev, libavutil-dev")
if(UBUNTU_22_FOUND)
set(rocDecode_DEBIAN_DEV_PACKAGE_LIST "${rocDecode_DEBIAN_DEV_PACKAGE_LIST}, libstdc++-12-dev")
set(ROCDECODE_DEBIAN_DEV_PACKAGE_LIST "${ROCDECODE_DEBIAN_DEV_PACKAGE_LIST}, libstdc++-12-dev")
endif()
# TBD - RPM packages need Fusion Packages - "ffmpeg, libavcodec-devel, libavformat-devel, libavutil-devel"
set(rocDecode_RPM_DEV_PACKAGE_LIST "rocm-hip-runtime-devel, libva-devel, pkg-config")
set(ROCDECODE_RPM_DEV_PACKAGE_LIST "rocm-hip-runtime-devel, libva-devel, pkg-config")
# '%{?dist}' breaks manual builds on debian systems due to empty Provides
execute_process(
@@ -230,26 +225,26 @@ if(HIP_FOUND AND Libva_FOUND)
# Debian package
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}")
set(CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS "rocm-core, ${rocDecode_DEBIAN_PACKAGE_LIST}")
set(CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS "rocm-core, ${ROCDECODE_RUNTIME_PACKAGE_LIST}")
set(CPACK_DEBIAN_DEV_PACKAGE_NAME "${PROJECT_NAME}-dev")
set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS
"rocm-core, ${PROJECT_NAME}, ${rocDecode_DEBIAN_DEV_PACKAGE_LIST}")
"rocm-core, ${PROJECT_NAME}, ${ROCDECODE_DEBIAN_DEV_PACKAGE_LIST}")
# Debian package - specific variable for ASAN
set(CPACK_DEBIAN_ASAN_PACKAGE_NAME "${PROJECT_NAME}-asan" )
set(CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS "rocm-core-asan, ${rocDecode_DEBIAN_PACKAGE_LIST}" )
set(CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS "rocm-core-asan, ${ROCDECODE_RUNTIME_PACKAGE_LIST}" )
# Debian package - Test
set(CPACK_DEBIAN_TEST_PACKAGE_NAME "${PROJECT_NAME}-test" )
set(CPACK_DEBIAN_TEST_PACKAGE_DEPENDS "rocm-core, ${CPACK_DEBIAN_DEV_PACKAGE_NAME}" )
# RPM package
set(CPACK_RPM_COMPONENT_INSTALL ON)
set(CPACK_RPM_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}")
set(CPACK_RPM_RUNTIME_PACKAGE_REQUIRES "rocm-core, ${rocDecode_RPM_PACKAGE_LIST}")
set(CPACK_RPM_RUNTIME_PACKAGE_REQUIRES "rocm-core, ${ROCDECODE_RUNTIME_PACKAGE_LIST}")
set(CPACK_RPM_DEV_PACKAGE_NAME "${PROJECT_NAME}-devel")
set(CPACK_RPM_DEV_PACKAGE_REQUIRES "rocm-core, ${PROJECT_NAME}, ${rocDecode_RPM_DEV_PACKAGE_LIST}")
set(CPACK_RPM_DEV_PACKAGE_REQUIRES "rocm-core, ${PROJECT_NAME}, ${ROCDECODE_RPM_DEV_PACKAGE_LIST}")
set(CPACK_RPM_PACKAGE_LICENSE "MIT" )
# RPM package specific variable for ASAN
set(CPACK_RPM_ASAN_PACKAGE_NAME "${PROJECT_NAME}-asan" )
set(CPACK_RPM_ASAN_PACKAGE_REQUIRES "rocm-core-asan, ${rocDecode_RPM_PACKAGE_LIST}" )
set(CPACK_RPM_ASAN_PACKAGE_REQUIRES "rocm-core-asan, ${ROCDECODE_RUNTIME_PACKAGE_LIST}" )
# RPM package specific variable for Test
set(CPACK_RPM_TEST_PACKAGE_NAME "${PROJECT_NAME}-test" )
set(CPACK_RPM_TEST_PACKAGE_REQUIRES "rocm-core, ${CPACK_RPM_DEV_PACKAGE_NAME}" )
-7
مشاهده پرونده
@@ -70,12 +70,6 @@ access the video decoding features available on your GPU.
> ```shell
> sudo apt install libstdc++-12-dev
> ```
>
> * On `RHEL`/`SLES` - Additional packages required: `libdrm-amdgpu` and `mesa-amdgpu-dri-drivers`
>
> ```shell
> sudo yum install libdrm-amdgpu mesa-amdgpu-dri-drivers
> ```
>[!NOTE]
> * All package installs are shown with the `apt` package manager. Use the appropriate package manager for your operating system.
@@ -230,6 +224,5 @@ You can find rocDecode Docker containers in our
* amdgpu-core - `1:6.2.60200-2009582`
* libva-dev - `2.7.0-2` / `2.14.0-1`
* mesa-amdgpu-va-drivers - `1:24.2.0.60200-2009582`
* mesa-amdgpu-dri-drivers - `24.1.0.60200`
* FFmpeg - `4.2.7` / `4.4.2-0`
* rocDecode Setup Script - `V2.2.0`
+2 -1
مشاهده پرونده
@@ -33,8 +33,9 @@ THE SOFTWARE.
#ifdef __cplusplus
extern "C" {
#endif
/* NOTE: Match version with CMakeLists.txt */
#define ROCDECODE_MAJOR_VERSION 0
#define ROCDECODE_MINOR_VERSION 7
#define ROCDECODE_MINOR_VERSION 8
#define ROCDECODE_MICRO_VERSION 0
-8
مشاهده پرونده
@@ -26,8 +26,6 @@ Tested configurations
* mesa-amdgpu-va-drivers: 1:24.1.0
* mesa-amdgpu-dri-drivers - `24.1.0.60200`
* FFmpeg: 4.2.7/4.4.2-0
* rocDecode Setup Script: V2.0.0
@@ -100,12 +98,6 @@ Prerequisites
sudo apt install libstdc++-12-dev
* On ``RHEL`` / ``SLES`` - Additional packages required: ``libdrm-amdgpu`` and ``mesa-amdgpu-dri-drivers``
.. code:: shell
sudo apt install libdrm-amdgpu mesa-amdgpu-dri-drivers
Prerequisites setup script
----------------------------------------------------------------------------------------------------------
+8 -11
مشاهده پرونده
@@ -29,7 +29,7 @@ else:
import subprocess
__copyright__ = "Copyright (c) 2023 - 2024, AMD ROCm rocDecode"
__version__ = "2.2.0"
__version__ = "2.3.0"
__email__ = "mivisionx.support@amd.com"
__status__ = "Shipping"
@@ -107,9 +107,11 @@ linuxCMake = 'cmake'
linuxSystemInstall_check = ''
linuxFlag = ''
sudoValidateOption= '-v'
osUpdate = ''
if "centos" in os_info_data or "redhat" in os_info_data:
linuxSystemInstall = 'yum -y'
linuxSystemInstall_check = '--nogpgcheck'
osUpdate = 'makecache'
if "VERSION_ID=7" in os_info_data:
linuxCMake = 'cmake3'
platfromInfo = platfromInfo+'-redhat-7'
@@ -123,6 +125,7 @@ elif "Ubuntu" in os_info_data:
linuxSystemInstall = 'apt-get -y'
linuxSystemInstall_check = '--allow-unauthenticated'
linuxFlag = '-S'
osUpdate = 'update'
if "VERSION_ID=20" in os_info_data:
platfromInfo = platfromInfo+'-Ubuntu-20'
elif "VERSION_ID=22" in os_info_data:
@@ -135,11 +138,13 @@ elif "SLES" in os_info_data:
linuxSystemInstall = 'zypper -n'
linuxSystemInstall_check = '--no-gpg-checks'
platfromInfo = platfromInfo+'-SLES'
osUpdate = 'refresh'
elif "Mariner" in os_info_data:
linuxSystemInstall = 'tdnf -y'
linuxSystemInstall_check = '--nogpgcheck'
platfromInfo = platfromInfo+'-Mariner'
runtimeInstall = 'OFF'
osUpdate = 'makecache'
else:
print("\nrocDecode Setup on "+platfromInfo+" is unsupported\n")
print("\nrocDecode Setup Supported on: Ubuntu 20/22, RedHat 8/9, & SLES 15\n")
@@ -150,7 +155,7 @@ print("\nrocDecode Setup on: "+platfromInfo+"\n")
print("\nrocDecode Dependencies Installation with rocDecode-setup.py V-"+__version__+"\n")
if userName == 'root':
ERROR_CHECK(os.system(linuxSystemInstall+' update'))
ERROR_CHECK(os.system(linuxSystemInstall+' '+osUpdate))
ERROR_CHECK(os.system(linuxSystemInstall+' install sudo'))
# source install - common package dependencies
@@ -168,14 +173,12 @@ commonPackages = [
# Debian packages
coreDebianPackages = [
'rocm-hip-runtime-dev',
'libva2',
'libva-dev',
]
coreDebianU22Packages = [
'libstdc++-12-dev'
]
runtimeDebianPackages = [
'libdrm-amdgpu1',
'mesa-amdgpu-va-drivers',
'vainfo'
]
@@ -187,12 +190,8 @@ ffmpegDebianPackages = [
]
# RPM Packages
libvaNameRPM = "libva"
if "SLES" in os_info_data or "Mariner" in os_info_data:
libvaNameRPM = "libva2"
coreRPMPackages = [
'rocm-hip-runtime-devel',
str(libvaNameRPM),
'libva-devel'
]
@@ -200,14 +199,12 @@ libvaUtilsNameRPM = "libva-utils"
if "Mariner" in os_info_data:
libvaUtilsNameRPM = "libva2" #TBD - no utils package available
runtimeRPMPackages = [
'libdrm-amdgpu',
'mesa-amdgpu-va-drivers',
'mesa-amdgpu-dri-drivers',
str(libvaUtilsNameRPM)
]
# update
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +' '+linuxSystemInstall_check+' update'))
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +' '+linuxSystemInstall_check+' '+osUpdate))
# common packages
ERROR_CHECK(os.system('sudo '+sudoValidateOption))