Chapter 8. Classes

Table of Contents

8.1. allarch.bbclass
8.2. archiver.bbclass
8.3. autotools*.bbclass
8.4. base.bbclass
8.5. bash-completion.bbclass
8.6. bin_package.bbclass
8.7. binconfig.bbclass
8.8. binconfig-disabled.bbclass
8.9. blacklist.bbclass
8.10. bluetooth.bbclass
8.11. bugzilla.bbclass
8.12. buildhistory.bbclass
8.13. buildstats.bbclass
8.14. buildstats-summary.bbclass
8.15. ccache.bbclass
8.16. chrpath.bbclass
8.17. clutter.bbclass
8.18. cmake.bbclass
8.19. cml1.bbclass
8.20. compress_doc.bbclass
8.21. copyleft_compliance.bbclass
8.22. copyleft_filter.bbclass
8.23. core-image.bbclass
8.24. cpan*.bbclass
8.25. cross.bbclass
8.26. cross-canadian.bbclass
8.27. crosssdk.bbclass
8.28. debian.bbclass
8.29. deploy.bbclass
8.30. devshell.bbclass
8.31. distro_features_check.bbclass
8.32. distrodata.bbclass
8.33. distutils*.bbclass
8.34. distutils3*.bbclass
8.35. externalsrc.bbclass
8.36. extrausers.bbclass
8.37. fontcache.bbclass
8.38. fs-uuid.bbclass
8.39. gconf.bbclass
8.40. gettext.bbclass
8.41. gnome.bbclass
8.42. gnomebase.bbclass
8.43. gobject-introspection.bbclass
8.44. grub-efi.bbclass
8.45. gsettings.bbclass
8.46. gtk-doc.bbclass
8.47. gtk-icon-cache.bbclass
8.48. gtk-immodules-cache.bbclass
8.49. gzipnative.bbclass
8.50. icecc.bbclass
8.51. image.bbclass
8.52. image-buildinfo.bbclass
8.53. image_types.bbclass
8.54. image-live.bbclass
8.55. image-mklibs.bbclass
8.56. image-prelink.bbclass
8.57. insane.bbclass
8.58. insserv.bbclass
8.59. kernel.bbclass
8.60. kernel-arch.bbclass
8.61. kernel-devicetree.bbclass
8.62. kernel-fitimage.bbclass
8.63. kernel-grub.bbclass
8.64. kernel-module-split.bbclass
8.65. kernel-uboot.bbclass
8.66. kernel-uimage.bbclass
8.67. kernel-yocto.bbclass
8.68. kernelsrc.bbclass
8.69. lib_package.bbclass
8.70. libc*.bbclass
8.71. license.bbclass
8.72. linux-kernel-base.bbclass
8.73. linuxloader.bbclass
8.74. logging.bbclass
8.75. meta.bbclass
8.76. metadata_scm.bbclass
8.77. migrate_localcount.bbclass
8.78. mime.bbclass
8.79. mirrors.bbclass
8.80. module.bbclass
8.81. module-base.bbclass
8.82. multilib*.bbclass
8.83. native.bbclass
8.84. nativesdk.bbclass
8.85. nopackages.bbclass
8.86. npm.bbclass
8.87. oelint.bbclass
8.88. own-mirrors.bbclass
8.89. package.bbclass
8.90. package_deb.bbclass
8.91. package_ipk.bbclass
8.92. package_rpm.bbclass
8.93. package_tar.bbclass
8.94. packagedata.bbclass
8.95. packagegroup.bbclass
8.96. patch.bbclass
8.97. perlnative.bbclass
8.98. pixbufcache.bbclass
8.99. pkgconfig.bbclass
8.100. populate_sdk.bbclass
8.101. populate_sdk_*.bbclass
8.102. prexport.bbclass
8.103. primport.bbclass
8.104. prserv.bbclass
8.105. ptest.bbclass
8.106. ptest-gnome.bbclass
8.107. python-dir.bbclass
8.108. python3native.bbclass
8.109. pythonnative.bbclass
8.110. qemu.bbclass
8.111. recipe_sanity.bbclass
8.112. relocatable.bbclass
8.113. remove-libtool.bbclass
8.114. report-error.bbclass
8.115. rm_work.bbclass
8.116. rootfs*.bbclass
8.117. sanity.bbclass
8.118. scons.bbclass
8.119. sdl.bbclass
8.120. setuptools.bbclass
8.121. setuptools3.bbclass
8.122. sign_rpm.bbclass
8.123. sip.bbclass
8.124. siteconfig.bbclass
8.125. siteinfo.bbclass
8.126. spdx.bbclass
8.127. sstate.bbclass
8.128. staging.bbclass
8.129. syslinux.bbclass
8.130. systemd.bbclass
8.131. systemd-boot.bbclass
8.132. terminal.bbclass
8.133. testimage*.bbclass
8.134. testsdk.bbclass
8.135. texinfo.bbclass
8.136. tinderclient.bbclass
8.137. toaster.bbclass
8.138. toolchain-scripts.bbclass
8.139. typecheck.bbclass
8.140. uboot-config.bbclass
8.141. uninative.bbclass
8.142. update-alternatives.bbclass
8.143. update-rc.d.bbclass
8.144. useradd*.bbclass
8.145. utility-tasks.bbclass
8.146. utils.bbclass
8.147. vala.bbclass
8.148. waf.bbclass

Class files are used to abstract common functionality and share it amongst multiple recipe (.bb) files. To use a class file, you simply make sure the recipe inherits the class. In most cases, when a recipe inherits a class it is enough to enable its features. There are cases, however, where in the recipe you might need to set variables or override some default behavior.

Any Metadata usually found in a recipe can also be placed in a class file. Class files are identified by the extension .bbclass and are usually placed in a classes/ directory beneath the meta*/ directory found in the Source Directory. Class files can also be pointed to by BUILDDIR (e.g. build/) in the same way as .conf files in the conf directory. Class files are searched for in BBPATH using the same method by which .conf files are searched.

This chapter discusses only the most useful and important classes. Other classes do exist within the meta/classes directory in the Source Directory. You can reference the .bbclass files directly for more information.