summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/contributor-guide/recipe-style-guide.rst6
-rw-r--r--documentation/dev-manual/external-scm.rst9
-rw-r--r--documentation/dev-manual/new-recipe.rst10
-rw-r--r--documentation/dev-manual/packages.rst13
-rw-r--r--documentation/kernel-dev/common.rst13
-rw-r--r--documentation/ref-manual/variables.rst59
6 files changed, 47 insertions, 63 deletions
diff --git a/documentation/contributor-guide/recipe-style-guide.rst b/documentation/contributor-guide/recipe-style-guide.rst
index 6a3eec3a0e..806bf23848 100644
--- a/documentation/contributor-guide/recipe-style-guide.rst
+++ b/documentation/contributor-guide/recipe-style-guide.rst
@@ -47,10 +47,10 @@ Debian policy closely.
47 47
48When a recipe references a git revision that does not correspond to a released 48When a recipe references a git revision that does not correspond to a released
49version of software (e.g. is not a tagged version), the :term:`PV` variable 49version of software (e.g. is not a tagged version), the :term:`PV` variable
50should include the Git revision using the following to make the 50should include the sign ``+``, so :term:`bitbake` automatically includes package
51version clear:: 51version information during the packaging phase::
52 52
53 PV = "<version>+git${SRCPV}" 53 PV = "<version>+git"
54 54
55In this case, ``<version>`` should be the most recently released version of the 55In this case, ``<version>`` should be the most recently released version of the
56software from the current source revision (``git describe`` can be useful for 56software from the current source revision (``git describe`` can be useful for
diff --git a/documentation/dev-manual/external-scm.rst b/documentation/dev-manual/external-scm.rst
index 97a7e63e36..896b1b5ac7 100644
--- a/documentation/dev-manual/external-scm.rst
+++ b/documentation/dev-manual/external-scm.rst
@@ -12,10 +12,13 @@ revision number for changes. Currently, you can do this with Apache
12Subversion (SVN), Git, and Bazaar (BZR) repositories. 12Subversion (SVN), Git, and Bazaar (BZR) repositories.
13 13
14To enable this behavior, the :term:`PV` of 14To enable this behavior, the :term:`PV` of
15the recipe needs to reference 15the recipe needs to include a ``+`` sign in its assignment.
16:term:`SRCPV`. Here is an example:: 16Here is an example::
17 17
18 PV = "1.2.3+git${SRCPV}" 18 PV = "1.2.3+git"
19
20:term:`Bitbake` later includes the source control information in :term:`PKGV`
21during the packaging phase.
19 22
20Then, you can add the following to your 23Then, you can add the following to your
21``local.conf``:: 24``local.conf``::
diff --git a/documentation/dev-manual/new-recipe.rst b/documentation/dev-manual/new-recipe.rst
index 61fc2eb122..944b9627f9 100644
--- a/documentation/dev-manual/new-recipe.rst
+++ b/documentation/dev-manual/new-recipe.rst
@@ -291,13 +291,13 @@ another example that specifies these types of files, see the
291 291
292Another way of specifying source is from an SCM. For Git repositories, 292Another way of specifying source is from an SCM. For Git repositories,
293you must specify :term:`SRCREV` and you should specify :term:`PV` to include 293you must specify :term:`SRCREV` and you should specify :term:`PV` to include
294the revision with :term:`SRCPV`. Here is an example from the recipe 294a ``+`` sign in its definition. Here is an example from the recipe
295``meta/recipes-core/musl/gcompat_git.bb``:: 295:oe_git:`meta/recipes-sato/l3afpad/l3afpad_git.bb </openembedded-core/tree/meta/recipes-sato/l3afpad/l3afpad_git.bb>`::
296 296
297 SRC_URI = "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current" 297 SRC_URI = "git://github.com/stevenhoneyman/l3afpad.git;branch=master;protocol=https"
298 298
299 PV = "1.0.0+1.1+git${SRCPV}" 299 PV = "0.8.18.1.11+git"
300 SRCREV = "af5a49e489fdc04b9cf02547650d7aeaccd43793" 300 SRCREV ="3cdccdc9505643e50f8208171d9eee5de11a42ff"
301 301
302If your :term:`SRC_URI` statement includes URLs pointing to individual files 302If your :term:`SRC_URI` statement includes URLs pointing to individual files
303fetched from a remote server other than a version control system, 303fetched from a remote server other than a version control system,
diff --git a/documentation/dev-manual/packages.rst b/documentation/dev-manual/packages.rst
index e5028fffdc..33cf78747d 100644
--- a/documentation/dev-manual/packages.rst
+++ b/documentation/dev-manual/packages.rst
@@ -84,10 +84,6 @@ the following:
84 84
85- :term:`PR`: The recipe revision. 85- :term:`PR`: The recipe revision.
86 86
87- :term:`SRCPV`: The OpenEmbedded
88 build system uses this string to help define the value of :term:`PV` when
89 the source code revision needs to be included in it.
90
91- :yocto_wiki:`PR Service </PR_Service>`: A 87- :yocto_wiki:`PR Service </PR_Service>`: A
92 network-based service that helps automate keeping package feeds 88 network-based service that helps automate keeping package feeds
93 compatible with existing package manager applications such as RPM, 89 compatible with existing package manager applications such as RPM,
@@ -256,15 +252,14 @@ the software::
256 252
257 SRCREV = "${AUTOREV}" 253 SRCREV = "${AUTOREV}"
258 254
259Furthermore, you need to reference :term:`SRCPV` in :term:`PV` in order to 255Furthermore, you need to include a ``+`` sign in :term:`PV` in order to
260automatically update the version whenever the revision of the source 256automatically update the version whenever the revision of the source
261code changes. Here is an example:: 257code changes. Here is an example::
262 258
263 PV = "1.0+git${SRCPV}" 259 PV = "1.0+git"
264
265The OpenEmbedded build system substitutes :term:`SRCPV` with the following:
266 260
267.. code-block:: none 261The OpenEmbedded build system will automatically add the source control
262information to the end of the variable :term:`PKGV`, in this format::
268 263
269 AUTOINC+source_code_revision 264 AUTOINC+source_code_revision
270 265
diff --git a/documentation/kernel-dev/common.rst b/documentation/kernel-dev/common.rst
index fda41694dc..28ef3b22c3 100644
--- a/documentation/kernel-dev/common.rst
+++ b/documentation/kernel-dev/common.rst
@@ -1562,16 +1562,9 @@ Here are some basic steps you can use to work with your own sources:
1562 changed. 1562 changed.
1563 1563
1564 - :term:`PV`: The default :term:`PV` 1564 - :term:`PV`: The default :term:`PV`
1565 assignment is typically adequate. It combines the 1565 assignment is typically adequate. It combines the value of
1566 :term:`LINUX_VERSION` with the Source Control Manager (SCM) revision 1566 :term:`LINUX_VERSION` and the value ``+git`` which adds source control
1567 as derived from the :term:`SRCPV` 1567 information to :term:`PKGV` later during the packaging phase.
1568 variable. The combined results are a string with the following
1569 form::
1570
1571 3.19.11+git1+68a635bf8dfb64b02263c1ac80c948647cc76d5f_1+218bd8d2022b9852c60d32f0d770931e3cf343e2
1572
1573 While lengthy, the extra verbosity in :term:`PV` helps ensure you are
1574 using the exact sources from which you intend to build.
1575 1568
1576 - :term:`COMPATIBLE_MACHINE`: 1569 - :term:`COMPATIBLE_MACHINE`:
1577 A list of the machines supported by your new recipe. This variable 1570 A list of the machines supported by your new recipe. This variable
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 4ac61af364..cf9b960b18 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -209,12 +209,11 @@ system and gives an overview of their function and contents.
209 SRCREV = "${AUTOREV}" 209 SRCREV = "${AUTOREV}"
210 210
211 If you use the previous statement to retrieve the latest version of 211 If you use the previous statement to retrieve the latest version of
212 software, you need to be sure :term:`PV` contains 212 software, you need to make sure :term:`PV` contains the ``+`` sign so
213 ``${``\ :term:`SRCPV`\ ``}``. For example, suppose you have a kernel 213 :term:`bitbake` includes source control information to :term:`PKGV` when
214 recipe that inherits the :ref:`ref-classes-kernel` class and you 214 packaging the recipe. For example::
215 use the previous statement. In this example, ``${SRCPV}`` does not 215
216 automatically get into :term:`PV`. Consequently, you need to change 216 PV = "6.10.y+git"
217 :term:`PV` in your recipe so that it does contain ``${SRCPV}``.
218 217
219 For more information see the 218 For more information see the
220 ":ref:`dev-manual/packages:automatically incrementing a package version number`" 219 ":ref:`dev-manual/packages:automatically incrementing a package version number`"
@@ -5152,7 +5151,7 @@ system and gives an overview of their function and contents.
5152 The :term:`LINUX_VERSION` variable is used to define :term:`PV` 5151 The :term:`LINUX_VERSION` variable is used to define :term:`PV`
5153 for the recipe:: 5152 for the recipe::
5154 5153
5155 PV = "${LINUX_VERSION}+git${SRCPV}" 5154 PV = "${LINUX_VERSION}+git"
5156 5155
5157 :term:`LINUX_VERSION_EXTENSION` 5156 :term:`LINUX_VERSION_EXTENSION`
5158 A string extension compiled into the version string of the Linux 5157 A string extension compiled into the version string of the Linux
@@ -6715,22 +6714,14 @@ system and gives an overview of their function and contents.
6715 string. You cannot use the wildcard character in any other 6714 string. You cannot use the wildcard character in any other
6716 location of the string. 6715 location of the string.
6717 6716
6718 The specified version is matched against :term:`PV`, which 6717 The specified version is matched against :term:`PV`, which does not
6719 does not necessarily match the version part of the recipe's filename. 6718 necessarily match the version part of the recipe's filename.
6720 For example, consider two recipes ``foo_1.2.bb`` and ``foo_git.bb``
6721 where ``foo_git.bb`` contains the following assignment::
6722
6723 PV = "1.1+git${SRCPV}"
6724
6725 In this case, the correct way to select
6726 ``foo_git.bb`` is by using an assignment such as the following::
6727
6728 PREFERRED_VERSION_foo = "1.1+git%"
6729 6719
6730 Compare that previous example 6720 If you want to select a recipe named ``foo_git.bb`` which has :term:`PV`
6731 against the following incorrect example, which does not work:: 6721 set to ``1.2.3+git``, you can do so by setting ```PREFERRED_VERSION_foo``
6732 6722 to ``1.2.3%`` (i.e. simply setting ``PREFERRED_VERSION_foo`` to ``git``
6733 PREFERRED_VERSION_foo = "git" 6723 will not work as the name of the recipe isn't used, but rather its
6724 :term:`PV` definition).
6734 6725
6735 Sometimes the :term:`PREFERRED_VERSION` variable can be set by 6726 Sometimes the :term:`PREFERRED_VERSION` variable can be set by
6736 configuration files in a way that is hard to change. You can use 6727 configuration files in a way that is hard to change. You can use
@@ -8316,21 +8307,23 @@ system and gives an overview of their function and contents.
8316 (SCM). 8307 (SCM).
8317 8308
8318 :term:`SRCPV` 8309 :term:`SRCPV`
8319 Returns the version string of the current package. This string is 8310 The variable :term:`SRCPV` is deprecated. It was previously used to
8320 used to help define the value of :term:`PV`. 8311 include source control information in :term:`PV` for :term:`bitbake` to
8312 work correctly but this is no longer a requirement. Source control
8313 information will be automatically included by :term:`bitbake` in the
8314 variable :term:`PKGV` during packaging if the ``+`` sign is present in
8315 :term:`PV`.
8321 8316
8322 The :term:`SRCPV` variable is defined in the ``meta/conf/bitbake.conf`` 8317 .. note::
8323 configuration file in the :term:`Source Directory` as
8324 follows::
8325 8318
8326 SRCPV = "${@bb.fetch2.get_srcrev(d)}" 8319 The :term:`SRCPV` variable used to be defined in the
8320 ``meta/conf/bitbake.conf`` configuration file in the :term:`Source
8321 Directory` as follows::
8327 8322
8328 Recipes that need to define :term:`PV` do so with the help of the 8323 SRCPV = "${@bb.fetch2.get_srcrev(d)}"
8329 :term:`SRCPV`. For example, the ``ofono`` recipe (``ofono_git.bb``)
8330 located in ``meta/recipes-connectivity`` in the Source Directory
8331 defines :term:`PV` as follows::
8332 8324
8333 PV = "0.12-git${SRCPV}" 8325 The ``get_srcrev`` function can still be used to include source control
8326 information in variables manually.
8334 8327
8335 :term:`SRCREV` 8328 :term:`SRCREV`
8336 The revision of the source code used to build the package. This 8329 The revision of the source code used to build the package. This