Local Sources

The src/local/ directory is a safe, common location to store any number of custom files that is easily accessible to the Desktop Factory buildsystem.

Typically, sources and patches for software selected in the Factory workorder are fetched from Timesys' Source Repository and copied to the src/dl/ directory. Factory also has a mechanism in place to handle any custom patchwork you may need to apply to Timesys-provided packages for your build. These local patches may be necessary due to requirements for custom hardware or simply to apply a more customer-specific look and feel (say maybe a custom boot logo). For these cases, Factory utilizes the idea of Local Sources.

Initially, the Local Sources directory (src/local/) does not exist in Factory, but rather is manually created by the user when needed. The structure of this src/local/ directory should mimic that of the src/dl/ sub-directory structure. Say for instance, a custom patch to the Factory-provided u-boot source (version 2014.07 for example). The user would need to create the appropriate directory structure within src/local/ to store the local patch - the following would be run from the top-level Factory directory:

mkdir -p src/local/u/u-boot/u-boot-2014.07/

and the patch file copied to this newly created directory in src/local/

cp /PATH/TO/u-boot-2014.07-customization.patch src/local/u/u-boot/u-boot-2014.07/

From here, the custom local patch would simply be added to the Factory workorder for use in building the customized u-boot.

Additional uses for the src/local/ directory include

  • custom application code integrated with the Desktop Factory buildsystem
  • custom package configuration files
  • RFS customization script
  • RFS overlay tarball

The src/local/ directory is easily referenced in the Factory workorder as $(BASE_DIR)/src/local/ (prepending with file:// for use with single files such as RFS overlay tarball and RFS customization script).