external-scm.rst 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. .. SPDX-License-Identifier: CC-BY-SA-2.0-UK
  2. Using an External SCM
  3. *********************
  4. If you're working on a recipe that pulls from an external Source Code
  5. Manager (SCM), it is possible to have the OpenEmbedded build system
  6. notice new recipe changes added to the SCM and then build the resulting
  7. packages that depend on the new recipes by using the latest versions.
  8. This only works for SCMs from which it is possible to get a sensible
  9. revision number for changes. Currently, you can do this with Apache
  10. Subversion (SVN), Git, and Bazaar (BZR) repositories.
  11. To enable this behavior, the :term:`PV` of
  12. the recipe needs to include a ``+`` sign in its assignment.
  13. Here is an example::
  14. PV = "1.2.3+git"
  15. :term:`Bitbake` later includes the source control information in :term:`PKGV`
  16. during the packaging phase.
  17. Then, you can add the following to your
  18. ``local.conf``::
  19. SRCREV:pn-PN = "${AUTOREV}"
  20. :term:`PN` is the name of the recipe for
  21. which you want to enable automatic source revision updating.
  22. If you do not want to update your local configuration file, you can add
  23. the following directly to the recipe to finish enabling the feature::
  24. SRCREV = "${AUTOREV}"
  25. The Yocto Project provides a distribution named ``poky-bleeding``, whose
  26. configuration file contains the line::
  27. require conf/distro/include/poky-floating-revisions.inc
  28. This line pulls in the
  29. listed include file that contains numerous lines of exactly that form::
  30. #SRCREV:pn-opkg-native ?= "${AUTOREV}"
  31. #SRCREV:pn-opkg-sdk ?= "${AUTOREV}"
  32. #SRCREV:pn-opkg ?= "${AUTOREV}"
  33. #SRCREV:pn-opkg-utils-native ?= "${AUTOREV}"
  34. #SRCREV:pn-opkg-utils ?= "${AUTOREV}"
  35. SRCREV:pn-gconf-dbus ?= "${AUTOREV}"
  36. SRCREV:pn-matchbox-common ?= "${AUTOREV}"
  37. SRCREV:pn-matchbox-config-gtk ?= "${AUTOREV}"
  38. SRCREV:pn-matchbox-desktop ?= "${AUTOREV}"
  39. SRCREV:pn-matchbox-keyboard ?= "${AUTOREV}"
  40. SRCREV:pn-matchbox-panel-2 ?= "${AUTOREV}"
  41. SRCREV:pn-matchbox-themes-extra ?= "${AUTOREV}"
  42. SRCREV:pn-matchbox-terminal ?= "${AUTOREV}"
  43. SRCREV:pn-matchbox-wm ?= "${AUTOREV}"
  44. SRCREV:pn-settings-daemon ?= "${AUTOREV}"
  45. SRCREV:pn-screenshot ?= "${AUTOREV}"
  46. . . .
  47. These lines allow you to
  48. experiment with building a distribution that tracks the latest
  49. development source for numerous packages.
  50. .. note::
  51. The ``poky-bleeding`` distribution is not tested on a regular basis. Keep
  52. this in mind if you use it.