mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 18:32:13 +02:00
common-tasks: Add an example of using bbappends to add a file
Use the xserver-xf86-config_%.bbappend from meta-raspberrypi to provide an example of having a bbappend file add files to an existing recipe. (From yocto-docs rev: f510e748ff3bcbea6e34a7f225e05628303fdd12) Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Quentin Schulz <foss@0leil.net> Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -554,6 +554,67 @@ The end result of this ``.bbappend`` file is that on a Raspberry Pi, where
|
||||
used during :ref:`ref-tasks-fetch` and the test for a non-zero file size in
|
||||
:ref:`ref-tasks-install` will return true, and the file will be installed.
|
||||
|
||||
Installing Additional Files Using Your Layer
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
As another example, consider the main ``xserver-xf86-config`` recipe and a
|
||||
corresponding ``xserver-xf86-config`` append file both from the :term:`Source
|
||||
Directory`. Here is the main ``xserver-xf86-config`` recipe, which is named
|
||||
``xserver-xf86-config_0.1.bb`` and located in the "meta" layer at
|
||||
``meta/recipes-graphics/xorg-xserver``::
|
||||
|
||||
SUMMARY = "X.Org X server configuration file"
|
||||
HOMEPAGE = "http://www.x.org"
|
||||
SECTION = "x11/base"
|
||||
LICENSE = "MIT-X"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||
PR = "r33"
|
||||
|
||||
SRC_URI = "file://xorg.conf"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
|
||||
do_install () {
|
||||
if test -s ${WORKDIR}/xorg.conf; then
|
||||
install -d ${D}/${sysconfdir}/X11
|
||||
install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/
|
||||
fi
|
||||
}
|
||||
|
||||
Following is the append file, which is named ``xserver-xf86-config_%.bbappend``
|
||||
and is from the Raspberry Pi BSP Layer named ``meta-raspberrypi``. The
|
||||
file is in the layer at ``recipes-graphics/xorg-xserver``::
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
SRC_URI:append:rpi = " \
|
||||
file://xorg.conf.d/98-pitft.conf \
|
||||
file://xorg.conf.d/99-calibration.conf \
|
||||
"
|
||||
do_install:append:rpi () {
|
||||
PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
|
||||
if [ "${PITFT}" = "1" ]; then
|
||||
install -d ${D}/${sysconfdir}/X11/xorg.conf.d/
|
||||
install -m 0644 ${WORKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
|
||||
install -m 0644 ${WORKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
|
||||
fi
|
||||
}
|
||||
|
||||
FILES:${PN}:append:rpi = " ${sysconfdir}/X11/xorg.conf.d/*"
|
||||
|
||||
Building off of the previous example, we once again are setting the
|
||||
:term:`FILESEXTRAPATHS` variable. In this case we are also using
|
||||
:term:`SRC_URI` to list additional source files to use when ``rpi`` is found in
|
||||
the list of :term:`OVERRIDES`. The :ref:`ref-tasks-install` task will then perform a
|
||||
check for an additional :term:`MACHINE_FEATURES` that if set will cause these
|
||||
additional files to be installed. These additional files are listed in
|
||||
:term:`FILES` so that they will be packaged.
|
||||
|
||||
Prioritizing Your Layer
|
||||
-----------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user