Directories: Installation variables

The following table provides a list of the variables that are used to control the directories into which files are installed.

These variables can be used directly by the recipe to refer to paths that will be used after the package is installed. For example, when specify the location of configuration files you need to specify the location on the target as show in the following example from quagga:

# Indicate that the default files are configuration files
CONFFILES_${PN} = "${sysconfdir}/default/quagga"
CONFFILES_${PN}-watchquagga = "${sysconfdir}/default/watchquagga"

When using these variables to actually install the components of a package from within a bitbake recipe they should used relative to the destination directory, D. The following example from the quagga recipe shows some addition files being manually installed from within the recipe itself:

do_install () {
        # Install init script and default settings
        install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d ${D}${sysconfdir}/quagga
        install -m 0644 ${WORKDIR}/quagga.default ${D}${sysconfdir}/default/quagga
Variable nameDefinitionTypical value
prefix/usr/usr
base_prefix(empty)(empty)
exec_prefix${base_prefix}(empty)
base_bindir${base_prefix}/bin/bin
base_sbindir${base_prefix}/sbin/sbin
base_libdir${base_prefix}/lib/lib
datadir${prefix}/share/usr/share
sysconfdir/etc/etc
localstatedir/var/var
infodir${datadir}/info/usr/share/info
mandir${datadir}/man/usr/share/man
docdir${datadir}/doc/usr/share/doc
servicedir/srv/srv
bindir${exec_prefix}/bin/usr/bin
sbindir${exec_prefix}/sbin/usr/sbin
libexecdir${exec_prefix}/libexec/usr/libexec
libdir${exec_prefix}/lib/usr/lib
includedir${exec_prefix}/include/usr/include
palmtopdir${libdir}/opie/usr/lib/opie
palmqtdir${palmtopdir}/usr/lib/opie