xref: /openbmc/openbmc/poky/documentation/dev-manual/external-scm.rst (revision 96e4b4e121e0e2da1535d7d537d6a982a6ff5bc0)
1517393d9SAndrew Geissler.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2517393d9SAndrew Geissler
3517393d9SAndrew GeisslerUsing an External SCM
4517393d9SAndrew Geissler*********************
5517393d9SAndrew Geissler
6517393d9SAndrew GeisslerIf you're working on a recipe that pulls from an external Source Code
7517393d9SAndrew GeisslerManager (SCM), it is possible to have the OpenEmbedded build system
8517393d9SAndrew Geisslernotice new recipe changes added to the SCM and then build the resulting
9517393d9SAndrew Geisslerpackages that depend on the new recipes by using the latest versions.
10517393d9SAndrew GeisslerThis only works for SCMs from which it is possible to get a sensible
11517393d9SAndrew Geisslerrevision number for changes. Currently, you can do this with Apache
12517393d9SAndrew GeisslerSubversion (SVN), Git, and Bazaar (BZR) repositories.
13517393d9SAndrew Geissler
14517393d9SAndrew GeisslerTo enable this behavior, the :term:`PV` of
15*96e4b4e1SPatrick Williamsthe recipe needs to include a ``+`` sign in its assignment.
16*96e4b4e1SPatrick WilliamsHere is an example::
17517393d9SAndrew Geissler
18*96e4b4e1SPatrick Williams   PV = "1.2.3+git"
19*96e4b4e1SPatrick Williams
20*96e4b4e1SPatrick Williams:term:`Bitbake` later includes the source control information in :term:`PKGV`
21*96e4b4e1SPatrick Williamsduring the packaging phase.
22517393d9SAndrew Geissler
23517393d9SAndrew GeisslerThen, you can add the following to your
24517393d9SAndrew Geissler``local.conf``::
25517393d9SAndrew Geissler
26517393d9SAndrew Geissler   SRCREV:pn-PN = "${AUTOREV}"
27517393d9SAndrew Geissler
28517393d9SAndrew Geissler:term:`PN` is the name of the recipe for
29517393d9SAndrew Geisslerwhich you want to enable automatic source revision updating.
30517393d9SAndrew Geissler
31517393d9SAndrew GeisslerIf you do not want to update your local configuration file, you can add
32517393d9SAndrew Geisslerthe following directly to the recipe to finish enabling the feature::
33517393d9SAndrew Geissler
34517393d9SAndrew Geissler   SRCREV = "${AUTOREV}"
35517393d9SAndrew Geissler
36517393d9SAndrew GeisslerThe Yocto Project provides a distribution named ``poky-bleeding``, whose
37517393d9SAndrew Geisslerconfiguration file contains the line::
38517393d9SAndrew Geissler
39517393d9SAndrew Geissler   require conf/distro/include/poky-floating-revisions.inc
40517393d9SAndrew Geissler
41517393d9SAndrew GeisslerThis line pulls in the
42517393d9SAndrew Geisslerlisted include file that contains numerous lines of exactly that form::
43517393d9SAndrew Geissler
44517393d9SAndrew Geissler   #SRCREV:pn-opkg-native ?= "${AUTOREV}"
45517393d9SAndrew Geissler   #SRCREV:pn-opkg-sdk ?= "${AUTOREV}"
46517393d9SAndrew Geissler   #SRCREV:pn-opkg ?= "${AUTOREV}"
47517393d9SAndrew Geissler   #SRCREV:pn-opkg-utils-native ?= "${AUTOREV}"
48517393d9SAndrew Geissler   #SRCREV:pn-opkg-utils ?= "${AUTOREV}"
49517393d9SAndrew Geissler   SRCREV:pn-gconf-dbus ?= "${AUTOREV}"
50517393d9SAndrew Geissler   SRCREV:pn-matchbox-common ?= "${AUTOREV}"
51517393d9SAndrew Geissler   SRCREV:pn-matchbox-config-gtk ?= "${AUTOREV}"
52517393d9SAndrew Geissler   SRCREV:pn-matchbox-desktop ?= "${AUTOREV}"
53517393d9SAndrew Geissler   SRCREV:pn-matchbox-keyboard ?= "${AUTOREV}"
54517393d9SAndrew Geissler   SRCREV:pn-matchbox-panel-2 ?= "${AUTOREV}"
55517393d9SAndrew Geissler   SRCREV:pn-matchbox-themes-extra ?= "${AUTOREV}"
56517393d9SAndrew Geissler   SRCREV:pn-matchbox-terminal ?= "${AUTOREV}"
57517393d9SAndrew Geissler   SRCREV:pn-matchbox-wm ?= "${AUTOREV}"
58517393d9SAndrew Geissler   SRCREV:pn-settings-daemon ?= "${AUTOREV}"
59517393d9SAndrew Geissler   SRCREV:pn-screenshot ?= "${AUTOREV}"
60517393d9SAndrew Geissler   . . .
61517393d9SAndrew Geissler
62517393d9SAndrew GeisslerThese lines allow you to
63517393d9SAndrew Geisslerexperiment with building a distribution that tracks the latest
64517393d9SAndrew Geisslerdevelopment source for numerous packages.
65517393d9SAndrew Geissler
66517393d9SAndrew Geissler.. note::
67517393d9SAndrew Geissler
68517393d9SAndrew Geissler   The ``poky-bleeding`` distribution is not tested on a regular basis. Keep
69517393d9SAndrew Geissler   this in mind if you use it.
70517393d9SAndrew Geissler
71