diff options
Diffstat (limited to 'documentation/dev-manual')
-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 | ||