-
Notifications
You must be signed in to change notification settings - Fork 14
RDKOSS-602: RDKE][Middleware][All components] Use IPK instead of build from source #488
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
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 <Shalini_S@comcast.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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} " | ||
|
|
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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" | ||
|
|
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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" | ||
|
|
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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" |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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