diff options
| -rw-r--r-- | documentation/dev-manual/common-tasks.rst | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/documentation/dev-manual/common-tasks.rst b/documentation/dev-manual/common-tasks.rst index 96b9fcc402..87c5a081ec 100644 --- a/documentation/dev-manual/common-tasks.rst +++ b/documentation/dev-manual/common-tasks.rst | |||
| @@ -554,6 +554,67 @@ The end result of this ``.bbappend`` file is that on a Raspberry Pi, where | |||
| 554 | used during :ref:`ref-tasks-fetch` and the test for a non-zero file size in | 554 | used during :ref:`ref-tasks-fetch` and the test for a non-zero file size in |
| 555 | :ref:`ref-tasks-install` will return true, and the file will be installed. | 555 | :ref:`ref-tasks-install` will return true, and the file will be installed. |
| 556 | 556 | ||
| 557 | Installing Additional Files Using Your Layer | ||
| 558 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 559 | |||
| 560 | As another example, consider the main ``xserver-xf86-config`` recipe and a | ||
| 561 | corresponding ``xserver-xf86-config`` append file both from the :term:`Source | ||
| 562 | Directory`. Here is the main ``xserver-xf86-config`` recipe, which is named | ||
| 563 | ``xserver-xf86-config_0.1.bb`` and located in the "meta" layer at | ||
| 564 | ``meta/recipes-graphics/xorg-xserver``:: | ||
| 565 | |||
| 566 | SUMMARY = "X.Org X server configuration file" | ||
| 567 | HOMEPAGE = "http://www.x.org" | ||
| 568 | SECTION = "x11/base" | ||
| 569 | LICENSE = "MIT-X" | ||
| 570 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
| 571 | PR = "r33" | ||
| 572 | |||
| 573 | SRC_URI = "file://xorg.conf" | ||
| 574 | |||
| 575 | S = "${WORKDIR}" | ||
| 576 | |||
| 577 | CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf" | ||
| 578 | |||
| 579 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 580 | ALLOW_EMPTY:${PN} = "1" | ||
| 581 | |||
| 582 | do_install () { | ||
| 583 | if test -s ${WORKDIR}/xorg.conf; then | ||
| 584 | install -d ${D}/${sysconfdir}/X11 | ||
| 585 | install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/ | ||
| 586 | fi | ||
| 587 | } | ||
| 588 | |||
| 589 | Following is the append file, which is named ``xserver-xf86-config_%.bbappend`` | ||
| 590 | and is from the Raspberry Pi BSP Layer named ``meta-raspberrypi``. The | ||
| 591 | file is in the layer at ``recipes-graphics/xorg-xserver``:: | ||
| 592 | |||
| 593 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" | ||
| 594 | |||
| 595 | SRC_URI:append:rpi = " \ | ||
| 596 | file://xorg.conf.d/98-pitft.conf \ | ||
| 597 | file://xorg.conf.d/99-calibration.conf \ | ||
| 598 | " | ||
| 599 | do_install:append:rpi () { | ||
| 600 | PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" | ||
| 601 | if [ "${PITFT}" = "1" ]; then | ||
| 602 | install -d ${D}/${sysconfdir}/X11/xorg.conf.d/ | ||
| 603 | install -m 0644 ${WORKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ | ||
| 604 | install -m 0644 ${WORKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/ | ||
| 605 | fi | ||
| 606 | } | ||
| 607 | |||
| 608 | FILES:${PN}:append:rpi = " ${sysconfdir}/X11/xorg.conf.d/*" | ||
| 609 | |||
| 610 | Building off of the previous example, we once again are setting the | ||
| 611 | :term:`FILESEXTRAPATHS` variable. In this case we are also using | ||
| 612 | :term:`SRC_URI` to list additional source files to use when ``rpi`` is found in | ||
| 613 | the list of :term:`OVERRIDES`. The :ref:`ref-tasks-install` task will then perform a | ||
| 614 | check for an additional :term:`MACHINE_FEATURES` that if set will cause these | ||
| 615 | additional files to be installed. These additional files are listed in | ||
| 616 | :term:`FILES` so that they will be packaged. | ||
| 617 | |||
| 557 | Prioritizing Your Layer | 618 | Prioritizing Your Layer |
| 558 | ----------------------- | 619 | ----------------------- |
| 559 | 620 | ||
