In order to upstream DAC (the DSM and Dobby stack) to a mainline release of RDK-B we need to create a distro feature which enables DAC functionality
This new distro feature "DAC" should result in DSM and Dobby being installed on the image with correct kernel config when enabled.
The bitbake function bb.utils.contains can be used to conditionally add the DAC components to an existing broadband package group, such as rdk-oss-broadband.
For example, this could be done by adding the following to meta-rdk-broadband/recipes-core/packagegroups/packagegroup-rdk-oss-broadband.bbappend
example listing of packagegroup-rdk-oss-broadband.bbappend:
.
.
RDEPENDS_packagegroup-rdk-oss-broadband_append_dunfell = "${@bb.utils.contains('DISTRO_FEATURES', 'DAC',' dobby', '', d)}"
RDEPENDS_packagegroup-rdk-oss-broadband_append_dunfell += "${@bb.utils.contains('DISTRO_FEATURES', 'DAC',' dsm', '', d)}" |
Then in the local workspace's local.conf file (or a custom distro definition file) the feature can be enabled like so:
. . DISTRO_FEATURES_append += " DAC" |
Enabling the feature will add Dobby and DSM to the rdk-oss-broadband package group, which is installed as part of an RDK-B build.