diff --git a/configure.ac b/configure.ac index 2b2e6e00..2e0fe039 100644 --- a/configure.ac +++ b/configure.ac @@ -95,6 +95,7 @@ AM_CONDITIONAL(CCSP_PLATFORM_BCM, test "x$CCSP_PLATFORM" = xbcm) AM_CONDITIONAL(CCSP_PLATFORM_INTEL_PUMA7, test "x$CCSP_PLATFORM" = xintel_puma7) AM_CONDITIONAL([MULTILAN_FEATURE], [test "$MULTILAN_FEATURE" = "yes"]) AM_CONDITIONAL([CPC_FIREWALL_ENABLE], [test "x$CPC_FIREWALL_ENABLE" = "xtrue"]) +AM_CONDITIONAL([ONESTACK_PRODUCT_REQ], [test "x$ONESTACK_PRODUCT_REQ" = "xtrue"]) # Checks for header files. AC_CHECK_HEADERS([stdlib.h string.h unistd.h]) diff --git a/source/scripts/init/src/apply_system_defaults/Makefile.am b/source/scripts/init/src/apply_system_defaults/Makefile.am index 6ee0e417..b7d3bdc3 100644 --- a/source/scripts/init/src/apply_system_defaults/Makefile.am +++ b/source/scripts/init/src/apply_system_defaults/Makefile.am @@ -21,7 +21,8 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS = -I$(top_srcdir)/source/include \ -I$(top_srcdir)/source/util \ -I${PKG_CONFIG_SYSROOT_DIR}$(includedir)/dbus-1.0 \ - -I${PKG_CONFIG_SYSROOT_DIR}$(libdir)/dbus-1.0/include + -I${PKG_CONFIG_SYSROOT_DIR}$(libdir)/dbus-1.0/include \ + -I${PKG_CONFIG_SYSROOT_DIR}$(includedir) AM_LDFLAGS = $(top_builddir)/source/services/lib/libsrvmgr.la \ $(top_builddir)/source/sysevent/lib/libsysevent.la \ @@ -31,7 +32,11 @@ AM_LDFLAGS = $(top_builddir)/source/services/lib/libsrvmgr.la \ $(top_builddir)/source/utctx/lib/libutctx.la \ -ltelemetry_msgsender \ -lcjson \ - -lccsp_common $(DBUS_LIBS) + -lccsp_common $(DBUS_LIBS) + +if ONESTACK_PRODUCT_REQ +AM_LDFLAGS += -L${PKG_CONFIG_SYSROOT_DIR}$(libdir) -ldevicemode -lonestack_syscfg -lonestack_log +endif if PLATFORM_HAL_SYNDICATION AM_LDFLAGS += "-lhal_platform -lsysevent -lutctx -lutapi -lhal_wifi" diff --git a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c index 0a589550..65596924 100644 --- a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c +++ b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c @@ -59,6 +59,10 @@ #include #include "safec_lib_common.h" +#ifdef _ONESTACK_PRODUCT_REQ_ +#include +#endif + #include #define PARTNERS_INFO_FILE "/nvram/partners_defaults.json" #define PARTNERS_INFO_FILE_ETC "/etc/partners_defaults.json" @@ -889,6 +893,13 @@ static int get_PartnerID (char *PartnerID) if( ( 0 == getFactoryPartnerId( PartnerID ) ) && ( PartnerID [ 0 ] != '\0' ) ) { APPLY_PRINT("%s - PartnerID from HAL: %s\n",__FUNCTION__,PartnerID ); +#ifdef _ONESTACK_PRODUCT_REQ_ + // Override PartnerID if needed and set devicemode + // Must be called BEFORE set_syscfg_partner_values to ensure syscfg gets the correct PartnerID + APPLY_PRINT("%s - Calling onestackutils_override_partnerid_and_set_devicemode with PartnerID from HAL: %s\n", __FUNCTION__, PartnerID); + onestackutils_override_partnerid_and_set_devicemode(PartnerID); + APPLY_PRINT("%s - onestackutils_override_partnerid_and_set_devicemode completed. PartnerID from HAL: %s\n", __FUNCTION__, PartnerID); +#endif // _ONESTACK_PRODUCT_REQ_ validatePartnerId ( PartnerID ); } else @@ -941,9 +952,18 @@ static int get_PartnerID (char *PartnerID) sprintf( PartnerID, "%s", fileContent ); APPLY_PRINT("%s - PartnerID from File: %s\n",__FUNCTION__,PartnerID ); +#ifdef _ONESTACK_PRODUCT_REQ_ + // Override PartnerID if needed and set devicemode + // Must be called BEFORE set_syscfg_partner_values to ensure syscfg gets the correct PartnerID + APPLY_PRINT("%s - Calling onestackutils_override_partnerid_and_set_devicemode with PartnerID: %s\n", __FUNCTION__, PartnerID); + onestackutils_override_partnerid_and_set_devicemode(PartnerID); + APPLY_PRINT("%s - onestackutils_override_partnerid_and_set_devicemode completed. PartnerID: %s\n", __FUNCTION__, PartnerID); +#endif // _ONESTACK_PRODUCT_REQ_ + validatePartnerId ( PartnerID ); unlink("/nvram/.partner_ID"); } + set_syscfg_partner_values(PartnerID,"PartnerID"); //To print Facgtory PartnerID on every boot-up