RDKOSS-602: RDKE][Middleware][All components] Use IPK instead of build from source#488
RDKOSS-602: RDKE][Middleware][All components] Use IPK instead of build from source#488Shalini1516 wants to merge 1 commit intodevelopfrom
Conversation
build from source Reason For Change: To Reduce the build time ,Added some extra lines in this rdk.conf file which helps to enable the ipk mode for both middleware components and Oss Components to fetch the ipk from artifactory. Test Procedure: None Risks: low Signed-off-by: ss127 <[email protected]>
There was a problem hiding this comment.
Pull request overview
This pull request adds IPK (Itsy Package) mode configuration to enable fetching pre-built packages from Artifactory instead of building from source, with the goal of reducing build time. The changes configure middleware and OSS component package feeds for the RDK build system.
Changes:
- Added MW IPK MODE configuration to set up middleware package feed URIs
- Added OSS IPK MODE configuration to set up OSS component package feed URIs
- Configured release number, architecture settings, and IPK server paths
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| PREFERRED_PROVIDER_virtual/firebolt ?= "ripple" | ||
|
|
||
| include conf/distro/rdk-cpc.conf | ||
| #MW IPK MODE |
There was a problem hiding this comment.
The comment style here uses a single '#' at the beginning of the line. While this is technically valid, the file contains other section comments (like lines 56-58) that use a more structured format with separator lines. Consider using a more consistent comment format to match the rest of the file, or at least add a blank line before this comment to visually separate the new IPK MODE sections from the previous content.
| MW_IPK_SERVER_PATH ?= "${RDK_ARTIFACTS_BASE_URL}/${MW_IPK_PATH}/${RDK_MW_ARCH}/ipks/${BUILD_VARIANT}" | ||
| IPK_FEED_URIS += " \ | ||
| ${STACK_LAYER_EXTENSION}##${MW_IPK_SERVER_PATH} " | ||
|
|
There was a problem hiding this comment.
This line contains tab characters for indentation instead of spaces. The rest of the file uses spaces for indentation. This inconsistency could cause issues with Yocto/BitBake parsing and should be replaced with spaces to match the file's convention.
| IPK_FEED_URIS += " \ | ||
| ${STACK_LAYER_EXTENSION}##${MW_IPK_SERVER_PATH} " | ||
|
|
||
| #OSS IPK MODE |
There was a problem hiding this comment.
The function 'get_oss_arch' is called here but is not defined anywhere in the codebase. This will cause a build error when BitBake evaluates this variable. You need to either define this function in a Python block or use an existing variable instead.
| #OSS IPK MODE | |
| #OSS IPK MODE | |
| def get_oss_arch(d): | |
| """ | |
| Return the architecture string used for OSS middleware packages. | |
| Prefer RDK_MW_ARCH if set, otherwise fall back to TARGET_ARCH, | |
| and finally to 'all' as a safe generic default. | |
| """ | |
| arch = d.getVar('RDK_MW_ARCH') | |
| if arch: | |
| return arch | |
| arch = d.getVar('TARGET_ARCH') | |
| if arch: | |
| return arch | |
| return 'all' |
| MIDDLEWARE_ARCH = "${RDK_MW_ARCH}-middleware" | ||
| STACK_LAYER_EXTENSION = "${MIDDLEWARE_ARCH}" | ||
| RELEASE_NUM = "8.4.1.0" | ||
|
|
There was a problem hiding this comment.
The variable 'RDK_ARTIFACTS_BASE_URL' is referenced but never defined in this file or elsewhere in the codebase. This variable needs to be defined or set as a default value (using ?= operator), otherwise the IPK server paths will be incomplete and package fetching will fail.
| RDK_ARTIFACTS_BASE_URL ?= "" |
| MIDDLEWARE_ARCH = "${RDK_MW_ARCH}-middleware" | ||
| STACK_LAYER_EXTENSION = "${MIDDLEWARE_ARCH}" | ||
| RELEASE_NUM = "8.4.1.0" | ||
|
|
There was a problem hiding this comment.
The variable 'BUILD_VARIANT' is referenced but never defined in this file or elsewhere in the codebase. This variable needs to be defined or set as a default value (using ?= operator), otherwise the IPK server paths will be incomplete and package fetching will fail.
| BUILD_VARIANT ?= "default" |
|
|
||
| MIDDLEWARE_ARCH = "${RDK_MW_ARCH}-middleware" | ||
| STACK_LAYER_EXTENSION = "${MIDDLEWARE_ARCH}" | ||
| RELEASE_NUM = "8.4.1.0" |
There was a problem hiding this comment.
The RELEASE_NUM is hardcoded to a specific version "8.4.1.0". This should use the ?= operator instead of = to allow it to be overridden by local.conf or other configuration files. Hardcoding the release number makes it difficult to work with different release versions without modifying the distro configuration.
| RELEASE_NUM = "8.4.1.0" | |
| RELEASE_NUM ?= "8.4.1.0" |
Reason For Change: To Reduce the build time ,Added some extra lines in this rdk.conf file which helps to enable the ipk mode for both middleware components and Oss Components to fetch the ipk from artifactory.
Test Procedure: None
Risks: low