2 ---------------------------------------------------------------------
4 The Buildroot user manual
6 ---------------------------------------------------------------------
7 ---------------------------------------------------------------------
15 2. System requirements
17 2.1. Mandatory packages
18 2.2. Optional packages
21 4. Buildroot quick start
22 5. Community resources
26 6. Buildroot configuration
28 6.1. Cross-compilation toolchain
32 7. Configuration of other components
33 8. General Buildroot usage
36 8.2. Understanding when a full rebuild is necessary
37 8.3. Understanding how to rebuild packages
39 8.5. Building out-of-tree
40 8.6. Environment variables
41 8.7. Dealing efficiently with filesystem images
42 8.8. Graphing the dependencies between packages
43 8.9. Graphing the build duration
44 8.10. Integration with Eclipse
47 9. Project-specific customization
49 9.1. Recommended directory structure
50 9.2. Keeping customizations outside of Buildroot
51 9.3. Storing the Buildroot configuration
52 9.4. Storing the configuration of other components
53 9.5. Customizing the generated target filesystem
54 9.6. Adding custom user accounts
55 9.7. Customization after the images have been created
56 9.8. Adding project-specific patches
57 9.9. Adding project-specific packages
58 9.10. Quick guide to storing your project-specific
61 10. Frequently Asked Questions & Troubleshooting
63 10.1. The boot hangs after Starting network…
64 10.2. Why is there no compiler on the target?
65 10.3. Why are there no development files on the target?
66 10.4. Why is there no documentation on the target?
67 10.5. Why are some packages not visible in the Buildroot
69 10.6. Why not use the target directory as a chroot directory?
70 10.7. Why doesn’t Buildroot generate binary packages (.deb,
72 10.8. How to speed-up the build process?
75 12. Legal notice and licensing
77 12.1. Complying with open source licenses
78 12.2. License abbreviations
79 12.3. Complying with the Buildroot license
83 13.1. Boot the generated images
88 14. How Buildroot works
93 15.3. The documentation
95 16. Adding support for a particular board
96 17. Adding new packages to Buildroot
98 17.1. Package directory
102 17.5. Infrastructure for packages with specific build systems
103 17.6. Infrastructure for autotools-based packages
104 17.7. Infrastructure for CMake-based packages
105 17.8. Infrastructure for Python packages
106 17.9. Infrastructure for LuaRocks-based packages
107 17.10. Infrastructure for Perl/CPAN packages
108 17.11. Infrastructure for virtual packages
109 17.12. Infrastructure for packages using kconfig for
111 17.13. Infrastructure for rebar-based packages
112 17.14. Infrastructure for asciidoc documents
113 17.15. Hooks available in the various build steps
114 17.16. Gettext integration and interaction with packages
115 17.17. Tips and tricks
118 18. Patching a package
120 18.1. Providing patches
121 18.2. How patches are applied
122 18.3. Format and licensing of the package patches
123 18.4. Integrating patches found on the Web
125 19. Download infrastructure
126 20. Debugging Buildroot
127 21. Contributing to Buildroot
129 21.1. Reproducing, analyzing and fixing bugs
130 21.2. Analyzing and fixing autobuild failures
131 21.3. Reviewing and testing patches
132 21.4. Work on items from the TODO list
133 21.5. Submitting patches
134 21.6. Reporting issues/bugs or getting help
138 22. Makedev syntax documentation
139 23. Makeusers syntax documentation
140 24. List of target packages available in Buildroot
141 25. List of virtual packages
142 26. List of host utilities available in Buildroot
143 27. Deprecated features
147 17.1. Config script: divine package
148 17.2. Config script: imagemagick package:
151 ---------------------------------------------------------------------
153 ---------------------------------------------------------------------
155 Buildroot 2015.05 manual generated on 2015-05-31 21:28:54 UTC from
158 The Buildroot manual is written by the Buildroot developers. It is
159 licensed under the GNU General Public License, version 2. Refer to
160 the COPYING [http://git.buildroot.org/buildroot/tree/COPYING] file in
161 the Buildroot sources for the full text of this license.
163 Copyright © 2004-2014 The Buildroot developers
165 Part I. Getting started
170 2. System requirements
172 2.1. Mandatory packages
173 2.2. Optional packages
176 4. Buildroot quick start
177 5. Community resources
179 Chapter 1. About Buildroot
181 Buildroot is a tool that simplifies and automates the process of
182 building a complete Linux system for an embedded system, using
185 In order to achieve this, Buildroot is able to generate a
186 cross-compilation toolchain, a root filesystem, a Linux kernel image
187 and a bootloader for your target. Buildroot can be used for any
188 combination of these options, independently (you can for example use
189 an existing cross-compilation toolchain, and build only your root
190 filesystem with Buildroot).
192 Buildroot is useful mainly for people working with embedded systems.
193 Embedded systems often use processors that are not the regular x86
194 processors everyone is used to having in his PC. They can be PowerPC
195 processors, MIPS processors, ARM processors, etc.
197 Buildroot supports numerous processors and their variants; it also
198 comes with default configurations for several boards available
199 off-the-shelf. Besides this, a number of third-party projects are
200 based on, or develop their BSP ^[1] or SDK ^[2] on top of Buildroot.
203 ---------------------------------------------------------------------
205 ^[1] BSP: Board Support Package
207 ^[2] SDK: Software Development Kit
209 Chapter 2. System requirements
211 Buildroot is designed to run on Linux systems.
213 While Buildroot itself will build most host packages it needs for the
214 compilation, certain standard Linux utilities are expected to be
215 already installed on the host system. Below you will find an overview
216 of the mandatory and optional packages (note that package names may
217 vary between distributions).
219 2.1. Mandatory packages
225 + make (version 3.81 or any later)
227 + build-essential (only for Debian based systems)
228 + gcc (version 2.95 or any later)
229 + g++ (version 2.95 or any later)
234 + perl (version 5.8.7 or any later)
237 + python (version 2.6 or 2.7)
240 * Source fetching tools:
244 2.2. Optional packages
246 * Configuration interface dependencies:
248 For these libraries, you need to install both runtime and
249 development data, which in many distributions are packaged
250 separately. The development packages typically have a -dev or
253 + ncurses5 to use the menuconfig interface
254 + qt4 to use the xconfig interface
255 + glib2, gtk2 and glade2 to use the gconfig interface
256 * Source fetching tools:
258 In the official tree, most of the package sources are retrieved
259 using wget from ftp, http or https locations. A few packages are
260 only available through a version control system. Moreover,
261 Buildroot is capable of downloading sources via other tools, like
262 rsync or scp (refer to Chapter 19, Download infrastructure for
263 more details). If you enable packages using any of these methods,
264 you will need to install the corresponding tool on the host
274 * Java-related packages, if the Java Classpath needs to be built
275 for the target system:
279 * Documentation generation tools:
281 + asciidoc, version 8.6.3 or higher
283 + python with the argparse module (automatically present in
285 + dblatex (required for the pdf manual only)
286 * Graph generation tools:
288 + graphviz to use graph-depends and <pkg>-graph-depends
289 + python-matplotlib to use graph-build
291 Chapter 3. Getting Buildroot
293 Buildroot releases are made every 3 months, in February, May, August
294 and November. Release numbers are in the format YYYY.MM, so for
295 example 2013.02, 2014.08.
297 Release tarballs are available at http://buildroot.org/downloads/.
299 If you want to follow development, you can use the daily snapshots or
300 make a clone of the Git repository. Refer to the Download page [http:
301 //buildroot.org/download] of the Buildroot website for more details.
303 Chapter 4. Buildroot quick start
305 Important: you can and should build everything as a normal user.
306 There is no need to be root to configure and use Buildroot. By
307 running all commands as a regular user, you protect your system
308 against packages behaving badly during compilation and installation.
310 The first step when using Buildroot is to create a configuration.
311 Buildroot has a nice configuration tool similar to the one you can
312 find in the Linux kernel [http://www.kernel.org/] or in BusyBox
313 [http://www.busybox.net/].
315 From the buildroot directory, run
319 for the original curses-based configurator, or
323 for the new curses-based configurator, or
327 for the Qt-based configurator, or
331 for the GTK-based configurator.
333 All of these "make" commands will need to build a configuration
334 utility (including the interface), so you may need to install
335 "development" packages for relevant libraries used by the
336 configuration utilities. Refer to Chapter 2, System requirements for
337 more details, specifically the optional requirements Section 2.2,
338 “Optional packages” to get the dependencies of your favorite
341 For each menu entry in the configuration tool, you can find
342 associated help that describes the purpose of the entry. Refer to
343 Chapter 6, Buildroot configuration for details on some specific
344 configuration aspects.
346 Once everything is configured, the configuration tool generates a
347 .config file that contains the entire configuration. This file will
348 be read by the top-level Makefile.
350 To start the build process, simply run:
354 You should never use make -jN with Buildroot: top-level parallel make
355 is currently not supported. Instead, use the BR2_JLEVEL option to
356 tell Buildroot to run the compilation of each individual package with
359 The make command will generally perform the following steps:
361 * download source files (as required);
362 * configure, build and install the cross-compilation toolchain, or
363 simply import an external toolchain;
364 * configure, build and install selected target packages;
365 * build a kernel image, if selected;
366 * build a bootloader image, if selected;
367 * create a root filesystem in selected formats.
369 Buildroot output is stored in a single directory, output/. This
370 directory contains several subdirectories:
372 * images/ where all the images (kernel image, bootloader and root
373 filesystem images) are stored. These are the files you need to
374 put on your target system.
375 * build/ where all the components are built (this includes tools
376 needed by Buildroot on the host and packages compiled for the
377 target). This directory contains one subdirectory for each of
379 * staging/ which contains a hierarchy similar to a root filesystem
380 hierarchy. This directory contains the headers and libraries of
381 the cross-compilation toolchain and all the userspace packages
382 selected for the target. However, this directory is not intended
383 to be the root filesystem for the target: it contains a lot of
384 development files, unstripped binaries and libraries that make it
385 far too big for an embedded system. These development files are
386 used to compile libraries and applications for the target that
387 depend on other libraries.
388 * target/ which contains almost the complete root filesystem for
389 the target: everything needed is present except the device files
390 in /dev/ (Buildroot can’t create them because Buildroot doesn’t
391 run as root and doesn’t want to run as root). Also, it doesn’t
392 have the correct permissions (e.g. setuid for the busybox
393 binary). Therefore, this directory should not be used on your
394 target. Instead, you should use one of the images built in the
395 images/ directory. If you need an extracted image of the root
396 filesystem for booting over NFS, then use the tarball image
397 generated in images/ and extract it as root. Compared to staging
398 /, target/ contains only the files and libraries needed to run
399 the selected target applications: the development files (headers,
400 etc.) are not present, the binaries are stripped.
401 * host/ contains the installation of tools compiled for the host
402 that are needed for the proper execution of Buildroot, including
403 the cross-compilation toolchain.
405 These commands, make menuconfig|nconfig|gconfig|xconfig and make, are
406 the basic ones that allow to easily and quickly generate images
407 fitting your needs, with all the features and applications you
410 More details about the "make" command usage are given in Section 8.1,
413 Chapter 5. Community resources
415 Like any open source project, Buildroot has different ways to share
416 information in its community and outside.
418 Each of those ways may interest you if you are looking for some help,
419 want to understand Buildroot or contribute to the project.
423 Buildroot has a mailing list for discussion and development. It
424 is the main method of interaction for Buildroot users and
427 Only subscribers to the Buildroot mailing list are allowed to
428 post to this list. You can subscribe via the mailing list info
429 page [http://lists.busybox.net/mailman/listinfo/buildroot].
431 Mails that are sent to the mailing list are also available in the
432 mailing list archives [http://lists.busybox.net/pipermail/
433 buildroot] and via Gmane [http://gmane.org], at
434 gmane.comp.lib.uclibc.buildroot [http://dir.gmane.org/
435 gmane.comp.lib.uclibc.buildroot]. Please search the mailing list
436 archives before asking questions, since there is a good chance
437 someone else has asked the same question before.
441 The Buildroot IRC channel #buildroot [irc://freenode.net/#
442 buildroot] is hosted on Freenode [http://webchat.freenode.net].
443 It is a useful place to ask quick questions or discuss on certain
446 When asking for help on IRC, share relevant logs or pieces of
447 code using a code sharing website, such as http://code.bulix.org.
449 Note that for certain questions, posting to the mailing list may
450 be better as it will reach more people, both developers and
454 Bugs in Buildroot can be reported via the mailing list or
455 alternatively via the Buildroot bugtracker [https://
456 bugs.busybox.net/buglist.cgi?product=buildroot]. Please refer to
457 Section 21.6, “Reporting issues/bugs or getting help” before
458 creating a bug report.
460 The Buildroot wiki page [http://elinux.org/Buildroot] is hosted
461 on the eLinux [http://elinux.org] wiki. It contains some useful
462 links, an overview of past and upcoming events, and a TODO list.
465 Patchwork is a web-based patch tracking system designed to
466 facilitate the contribution and management of contributions to an
467 open-source project. Patches that have been sent to a mailing
468 list are 'caught' by the system, and appear on a web page. Any
469 comments posted that reference the patch are appended to the
470 patch page too. For more information on Patchwork see http://
471 jk.ozlabs.org/projects/patchwork/.
473 Buildroot’s Patchwork website is mainly for use by Buildroot’s
474 maintainer to ensure patches aren’t missed. It is also used by
475 Buildroot patch reviewers (see also Section 21.3.1, “Applying
476 Patches from Patchwork”). However, since the website exposes
477 patches and their corresponding review comments in a clean and
478 concise web interface, it can be useful for all Buildroot
481 The Buildroot patch management interface is available at http://
482 patchwork.buildroot.org.
488 6. Buildroot configuration
490 6.1. Cross-compilation toolchain
494 7. Configuration of other components
495 8. General Buildroot usage
498 8.2. Understanding when a full rebuild is necessary
499 8.3. Understanding how to rebuild packages
501 8.5. Building out-of-tree
502 8.6. Environment variables
503 8.7. Dealing efficiently with filesystem images
504 8.8. Graphing the dependencies between packages
505 8.9. Graphing the build duration
506 8.10. Integration with Eclipse
509 9. Project-specific customization
511 9.1. Recommended directory structure
512 9.2. Keeping customizations outside of Buildroot
513 9.3. Storing the Buildroot configuration
514 9.4. Storing the configuration of other components
515 9.5. Customizing the generated target filesystem
516 9.6. Adding custom user accounts
517 9.7. Customization after the images have been created
518 9.8. Adding project-specific patches
519 9.9. Adding project-specific packages
520 9.10. Quick guide to storing your project-specific customizations
522 10. Frequently Asked Questions & Troubleshooting
524 10.1. The boot hangs after Starting network…
525 10.2. Why is there no compiler on the target?
526 10.3. Why are there no development files on the target?
527 10.4. Why is there no documentation on the target?
528 10.5. Why are some packages not visible in the Buildroot config
530 10.6. Why not use the target directory as a chroot directory?
531 10.7. Why doesn’t Buildroot generate binary packages (.deb,
533 10.8. How to speed-up the build process?
536 12. Legal notice and licensing
538 12.1. Complying with open source licenses
539 12.2. License abbreviations
540 12.3. Complying with the Buildroot license
544 13.1. Boot the generated images
547 Chapter 6. Buildroot configuration
549 All the configuration options in make *config have a help text
550 providing details about the option.
552 The make *config commands also offer a search tool. Read the help
553 message in the different frontend menus to know how to use it:
555 * in menuconfig, the search tool is called by pressing /;
556 * in xconfig, the search tool is called by pressing Ctrl + f.
558 The result of the search shows the help message of the matching
559 items. In menuconfig, numbers in the left column provide a shortcut
560 to the corresponding entry. Just type this number to directly jump to
561 the entry, or to the containing menu in case the entry is not
562 selectable due to a missing dependency.
564 Although the menu structure and the help text of the entries should
565 be sufficiently self-explanatory, a number of topics require
566 additional explanation that cannot easily be covered in the help text
567 and are therefore covered in the following sections.
569 6.1. Cross-compilation toolchain
571 A compilation toolchain is the set of tools that allows you to
572 compile code for your system. It consists of a compiler (in our case,
573 gcc), binary utils like assembler and linker (in our case, binutils)
574 and a C standard library (for example GNU Libc [http://www.gnu.org/
575 software/libc/libc.html], uClibc [http://www.uclibc.org/]).
577 The system installed on your development station certainly already
578 has a compilation toolchain that you can use to compile an
579 application that runs on your system. If you’re using a PC, your
580 compilation toolchain runs on an x86 processor and generates code for
581 an x86 processor. Under most Linux systems, the compilation toolchain
582 uses the GNU libc (glibc) as the C standard library. This compilation
583 toolchain is called the "host compilation toolchain". The machine on
584 which it is running, and on which you’re working, is called the "host
587 The compilation toolchain is provided by your distribution, and
588 Buildroot has nothing to do with it (other than using it to build a
589 cross-compilation toolchain and other tools that are run on the
592 As said above, the compilation toolchain that comes with your system
593 runs on and generates code for the processor in your host system. As
594 your embedded system has a different processor, you need a
595 cross-compilation toolchain - a compilation toolchain that runs on
596 your host system but generates code for your target system (and
597 target processor). For example, if your host system uses x86 and your
598 target system uses ARM, the regular compilation toolchain on your
599 host runs on x86 and generates code for x86, while the
600 cross-compilation toolchain runs on x86 and generates code for ARM.
602 Buildroot provides two solutions for the cross-compilation toolchain:
604 * The internal toolchain backend, called Buildroot toolchain in the
605 configuration interface.
606 * The external toolchain backend, called External toolchain in the
607 configuration interface.
609 The choice between these two solutions is done using the Toolchain
610 Type option in the Toolchain menu. Once one solution has been chosen,
611 a number of configuration options appear, they are detailed in the
614 6.1.1. Internal toolchain backend
616 The internal toolchain backend is the backend where Buildroot builds
617 by itself a cross-compilation toolchain, before building the
618 userspace applications and libraries for your target embedded system.
620 This backend supports several C libraries: uClibc [http://
621 www.uclibc.org], the glibc [http://www.gnu.org/software/libc/
622 libc.html] and eglibc [http://www.eglibc.org].
624 Once you have selected this backend, a number of options appear. The
625 most important ones allow to:
627 * Change the version of the Linux kernel headers used to build the
628 toolchain. This item deserves a few explanations. In the process
629 of building a cross-compilation toolchain, the C library is being
630 built. This library provides the interface between userspace
631 applications and the Linux kernel. In order to know how to "talk"
632 to the Linux kernel, the C library needs to have access to the
633 Linux kernel headers (i.e. the .h files from the kernel), which
634 define the interface between userspace and the kernel (system
635 calls, data structures, etc.). Since this interface is backward
636 compatible, the version of the Linux kernel headers used to build
637 your toolchain do not need to match exactly the version of the
638 Linux kernel you intend to run on your embedded system. They only
639 need to have a version equal or older to the version of the Linux
640 kernel you intend to run. If you use kernel headers that are more
641 recent than the Linux kernel you run on your embedded system,
642 then the C library might be using interfaces that are not
643 provided by your Linux kernel.
644 * Change the version of the GCC compiler, binutils and the C
646 * Select a number of toolchain options (uClibc only): whether the
647 toolchain should have RPC support (used mainly for NFS),
648 wide-char support, locale support (for internationalization), C++
649 support or thread support. Depending on which options you choose,
650 the number of userspace applications and libraries visible in
651 Buildroot menus will change: many applications and libraries
652 require certain toolchain options to be enabled. Most packages
653 show a comment when a certain toolchain option is required to be
654 able to enable those packages. If needed, you can further refine
655 the uClibc configuration by running make uclibc-menuconfig. Note
656 however that all packages in Buildroot are tested against the
657 default uClibc configuration bundled in Buildroot: if you deviate
658 from this configuration by removing features from uClibc, some
659 packages may no longer build.
661 It is worth noting that whenever one of those options is modified,
662 then the entire toolchain and system must be rebuilt. See
663 Section 8.2, “Understanding when a full rebuild is necessary”.
665 Advantages of this backend:
667 * Well integrated with Buildroot
668 * Fast, only builds what’s necessary
670 Drawbacks of this backend:
672 * Rebuilding the toolchain is needed when doing make clean, which
673 takes time. If you’re trying to reduce your build time, consider
674 using the External toolchain backend.
676 6.1.2. External toolchain backend
678 The external toolchain backend allows to use existing pre-built
679 cross-compilation toolchains. Buildroot knows about a number of
680 well-known cross-compilation toolchains (from Linaro [http://
681 www.linaro.org] for ARM, Sourcery CodeBench [http://www.mentor.com/
682 embedded-software/sourcery-tools/sourcery-codebench/editions/
683 lite-edition/] for ARM, x86, x86-64, PowerPC, MIPS and SuperH,
684 Blackfin toolchains from Analog Devices [https://blackfin.uclinux.org
685 /gf/project/toolchain], etc.) and is capable of downloading them
686 automatically, or it can be pointed to a custom toolchain, either
687 available for download or installed locally.
689 Then, you have three solutions to use an external toolchain:
691 * Use a predefined external toolchain profile, and let Buildroot
692 download, extract and install the toolchain. Buildroot already
693 knows about a few CodeSourcery, Linaro, Blackfin and Xilinx
694 toolchains. Just select the toolchain profile in Toolchain from
695 the available ones. This is definitely the easiest solution.
696 * Use a predefined external toolchain profile, but instead of
697 having Buildroot download and extract the toolchain, you can tell
698 Buildroot where your toolchain is already installed on your
699 system. Just select the toolchain profile in Toolchain through
700 the available ones, unselect Download toolchain automatically,
701 and fill the Toolchain path text entry with the path to your
702 cross-compiling toolchain.
703 * Use a completely custom external toolchain. This is particularly
704 useful for toolchains generated using crosstool-NG or with
705 Buildroot itself. To do this, select the Custom toolchain
706 solution in the Toolchain list. You need to fill the Toolchain
707 path, Toolchain prefix and External toolchain C library options.
708 Then, you have to tell Buildroot what your external toolchain
709 supports. If your external toolchain uses the glibc library, you
710 only have to tell whether your toolchain supports C++ or not and
711 whether it has built-in RPC support. If your external toolchain
712 uses the uClibc library, then you have to tell Buildroot if it
713 supports RPC, wide-char, locale, program invocation, threads and
714 C++. At the beginning of the execution, Buildroot will tell you
715 if the selected options do not match the toolchain configuration.
717 Our external toolchain support has been tested with toolchains from
718 CodeSourcery and Linaro, toolchains generated by crosstool-NG [http:/
719 /crosstool-ng.org], and toolchains generated by Buildroot itself. In
720 general, all toolchains that support the sysroot feature should work.
721 If not, do not hesitate to contact the developers.
723 We do not support toolchains or SDK generated by OpenEmbedded or
724 Yocto, because these toolchains are not pure toolchains (i.e. just
725 the compiler, binutils, the C and C++ libraries). Instead these
726 toolchains come with a very large set of pre-compiled libraries and
727 programs. Therefore, Buildroot cannot import the sysroot of the
728 toolchain, as it would contain hundreds of megabytes of pre-compiled
729 libraries that are normally built by Buildroot.
731 We also do not support using the distribution toolchain (i.e. the gcc
732 /binutils/C library installed by your distribution) as the toolchain
733 to build software for the target. This is because your distribution
734 toolchain is not a "pure" toolchain (i.e. only with the C/C++
735 library), so we cannot import it properly into the Buildroot build
736 environment. So even if you are building a system for a x86 or x86_64
737 target, you have to generate a cross-compilation toolchain with
738 Buildroot or crosstool-NG.
740 If you want to generate a custom toolchain for your project, that can
741 be used as an external toolchain in Buildroot, our recommendation is
742 definitely to build it with crosstool-NG [http://crosstool-ng.org].
743 We recommend to build the toolchain separately from Buildroot, and
744 then import it in Buildroot using the external toolchain backend.
746 Advantages of this backend:
748 * Allows to use well-known and well-tested cross-compilation
750 * Avoids the build time of the cross-compilation toolchain, which
751 is often very significant in the overall build time of an
752 embedded Linux system.
753 * Not limited to uClibc: glibc and eglibc toolchains are supported.
755 Drawbacks of this backend:
757 * If your pre-built external toolchain has a bug, may be hard to
758 get a fix from the toolchain vendor, unless you build your
759 external toolchain by yourself using Crosstool-NG.
761 6.1.2.1. External toolchain wrapper
763 When using an external toolchain, Buildroot generates a wrapper
764 program, that transparently passes the appropriate options (according
765 to the configuration) to the external toolchain programs. In case you
766 need to debug this wrapper to check exactly what arguments are
767 passed, you can set the environment variable BR2_DEBUG_WRAPPER to
770 * 0, empty or not set: no debug
771 * 1: trace all arguments on a single line
772 * 2: trace one argument per line
776 On a Linux system, the /dev directory contains special files, called
777 device files, that allow userspace applications to access the
778 hardware devices managed by the Linux kernel. Without these device
779 files, your userspace applications would not be able to use the
780 hardware devices, even if they are properly recognized by the Linux
783 Under System configuration, /dev management, Buildroot offers four
784 different solutions to handle the /dev directory :
786 * The first solution is Static using device table. This is the old
787 classical way of handling device files in Linux. With this
788 method, the device files are persistently stored in the root
789 filesystem (i.e. they persist across reboots), and there is
790 nothing that will automatically create and remove those device
791 files when hardware devices are added or removed from the system.
792 Buildroot therefore creates a standard set of device files using
793 a device table, the default one being stored in system/
794 device_table_dev.txt in the Buildroot source code. This file is
795 processed when Buildroot generates the final root filesystem
796 image, and the device files are therefore not visible in the
797 output/target directory. The BR2_ROOTFS_STATIC_DEVICE_TABLE
798 option allows to change the default device table used by
799 Buildroot, or to add an additional device table, so that
800 additional device files are created by Buildroot during the
801 build. So, if you use this method, and a device file is missing
802 in your system, you can for example create a board/<yourcompany>/
803 <yourproject>/device_table_dev.txt file that contains the
804 description of your additional device files, and then you can set
805 BR2_ROOTFS_STATIC_DEVICE_TABLE to system/device_table_dev.txt
806 board/<yourcompany>/<yourproject>/device_table_dev.txt. For more
807 details about the format of the device table file, see
808 Chapter 22, Makedev syntax documentation.
809 * The second solution is Dynamic using devtmpfs only. devtmpfs is a
810 virtual filesystem inside the Linux kernel that has been
811 introduced in kernel 2.6.32 (if you use an older kernel, it is
812 not possible to use this option). When mounted in /dev, this
813 virtual filesystem will automatically make device files appear
814 and disappear as hardware devices are added and removed from the
815 system. This filesystem is not persistent across reboots: it is
816 filled dynamically by the kernel. Using devtmpfs requires the
817 following kernel configuration options to be enabled:
818 CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT. When Buildroot is in
819 charge of building the Linux kernel for your embedded device, it
820 makes sure that those two options are enabled. However, if you
821 build your Linux kernel outside of Buildroot, then it is your
822 responsibility to enable those two options (if you fail to do so,
823 your Buildroot system will not boot).
824 * The third solution is Dynamic using mdev. This method also relies
825 on the devtmpfs virtual filesystem detailed above (so the
826 requirement to have CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT
827 enabled in the kernel configuration still apply), but adds the
828 mdev userspace utility on top of it. mdev is a program part of
829 BusyBox that the kernel will call every time a device is added or
830 removed. Thanks to the /etc/mdev.conf configuration file, mdev
831 can be configured to for example, set specific permissions or
832 ownership on a device file, call a script or application whenever
833 a device appears or disappear, etc. Basically, it allows
834 userspace to react on device addition and removal events. mdev
835 can for example be used to automatically load kernel modules when
836 devices appear on the system. mdev is also important if you have
837 devices that require a firmware, as it will be responsible for
838 pushing the firmware contents to the kernel. mdev is a
839 lightweight implementation (with fewer features) of udev. For
840 more details about mdev and the syntax of its configuration file,
841 see http://git.busybox.net/busybox/tree/docs/mdev.txt.
842 * The fourth solution is Dynamic using eudev. This method also
843 relies on the devtmpfs virtual filesystem detailed above, but
844 adds the eudev userspace daemon on top of it. eudev is a daemon
845 that runs in the background, and gets called by the kernel when a
846 device gets added or removed from the system. It is a more
847 heavyweight solution than mdev, but provides higher flexibility.
848 eudev is a standalone version of udev, the original userspace
849 daemon used in most desktop Linux distributions, which is now
850 part of Systemd. For more details, see http://en.wikipedia.org/
853 The Buildroot developers recommendation is to start with the Dynamic
854 using devtmpfs only solution, until you have the need for userspace
855 to be notified when devices are added/removed, or if firmwares are
856 needed, in which case Dynamic using mdev is usually a good solution.
858 Note that if systemd is chosen as init system, /dev management will
859 be performed by the udev program provided by systemd.
863 The init program is the first userspace program started by the kernel
864 (it carries the PID number 1), and is responsible for starting the
865 userspace services and programs (for example: web server, graphical
866 applications, other network servers, etc.).
868 Buildroot allows to use three different types of init systems, which
869 can be chosen from System configuration, Init system:
871 * The first solution is BusyBox. Amongst many programs, BusyBox has
872 an implementation of a basic init program, which is sufficient
873 for most embedded systems. Enabling the BR2_INIT_BUSYBOX will
874 ensure BusyBox will build and install its init program. This is
875 the default solution in Buildroot. The BusyBox init program will
876 read the /etc/inittab file at boot to know what to do. The syntax
877 of this file can be found in http://git.busybox.net/busybox/tree/
878 examples/inittab (note that BusyBox inittab syntax is special: do
879 not use a random inittab documentation from the Internet to learn
880 about BusyBox inittab). The default inittab in Buildroot is
881 stored in system/skeleton/etc/inittab. Apart from mounting a few
882 important filesystems, the main job the default inittab does is
883 to start the /etc/init.d/rcS shell script, and start a getty
884 program (which provides a login prompt).
885 * The second solution is systemV. This solution uses the old
886 traditional sysvinit program, packed in Buildroot in package/
887 sysvinit. This was the solution used in most desktop Linux
888 distributions, until they switched to more recent alternatives
889 such as Upstart or Systemd. sysvinit also works with an inittab
890 file (which has a slightly different syntax than the one from
891 BusyBox). The default inittab installed with this init solution
892 is located in package/sysvinit/inittab.
893 * The third solution is systemd. systemd is the new generation init
894 system for Linux. It does far more than traditional init
895 programs: aggressive parallelization capabilities, uses socket
896 and D-Bus activation for starting services, offers on-demand
897 starting of daemons, keeps track of processes using Linux control
898 groups, supports snapshotting and restoring of the system state,
899 etc. systemd will be useful on relatively complex embedded
900 systems, for example the ones requiring D-Bus and services
901 communicating between each other. It is worth noting that systemd
902 brings a fairly big number of large dependencies: dbus, udev and
903 more. For more details about systemd, see http://
904 www.freedesktop.org/wiki/Software/systemd.
906 The solution recommended by Buildroot developers is to use the
907 BusyBox init as it is sufficient for most embedded systems. systemd
908 can be used for more complex situations.
911 ---------------------------------------------------------------------
913 ^[3] This terminology differs from what is used by GNU configure,
914 where the host is the machine on which the application will run
915 (which is usually the same as target)
917 Chapter 7. Configuration of other components
919 Before attempting to modify any of the components below, make sure
920 you have already configured Buildroot itself, and have enabled the
921 corresponding package.
925 If you already have a BusyBox configuration file, you can
926 directly specify this file in the Buildroot configuration, using
927 BR2_PACKAGE_BUSYBOX_CONFIG. Otherwise, Buildroot will start from
928 a default BusyBox configuration file.
930 To make subsequent changes to the configuration, use make
931 busybox-menuconfig to open the BusyBox configuration editor.
933 It is also possible to specify a BusyBox configuration file
934 through an environment variable, although this is not
935 recommended. Refer to Section 8.6, “Environment variables” for
939 Configuration of uClibc is done in the same way as for BusyBox.
940 The configuration variable to specify an existing configuration
941 file is BR2_UCLIBC_CONFIG. The command to make subsequent changes
942 is make uclibc-menuconfig.
945 If you already have a kernel configuration file, you can directly
946 specify this file in the Buildroot configuration, using
947 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG.
949 If you do not yet have a kernel configuration file, you can
950 either start by specifying a defconfig in the Buildroot
951 configuration, using BR2_LINUX_KERNEL_USE_DEFCONFIG, or start by
952 creating an empty file and specifying it as custom configuration
953 file, using BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG.
955 To make subsequent changes to the configuration, use make
956 linux-menuconfig to open the Linux configuration editor.
959 Configuration of Barebox is done in the same way as for the Linux
960 kernel. The corresponding configuration variables are
961 BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG and
962 BR2_TARGET_BAREBOX_USE_DEFCONFIG. To open the configuration
963 editor, use make barebox-menuconfig.
965 Chapter 8. General Buildroot usage
969 This is a collection of tips that help you make the most of
972 Display all commands executed by make:
976 Display the list of boards with a defconfig:
978 $ make list-defconfigs
980 Display all available targets:
984 Not all targets are always available, some settings in the .config
985 file may hide some targets:
987 * busybox-menuconfig only works when busybox is enabled;
988 * linux-menuconfig and linux-savedefconfig only work when linux is
990 * uclibc-menuconfig is only available when the uClibc C library is
991 selected in the internal toolchain backend;
992 * barebox-menuconfig and barebox-savedefconfig only work when the
993 barebox bootloader is enabled.
995 Cleaning: Explicit cleaning is required when any of the architecture
996 or toolchain configuration options are changed.
998 To delete all build products (including build directories, host,
999 staging and target trees, the images and the toolchain):
1003 Generating the manual: The present manual sources are located in the
1004 docs/manual directory. To generate the manual:
1009 The manual outputs will be generated in output/docs/manual.
1013 * A few tools are required to build the documentation (see:
1014 Section 2.2, “Optional packages”).
1016 Resetting Buildroot for a new target: To delete all build products as
1017 well as the configuration:
1021 Notes. If ccache is enabled, running make clean or distclean does not
1022 empty the compiler cache used by Buildroot. To delete it, refer to
1023 Section 8.11.3, “Using ccache in Buildroot”.
1025 8.2. Understanding when a full rebuild is necessary
1027 Buildroot does not attempt to detect what parts of the system should
1028 be rebuilt when the system configuration is changed through make
1029 menuconfig, make xconfig or one of the other configuration tools. In
1030 some cases, Buildroot should rebuild the entire system, in some
1031 cases, only a specific subset of packages. But detecting this in a
1032 completely reliable manner is very difficult, and therefore the
1033 Buildroot developers have decided to simply not attempt to do this.
1035 Instead, it is the responsibility of the user to know when a full
1036 rebuild is necessary. As a hint, here are a few rules of thumb that
1037 can help you understand how to work with Buildroot:
1039 * When the target architecture configuration is changed, a complete
1040 rebuild is needed. Changing the architecture variant, the binary
1041 format or the floating point strategy for example has an impact
1042 on the entire system.
1043 * When the toolchain configuration is changed, a complete rebuild
1044 generally is needed. Changing the toolchain configuration often
1045 involves changing the compiler version, the type of C library or
1046 its configuration, or some other fundamental configuration item,
1047 and these changes have an impact on the entire system.
1048 * When an additional package is added to the configuration, a full
1049 rebuild is not necessarily needed. Buildroot will detect that
1050 this package has never been built, and will build it. However, if
1051 this package is a library that can optionally be used by packages
1052 that have already been built, Buildroot will not automatically
1053 rebuild those. Either you know which packages should be rebuilt,
1054 and you can rebuild them manually, or you should do a full
1055 rebuild. For example, let’s suppose you have built a system with
1056 the ctorrent package, but without openssl. Your system works, but
1057 you realize you would like to have SSL support in ctorrent, so
1058 you enable the openssl package in Buildroot configuration and
1059 restart the build. Buildroot will detect that openssl should be
1060 built and will be build it, but it will not detect that ctorrent
1061 should be rebuilt to benefit from openssl to add OpenSSL support.
1062 You will either have to do a full rebuild, or rebuild ctorrent
1064 * When a package is removed from the configuration, Buildroot does
1065 not do anything special. It does not remove the files installed
1066 by this package from the target root filesystem or from the
1067 toolchain sysroot. A full rebuild is needed to get rid of this
1068 package. However, generally you don’t necessarily need this
1069 package to be removed right now: you can wait for the next lunch
1070 break to restart the build from scratch.
1071 * When the sub-options of a package are changed, the package is not
1072 automatically rebuilt. After making such changes, rebuilding only
1073 this package is often sufficient, unless enabling the package
1074 sub-option adds some features to the package that are useful for
1075 another package which has already been built. Again, Buildroot
1076 does not track when a package should be rebuilt: once a package
1077 has been built, it is never rebuilt unless explicitly told to do
1079 * When a change to the root filesystem skeleton is made, a full
1080 rebuild is needed. However, when changes to the root filesystem
1081 overlay, a post-build script or a post-image script are made,
1082 there is no need for a full rebuild: a simple make invocation
1083 will take the changes into account.
1085 Generally speaking, when you’re facing a build error and you’re
1086 unsure of the potential consequences of the configuration changes
1087 you’ve made, do a full rebuild. If you get the same build error, then
1088 you are sure that the error is not related to partial rebuilds of
1089 packages, and if this error occurs with packages from the official
1090 Buildroot, do not hesitate to report the problem! As your experience
1091 with Buildroot progresses, you will progressively learn when a full
1092 rebuild is really necessary, and you will save more and more time.
1094 For reference, a full rebuild is achieved by running:
1098 8.3. Understanding how to rebuild packages
1100 One of the most common questions asked by Buildroot users is how to
1101 rebuild a given package or how to remove a package without rebuilding
1102 everything from scratch.
1104 Removing a package is unsupported by Buildroot without rebuilding
1105 from scratch. This is because Buildroot doesn’t keep track of which
1106 package installs what files in the output/staging and output/target
1107 directories, or which package would be compiled differently depending
1108 on the availability of another package.
1110 The easiest way to rebuild a single package from scratch is to remove
1111 its build directory in output/build. Buildroot will then re-extract,
1112 re-configure, re-compile and re-install this package from scratch.
1113 You can ask buildroot to do this with the make <package>-dirclean
1116 On the other hand, if you only want to restart the build process of a
1117 package from its compilation step, you can run make <package>
1118 -rebuild, followed by make or make <package>. It will restart the
1119 compilation and installation of the package, but not from scratch: it
1120 basically re-executes make and make install inside the package, so it
1121 will only rebuild files that changed.
1123 If you want to restart the build process of a package from its
1124 configuration step, you can run make <package>-reconfigure, followed
1125 by make or make <package>. It will restart the configuration,
1126 compilation and installation of the package.
1128 Internally, Buildroot creates so-called stamp files to keep track of
1129 which build steps have been completed for each package. They are
1130 stored in the package build directory, output/build/<package>-
1131 <version>/ and are named .stamp_<step-name>. The commands detailed
1132 above simply manipulate these stamp files to force Buildroot to
1133 restart a specific set of steps of a package build process.
1135 Further details about package special make targets are explained in
1136 Section 8.11.5, “Package-specific make targets”.
1140 If you intend to do an offline build and just want to download all
1141 sources that you previously selected in the configurator (menuconfig,
1142 nconfig, xconfig or gconfig), then issue:
1146 You can now disconnect or copy the content of your dl directory to
1149 8.5. Building out-of-tree
1151 As default, everything built by Buildroot is stored in the directory
1152 output in the Buildroot tree.
1154 Buildroot also supports building out of tree with a syntax similar to
1155 the Linux kernel. To use it, add O=<directory> to the make command
1162 $ cd /tmp/build; make O=$PWD -C path/to/buildroot
1164 All the output files will be located under /tmp/build. If the O path
1165 does not exist, Buildroot will create it.
1167 Note: the O path can be either an absolute or a relative path, but if
1168 it’s passed as a relative path, it is important to note that it is
1169 interpreted relative to the main Buildroot source directory, not the
1170 current working directory.
1172 When using out-of-tree builds, the Buildroot .config and temporary
1173 files are also stored in the output directory. This means that you
1174 can safely run multiple builds in parallel using the same source tree
1175 as long as they use unique output directories.
1177 For ease of use, Buildroot generates a Makefile wrapper in the output
1178 directory - so after the first run, you no longer need to pass O=<…>
1179 and -C <…>, simply run (in the output directory):
1183 8.6. Environment variables
1185 Buildroot also honors some environment variables, when they are
1186 passed to make or set in the environment:
1188 * HOSTCXX, the host C++ compiler to use
1189 * HOSTCC, the host C compiler to use
1190 * UCLIBC_CONFIG_FILE=<path/to/.config>, path to the uClibc
1191 configuration file, used to compile uClibc, if an internal
1192 toolchain is being built. Note that the uClibc configuration file
1193 can also be set from the configuration interface, so through the
1194 Buildroot .config file; this is the recommended way of setting
1196 * BUSYBOX_CONFIG_FILE=<path/to/.config>, path to the BusyBox
1197 configuration file. Note that the BusyBox configuration file can
1198 also be set from the configuration interface, so through the
1199 Buildroot .config file; this is the recommended way of setting
1201 * BR2_DL_DIR to override the directory in which Buildroot stores/
1202 retrieves downloaded files Note that the Buildroot download
1203 directory can also be set from the configuration interface, so
1204 through the Buildroot .config file; this is the recommended way
1206 * BR2_GRAPH_ALT, if set and non-empty, to use an alternate
1207 color-scheme in build-time graphs
1208 * BR2_GRAPH_OUT to set the filetype of generated graphs, either pdf
1209 (the default), or png.
1210 * BR2_GRAPH_DEPS_OPTS to pass extra options to the dependency
1211 graph; see Section 8.8, “Graphing the dependencies between
1212 packages” for the accepted options
1213 * BR2_GRAPH_DOT_OPTS is passed verbatim as options to the dot
1214 utility to draw the dependency graph.
1216 An example that uses config files located in the toplevel directory
1219 $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config
1221 If you want to use a compiler other than the default gcc or g++ for
1222 building helper-binaries on your host, then do
1224 $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD
1226 8.7. Dealing efficiently with filesystem images
1228 Filesystem images can get pretty big, depending on the filesystem you
1229 choose, the number of packages, whether you provisioned free space…
1230 Yet, some locations in the filesystems images may just be empty (e.g.
1231 a long run of zeroes); such a file is called a sparse file.
1233 Most tools can handle sparse files efficiently, and will only store
1234 or write those parts of a sparse file that are not empty.
1238 * tar accepts the -S option to tell it to only store non-zero
1239 blocks of sparse files:
1241 + tar cf archive.tar -S [files…] will efficiently store sparse
1243 + tar xf archive.tar -S will efficiently store sparse files
1244 extracted from a tarball
1245 * cp accepts the --sparse=WHEN option (WHEN is one of auto, never
1248 + cp --sparse=always source.file dest.file will make dest.file
1249 a sparse file if source.file has long runs of zeroes
1251 Other tools may have similar options. Please consult their respective
1254 You can use sparse files if you need to store the filesystem images
1255 (e.g. to transfer from one machine to another), or if you need to
1256 send them (e.g. to the Q&A team).
1258 Note however that flashing a filesystem image to a device while using
1259 the sparse mode of dd may result in a broken filesystem (e.g. the
1260 block bitmap of an ext2 filesystem may be corrupted; or, if you have
1261 sparse files in your filesystem, those parts may not be all-zeroes
1262 when read back). You should only use sparse files when handling files
1263 on the build machine, not when transferring them to an actual device
1264 that will be used on the target.
1266 8.8. Graphing the dependencies between packages
1268 One of Buildroot’s jobs is to know the dependencies between packages,
1269 and make sure they are built in the right order. These dependencies
1270 can sometimes be quite complicated, and for a given system, it is
1271 often not easy to understand why such or such package was brought
1272 into the build by Buildroot.
1274 In order to help understanding the dependencies, and therefore better
1275 understand what is the role of the different components in your
1276 embedded Linux system, Buildroot is capable of generating dependency
1279 To generate a dependency graph of the full system you have compiled,
1284 You will find the generated graph in output/graphs/graph-depends.pdf.
1286 If your system is quite large, the dependency graph may be too
1287 complex and difficult to read. It is therefore possible to generate
1288 the dependency graph just for a given package:
1290 make <pkg>-graph-depends
1292 You will find the generated graph in output/graph/<pkg>
1295 Note that the dependency graphs are generated using the dot tool from
1296 the Graphviz project, which you must have installed on your system to
1297 use this feature. In most distributions, it is available as the
1300 By default, the dependency graphs are generated in the PDF format.
1301 However, by passing the BR2_GRAPH_OUT environment variable, you can
1302 switch to other output formats, such as PNG, PostScript or SVG. All
1303 formats supported by the -T option of the dot tool are supported.
1305 BR2_GRAPH_OUT=svg make graph-depends
1307 The graph-depends behaviour can be controlled by setting options in
1308 the BR2_GRAPH_DEPS_OPTS environment variable. The accepted options
1311 * --depth N, -d N, to limit the dependency depth to N levels. The
1312 default, 0, means no limit.
1313 * --stop-on PKG, -s PKG, to stop the graph on the package PKG. PKG
1314 can be an actual package name, a glob, or the keyword virtual (to
1315 stop on virtual packages). The package is still present on the
1316 graph, but its dependencies are not.
1317 * --exclude PKG, -x PKG, like --stop-on, but also omits PKG from
1319 * --transitive, --no-transitive, to draw (or not) the transitive
1320 dependencies. The default is to not draw transitive dependencies.
1321 * --colours R,T,H, the comma-separated list of colours to draw the
1322 root package (R), the target packages (T) and the host packages
1323 (H). Defaults to: lightblue,grey,gainsboro
1325 BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends
1327 8.9. Graphing the build duration
1329 When the build of a system takes a long time, it is sometimes useful
1330 to be able to understand which packages are the longest to build, to
1331 see if anything can be done to speed up the build. In order to help
1332 such build time analysis, Buildroot collects the build time of each
1333 step of each package, and allows to generate graphs from this data.
1335 To generate the build time graph after a build, run:
1339 This will generate a set of files in output/graphs :
1341 * build.hist-build.pdf, a histogram of the build time for each
1342 package, ordered in the build order.
1343 * build.hist-duration.pdf, a histogram of the build time for each
1344 package, ordered by duration (longest first)
1345 * build.hist-name.pdf, a histogram of the build time for each
1346 package, order by package name.
1347 * build.pie-packages.pdf, a pie chart of the build time per package
1348 * build.pie-steps.pdf, a pie chart of the global time spent in each
1349 step of the packages build process.
1351 This graph-build target requires the Python Matplotlib and Numpy
1352 libraries to be installed (python-matplotlib and python-numpy on most
1353 distributions), and also the argparse module if you’re using a Python
1354 version older than 2.7 (python-argparse on most distributions).
1356 By default, the output format for the graph is PDF, but a different
1357 format can be selected using the BR2_GRAPH_OUT environment variable.
1358 The only other format supported is PNG:
1360 BR2_GRAPH_OUT=png make graph-build
1362 8.10. Integration with Eclipse
1364 While a part of the embedded Linux developers like classical text
1365 editors like Vim or Emacs, and command-line based interfaces, a
1366 number of other embedded Linux developers like richer graphical
1367 interfaces to do their development work. Eclipse being one of the
1368 most popular Integrated Development Environment, Buildroot integrates
1369 with Eclipse in order to ease the development work of Eclipse users.
1371 Our integration with Eclipse simplifies the compilation, remote
1372 execution and remote debugging of applications and libraries that are
1373 built on top of a Buildroot system. It does not integrate the
1374 Buildroot configuration and build processes themselves with Eclipse.
1375 Therefore, the typical usage model of our Eclipse integration would
1378 * Configure your Buildroot system with make menuconfig, make
1379 xconfig or any other configuration interface provided with
1381 * Build your Buildroot system by running make.
1382 * Start Eclipse to develop, execute and debug your own custom
1383 applications and libraries, that will rely on the libraries built
1384 and installed by Buildroot.
1386 The Buildroot Eclipse integration installation process and usage is
1387 described in detail at https://github.com/mbats/
1388 eclipse-buildroot-bundle/wiki.
1390 8.11. Advanced usage
1392 8.11.1. Using the generated toolchain outside Buildroot
1394 You may want to compile, for your target, your own programs or other
1395 software that are not packaged in Buildroot. In order to do this you
1396 can use the toolchain that was generated by Buildroot.
1398 The toolchain generated by Buildroot is located by default in output/
1399 host/. The simplest way to use it is to add output/host/usr/bin/ to
1400 your PATH environment variable and then to use ARCH-linux-gcc,
1401 ARCH-linux-objdump, ARCH-linux-ld, etc.
1403 It is possible to relocate the toolchain - but then --sysroot must be
1404 passed every time the compiler is called to tell where the libraries
1405 and header files are.
1407 It is also possible to generate the Buildroot toolchain in a
1408 directory other than output/host by using the Build options → Host
1409 dir option. This could be useful if the toolchain must be shared with
1412 8.11.2. Using gdb in Buildroot
1414 Buildroot allows to do cross-debugging, where the debugger runs on
1415 the build machine and communicates with gdbserver on the target to
1416 control the execution of the program.
1420 * If you are using an internal toolchain (built by Buildroot), you
1421 must enable BR2_PACKAGE_HOST_GDB, BR2_PACKAGE_GDB and
1422 BR2_PACKAGE_GDB_SERVER. This ensures that both the cross gdb and
1423 gdbserver get built, and that gdbserver gets installed to your
1425 * If you are using an external toolchain, you should enable
1426 BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY, which will copy the
1427 gdbserver included with the external toolchain to the target. If
1428 your external toolchain does not have a cross gdb or gdbserver,
1429 it is also possible to let Buildroot build them, by enabling the
1430 same options as for the internal toolchain backend.
1432 Now, to start debugging a program called foo, you should run on the
1437 This will cause gdbserver to listen on TCP port 2345 for a connection
1440 Then, on the host, you should start the cross gdb using the following
1443 <buildroot>/output/host/usr/bin/<tuple>-gdb -x <buildroot>/output/staging/usr/share/buildroot/gdbinit foo
1445 Of course, foo must be available in the current directory, built with
1446 debugging symbols. Typically you start this command from the
1447 directory where foo is built (and not from output/target/ as the
1448 binaries in that directory are stripped).
1450 The <buildroot>/output/staging/usr/share/buildroot/gdbinit file will
1451 tell the cross gdb where to find the libraries of the target.
1453 Finally, to connect to the target from the cross gdb:
1455 (gdb) target remote <target ip address>:2345
1457 8.11.3. Using ccache in Buildroot
1459 ccache [http://ccache.samba.org] is a compiler cache. It stores the
1460 object files resulting from each compilation process, and is able to
1461 skip future compilation of the same source file (with same compiler
1462 and same arguments) by using the pre-existing object files. When
1463 doing almost identical builds from scratch a number of times, it can
1464 nicely speed up the build process.
1466 ccache support is integrated in Buildroot. You just have to enable
1467 Enable compiler cache in Build options. This will automatically build
1468 ccache and use it for every host and target compilation.
1470 The cache is located in $HOME/.buildroot-ccache. It is stored outside
1471 of Buildroot output directory so that it can be shared by separate
1472 Buildroot builds. If you want to get rid of the cache, simply remove
1475 You can get statistics on the cache (its size, number of hits,
1476 misses, etc.) by running make ccache-stats.
1478 The make target ccache-options and the CCACHE_OPTIONS variable
1479 provide more generic access to the ccache. For example
1481 # set cache limit size
1482 make CCACHE_OPTIONS="--max-size=5G" ccache-options
1484 # zero statistics counters
1485 make CCACHE_OPTIONS="--zero-stats" ccache-options
1487 8.11.4. Location of downloaded packages
1489 The various tarballs that are downloaded by Buildroot are all stored
1490 in BR2_DL_DIR, which by default is the dl directory. If you want to
1491 keep a complete version of Buildroot which is known to be working
1492 with the associated tarballs, you can make a copy of this directory.
1493 This will allow you to regenerate the toolchain and the target
1494 filesystem with exactly the same versions.
1496 If you maintain several Buildroot trees, it might be better to have a
1497 shared download location. This can be achieved by pointing the
1498 BR2_DL_DIR environment variable to a directory. If this is set, then
1499 the value of BR2_DL_DIR in the Buildroot configuration is overridden.
1500 The following line should be added to <~/.bashrc>.
1502 $ export BR2_DL_DIR <shared download location>
1504 The download location can also be set in the .config file, with the
1505 BR2_DL_DIR option. Unlike most options in the .config file, this
1506 value is overridden by the BR2_DL_DIR environment variable.
1508 8.11.5. Package-specific make targets
1510 Running make <package> builds and installs that particular package
1511 and its dependencies.
1513 For packages relying on the Buildroot infrastructure, there are
1514 numerous special make targets that can be called independently like
1517 make <package>-<target>
1519 The package build targets are (in the order they are executed):
1521 +------------------------------------------------------------+
1522 |command/target |Description |
1523 |---------------+--------------------------------------------|
1524 | source |Fetch the source (download the tarball, |
1525 | |clone the source repository, etc) |
1526 |---------------+--------------------------------------------|
1527 | depends |Build and install all dependencies required |
1528 | |to build the package |
1529 |---------------+--------------------------------------------|
1530 | extract |Put the source in the package build |
1531 | |directory (extract the tarball, copy the |
1533 |---------------+--------------------------------------------|
1534 | patch |Apply the patches, if any |
1535 |---------------+--------------------------------------------|
1536 | configure |Run the configure commands, if any |
1537 |---------------+--------------------------------------------|
1538 | build |Run the compilation commands |
1539 |---------------+--------------------------------------------|
1540 |install-staging|target package: Run the installation of the |
1541 | |package in the staging directory, if |
1543 |---------------+--------------------------------------------|
1544 |install-target |target package: Run the installation of the |
1545 | |package in the target directory, if |
1547 |---------------+--------------------------------------------|
1548 | install |target package: Run the 2 previous |
1549 | |installation commands |
1551 | |host package: Run the installation of the |
1552 | |package in the host directory |
1553 +------------------------------------------------------------+
1555 Additionally, there are some other useful make targets:
1557 +------------------------------------------------------------+
1558 | command/ |Description |
1560 |-------------+----------------------------------------------|
1561 |show-depends |Displays the dependencies required to build |
1563 |-------------+----------------------------------------------|
1564 |graph-depends|Generate a dependency graph of the package, in|
1565 | |the context of the current Buildroot |
1566 | |configuration. See this section Section 8.8, |
1567 | |“Graphing the dependencies between packages” |
1568 | |for more details about dependency graphs. |
1569 |-------------+----------------------------------------------|
1570 | dirclean |Remove the whole package build directory |
1571 |-------------+----------------------------------------------|
1572 | reinstall |Re-run the install commands |
1573 |-------------+----------------------------------------------|
1574 | rebuild |Re-run the compilation commands - this only |
1575 | |makes sense when using the OVERRIDE_SRCDIR |
1576 | |feature or when you modified a file directly |
1577 | |in the build directory |
1578 |-------------+----------------------------------------------|
1579 | reconfigure |Re-run the configure commands, then rebuild - |
1580 | |this only makes sense when using the |
1581 | |OVERRIDE_SRCDIR feature or when you modified a|
1582 | |file directly in the build directory |
1583 +------------------------------------------------------------+
1585 8.11.6. Using Buildroot during development
1587 The normal operation of Buildroot is to download a tarball, extract
1588 it, configure, compile and install the software component found
1589 inside this tarball. The source code is extracted in output/build/
1590 <package>-<version>, which is a temporary directory: whenever make
1591 clean is used, this directory is entirely removed, and re-recreated
1592 at the next make invocation. Even when a Git or Subversion repository
1593 is used as the input for the package source code, Buildroot creates a
1594 tarball out of it, and then behaves as it normally does with
1597 This behavior is well-suited when Buildroot is used mainly as an
1598 integration tool, to build and integrate all the components of an
1599 embedded Linux system. However, if one uses Buildroot during the
1600 development of certain components of the system, this behavior is not
1601 very convenient: one would instead like to make a small change to the
1602 source code of one package, and be able to quickly rebuild the system
1605 Making changes directly in output/build/<package>-<version> is not an
1606 appropriate solution, because this directory is removed on make
1609 Therefore, Buildroot provides a specific mechanism for this use case:
1610 the <pkg>_OVERRIDE_SRCDIR mechanism. Buildroot reads an override
1611 file, which allows the user to tell Buildroot the location of the
1612 source for certain packages. By default this override file is named
1613 local.mk and located in the top directory of the Buildroot source
1614 tree, but a different location can be specified through the
1615 BR2_PACKAGE_OVERRIDE_FILE configuration option.
1617 In this override file, Buildroot expects to find lines of the form:
1619 <pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources
1620 <pkg2>_OVERRIDE_SRCDIR = /path/to/pkg2/sources
1624 LINUX_OVERRIDE_SRCDIR = /home/bob/linux/
1625 BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/
1627 When Buildroot finds that for a given package, an <pkg>
1628 _OVERRIDE_SRCDIR has been defined, it will no longer attempt to
1629 download, extract and patch the package. Instead, it will directly
1630 use the source code available in in the specified directory and make
1631 clean will not touch this directory. This allows to point Buildroot
1632 to your own directories, that can be managed by Git, Subversion, or
1633 any other version control system. To achieve this, Buildroot will use
1634 rsync to copy the source code of the component from the specified
1635 <pkg>_OVERRIDE_SRCDIR to output/build/<package>-custom/.
1637 This mechanism is best used in conjunction with the make <pkg>
1638 -rebuild and make <pkg>-reconfigure targets. A make <pkg>-rebuild all
1639 sequence will rsync the source code from <pkg>_OVERRIDE_SRCDIR to
1640 output/build/<package>-custom (thanks to rsync, only the modified
1641 files are copied), and restart the build process of just this
1644 In the example of the linux package above, the developer can then
1645 make a source code change in /home/bob/linux and then run:
1647 make linux-rebuild all
1649 and in a matter of seconds gets the updated Linux kernel image in
1650 output/images. Similarly, a change can be made to the BusyBox source
1651 code in /home/bob/busybox, and after:
1653 make busybox-rebuild all
1655 the root filesystem image in output/images contains the updated
1658 Chapter 9. Project-specific customization
1660 Typical actions you may need to perform for a given project are:
1662 * configuring Buildroot (including build options and toolchain,
1663 bootloader, kernel, package and filesystem image type selection)
1664 * configuring other components, like the Linux kernel and BusyBox
1665 * customizing the generated target filesystem
1667 + adding or overwriting files on the target filesystem (using
1669 + modifying or deleting files on the target filesystem (using
1670 BR2_ROOTFS_POST_BUILD_SCRIPT)
1671 + running arbitrary commands prior to generating the filesystem
1672 image (using BR2_ROOTFS_POST_BUILD_SCRIPT)
1673 + setting file permissions and ownership (using
1674 BR2_ROOTFS_DEVICE_TABLE)
1675 + adding custom devices nodes (using
1676 BR2_ROOTFS_STATIC_DEVICE_TABLE)
1677 * adding custom user accounts (using BR2_ROOTFS_USERS_TABLES)
1678 * running arbitrary commands after generating the filesystem image
1679 (using BR2_ROOTFS_POST_IMAGE_SCRIPT)
1680 * adding project-specific patches to some packages (using
1681 BR2_GLOBAL_PATCH_DIR)
1682 * adding project-specific packages
1684 An important note regarding such project-specific customizations:
1685 please carefully consider which changes are indeed project-specific
1686 and which changes are also useful to developers outside your project.
1687 The Buildroot community highly recommends and encourages the
1688 upstreaming of improvements, packages and board support to the
1689 official Buildroot project. Of course, it is sometimes not possible
1690 or desirable to upstream because the changes are highly specific or
1693 This chapter describes how to make such project-specific
1694 customizations in Buildroot and how to store them in a way that you
1695 can build the same image in a reproducible way, even after running
1696 make clean. By following the recommended strategy, you can even use
1697 the same Buildroot tree to build multiple distinct projects!
1699 9.1. Recommended directory structure
1701 When customizing Buildroot for your project, you will be creating one
1702 or more project-specific files that need to be stored somewhere.
1703 While most of these files could be placed in any location as their
1704 path is to be specified in the Buildroot configuration, the Buildroot
1705 developers recommend a specific directory structure which is
1706 described in this section.
1708 Orthogonal to this directory structure, you can choose where you
1709 place this structure itself: either inside the Buildroot tree, or
1710 outside of it using BR2_EXTERNAL. Both options are valid, the choice
1717 | +-- busybox.config
1718 | +-- <other configuration files>
1721 | +-- rootfs_overlay/
1726 | | +-- <some patch>
1728 | +-- <some other patches>
1731 | +-- <boardname>_defconfig
1735 | +-- Config.in (if not using BR2_EXTERNAL)
1736 | +-- <company>.mk (if not using BR2_EXTERNAL)
1744 +-- Config.in (if using BR2_EXTERNAL)
1745 +-- external.mk (if using BR2_EXTERNAL)
1747 Details on the files shown above are given further in this chapter.
1749 Note: if you choose to place this structure outside of the Buildroot
1750 tree using BR2_EXTERNAL, the <company> and possibly <boardname>
1751 components may be superfluous and can be left out.
1753 9.1.1. Implementing layered customizations
1755 It is quite common for a user to have several related projects that
1756 partly need the same customizations. Instead of duplicating these
1757 customizations for each project, it is recommended to use a layered
1758 customization approach, as explained in this section.
1760 Almost all of the customization methods available in Buildroot, like
1761 post-build scripts and root filesystem overlays, accept a
1762 space-separated list of items. The specified items are always treated
1763 in order, from left to right. By creating more than one such item,
1764 one for the common customizations and another one for the really
1765 project-specific customizations, you can avoid unnecessary
1766 duplication. Each layer is typically embodied by a separate directory
1767 inside board/<company>/. Depending on your projects, you could even
1768 introduce more than two layers.
1770 An example directory structure for where a user has two customization
1771 layers common and fooboard is:
1777 | +-- rootfs_overlay/
1785 +-- <other configuration files>
1792 For example, if the user has the BR2_GLOBAL_PATCH_DIR configuration
1795 BR2_GLOBAL_PATCH_DIR="board/<company>/common/patches board/<company>/fooboard/patches"
1797 then first the patches from the common layer would be applied,
1798 followed by the patches from the fooboard layer.
1800 9.2. Keeping customizations outside of Buildroot
1802 As already briefly mentioned in Section 9.1, “Recommended directory
1803 structure”, you can place project-specific customizations in two
1806 * directly within the Buildroot tree, typically maintaining them
1807 using branches in a version control system so that upgrading to a
1808 newer Buildroot release is easy.
1809 * outside of the Buildroot tree, using the BR2_EXTERNAL mechanism.
1810 This mechanism allows to keep package recipes, board support and
1811 configuration files outside of the Buildroot tree, while still
1812 having them nicely integrated in the build logic. This section
1813 explains how to use BR2_EXTERNAL.
1815 BR2_EXTERNAL is an environment variable that can be used to point to
1816 a directory that contains Buildroot customizations. It can be passed
1817 to any Buildroot make invocation. It is automatically saved in the
1818 hidden .br-external file in the output directory. Thanks to this,
1819 there is no need to pass BR2_EXTERNAL at every make invocation. It
1820 can however be changed at any time by passing a new value, and can be
1821 removed by passing an empty value.
1823 Note. The BR2_EXTERNAL path can be either an absolute or a relative
1824 path, but if it’s passed as a relative path, it is important to note
1825 that it is interpreted relative to the main Buildroot source
1826 directory, not to the Buildroot output directory.
1830 buildroot/ $ make BR2_EXTERNAL=/path/to/foobar menuconfig
1832 From now on, external definitions from the /path/to/foobar directory
1836 buildroot/ $ make legal-info
1838 We can switch to another external definitions directory at any time:
1840 buildroot/ $ make BR2_EXTERNAL=/where/we/have/barfoo xconfig
1842 Or disable the usage of external definitions:
1844 buildroot/ $ make BR2_EXTERNAL= xconfig
1846 BR2_EXTERNAL allows three different things:
1848 * One can store all the board-specific configuration files there,
1849 such as the kernel configuration, the root filesystem overlay, or
1850 any other configuration file for which Buildroot allows to set
1851 its location. The BR2_EXTERNAL value is available within the
1852 Buildroot configuration using $(BR2_EXTERNAL). As an example, one
1853 could set the BR2_ROOTFS_OVERLAY Buildroot option to $
1854 (BR2_EXTERNAL)/board/<boardname>/overlay/ (to specify a root
1855 filesystem overlay), or the BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
1856 Buildroot option to $(BR2_EXTERNAL)/board/<boardname>/
1857 kernel.config (to specify the location of the kernel
1858 configuration file).
1859 * One can store package recipes (i.e. Config.in and
1860 <packagename>.mk), or even custom configuration options and make
1861 logic. Buildroot automatically includes $(BR2_EXTERNAL)/Config.in
1862 to make it appear in the top-level configuration menu, and
1863 includes $(BR2_EXTERNAL)/external.mk with the rest of the
1866 Note. Providing Config.in and external.mk is mandatory, but they
1869 The main usage of this is to store package recipes. The
1870 recommended way to do this is to write a $(BR2_EXTERNAL)/
1871 Config.in file that looks like:
1873 source "$BR2_EXTERNAL/package/package1/Config.in"
1874 source "$BR2_EXTERNAL/package/package2/Config.in"
1876 Then, have a $(BR2_EXTERNAL)/external.mk file that looks like:
1878 include $(sort $(wildcard $(BR2_EXTERNAL)/package/*/*.mk))
1880 And then in $(BR2_EXTERNAL)/package/package1 and $(BR2_EXTERNAL)/
1881 package/package2 create normal Buildroot package recipes, as
1882 explained in Chapter 17, Adding new packages to Buildroot. If you
1883 prefer, you can also group the packages in subdirectories called
1884 <boardname> and adapt the above paths accordingly.
1886 * One can store Buildroot defconfigs in the configs subdirectory of
1887 $(BR2_EXTERNAL). Buildroot will automatically show them in the
1888 output of make list-defconfigs and allow them to be loaded with
1889 the normal make <name>_defconfig command. They will be visible
1890 under the User-provided configs' label in the make
1891 list-defconfigs output.
1893 9.3. Storing the Buildroot configuration
1895 The Buildroot configuration can be stored using the command make
1898 This strips the Buildroot configuration down by removing
1899 configuration options that are at their default value. The result is
1900 stored in a file called defconfig. If you want to save it in another
1901 place, change the BR2_DEFCONFIG option in the Buildroot configuration
1902 itself, or call make with make savedefconfig BR2_DEFCONFIG=
1903 <path-to-defconfig>.
1905 The recommended place to store this defconfig is configs/<boardname>
1906 _defconfig. If you follow this recommendation, the configuration will
1907 be listed in make help and can be set again by running make
1908 <boardname>_defconfig.
1910 Alternatively, you can copy the file to any other place and rebuild
1911 with make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>.
1913 9.4. Storing the configuration of other components
1915 The configuration files for BusyBox, the Linux kernel, Barebox and
1916 uClibc should be stored as well if changed. For each of these
1917 components, a Buildroot configuration option exists to point to an
1918 input configuration file, e.g. BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE.
1919 To store their configuration, set these configuration options to a
1920 path where you want to save the configuration files, and then use the
1921 helper targets described below to actually store the configuration.
1923 As explained in Section 9.1, “Recommended directory structure”, the
1924 recommended path to store these configuration files is board/
1925 <company>/<boardname>/foo.config.
1927 Make sure that you create a configuration file before changing the
1928 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE etc. options. Otherwise,
1929 Buildroot will try to access this config file, which doesn’t exist
1930 yet, and will fail. You can create the configuration file by running
1931 make linux-menuconfig etc.
1933 Buildroot provides a few helper targets to make the saving of
1934 configuration files easier.
1936 * make linux-update-defconfig saves the linux configuration to the
1937 path specified by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. It
1938 simplifies the config file by removing default values. However,
1939 this only works with kernels starting from 2.6.33. For earlier
1940 kernels, use make linux-update-config.
1941 * make busybox-update-config saves the busybox configuration to the
1942 path specified by BR2_PACKAGE_BUSYBOX_CONFIG.
1943 * make uclibc-update-config saves the uClibc configuration to the
1944 path specified by BR2_UCLIBC_CONFIG.
1945 * make barebox-update-defconfig saves the barebox configuration to
1946 the path specified by BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE.
1947 * For at91bootstrap3, no helper exists so you have to copy the
1948 config file manually to
1949 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE.
1951 9.5. Customizing the generated target filesystem
1953 Besides changing the configuration through make *config, there are a
1954 few other ways to customize the resulting target filesystem.
1956 The two recommended methods, which can co-exist, are root filesystem
1957 overlay(s) and post build script(s).
1959 Root filesystem overlays (BR2_ROOTFS_OVERLAY)
1961 A filesystem overlay is a tree of files that is copied directly
1962 over the target filesystem after it has been built. To enable
1963 this feature, set config option BR2_ROOTFS_OVERLAY (in the System
1964 configuration menu) to the root of the overlay. You can even
1965 specify multiple overlays, space-separated. If you specify a
1966 relative path, it will be relative to the root of the Buildroot
1967 tree. Hidden directories of version control systems, like .git,
1968 .svn, .hg, etc., files called .empty and files ending in ~ are
1969 excluded from the copy.
1971 As shown in Section 9.1, “Recommended directory structure”, the
1972 recommended path for this overlay is board/<company>/<boardname>/
1975 Post-build scripts (BR2_ROOTFS_POST_BUILD_SCRIPT)
1977 Post-build scripts are shell scripts called after Buildroot
1978 builds all the selected software, but before the rootfs images
1979 are assembled. To enable this feature, specify a space-separated
1980 list of post-build scripts in config option
1981 BR2_ROOTFS_POST_BUILD_SCRIPT (in the System configuration menu).
1982 If you specify a relative path, it will be relative to the root
1983 of the Buildroot tree.
1985 Using post-build scripts, you can remove or modify any file in
1986 your target filesystem. You should, however, use this feature
1987 with care. Whenever you find that a certain package generates
1988 wrong or unneeded files, you should fix that package rather than
1989 work around it with some post-build cleanup scripts.
1991 As shown in Section 9.1, “Recommended directory structure”, the
1992 recommended path for this script is board/<company>/<boardname>/
1995 The post-build scripts are run with the main Buildroot tree as
1996 current working directory. The path to the target filesystem is
1997 passed as the first argument to each script. If the config option
1998 BR2_ROOTFS_POST_SCRIPT_ARGS is not empty, these arguments will be
1999 passed to the script too. All the scripts will be passed the
2000 exact same set of arguments, it is not possible to pass different
2001 sets of arguments to each script.
2003 In addition, you may also use these environment variables:
2005 + BR2_CONFIG: the path to the Buildroot .config file
2006 + HOST_DIR, STAGING_DIR, TARGET_DIR: see Section 17.5.2,
2007 “generic-package reference”
2008 + BUILD_DIR: the directory where packages are extracted and
2010 + BINARIES_DIR: the place where all binary files (aka images)
2012 + BASE_DIR: the base output directory
2014 Below two more methods of customizing the target filesystem are
2015 described, but they are not recommended.
2017 Direct modification of the target filesystem
2019 For temporary modifications, you can modify the target filesystem
2020 directly and rebuild the image. The target filesystem is
2021 available under output/target/. After making your changes, run
2022 make to rebuild the target filesystem image.
2024 This method allows you to do anything to the target filesystem,
2025 but if you need to clean your Buildroot tree using make clean,
2026 these changes will be lost. Such cleaning is necessary in several
2027 cases, refer to Section 8.2, “Understanding when a full rebuild
2028 is necessary” for details. This solution is therefore only useful
2029 for quick tests: changes do not survive the make clean command.
2030 Once you have validated your changes, you should make sure that
2031 they will persist after a make clean, using a root filesystem
2032 overlay or a post-build script.
2034 Custom target skeleton (BR2_ROOTFS_SKELETON_CUSTOM)
2036 The root filesystem image is created from a target skeleton, on
2037 top of which all packages install their files. The skeleton is
2038 copied to the target directory output/target before any package
2039 is built and installed. The default target skeleton provides the
2040 standard Unix filesystem layout and some basic init scripts and
2041 configuration files.
2043 If the default skeleton (available under system/skeleton) does
2044 not match your needs, you would typically use a root filesystem
2045 overlay or post-build script to adapt it. However, if the default
2046 skeleton is entirely different than what you need, using a custom
2047 skeleton may be more suitable.
2049 To enable this feature, enable config option
2050 BR2_ROOTFS_SKELETON_CUSTOM and set
2051 BR2_ROOTFS_SKELETON_CUSTOM_PATH to the path of your custom
2052 skeleton. Both options are available in the System configuration
2053 menu. If you specify a relative path, it will be relative to the
2054 root of the Buildroot tree.
2056 This method is not recommended because it duplicates the entire
2057 skeleton, which prevents taking advantage of the fixes or
2058 improvements brought to the default skeleton in later Buildroot
2061 9.5.1. Setting file permissions and ownership and adding custom
2064 Sometimes it is needed to set specific permissions or ownership on
2065 files or device nodes. For example, certain files may need to be
2066 owned by root. Since the post-build scripts are not run as root, you
2067 cannot do such changes from there unless you use an explicit fakeroot
2068 from the post-build script.
2070 Instead, Buildroot provides support for so-called permission tables.
2071 To use this feature, set config option BR2_ROOTFS_DEVICE_TABLE to a
2072 space-separated list of permission tables, regular text files
2073 following the makedev syntax Chapter 22, Makedev syntax documentation
2076 If you are using a static device table (i.e. not using devtmpfs,
2077 mdev, or (e)udev) then you can add device nodes using the same
2078 syntax, in so-called device tables. To use this feature, set config
2079 option BR2_ROOTFS_STATIC_DEVICE_TABLE to a space-separated list of
2082 As shown in Section 9.1, “Recommended directory structure”, the
2083 recommended location for such files is board/<company>/<boardname>/.
2085 It should be noted that if the specific permissions or device nodes
2086 are related to a specific application, you should set variables
2087 FOO_PERMISSIONS and FOO_DEVICES in the package’s .mk file instead
2088 (see Section 17.5.2, “generic-package reference”).
2090 9.6. Adding custom user accounts
2092 Sometimes it is needed to add specific users in the target system. To
2093 cover this requirement, Buildroot provides support for so-called
2094 users tables. To use this feature, set config option
2095 BR2_ROOTFS_USERS_TABLES to a space-separated list of users tables,
2096 regular text files following the makeusers syntax Chapter 23,
2097 Makeusers syntax documentation.
2099 As shown in Section 9.1, “Recommended directory structure”, the
2100 recommended location for such files is board/<company>/<boardname>/.
2102 It should be noted that if the custom users are related to a specific
2103 application, you should set variable FOO_USERS in the package’s .mk
2104 file instead (see Section 17.5.2, “generic-package reference”).
2106 9.7. Customization after the images have been created
2108 While post-build scripts (Section 9.5, “Customizing the generated
2109 target filesystem”) are run before building the filesystem image,
2110 kernel and bootloader, post-image scripts can be used to perform some
2111 specific actions after all images have been created.
2113 Post-image scripts can for example be used to automatically extract
2114 your root filesystem tarball in a location exported by your NFS
2115 server, or to create a special firmware image that bundles your root
2116 filesystem and kernel image, or any other custom action required for
2119 To enable this feature, specify a space-separated list of post-image
2120 scripts in config option BR2_ROOTFS_POST_IMAGE_SCRIPT (in the System
2121 configuration menu). If you specify a relative path, it will be
2122 relative to the root of the Buildroot tree.
2124 Just like post-build scripts, post-image scripts are run with the
2125 main Buildroot tree as current working directory. The path to the
2126 images output directory is passed as the first argument to each
2127 script. If the config option BR2_ROOTFS_POST_SCRIPT_ARGS is not
2128 empty, these arguments will be passed to the script too. All the
2129 scripts will be passed the exact same set of arguments, it is not
2130 possible to pass different sets of arguments to each script.
2132 Again just like for the post-build scripts, the scripts have access
2133 to the environment variables BR2_CONFIG, HOST_DIR, STAGING_DIR,
2134 TARGET_DIR, BUILD_DIR, BINARIES_DIR and BASE_DIR.
2136 The post-image scripts will be executed as the user that executes
2137 Buildroot, which should normally not be the root user. Therefore, any
2138 action requiring root permissions in one of these scripts will
2139 require special handling (usage of fakeroot or sudo), which is left
2140 to the script developer.
2142 9.8. Adding project-specific patches
2144 It is sometimes useful to apply extra patches to packages - on top of
2145 those provided in Buildroot. This might be used to support custom
2146 features in a project, for example, or when working on a new
2149 The BR2_GLOBAL_PATCH_DIR configuration option can be used to specify
2150 a space separated list of one or more directories containing package
2153 For a specific version <packageversion> of a specific package
2154 <packagename>, patches are applied from BR2_GLOBAL_PATCH_DIR as
2157 1. For every directory - <global-patch-dir> - that exists in
2158 BR2_GLOBAL_PATCH_DIR, a <package-patch-dir> will be determined as
2161 + <global-patch-dir>/<packagename>/<packageversion>/ if the
2163 + Otherwise, <global-patch-dir>/<packagename> if the directory
2165 2. Patches will then be applied from a <package-patch-dir> as
2168 + If a series file exists in the package directory, then
2169 patches are applied according to the series file;
2170 + Otherwise, patch files matching *.patch are applied in
2171 alphabetical order. So, to ensure they are applied in the
2172 right order, it is highly recommended to name the patch files
2173 like this: <number>-<description>.patch, where <number>
2174 refers to the apply order.
2176 For information about how patches are applied for a package, see
2177 Section 18.2, “How patches are applied”
2179 The BR2_GLOBAL_PATCH_DIR option is the preferred method for
2180 specifying a custom patch directory for packages. It can be used to
2181 specify a patch directory for any package in buildroot. It should
2182 also be used in place of the custom patch directory options that are
2183 available for packages such as U-Boot and Barebox. By doing this, it
2184 will allow a user to manage their patches from one top-level
2187 The exception to BR2_GLOBAL_PATCH_DIR being the preferred method for
2188 specifying custom patches is BR2_LINUX_KERNEL_PATCH.
2189 BR2_LINUX_KERNEL_PATCH should be used to specify kernel patches that
2190 are available at an URL. Note: BR2_LINUX_KERNEL_PATCH specifies
2191 kernel patches that are applied after patches available in
2192 BR2_GLOBAL_PATCH_DIR, as it is done from a post-patch hook of the
2195 9.9. Adding project-specific packages
2197 In general, any new package should be added directly in the package
2198 directory and submitted to the Buildroot upstream project. How to add
2199 packages to Buildroot in general is explained in full detail in
2200 Chapter 17, Adding new packages to Buildroot and will not be repeated
2201 here. However, your project may need some proprietary packages that
2202 cannot be upstreamed. This section will explain how you can keep such
2203 project-specific packages in a project-specific directory.
2205 As shown in Section 9.1, “Recommended directory structure”, the
2206 recommended location for project-specific packages is package/
2207 <company>/. If you are using the BR2_EXTERNAL feature (see
2208 Section 9.2, “Keeping customizations outside of Buildroot”) the
2209 recommended location is $(BR2_EXTERNAL)/package/.
2211 However, Buildroot will not be aware of the packages in this
2212 location, unless we perform some additional steps. As explained in
2213 Chapter 17, Adding new packages to Buildroot, a package in Buildroot
2214 basically consists of two files: a .mk file (describing how to build
2215 the package) and a Config.in file (describing the configuration
2216 options for this package).
2218 Buildroot will automatically include the .mk files in first-level
2219 subdirectories of the package directory (using the pattern package/*/
2220 *.mk). If we want Buildroot to include .mk files from deeper
2221 subdirectories (like package/<company>/package1/) then we simply have
2222 to add a .mk file in a first-level subdirectory that includes these
2223 additional .mk files. Therefore, create a file package/<company>/
2224 <company>.mk with following contents (assuming you have only one
2225 extra directory level below package/<company>/):
2227 include $(sort $(wildcard package/<company>/*/*.mk))
2229 If you are using BR2_EXTERNAL, create a file $(BR2_EXTERNAL)/
2230 external.mk with following contents (again assuming only one extra
2233 include $(sort $(wildcard $(BR2_EXTERNAL)/package/*/*.mk))
2235 For the Config.in files, create a file package/<company>/Config.in
2236 that includes the Config.in files of all your packages. An exhaustive
2237 list has to be provided since wildcards are not supported in the
2238 source command of kconfig. For example:
2240 source "package/<company>/package1/Config.in"
2241 source "package/<company>/package2/Config.in"
2243 Include this new file package/<company>/Config.in from package/
2244 Config.in, preferably in a company-specific menu to make merges with
2245 future Buildroot versions easier.
2247 If you are using BR2_EXTERNAL, create a file $(BR2_EXTERNAL)/
2248 Config.in with similar contents:
2250 source "$BR2_EXTERNAL/package/package1/Config.in"
2251 source "$BR2_EXTERNAL/package/package2/Config.in"
2253 You do not have to add an include for this $(BR2_EXTERNAL)/Config.in
2254 file as it is included automatically.
2256 9.10. Quick guide to storing your project-specific customizations
2258 Earlier in this chapter, the different methods for making
2259 project-specific customizations have been described. This section
2260 will now summarize all this by providing step-by-step instructions to
2261 storing your project-specific customizations. Clearly, the steps that
2262 are not relevant to your project can be skipped.
2264 1. make menuconfig to configure toolchain, packages and kernel.
2265 2. make linux-menuconfig to update the kernel config, similar for
2266 other configuration like busybox, uclibc, …
2267 3. mkdir -p board/<manufacturer>/<boardname>
2268 4. Set the following options to board/<manufacturer>/<boardname>/
2269 <package>.config (as far as they are relevant):
2271 + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
2272 + BR2_PACKAGE_BUSYBOX_CONFIG
2274 + BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE
2275 + BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE
2276 5. Write the configuration files:
2278 + make linux-update-defconfig
2279 + make busybox-update-config
2280 + make uclibc-update-config
2281 + cp <output>/build/at91bootstrap3-*/.config board/
2282 <manufacturer>/<boardname>/at91bootstrap3.config
2283 + make barebox-update-defconfig
2284 6. Create board/<manufacturer>/<boardname>/rootfs-overlay/ and fill
2285 it with additional files you need on your rootfs, e.g. board/
2286 <manufacturer>/<boardname>/rootfs-overlay/etc/inittab. Set
2287 BR2_ROOTFS_OVERLAY to board/<manufacturer>/<boardname>/
2289 7. Create a post-build script board/<manufacturer>/<boardname>/
2290 post_build.sh. Set BR2_ROOTFS_POST_BUILD_SCRIPT to board/
2291 <manufacturer>/<boardname>/post_build.sh
2292 8. If additional setuid permissions have to be set or device nodes
2293 have to be created, create board/<manufacturer>/<boardname>/
2294 device_table.txt and add that path to BR2_ROOTFS_DEVICE_TABLE.
2295 9. If additional user accounts have to be created, create board/
2296 <manufacturer>/<boardname>/users_table.txt and add that path to
2297 BR2_ROOTFS_USERS_TABLES.
2298 10. To add custom patches to certain packages, set
2299 BR2_GLOBAL_PATCH_DIR to board/<manufacturer>/<boardname>/patches/
2300 and add your patches for each package in a subdirectory named
2301 after the package. Each patch should be called <packagename>-
2302 <num>-<description>.patch.
2303 11. Specifically for the Linux kernel, there also exists the option
2304 BR2_LINUX_KERNEL_PATCH with as main advantage that it can also
2305 download patches from a URL. If you do not need this,
2306 BR2_GLOBAL_PATCH_DIR is preferred. U-Boot, Barebox, at91bootstrap
2307 and at91bootstrap3 also have separate options, but these do not
2308 provide any advantage over BR2_GLOBAL_PATCH_DIR and will likely
2309 be removed in the future.
2310 12. If you need to add project-specific packages, create package/
2311 <manufacturer>/ and place your packages in that directory. Create
2312 an overall <manufacturer>.mk file that includes the .mk files of
2313 all your packages. Create an overall Config.in file that sources
2314 the Config.in files of all your packages. Include this Config.in
2315 file from Buildroot’s package/Config.in file.
2316 13. make savedefconfig to save the buildroot configuration.
2317 14. cp defconfig configs/<boardname>_defconfig
2319 Chapter 10. Frequently Asked Questions & Troubleshooting
2321 10.1. The boot hangs after Starting network…
2323 If the boot process seems to hang after the following messages
2324 (messages not necessarily exactly similar, depending on the list of
2327 Freeing init memory: 3972K
2328 Initializing random number generator... done.
2330 Starting dropbear sshd: generating rsa key... generating dsa key... OK
2332 then it means that your system is running, but didn’t start a shell
2333 on the serial console. In order to have the system start a shell on
2334 your serial console, you have to go into the Buildroot configuration,
2335 in System configuration, modify Run a getty (login prompt) after boot
2336 and set the appropriate port and baud rate in the getty options
2337 submenu. This will automatically tune the /etc/inittab file of the
2338 generated system so that a shell starts on the correct serial port.
2340 10.2. Why is there no compiler on the target?
2342 It has been decided that support for the native compiler on the
2343 target would be stopped from the Buildroot-2012.11 release because:
2345 * this feature was neither maintained nor tested, and often broken;
2346 * this feature was only available for Buildroot toolchains;
2347 * Buildroot mostly targets small or very small target hardware with
2348 limited resource onboard (CPU, ram, mass-storage), for which
2349 compiling on the target does not make much sense;
2350 * Buildroot aims at easing the cross-compilation, making native
2351 compilation on the target unnecessary.
2353 If you need a compiler on your target anyway, then Buildroot is not
2354 suitable for your purpose. In such case, you need a real distribution
2355 and you should opt for something like:
2357 * openembedded [http://www.openembedded.org]
2358 * yocto [https://www.yoctoproject.org]
2359 * emdebian [http://www.emdebian.org]
2360 * Fedora [https://fedoraproject.org/wiki/Architectures]
2361 * openSUSE ARM [http://en.opensuse.org/Portal:ARM]
2362 * Arch Linux ARM [http://archlinuxarm.org]
2365 10.3. Why are there no development files on the target?
2367 Since there is no compiler available on the target (see Section 10.2,
2368 “Why is there no compiler on the target?”), it does not make sense to
2369 waste space with headers or static libraries.
2371 Therefore, those files are always removed from the target since the
2372 Buildroot-2012.11 release.
2374 10.4. Why is there no documentation on the target?
2376 Because Buildroot mostly targets small or very small target hardware
2377 with limited resource onboard (CPU, ram, mass-storage), it does not
2378 make sense to waste space with the documentation data.
2380 If you need documentation data on your target anyway, then Buildroot
2381 is not suitable for your purpose, and you should look for a real
2382 distribution (see: Section 10.2, “Why is there no compiler on the
2385 10.5. Why are some packages not visible in the Buildroot config menu?
2387 If a package exists in the Buildroot tree and does not appear in the
2388 config menu, this most likely means that some of the package’s
2389 dependencies are not met.
2391 To know more about the dependencies of a package, search for the
2392 package symbol in the config menu (see Section 8.1, “make tips”).
2394 Then, you may have to recursively enable several options (which
2395 correspond to the unmet dependencies) to finally be able to select
2398 If the package is not visible due to some unmet toolchain options,
2399 then you should certainly run a full rebuild (see Section 8.1, “make
2400 tips” for more explanations).
2402 10.6. Why not use the target directory as a chroot directory?
2404 There are plenty of reasons to not use the target directory a chroot
2407 * file ownerships, modes and permissions are not correctly set in
2408 the target directory;
2409 * device nodes are not created in the target directory.
2411 For these reasons, commands run through chroot, using the target
2412 directory as the new root, will most likely fail.
2414 If you want to run the target filesystem inside a chroot, or as an
2415 NFS root, then use the tarball image generated in images/ and extract
2418 10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
2420 One feature that is often discussed on the Buildroot list is the
2421 general topic of "package management". To summarize, the idea would
2422 be to add some tracking of which Buildroot package installs what
2423 files, with the goals of:
2425 * being able to remove files installed by a package when this
2426 package gets unselected from the menuconfig;
2427 * being able to generate binary packages (ipk or other format) that
2428 can be installed on the target without re-generating a new root
2431 In general, most people think it is easy to do: just track which
2432 package installed what and remove it when the package is unselected.
2433 However, it is much more complicated than that:
2435 * It is not only about the target/ directory, but also the sysroot
2436 in host/usr/<tuple>/sysroot and the host/ directory itself. All
2437 files installed in those directories by various packages must be
2439 * When a package is unselected from the configuration, it is not
2440 sufficient to remove just the files it installed. One must also
2441 remove all its reverse dependencies (i.e. packages relying on it)
2442 and rebuild all those packages. For example, package A depends
2443 optionally on the OpenSSL library. Both are selected, and
2444 Buildroot is built. Package A is built with crypto support using
2445 OpenSSL. Later on, OpenSSL gets unselected from the
2446 configuration, but package A remains (since OpenSSL is an
2447 optional dependency, this is possible.) If only OpenSSL files are
2448 removed, then the files installed by package A are broken: they
2449 use a library that is no longer present on the target. Although
2450 this is technically doable, it adds a lot of complexity to
2451 Buildroot, which goes against the simplicity we try to stick to.
2452 * In addition to the previous problem, there is the case where the
2453 optional dependency is not even known to Buildroot. For example,
2454 package A in version 1.0 never used OpenSSL, but in version 2.0
2455 it automatically uses OpenSSL if available. If the Buildroot .mk
2456 file hasn’t been updated to take this into account, then package
2457 A will not be part of the reverse dependencies of OpenSSL and
2458 will not be removed and rebuilt when OpenSSL is removed. For
2459 sure, the .mk file of package A should be fixed to mention this
2460 optional dependency, but in the mean time, you can have
2461 non-reproducible behaviors.
2462 * The request is to also allow changes in the menuconfig to be
2463 applied on the output directory without having to rebuild
2464 everything from scratch. However, this is very difficult to
2465 achieve in a reliable way: what happens when the suboptions of a
2466 package are changed (we would have to detect this, and rebuild
2467 the package from scratch and potentially all its reverse
2468 dependencies), what happens if toolchain options are changed,
2469 etc. At the moment, what Buildroot does is clear and simple so
2470 its behaviour is very reliable and it is easy to support users.
2471 If configuration changes done in menuconfig are applied after the
2472 next make, then it has to work correctly and properly in all
2473 situations, and not have some bizarre corner cases. The risk is
2474 to get bug reports like "I have enabled package A, B and C, then
2475 ran make, then disabled package C and enabled package D and ran
2476 make, then re-enabled package C and enabled package E and then
2477 there is a build failure". Or worse "I did some configuration,
2478 then built, then did some changes, built, some more changes,
2479 built, some more changes, built, and now it fails, but I don’t
2480 remember all the changes I did and in which order". This will be
2481 impossible to support.
2483 For all these reasons, the conclusion is that adding tracking of
2484 installed files to remove them when the package is unselected, or to
2485 generate a repository of binary packages, is something that is very
2486 hard to achieve reliably and will add a lot of complexity.
2488 On this matter, the Buildroot developers make this position
2491 * Buildroot strives to make it easy to generate a root filesystem
2492 (hence the name, by the way.) That is what we want to make
2493 Buildroot good at: building root filesystems.
2494 * Buildroot is not meant to be a distribution (or rather, a
2495 distribution generator.) It is the opinion of most Buildroot
2496 developers that this is not a goal we should pursue. We believe
2497 that there are other tools better suited to generate a distro
2498 than Buildroot is. For example, Open Embedded [http://
2499 openembedded.org/], or openWRT [https://openwrt.org/], are such
2501 * We prefer to push Buildroot in a direction that makes it easy (or
2502 even easier) to generate complete root filesystems. This is what
2503 makes Buildroot stands out in the crowd (among other things, of
2505 * We believe that for most embedded Linux systems, binary packages
2506 are not necessary, and potentially harmful. When binary packages
2507 are used, it means that the system can be partially upgraded,
2508 which creates an enormous number of possible combinations of
2509 package versions that should be tested before doing the upgrade
2510 on the embedded device. On the other hand, by doing complete
2511 system upgrades by upgrading the entire root filesystem image at
2512 once, the image deployed to the embedded system is guaranteed to
2513 really be the one that has been tested and validated.
2515 10.8. How to speed-up the build process?
2517 Since Buildroot often involves doing full rebuilds of the entire
2518 system that can be quite long, we provide below a number of tips to
2519 help reduce the build time:
2521 * Use a pre-built external toolchain instead of the default
2522 Buildroot internal toolchain. By using a pre-built Linaro
2523 toolchain (on ARM) or a Sourcery CodeBench toolchain (for ARM,
2524 x86, x86-64, MIPS, etc.), you will save the build time of the
2525 toolchain at each complete rebuild, approximately 15 to 20
2526 minutes. Note that temporarily using an external toolchain does
2527 not prevent you to switch back to an internal toolchain (that may
2528 provide a higher level of customization) once the rest of your
2530 * Use the ccache compiler cache (see: Section 8.11.3, “Using ccache
2532 * Learn about rebuilding only the few packages you actually care
2533 about (see Section 8.3, “Understanding how to rebuild packages”),
2534 but beware that sometimes full rebuilds are anyway necessary (see
2535 Section 8.2, “Understanding when a full rebuild is necessary”);
2536 * Make sure you are not using a virtual machine for the Linux
2537 system used to run Buildroot. Most of the virtual machine
2538 technologies are known to cause a significant performance impact
2539 on I/O, which is really important for building source code;
2540 * Make sure that you’re using only local files: do not attempt to
2541 do a build over NFS, which significantly slows down the build.
2542 Having the Buildroot download folder available locally also helps
2544 * Buy new hardware. SSDs and lots of RAM are key to speeding up the
2547 Chapter 11. Known issues
2549 * It is not possible to pass extra linker options via
2550 BR2_TARGET_LDFLAGS if such options contain a $ sign. For example,
2551 the following is known to break: BR2_TARGET_LDFLAGS="-Wl,-rpath=
2553 * The ltp-testsuite package does not build with the default uClibc
2554 configuration used by the Buildroot toolchain backend. The LTP
2555 testsuite uses several functions that are considered obsolete,
2556 such as sigset() and others. uClibc configuration options such as
2557 DO_XSI_MATH, UCLIBC_HAS_OBSOLETE_BSD_SIGNAL and
2558 UCLIBC_SV4_DEPRECATED are needed if one wants to build the
2559 ltp-testsuite package with uClibc. You need to either use a glibc
2560 or eglibc based toolchain, or enable the appropriate options in
2561 the uClibc configuration.
2562 * The xfsprogs package does not build with the default uClibc
2563 configuration used by the Buildroot toolchain backend. You need
2564 to either use a glibc or eglibc based toolchain, or enable the
2565 appropriate options in the uClibc configuration.
2566 * The mrouted package does not build with the default uClibc
2567 configuration used by the Buildroot toolchain backend. You need
2568 to either use a glibc or eglibc based toolchain, or enable the
2569 appropriate options in the uClibc configuration.
2570 * The libffi package is not supported on the SuperH 2 and ARC
2572 * The prboom package triggers a compiler failure with the SuperH 4
2573 compiler from Sourcery CodeBench, version 2012.09.
2575 Chapter 12. Legal notice and licensing
2577 12.1. Complying with open source licenses
2579 All of the end products of Buildroot (toolchain, root filesystem,
2580 kernel, bootloaders) contain open source software, released under
2583 Using open source software gives you the freedom to build rich
2584 embedded systems, choosing from a wide range of packages, but also
2585 imposes some obligations that you must know and honour. Some licenses
2586 require you to publish the license text in the documentation of your
2587 product. Others require you to redistribute the source code of the
2588 software to those that receive your product.
2590 The exact requirements of each license are documented in each
2591 package, and it is your responsibility (or that of your legal office)
2592 to comply with those requirements. To make this easier for you,
2593 Buildroot can collect for you some material you will probably need.
2594 To produce this material, after you have configured Buildroot with
2595 make menuconfig, make xconfig or make gconfig, run:
2599 Buildroot will collect legally-relevant material in your output
2600 directory, under the legal-info/ subdirectory. There you will find:
2602 * A README file, that summarizes the produced material and contains
2603 warnings about material that Buildroot could not produce.
2604 * buildroot.config: this is the Buildroot configuration file that
2605 is usually produced with make menuconfig, and which is necessary
2606 to reproduce the build.
2607 * The source code for all packages; this is saved in the sources/
2608 and host-sources/ subdirectories for target and host packages
2609 respectively. The source code for packages that set <PKG>
2610 _REDISTRIBUTE = NO will not be saved. Patches applied to some
2611 packages by Buildroot are distributed with the Buildroot sources
2612 and are not duplicated in the sources/ and host-sources/
2614 * A manifest file (one for host and one for target packages)
2615 listing the configured packages, their version, license and
2616 related information. Some of this information might not be
2617 defined in Buildroot; such items are marked as "unknown".
2618 * The license texts of all packages, in the licenses/ and
2619 host-licenses/ subdirectories for target and host packages
2620 respectively. If the license file(s) are not defined in
2621 Buildroot, the file is not produced and a warning in the README
2624 Please note that the aim of the legal-info feature of Buildroot is to
2625 produce all the material that is somehow relevant for legal
2626 compliance with the package licenses. Buildroot does not try to
2627 produce the exact material that you must somehow make public.
2628 Certainly, more material is produced than is needed for a strict
2629 legal compliance. For example, it produces the source code for
2630 packages released under BSD-like licenses, that you are not required
2631 to redistribute in source form.
2633 Moreover, due to technical limitations, Buildroot does not produce
2634 some material that you will or may need, such as the toolchain source
2635 code and the Buildroot source code itself (including patches to
2636 packages for which source distribution is required). When you run
2637 make legal-info, Buildroot produces warnings in the README file to
2638 inform you of relevant material that could not be saved.
2640 12.2. License abbreviations
2642 Here is a list of the licenses that are most widely used by packages
2643 in Buildroot, with the name used in the manifest files:
2645 * GPLv2: GNU General Public License, version 2 [http://www.gnu.org/
2646 licenses/old-licenses/gpl-2.0.html];
2647 * GPLv2+: GNU General Public License, version 2 [http://www.gnu.org
2648 /licenses/old-licenses/gpl-2.0.html] or (at your option) any
2650 * GPLv3: GNU General Public License, version 3 [http://www.gnu.org/
2652 * GPLv3+: GNU General Public License, version 3 [http://www.gnu.org
2653 /licenses/gpl.html] or (at your option) any later version;
2654 * GPL: GNU General Public License [http://www.gnu.org/licenses/
2655 gpl.html] (any version);
2656 * LGPLv2: GNU Library General Public License, version 2 [http://
2657 www.gnu.org/licenses/old-licenses/lgpl-2.0.html];
2658 * LGPLv2+: GNU Library General Public License, version 2 [http://
2659 www.gnu.org/licenses/old-licenses/lgpl-2.0.html] or (at your
2660 option) any later version;
2661 * LGPLv2.1: GNU Lesser General Public License, version 2.1 [http://
2662 www.gnu.org/licenses/old-licenses/lgpl-2.1.html];
2663 * LGPLv2.1+: GNU Lesser General Public License, version 2.1 [http:/
2664 /www.gnu.org/licenses/old-licenses/lgpl-2.1.html] or (at your
2665 option) any later version;
2666 * LGPLv3: GNU Lesser General Public License, version 3 [http://
2667 www.gnu.org/licenses/lgpl.html];
2668 * LGPLv3+: GNU Lesser General Public License, version 3 [http://
2669 www.gnu.org/licenses/lgpl.html] or (at your option) any later
2671 * LGPL: GNU Lesser General Public License [http://www.gnu.org/
2672 licenses/lgpl.html] (any version);
2673 * BSD-4c: Original BSD 4-clause license [http://directory.fsf.org/
2674 wiki/License:BSD_4Clause];
2675 * BSD-3c: BSD 3-clause license [http://opensource.org/licenses/
2677 * BSD-2c: BSD 2-clause license [http://opensource.org/licenses/
2679 * MIT: MIT-style license [http://opensource.org/licenses/
2681 * Apache-2.0: Apache License, version 2.0 [http://apache.org/
2682 licenses/LICENSE-2.0.html];
2684 12.3. Complying with the Buildroot license
2686 Buildroot itself is an open source software, released under the GNU
2687 General Public License, version 2 [http://www.gnu.org/licenses/
2688 old-licenses/gpl-2.0.html] or (at your option) any later version.
2689 However, being a build system, it is not normally part of the end
2690 product: if you develop the root filesystem, kernel, bootloader or
2691 toolchain for a device, the code of Buildroot is only present on the
2692 development machine, not in the device storage.
2694 Nevertheless, the general view of the Buildroot developers is that
2695 you should release the Buildroot source code along with the source
2696 code of other packages when releasing a product that contains
2697 GPL-licensed software. This is because the GNU GPL [http://
2698 www.gnu.org/licenses/old-licenses/gpl-2.0.html] defines the "complete
2699 source code" for an executable work as "all the source code for all
2700 modules it contains, plus any associated interface definition files,
2701 plus the scripts used to control compilation and installation of the
2702 executable". Buildroot is part of the scripts used to control
2703 compilation and installation of the executable, and as such it is
2704 considered part of the material that must be redistributed.
2706 Keep in mind that this is only the Buildroot developers' opinion, and
2707 you should consult your legal department or lawyer in case of any
2710 Chapter 13. Beyond Buildroot
2712 13.1. Boot the generated images
2716 To achieve NFS-boot, enable tar root filesystem in the Filesystem
2719 After a complete build, just run the following commands to setup the
2722 sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir
2724 Remember to add this path to /etc/exports.
2726 Then, you can execute a NFS-boot from your target.
2730 If you want to chroot in a generated image, then there are few thing
2731 you should be aware of:
2733 * you should setup the new root from the tar root filesystem image;
2734 * either the selected target architecture is compatible with your
2735 host machine, or you should use some qemu-* binary and correctly
2736 set it within the binfmt properties to be able to run the
2737 binaries built for the target on your host machine;
2738 * Buildroot does not currently provide host-qemu and binfmt
2739 correctly built and set for that kind of use.
2741 Part III. Developer guide
2745 14. How Buildroot works
2748 15.1. Config.in file
2750 15.3. The documentation
2752 16. Adding support for a particular board
2753 17. Adding new packages to Buildroot
2755 17.1. Package directory
2758 17.4. The .hash file
2759 17.5. Infrastructure for packages with specific build systems
2760 17.6. Infrastructure for autotools-based packages
2761 17.7. Infrastructure for CMake-based packages
2762 17.8. Infrastructure for Python packages
2763 17.9. Infrastructure for LuaRocks-based packages
2764 17.10. Infrastructure for Perl/CPAN packages
2765 17.11. Infrastructure for virtual packages
2766 17.12. Infrastructure for packages using kconfig for
2768 17.13. Infrastructure for rebar-based packages
2769 17.14. Infrastructure for asciidoc documents
2770 17.15. Hooks available in the various build steps
2771 17.16. Gettext integration and interaction with packages
2772 17.17. Tips and tricks
2775 18. Patching a package
2777 18.1. Providing patches
2778 18.2. How patches are applied
2779 18.3. Format and licensing of the package patches
2780 18.4. Integrating patches found on the Web
2782 19. Download infrastructure
2783 20. Debugging Buildroot
2784 21. Contributing to Buildroot
2786 21.1. Reproducing, analyzing and fixing bugs
2787 21.2. Analyzing and fixing autobuild failures
2788 21.3. Reviewing and testing patches
2789 21.4. Work on items from the TODO list
2790 21.5. Submitting patches
2791 21.6. Reporting issues/bugs or getting help
2793 Chapter 14. How Buildroot works
2795 As mentioned above, Buildroot is basically a set of Makefiles that
2796 download, configure, and compile software with the correct options.
2797 It also includes patches for various software packages - mainly the
2798 ones involved in the cross-compilation toolchain (gcc, binutils and
2801 There is basically one Makefile per software package, and they are
2802 named with the .mk extension. Makefiles are split into many different
2805 * The toolchain/ directory contains the Makefiles and associated
2806 files for all software related to the cross-compilation
2807 toolchain: binutils, gcc, gdb, kernel-headers and uClibc.
2808 * The arch/ directory contains the definitions for all the
2809 processor architectures that are supported by Buildroot.
2810 * The package/ directory contains the Makefiles and associated
2811 files for all user-space tools and libraries that Buildroot can
2812 compile and add to the target root filesystem. There is one
2813 sub-directory per package.
2814 * The linux/ directory contains the Makefiles and associated files
2815 for the Linux kernel.
2816 * The boot/ directory contains the Makefiles and associated files
2817 for the bootloaders supported by Buildroot.
2818 * The system/ directory contains support for system integration,
2819 e.g. the target filesystem skeleton and the selection of an init
2821 * The fs/ directory contains the Makefiles and associated files for
2822 software related to the generation of the target root filesystem
2825 Each directory contains at least 2 files:
2827 * something.mk is the Makefile that downloads, configures, compiles
2828 and installs the package something.
2829 * Config.in is a part of the configuration tool description file.
2830 It describes the options related to the package.
2832 The main Makefile performs the following steps (once the
2833 configuration is done):
2835 * Create all the output directories: staging, target, build, etc.
2836 in the output directory (output/ by default, another value can be
2838 * Generate the toolchain target. When an internal toolchain is
2839 used, this means generating the cross-compilation toolchain. When
2840 an external toolchain is used, this means checking the features
2841 of the external toolchain and importing it into the Buildroot
2843 * Generate all the targets listed in the TARGETS variable. This
2844 variable is filled by all the individual components' Makefiles.
2845 Generating these targets will trigger the compilation of the
2846 userspace packages (libraries, programs), the kernel, the
2847 bootloader and the generation of the root filesystem images,
2848 depending on the configuration.
2850 Chapter 15. Coding style
2852 Overall, these coding style rules are here to help you to add new
2853 files in Buildroot or refactor existing ones.
2855 If you slightly modify some existing file, the important thing is to
2856 keep the consistency of the whole file, so you can:
2858 * either follow the potentially deprecated coding style used in
2860 * or entirely rework it in order to make it comply with these
2863 15.1. Config.in file
2865 Config.in files contain entries for almost anything configurable in
2868 An entry has the following pattern:
2870 config BR2_PACKAGE_LIBFOO
2872 depends on BR2_PACKAGE_LIBBAZ
2873 select BR2_PACKAGE_LIBBAR
2875 This is a comment that explains what libfoo is.
2877 http://foosoftware.org/libfoo/
2879 * The bool, depends on, select and help lines are indented with one
2881 * The help text itself should be indented with one tab and two
2884 The Config.in files are the input for the configuration tool used in
2885 Buildroot, which is the regular Kconfig. For further details about
2886 the Kconfig language, refer to http://kernel.org/doc/Documentation/
2887 kbuild/kconfig-language.txt.
2891 * Header: The file starts with a header. It contains the module
2892 name, preferably in lowercase, enclosed between separators made
2893 of 80 hashes. A blank line is mandatory after the header:
2895 ################################################################################
2899 ################################################################################
2901 * Assignment: use = preceded and followed by one space:
2903 LIBFOO_VERSION = 1.0
2904 LIBFOO_CONF_OPTS += --without-python-support
2906 Do not align the = signs.
2908 * Indentation: use tab only:
2910 define LIBFOO_REMOVE_DOC
2911 $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \
2912 $(TARGET_DIR)/usr/share/man/man3/libfoo*
2915 Note that commands inside a define block should always start with
2916 a tab, so make recognizes them as commands.
2918 * Optional dependency:
2920 + Prefer multi-line syntax.
2924 ifeq ($(BR2_PACKAGE_PYTHON),y)
2925 LIBFOO_CONF_OPTS += --with-python-support
2926 LIBFOO_DEPENDENCIES += python
2928 LIBFOO_CONF_OPTS += --without-python-support
2933 LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support
2934 LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,)
2936 + Keep configure options and dependencies close together.
2937 * Optional hooks: keep hook definition and assignment together in
2942 ifneq ($(BR2_LIBFOO_INSTALL_DATA),y)
2943 define LIBFOO_REMOVE_DATA
2944 $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data
2946 LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA
2951 define LIBFOO_REMOVE_DATA
2952 $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data
2955 ifneq ($(BR2_LIBFOO_INSTALL_DATA),y)
2956 LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA
2959 15.3. The documentation
2961 The documentation uses the asciidoc [http://www.methods.co.nz/
2964 For further details about the asciidoc [http://www.methods.co.nz/
2965 asciidoc/] syntax, refer to http://www.methods.co.nz/asciidoc/
2968 Chapter 16. Adding support for a particular board
2970 Buildroot contains basic configurations for several publicly
2971 available hardware boards, so that users of such a board can easily
2972 build a system that is known to work. You are welcome to add support
2973 for other boards to Buildroot too.
2975 To do so, you need to create a normal Buildroot configuration that
2976 builds a basic system for the hardware: toolchain, kernel,
2977 bootloader, filesystem and a simple BusyBox-only userspace. No
2978 specific package should be selected: the configuration should be as
2979 minimal as possible, and should only build a working basic BusyBox
2980 system for the target platform. You can of course use more
2981 complicated configurations for your internal projects, but the
2982 Buildroot project will only integrate basic board configurations.
2983 This is because package selections are highly application-specific.
2985 Once you have a known working configuration, run make savedefconfig.
2986 This will generate a minimal defconfig file at the root of the
2987 Buildroot source tree. Move this file into the configs/ directory,
2988 and rename it <boardname>_defconfig.
2990 It is recommended to use as much as possible upstream versions of the
2991 Linux kernel and bootloaders, and to use as much as possible default
2992 kernel and bootloader configurations. If they are incorrect for your
2993 board, or no default exists, we encourage you to send fixes to the
2994 corresponding upstream projects.
2996 However, in the mean time, you may want to store kernel or bootloader
2997 configuration or patches specific to your target platform. To do so,
2998 create a directory board/<manufacturer> and a subdirectory board/
2999 <manufacturer>/<boardname>. You can then store your patches and
3000 configurations in these directories, and reference them from the main
3001 Buildroot configuration. Refer to Chapter 9, Project-specific
3002 customization for more details.
3004 Chapter 17. Adding new packages to Buildroot
3006 This section covers how new packages (userspace libraries or
3007 applications) can be integrated into Buildroot. It also shows how
3008 existing packages are integrated, which is needed for fixing issues
3009 or tuning their configuration.
3011 17.1. Package directory
3013 First of all, create a directory under the package directory for your
3014 software, for example libfoo.
3016 Some packages have been grouped by topic in a sub-directory: x11r7,
3017 efl and matchbox. If your package fits in one of these categories,
3018 then create your package directory in these. New subdirectories are
3019 discouraged, however.
3023 For the package to be displayed in the configuration tool, you need
3024 to create a Config file in your package directory. There are two
3025 types: Config.in and Config.in.host.
3027 17.2.1. Config.in file
3029 For packages used on the target, create a file named Config.in. This
3030 file will contain the option descriptions related to our libfoo
3031 software that will be used and displayed in the configuration tool.
3032 It should basically contain:
3034 config BR2_PACKAGE_LIBFOO
3037 This is a comment that explains what libfoo is.
3039 http://foosoftware.org/libfoo/
3041 The bool line, help line and other metadata information about the
3042 configuration option must be indented with one tab. The help text
3043 itself should be indented with one tab and two spaces, and it must
3044 mention the upstream URL of the project.
3046 You can add other sub-options into a if BR2_PACKAGE_LIBFOO…endif
3047 statement to configure particular things in your software. You can
3048 look at examples in other packages. The syntax of the Config.in file
3049 is the same as the one for the kernel Kconfig file. The documentation
3050 for this syntax is available at http://kernel.org/doc/Documentation/
3051 kbuild/kconfig-language.txt
3053 Finally you have to add your new libfoo/Config.in to package/
3054 Config.in (or in a category subdirectory if you decided to put your
3055 package in one of the existing categories). The files included there
3056 are sorted alphabetically per category and are NOT supposed to
3057 contain anything but the bare name of the package.
3059 source "package/libfoo/Config.in"
3061 17.2.2. Config.in.host file
3063 Some packages also need to be built for the host system. There are
3066 * The host package is only required to satisfy build-time
3067 dependencies of one or more target packages. In this case, add
3068 host-foo to the target package’s BAR_DEPENDENCIES variable. No
3069 Config.in.host file should be created.
3070 * The host package should be explicitly selectable by the user from
3071 the configuration menu. In this case, create a Config.in.host
3072 file for that host package:
3074 config BR2_PACKAGE_HOST_FOO
3077 This is a comment that explains what foo for the host is.
3079 http://foosoftware.org/foo/
3081 The same coding style and options as for the Config.in file are
3084 Finally you have to add your new libfoo/Config.in.host to package
3085 /Config.in.host. The files included there are sorted
3086 alphabetically and are NOT supposed to contain anything but the
3087 bare name of the package.
3089 source "package/foo/Config.in.host"
3091 The host package will then be available from the Host utilities
3094 17.2.3. Choosing depends on or select
3096 The Config.in file of your package must also ensure that dependencies
3097 are enabled. Typically, Buildroot uses the following rules:
3099 * Use a select type of dependency for dependencies on libraries.
3100 These dependencies are generally not obvious and it therefore
3101 make sense to have the kconfig system ensure that the
3102 dependencies are selected. For example, the libgtk2 package uses
3103 select BR2_PACKAGE_LIBGLIB2 to make sure this library is also
3104 enabled. The select keyword expresses the dependency with a
3106 * Use a depends on type of dependency when the user really needs to
3107 be aware of the dependency. Typically, Buildroot uses this type
3108 of dependency for dependencies on target architecture, MMU
3109 support and toolchain options (see Section 17.2.4, “Dependencies
3110 on target and toolchain options”), or for dependencies on "big"
3111 things, such as the X.org system. The depends on keyword
3112 expresses the dependency with a forward semantic.
3114 Note. The current problem with the kconfig language is that these two
3115 dependency semantics are not internally linked. Therefore, it may be
3116 possible to select a package, whom one of its dependencies/
3117 requirement is not met.
3119 An example illustrates both the usage of select and depends on.
3121 config BR2_PACKAGE_RRDTOOL
3123 depends on BR2_USE_WCHAR
3124 select BR2_PACKAGE_FREETYPE
3125 select BR2_PACKAGE_LIBART
3126 select BR2_PACKAGE_LIBPNG
3127 select BR2_PACKAGE_ZLIB
3129 RRDtool is the OpenSource industry standard, high performance
3130 data logging and graphing system for time series data.
3132 http://oss.oetiker.ch/rrdtool/
3134 comment "rrdtool needs a toolchain w/ wchar"
3135 depends on !BR2_USE_WCHAR
3137 Note that these two dependency types are only transitive with the
3138 dependencies of the same kind.
3140 This means, in the following example:
3142 config BR2_PACKAGE_A
3145 config BR2_PACKAGE_B
3147 depends on BR2_PACKAGE_A
3149 config BR2_PACKAGE_C
3151 depends on BR2_PACKAGE_B
3153 config BR2_PACKAGE_D
3155 select BR2_PACKAGE_B
3157 config BR2_PACKAGE_E
3159 select BR2_PACKAGE_D
3161 * Selecting Package C will be visible if Package B has been
3162 selected, which in turn is only visible if Package A has been
3164 * Selecting Package E will select Package D, which will select
3165 Package B, it will not check for the dependencies of Package B,
3166 so it will not select Package A.
3167 * Since Package B is selected but Package A is not, this violates
3168 the dependency of Package B on Package A. Therefore, in such a
3169 situation, the transitive dependency has to be added explicitly:
3171 config BR2_PACKAGE_D
3173 select BR2_PACKAGE_B
3174 depends on BR2_PACKAGE_A
3176 config BR2_PACKAGE_E
3178 select BR2_PACKAGE_D
3179 depends on BR2_PACKAGE_A
3181 Overall, for package library dependencies, select should be
3184 Note that such dependencies will ensure that the dependency option is
3185 also enabled, but not necessarily built before your package. To do
3186 so, the dependency also needs to be expressed in the .mk file of the
3189 Further formatting details: see the coding style Section 15.1,
3192 17.2.4. Dependencies on target and toolchain options
3194 Many packages depend on certain options of the toolchain: the choice
3195 of C library, C++ support, thread support, RPC support, wchar
3196 support, or dynamic library support. Some packages can only be built
3197 on certain target architectures, or if an MMU is available in the
3200 These dependencies have to be expressed with the appropriate depends
3201 on statements in the Config.in file. Additionally, for dependencies
3202 on toolchain options, a comment should be displayed when the option
3203 is not enabled, so that the user knows why the package is not
3204 available. Dependencies on target architecture or MMU support should
3205 not be made visible in a comment: since it is unlikely that the user
3206 can freely choose another target, it makes little sense to show these
3207 dependencies explicitly.
3209 The comment should only be visible if the config option itself would
3210 be visible when the toolchain option dependencies are met. This means
3211 that all other dependencies of the package (including dependencies on
3212 target architecture and MMU support) have to be repeated on the
3213 comment definition. To keep it clear, the depends on statement for
3214 these non-toolchain option should be kept separate from the depends
3215 on statement for the toolchain options. If there is a dependency on a
3216 config option in that same file (typically the main package) it is
3217 preferable to have a global if … endif construct rather than
3218 repeating the depends on statement on the comment and other config
3221 The general format of a dependency comment for package foo is:
3223 foo needs a toolchain w/ featA, featB, featC
3227 mpd needs a toolchain w/ C++, threads, wchar
3231 crda needs a toolchain w/ threads
3233 Note that this text is kept brief on purpose, so that it will fit on
3234 a 80-character terminal.
3236 The rest of this section enumerates the different target and
3237 toolchain options, the corresponding config symbols to depend on, and
3238 the text to use in the comment.
3240 * Target architecture
3242 + Dependency symbol: BR2_powerpc, BR2_mips, … (see arch/
3244 + Comment string: no comment to be added
3247 + Dependency symbol: BR2_USE_MMU
3248 + Comment string: no comment to be added
3249 * Atomic instructions (whereby the architecture has instructions to
3250 perform some operations atomically, like LOCKCMPXCHG on x86)
3252 + Dependency symbol: BR2_ARCH_HAS_ATOMICS
3253 + Comment string: no comment to be added
3256 + Dependency symbol: BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y,
3257 (replace X_Y with the proper version, see toolchain/
3258 toolchain-common.in)
3259 + Comment string: headers >= X.Y and/or headers <= X.Y (replace
3260 X.Y with the proper version)
3263 + Dependency symbol: BR2_TOOLCHAIN_USES_GLIBC,
3264 BR2_TOOLCHAIN_USES_MUSL, BR2_TOOLCHAIN_USES_UCLIBC
3265 + Comment string: for the C library, a slightly different
3266 comment text is used: foo needs an (e)glibc toolchain, or foo
3267 needs an (e)glibc toolchain w/ C++
3270 + Dependency symbol: BR2_INSTALL_LIBSTDCPP
3271 + Comment string: C++
3274 + Dependency symbol: BR2_TOOLCHAIN_HAS_THREADS
3275 + Comment string: threads (unless
3276 BR2_TOOLCHAIN_HAS_THREADS_NPTL is also needed, in which case,
3277 specifying only NPTL is sufficient)
3278 * NPTL thread support
3280 + Dependency symbol: BR2_TOOLCHAIN_HAS_THREADS_NPTL
3281 + Comment string: NPTL
3284 + Dependency symbol: BR2_TOOLCHAIN_HAS_NATIVE_RPC
3285 + Comment string: RPC
3288 + Dependency symbol: BR2_USE_WCHAR
3289 + Comment string: wchar
3292 + Dependency symbol: !BR2_STATIC_LIBS
3293 + Comment string: dynamic library
3295 17.2.5. Dependencies on a Linux kernel built by buildroot
3297 Some packages need a Linux kernel to be built by buildroot. These are
3298 typically kernel modules or firmware. A comment should be added in
3299 the Config.in file to express this dependency, similar to
3300 dependencies on toolchain options. The general format is:
3302 foo needs a Linux kernel to be built
3304 If there is a dependency on both toolchain options and the Linux
3305 kernel, use this format:
3307 foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built
3309 17.2.6. Dependencies on udev /dev management
3311 If a package needs udev /dev management, it should depend on symbol
3312 BR2_PACKAGE_HAS_UDEV, and the following comment should be added:
3314 foo needs udev /dev management
3316 If there is a dependency on both toolchain options and udev /dev
3317 management, use this format:
3319 foo needs udev /dev management and a toolchain w/ featA, featB, featC
3321 17.2.7. Dependencies on features provided by virtual packages
3323 Some features can be provided by more than one package, such as the
3326 See Section 17.11, “Infrastructure for virtual packages” for more on
3327 the virtual packages.
3329 See Chapter 25, List of virtual packages for the symbols to depend on
3330 if your package depends on a feature provided by a virtual package.
3334 Finally, here’s the hardest part. Create a file named libfoo.mk. It
3335 describes how the package should be downloaded, configured, built,
3338 Depending on the package type, the .mk file must be written in a
3339 different way, using different infrastructures:
3341 * Makefiles for generic packages (not using autotools or CMake):
3342 These are based on an infrastructure similar to the one used for
3343 autotools-based packages, but require a little more work from the
3344 developer. They specify what should be done for the
3345 configuration, compilation and installation of the package. This
3346 infrastructure must be used for all packages that do not use the
3347 autotools as their build system. In the future, other specialized
3348 infrastructures might be written for other build systems. We
3349 cover them through in a tutorial Section 17.5.1, “generic-package
3350 tutorial” and a reference Section 17.5.2, “generic-package
3352 * Makefiles for autotools-based software (autoconf, automake,
3353 etc.): We provide a dedicated infrastructure for such packages,
3354 since autotools is a very common build system. This
3355 infrastructure must be used for new packages that rely on the
3356 autotools as their build system. We cover them through a tutorial
3357 Section 17.6.1, “autotools-package tutorial” and reference
3358 Section 17.6.2, “autotools-package reference”.
3359 * Makefiles for cmake-based software: We provide a dedicated
3360 infrastructure for such packages, as CMake is a more and more
3361 commonly used build system and has a standardized behaviour. This
3362 infrastructure must be used for new packages that rely on CMake.
3363 We cover them through a tutorial Section 17.7.1, “cmake-package
3364 tutorial” and reference Section 17.7.2, “cmake-package reference”
3366 * Makefiles for Python modules: We have a dedicated infrastructure
3367 for Python modules that use either the distutils or the
3368 setuptools mechanism. We cover them through a tutorial
3369 Section 17.8.1, “python-package tutorial” and a reference
3370 Section 17.8.2, “python-package reference”.
3371 * Makefiles for Lua modules: We have a dedicated infrastructure for
3372 Lua modules available through the LuaRocks web site. We cover
3373 them through a tutorial Section 17.9.1, “luarocks-package
3374 tutorial” and a reference Section 17.9.2, “luarocks-package
3377 Further formatting details: see the writing rules Section 15.2, “The
3380 17.4. The .hash file
3382 Optionally, you can add a third file, named libfoo.hash, that
3383 contains the hashes of the downloaded files for the libfoo package.
3385 The hashes stored in that file are used to validate the integrity of
3386 the downloaded files.
3388 The format of this file is one line for each file for which to check
3389 the hash, each line being space-separated, with these three fields:
3391 * the type of hash, one of:
3393 + md5, sha1, sha224, sha256, sha384, sha512, none
3394 * the hash of the file:
3396 + for none, one or more non-space chars, usually just the
3398 + for md5, 32 hexadecimal characters
3399 + for sha1, 40 hexadecimal characters
3400 + for sha224, 56 hexadecimal characters
3401 + for sha256, 64 hexadecimal characters
3402 + for sha384, 96 hexadecimal characters
3403 + for sha512, 128 hexadecimal characters
3404 * the name of the file, without any directory component
3406 Lines starting with a # sign are considered comments, and ignored.
3407 Empty lines are ignored.
3409 There can be more than one hash for a single file, each on its own
3410 line. In this case, all hashes must match.
3412 Note. Ideally, the hashes stored in this file should match the hashes
3413 published by upstream, e.g. on their website, in the e-mail
3414 announcement… If upstream provides more than one type of hash (e.g.
3415 sha1 and sha512), then it is best to add all those hashes in the
3416 .hash file. If upstream does not provide any hash, or only provides
3417 an md5 hash, then compute at least one strong hash yourself
3418 (preferably sha256, but not md5), and mention this in a comment line
3421 Note. If libfoo is from GitHub (see Section 17.17.2, “How to add a
3422 package from GitHub” for details), we can only accept a .hash file if
3423 the package is a released (e.g. uploaded by the maintainer) tarball.
3424 Otherwise, the automatically generated tarball may change over time,
3425 and thus its hashes may be different each time it is downloaded,
3426 causing a .hash mismatch for that tarball.
3428 Note. The number of spaces does not matter, so one can use spaces (or
3429 tabs) to properly align the different fields.
3431 The none hash type is reserved to those archives downloaded from a
3432 repository, like a git clone, a subversion checkout… or archives
3433 downloaded with the github helper Section 17.17.2, “How to add a
3434 package from GitHub”.
3436 The example below defines a sha1 and a sha256 published by upstream
3437 for the main libfoo-1.2.3.tar.bz2 tarball, an md5 from upstream and a
3438 locally-computed sha256 hashes for a binary blob, a sha256 for a
3439 downloaded patch, and an archive with no hash:
3441 # Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}:
3442 sha1 486fb55c3efa71148fe07895fd713ea3a5ae343a libfoo-1.2.3.tar.bz2
3443 sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2
3445 # md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed:
3446 md5 2d608f3c318c6b7557d551a5a09314f03452f1a1 libfoo-data.bin
3447 sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin
3450 sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch
3452 # No hash for 1234, comes from the github-helper:
3453 none xxx libfoo-1234.tar.gz
3455 If the .hash file is present, and it contains one or more hashes for
3456 a downloaded file, the hash(es) computed by Buildroot (after
3457 download) must match the hash(es) stored in the .hash file. If one or
3458 more hashes do not match, Buildroot considers this an error, deletes
3459 the downloaded file, and aborts.
3461 If the .hash file is present, but it does not contain a hash for a
3462 downloaded file, Buildroot considers this an error and aborts.
3463 However, the downloaded file is left in the download directory since
3464 this typically indicates that the .hash file is wrong but the
3465 downloaded file is probably OK.
3467 Sources that are downloaded from a version control system (git,
3468 subversion, etc…) can not have a hash, because the version control
3469 system and tar may not create exactly the same file (dates, files
3470 ordering…), so the hash could be wrong even for a valid download.
3471 Therefore, the hash check is entirely skipped for such sources.
3473 If the .hash file is missing, then no check is done at all.
3475 17.5. Infrastructure for packages with specific build systems
3477 By packages with specific build systems we mean all the packages
3478 whose build system is not one of the standard ones, such as autotools
3479 or CMake. This typically includes packages whose build system is
3480 based on hand-written Makefiles or shell scripts.
3482 17.5.1. generic-package tutorial
3484 01: ################################################################################
3488 05: ################################################################################
3490 07: LIBFOO_VERSION = 1.0
3491 08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
3492 09: LIBFOO_SITE = http://www.foosoftware.org/download
3493 10: LIBFOO_LICENSE = GPLv3+
3494 11: LIBFOO_LICENSE_FILES = COPYING
3495 12: LIBFOO_INSTALL_STAGING = YES
3496 13: LIBFOO_CONFIG_SCRIPTS = libfoo-config
3497 14: LIBFOO_DEPENDENCIES = host-libaaa libbbb
3499 16: define LIBFOO_BUILD_CMDS
3500 17: $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
3503 20: define LIBFOO_INSTALL_STAGING_CMDS
3504 21: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a
3505 22: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h
3506 23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib
3509 26: define LIBFOO_INSTALL_TARGET_CMDS
3510 27: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib
3511 28: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d
3514 31: define LIBFOO_DEVICES
3515 32: /dev/foo c 666 0 0 42 0 - - -
3518 35: define LIBFOO_PERMISSIONS
3519 36: /bin/foo f 4755 0 0 - - - - -
3522 39: define LIBFOO_USERS
3523 40: foo -1 libfoo -1 * - - - LibFoo daemon
3526 43: $(eval $(generic-package))
3528 The Makefile begins on line 7 to 11 with metadata information: the
3529 version of the package (LIBFOO_VERSION), the name of the tarball
3530 containing the package (LIBFOO_SOURCE) (xz-ed tarball recommended)
3531 the Internet location at which the tarball can be downloaded from
3532 (LIBFOO_SITE), the license (LIBFOO_LICENSE) and file with the license
3533 text (LIBFOO_LICENSE_FILES). All variables must start with the same
3534 prefix, LIBFOO_ in this case. This prefix is always the uppercased
3535 version of the package name (see below to understand where the
3536 package name is defined).
3538 On line 12, we specify that this package wants to install something
3539 to the staging space. This is often needed for libraries, since they
3540 must install header files and other development files in the staging
3541 space. This will ensure that the commands listed in the
3542 LIBFOO_INSTALL_STAGING_CMDS variable will be executed.
3544 On line 13, we specify that there is some fixing to be done to some
3545 of the libfoo-config files that were installed during
3546 LIBFOO_INSTALL_STAGING_CMDS phase. These *-config files are
3547 executable shell script files that are located in $(STAGING_DIR)/usr/
3548 bin directory and are executed by other 3rd party packages to find
3549 out the location and the linking flags of this particular package.
3551 The problem is that all these *-config files by default give wrong,
3552 host system linking flags that are unsuitable for cross-compiling.
3554 For example: -I/usr/include instead of -I$(STAGING_DIR)/usr/include
3555 or: -L/usr/lib instead of -L$(STAGING_DIR)/usr/lib
3557 So some sed magic is done to these scripts to make them give correct
3558 flags. The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file
3559 name(s) of the shell script(s) needing fixing. All these names are
3560 relative to $(STAGING_DIR)/usr/bin and if needed multiple names can
3563 In addition, the scripts listed in LIBFOO_CONFIG_SCRIPTS are removed
3564 from $(TARGET_DIR)/usr/bin, since they are not needed on the target.
3566 Example 17.1. Config script: divine package
3568 Package divine installs shell script $(STAGING_DIR)/usr/bin/
3571 So its fixup would be:
3573 DIVINE_CONFIG_SCRIPTS = divine-config
3576 Example 17.2. Config script: imagemagick package:
3578 Package imagemagick installs the following scripts: $(STAGING_DIR)/
3579 usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config
3581 So it’s fixup would be:
3583 IMAGEMAGICK_CONFIG_SCRIPTS = \
3584 Magick-config Magick++-config \
3585 MagickCore-config MagickWand-config Wand-config
3588 On line 14, we specify the list of dependencies this package relies
3589 on. These dependencies are listed in terms of lower-case package
3590 names, which can be packages for the target (without the host-
3591 prefix) or packages for the host (with the host-) prefix). Buildroot
3592 will ensure that all these packages are built and installed before
3593 the current package starts its configuration.
3595 The rest of the Makefile, lines 16..29, defines what should be done
3596 at the different steps of the package configuration, compilation and
3597 installation. LIBFOO_BUILD_CMDS tells what steps should be performed
3598 to build the package. LIBFOO_INSTALL_STAGING_CMDS tells what steps
3599 should be performed to install the package in the staging space.
3600 LIBFOO_INSTALL_TARGET_CMDS tells what steps should be performed to
3601 install the package in the target space.
3603 All these steps rely on the $(@D) variable, which contains the
3604 directory where the source code of the package has been extracted.
3606 On line 31..33, we define a device-node file used by this package
3609 On line 35..37, we define the permissions to set to specific files
3610 installed by this package (LIBFOO_PERMISSIONS).
3612 On lines 39..41, we define a user that is used by this package (e.g.
3613 to run a daemon as non-root) (LIBFOO_USERS).
3615 Finally, on line 43, we call the generic-package function, which
3616 generates, according to the variables defined previously, all the
3617 Makefile code necessary to make your package working.
3619 17.5.2. generic-package reference
3621 There are two variants of the generic target. The generic-package
3622 macro is used for packages to be cross-compiled for the target. The
3623 host-generic-package macro is used for host packages, natively
3624 compiled for the host. It is possible to call both of them in a
3625 single .mk file: once to create the rules to generate a target
3626 package and once to create the rules to generate a host package:
3628 $(eval $(generic-package))
3629 $(eval $(host-generic-package))
3631 This might be useful if the compilation of the target package
3632 requires some tools to be installed on the host. If the package name
3633 is libfoo, then the name of the package for the target is also
3634 libfoo, while the name of the package for the host is host-libfoo.
3635 These names should be used in the DEPENDENCIES variables of other
3636 packages, if they depend on libfoo or host-libfoo.
3638 The call to the generic-package and/or host-generic-package macro
3639 must be at the end of the .mk file, after all variable definitions.
3641 For the target package, the generic-package uses the variables
3642 defined by the .mk file and prefixed by the uppercased package name:
3643 LIBFOO_*. host-generic-package uses the HOST_LIBFOO_* variables. For
3644 some variables, if the HOST_LIBFOO_ prefixed variable doesn’t exist,
3645 the package infrastructure uses the corresponding variable prefixed
3646 by LIBFOO_. This is done for variables that are likely to have the
3647 same value for both the target and host packages. See below for
3650 The list of variables that can be set in a .mk file to give metadata
3651 information is (assuming the package name is libfoo) :
3653 * LIBFOO_VERSION, mandatory, must contain the version of the
3654 package. Note that if HOST_LIBFOO_VERSION doesn’t exist, it is
3655 assumed to be the same as LIBFOO_VERSION. It can also be a
3656 revision number, branch or tag for packages that are fetched
3657 directly from their revision control system. Examples:
3658 LIBFOO_VERSION = 0.1.2 LIBFOO_VERSION =
3659 cb9d6aa9429e838f0e54faa3d455bcbab5eef057 LIBFOO_VERSION = stable
3660 * LIBFOO_SOURCE may contain the name of the tarball of the package,
3661 which Buildroot will use to download the tarball from
3662 LIBFOO_SITE. If HOST_LIBFOO_SOURCE is not specified, it defaults
3663 to LIBFOO_SOURCE. If none are specified, then the value is
3664 assumed to be libfoo-$(LIBFOO_VERSION).tar.gz. Example:
3665 LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2
3666 * LIBFOO_PATCH may contain a space-separated list of patch file
3667 names, that Buildroot will download and apply to the package
3668 source code. If an entry contains ://, then Buildroot will assume
3669 it is a full URL and download the patch from this location.
3670 Otherwise, Buildroot will assume that the patch should be
3671 downloaded from LIBFOO_SITE. If HOST_LIBFOO_PATCH is not
3672 specified, it defaults to LIBFOO_PATCH. Note that patches that
3673 are included in Buildroot itself use a different mechanism: all
3674 files of the form *.patch present in the package directory inside
3675 Buildroot will be applied to the package after extraction (see
3676 patching a package Chapter 18, Patching a package). Finally,
3677 patches listed in the LIBFOO_PATCH variable are applied before
3678 the patches stored in the Buildroot package directory.
3679 * LIBFOO_SITE provides the location of the package, which can be a
3680 URL or a local filesystem path. HTTP, FTP and SCP are supported
3681 URL types for retrieving package tarballs. Git, Subversion,
3682 Mercurial, and Bazaar are supported URL types for retrieving
3683 packages directly from source code management systems. There is a
3684 helper function to make it easier to download source tarballs
3685 from GitHub (refer to Section 17.17.2, “How to add a package from
3686 GitHub” for details). A filesystem path may be used to specify
3687 either a tarball or a directory containing the package source
3688 code. See LIBFOO_SITE_METHOD below for more details on how
3689 retrieval works. Note that SCP URLs should be of the form scp://
3690 [user@]host:filepath, and that filepath is relative to the user’s
3691 home directory, so you may want to prepend the path with a slash
3692 for absolute paths: scp://[user@]host:/absolutepath. If
3693 HOST_LIBFOO_SITE is not specified, it defaults to LIBFOO_SITE.
3694 Examples: LIBFOO_SITE=http://www.libfoosoftware.org/libfoo
3695 LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor LIBFOO_SITE=/opt/
3696 software/libfoo.tar.gz LIBFOO_SITE=$(TOPDIR)/../src/libfoo/
3697 * LIBFOO_EXTRA_DOWNLOADS is a space-separated list of additional
3698 files that Buildroot should download. If an entry contains ://
3699 then Buildroot will assume it is a complete URL and will download
3700 the file using this URL. Otherwise, Buildroot will assume the
3701 file to be downloaded is located at LIBFOO_SITE. Buildroot will
3702 not do anything with those additional files, except download
3703 them: it will be up to the package recipe to use them from $
3705 * LIBFOO_SITE_METHOD determines the method used to fetch or copy
3706 the package source code. In many cases, Buildroot guesses the
3707 method from the contents of LIBFOO_SITE and setting
3708 LIBFOO_SITE_METHOD is unnecessary. When HOST_LIBFOO_SITE_METHOD
3709 is not specified, it defaults to the value of LIBFOO_SITE_METHOD.
3710 The possible values of LIBFOO_SITE_METHOD are:
3712 + wget for normal FTP/HTTP downloads of tarballs. Used by
3713 default when LIBFOO_SITE begins with http://, https:// or
3715 + scp for downloads of tarballs over SSH with scp. Used by
3716 default when LIBFOO_SITE begins with scp://.
3717 + svn for retrieving source code from a Subversion repository.
3718 Used by default when LIBFOO_SITE begins with svn://. When a
3719 http:// Subversion repository URL is specified in
3720 LIBFOO_SITE, one must specify LIBFOO_SITE_METHOD=svn.
3721 Buildroot performs a checkout which is preserved as a tarball
3722 in the download cache; subsequent builds use the tarball
3723 instead of performing another checkout.
3724 + cvs for retrieving source code from a CVS repository. Used by
3725 default when LIBFOO_SITE begins with cvs://. The downloaded
3726 source code is cached as with the svn method. Only anonymous
3727 pserver mode is supported. LIBFOO_SITE must contain the
3728 source URL as well as the remote repository directory. The
3729 module is the package name. LIBFOO_VERSION is mandatory and
3730 must be a timestamp.
3731 + git for retrieving source code from a Git repository. Used by
3732 default when LIBFOO_SITE begins with git://. The downloaded
3733 source code is cached as with the svn method.
3734 + hg for retrieving source code from a Mercurial repository.
3735 One must specify LIBFOO_SITE_METHOD=hg when LIBFOO_SITE
3736 contains a Mercurial repository URL. The downloaded source
3737 code is cached as with the svn method.
3738 + bzr for retrieving source code from a Bazaar repository. Used
3739 by default when LIBFOO_SITE begins with bzr://. The
3740 downloaded source code is cached as with the svn method.
3741 + file for a local tarball. One should use this when
3742 LIBFOO_SITE specifies a package tarball as a local filename.
3743 Useful for software that isn’t available publicly or in
3745 + local for a local source code directory. One should use this
3746 when LIBFOO_SITE specifies a local directory path containing
3747 the package source code. Buildroot copies the contents of the
3748 source directory into the package’s build directory.
3749 * LIBFOO_DEPENDENCIES lists the dependencies (in terms of package
3750 name) that are required for the current target package to
3751 compile. These dependencies are guaranteed to be compiled and
3752 installed before the configuration of the current package starts.
3753 In a similar way, HOST_LIBFOO_DEPENDENCIES lists the dependencies
3754 for the current host package.
3755 * LIBFOO_PATCH_DEPENDENCIES lists the dependencies (in terms of
3756 package name) that are required for the current package to be
3757 patched. These dependencies are guaranteed to be extracted and
3758 patched before the current package is patched. In a similar way,
3759 HOST_LIBFOO_PATCH_DEPENDENCIES lists the dependencies for the
3760 current host package. This is seldom used; usually,
3761 LIBFOO_DEPENDENCIES is what you really want to use.
3762 * LIBFOO_PROVIDES lists all the virtual packages libfoo is an
3763 implementation of. See Section 17.11, “Infrastructure for virtual
3765 * LIBFOO_INSTALL_STAGING can be set to YES or NO (default). If set
3766 to YES, then the commands in the LIBFOO_INSTALL_STAGING_CMDS
3767 variables are executed to install the package into the staging
3769 * LIBFOO_INSTALL_TARGET can be set to YES (default) or NO. If set
3770 to YES, then the commands in the LIBFOO_INSTALL_TARGET_CMDS
3771 variables are executed to install the package into the target
3773 * LIBFOO_INSTALL_IMAGES can be set to YES or NO (default). If set
3774 to YES, then the commands in the LIBFOO_INSTALL_IMAGES_CMDS
3775 variable are executed to install the package into the images
3777 * LIBFOO_CONFIG_SCRIPTS lists the names of the files in $
3778 (STAGING_DIR)/usr/bin that need some special fixing to make them
3779 cross-compiling friendly. Multiple file names separated by space
3780 can be given and all are relative to $(STAGING_DIR)/usr/bin. The
3781 files listed in LIBFOO_CONFIG_SCRIPTS are also removed from $
3782 (TARGET_DIR)/usr/bin since they are not needed on the target.
3783 * LIBFOO_DEVICES lists the device files to be created by Buildroot
3784 when using the static device table. The syntax to use is the
3785 makedevs one. You can find some documentation for this syntax in
3786 the Chapter 22, Makedev syntax documentation. This variable is
3788 * LIBFOO_PERMISSIONS lists the changes of permissions to be done at
3789 the end of the build process. The syntax is once again the
3790 makedevs one. You can find some documentation for this syntax in
3791 the Chapter 22, Makedev syntax documentation. This variable is
3793 * LIBFOO_USERS lists the users to create for this package, if it
3794 installs a program you want to run as a specific user (e.g. as a
3795 daemon, or as a cron-job). The syntax is similar in spirit to the
3796 makedevs one, and is described in the Chapter 23, Makeusers
3797 syntax documentation. This variable is optional.
3798 * LIBFOO_LICENSE defines the license (or licenses) under which the
3799 package is released. This name will appear in the manifest file
3800 produced by make legal-info. If the license appears in the
3801 following list Section 12.2, “License abbreviations”, use the
3802 same string to make the manifest file uniform. Otherwise,
3803 describe the license in a precise and concise way, avoiding
3804 ambiguous names such as BSD which actually name a family of
3805 licenses. This variable is optional. If it is not defined,
3806 unknown will appear in the license field of the manifest file for
3808 * LIBFOO_LICENSE_FILES is a space-separated list of files in the
3809 package tarball that contain the license(s) under which the
3810 package is released. make legal-info copies all of these files in
3811 the legal-info directory. See Chapter 12, Legal notice and
3812 licensing for more information. This variable is optional. If it
3813 is not defined, a warning will be produced to let you know, and
3814 not saved will appear in the license files field of the manifest
3815 file for this package.
3816 * LIBFOO_REDISTRIBUTE can be set to YES (default) or NO to indicate
3817 if the package source code is allowed to be redistributed. Set it
3818 to NO for non-opensource packages: Buildroot will not save the
3819 source code for this package when collecting the legal-info.
3820 * LIBFOO_FLAT_STACKSIZE defines the stack size of an application
3821 built into the FLAT binary format. The application stack size on
3822 the NOMMU architecture processors can’t be enlarged at run time.
3823 The default stack size for the FLAT binary format is only 4k
3824 bytes. If the application consumes more stack, append the
3825 required number here.
3827 The recommended way to define these variables is to use the following
3830 LIBFOO_VERSION = 2.32
3832 Now, the variables that define what should be performed at the
3833 different steps of the build process.
3835 * LIBFOO_EXTRACT_CMDS lists the actions to be performed to extract
3836 the package. This is generally not needed as tarballs are
3837 automatically handled by Buildroot. However, if the package uses
3838 a non-standard archive format, such as a ZIP or RAR file, or has
3839 a tarball with a non-standard organization, this variable allows
3840 to override the package infrastructure default behavior.
3841 * LIBFOO_CONFIGURE_CMDS lists the actions to be performed to
3842 configure the package before its compilation.
3843 * LIBFOO_BUILD_CMDS lists the actions to be performed to compile
3845 * HOST_LIBFOO_INSTALL_CMDS lists the actions to be performed to
3846 install the package, when the package is a host package. The
3847 package must install its files to the directory given by $
3848 (HOST_DIR). All files, including development files such as
3849 headers should be installed, since other packages might be
3850 compiled on top of this package.
3851 * LIBFOO_INSTALL_TARGET_CMDS lists the actions to be performed to
3852 install the package to the target directory, when the package is
3853 a target package. The package must install its files to the
3854 directory given by $(TARGET_DIR). Only the files required for
3855 execution of the package have to be installed. Header files,
3856 static libraries and documentation will be removed again when the
3857 target filesystem is finalized.
3858 * LIBFOO_INSTALL_STAGING_CMDS lists the actions to be performed to
3859 install the package to the staging directory, when the package is
3860 a target package. The package must install its files to the
3861 directory given by $(STAGING_DIR). All development files should
3862 be installed, since they might be needed to compile other
3864 * LIBFOO_INSTALL_IMAGES_CMDS lists the actions to be performed to
3865 install the package to the images directory, when the package is
3866 a target package. The package must install its files to the
3867 directory given by $(BINARIES_DIR). Only files that are binary
3868 images (aka images) that do not belong in the TARGET_DIR but are
3869 necessary for booting the board should be placed here. For
3870 example, a package should utilize this step if it has binaries
3871 which would be similar to the kernel image, bootloader or root
3873 * LIBFOO_INSTALL_INIT_SYSV and LIBFOO_INSTALL_INIT_SYSTEMD list the
3874 actions to install init scripts either for the systemV-like init
3875 systems (busybox, sysvinit, etc.) or for the systemd units. These
3876 commands will be run only when the relevant init system is
3877 installed (i.e. if systemd is selected as the init system in the
3878 configuration, only LIBFOO_INSTALL_INIT_SYSTEMD will be run).
3880 The preferred way to define these variables is:
3882 define LIBFOO_CONFIGURE_CMDS
3888 In the action definitions, you can use the following variables:
3890 * $(@D), which contains the directory in which the package source
3891 code has been uncompressed.
3892 * $(TARGET_CC), $(TARGET_LD), etc. to get the target
3893 cross-compilation utilities
3894 * $(TARGET_CROSS) to get the cross-compilation toolchain prefix
3895 * Of course the $(HOST_DIR), $(STAGING_DIR) and $(TARGET_DIR)
3896 variables to install the packages properly.
3898 Finally, you can also use hooks. See Section 17.15, “Hooks available
3899 in the various build steps” for more information.
3901 17.6. Infrastructure for autotools-based packages
3903 17.6.1. autotools-package tutorial
3905 First, let’s see how to write a .mk file for an autotools-based
3906 package, with an example :
3908 01: ################################################################################
3912 05: ################################################################################
3914 07: LIBFOO_VERSION = 1.0
3915 08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
3916 09: LIBFOO_SITE = http://www.foosoftware.org/download
3917 10: LIBFOO_INSTALL_STAGING = YES
3918 11: LIBFOO_INSTALL_TARGET = NO
3919 12: LIBFOO_CONF_OPTS = --disable-shared
3920 13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
3922 15: $(eval $(autotools-package))
3924 On line 7, we declare the version of the package.
3926 On line 8 and 9, we declare the name of the tarball (xz-ed tarball
3927 recommended) and the location of the tarball on the Web. Buildroot
3928 will automatically download the tarball from this location.
3930 On line 10, we tell Buildroot to install the package to the staging
3931 directory. The staging directory, located in output/staging/ is the
3932 directory where all the packages are installed, including their
3933 development files, etc. By default, packages are not installed to the
3934 staging directory, since usually, only libraries need to be installed
3935 in the staging directory: their development files are needed to
3936 compile other libraries or applications depending on them. Also by
3937 default, when staging installation is enabled, packages are installed
3938 in this location using the make install command.
3940 On line 11, we tell Buildroot to not install the package to the
3941 target directory. This directory contains what will become the root
3942 filesystem running on the target. For purely static libraries, it is
3943 not necessary to install them in the target directory because they
3944 will not be used at runtime. By default, target installation is
3945 enabled; setting this variable to NO is almost never needed. Also by
3946 default, packages are installed in this location using the make
3949 On line 12, we tell Buildroot to pass a custom configure option, that
3950 will be passed to the ./configure script before configuring and
3951 building the package.
3953 On line 13, we declare our dependencies, so that they are built
3954 before the build process of our package starts.
3956 Finally, on line line 15, we invoke the autotools-package macro that
3957 generates all the Makefile rules that actually allows the package to
3960 17.6.2. autotools-package reference
3962 The main macro of the autotools package infrastructure is
3963 autotools-package. It is similar to the generic-package macro. The
3964 ability to have target and host packages is also available, with the
3965 host-autotools-package macro.
3967 Just like the generic infrastructure, the autotools infrastructure
3968 works by defining a number of variables before calling the
3969 autotools-package macro.
3971 First, all the package metadata information variables that exist in
3972 the generic infrastructure also exist in the autotools
3973 infrastructure: LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH,
3974 LIBFOO_SITE, LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES,
3975 LIBFOO_INSTALL_STAGING, LIBFOO_INSTALL_TARGET.
3977 A few additional variables, specific to the autotools infrastructure,
3978 can also be defined. Many of them are only useful in very specific
3979 cases, typical packages will therefore only use a few of them.
3981 * LIBFOO_SUBDIR may contain the name of a subdirectory inside the
3982 package that contains the configure script. This is useful, if
3983 for example, the main configure script is not at the root of the
3984 tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is not
3985 specified, it defaults to LIBFOO_SUBDIR.
3986 * LIBFOO_CONF_ENV, to specify additional environment variables to
3987 pass to the configure script. By default, empty.
3988 * LIBFOO_CONF_OPTS, to specify additional configure options to pass
3989 to the configure script. By default, empty.
3990 * LIBFOO_MAKE, to specify an alternate make command. This is
3991 typically useful when parallel make is enabled in the
3992 configuration (using BR2_JLEVEL) but that this feature should be
3993 disabled for the given package, for one reason or another. By
3994 default, set to $(MAKE). If parallel building is not supported by
3995 the package, then it should be set to LIBFOO_MAKE=$(MAKE1).
3996 * LIBFOO_MAKE_ENV, to specify additional environment variables to
3997 pass to make in the build step. These are passed before the make
3998 command. By default, empty.
3999 * LIBFOO_MAKE_OPTS, to specify additional variables to pass to make
4000 in the build step. These are passed after the make command. By
4002 * LIBFOO_AUTORECONF, tells whether the package should be
4003 autoreconfigured or not (i.e. if the configure script and
4004 Makefile.in files should be re-generated by re-running autoconf,
4005 automake, libtool, etc.). Valid values are YES and NO. By
4006 default, the value is NO
4007 * LIBFOO_AUTORECONF_ENV, to specify additional environment
4008 variables to pass to the autoreconf program if LIBFOO_AUTORECONF=
4009 YES. These are passed in the environment of the autoreconf
4010 command. By default, empty.
4011 * LIBFOO_AUTORECONF_OPTS to specify additional options passed to
4012 the autoreconf program if LIBFOO_AUTORECONF=YES. By default,
4014 * LIBFOO_GETTEXTIZE, tells whether the package should be
4015 gettextized or not (i.e. if the package uses a different gettext
4016 version than Buildroot provides, and it is needed to run
4017 gettextize.) Only valid when LIBFOO_AUTORECONF=YES. Valid values
4018 are YES and NO. The default is NO.
4019 * LIBFOO_GETTEXTIZE_OPTS, to specify additional options passed to
4020 the gettextize program, if LIBFOO_GETTEXTIZE=YES. You may use
4021 that if, for example, the .po files are not located in the
4022 standard place (i.e. in po/ at the root of the package.) By
4024 * LIBFOO_LIBTOOL_PATCH tells whether the Buildroot patch to fix
4025 libtool cross-compilation issues should be applied or not. Valid
4026 values are YES and NO. By default, the value is YES
4027 * LIBFOO_INSTALL_STAGING_OPTS contains the make options used to
4028 install the package to the staging directory. By default, the
4029 value is DESTDIR=$(STAGING_DIR) install, which is correct for
4030 most autotools packages. It is still possible to override it.
4031 * LIBFOO_INSTALL_TARGET_OPTS contains the make options used to
4032 install the package to the target directory. By default, the
4033 value is DESTDIR=$(TARGET_DIR) install. The default value is
4034 correct for most autotools packages, but it is still possible to
4035 override it if needed.
4037 With the autotools infrastructure, all the steps required to build
4038 and install the packages are already defined, and they generally work
4039 well for most autotools-based packages. However, when required, it is
4040 still possible to customize what is done in any particular step:
4042 * By adding a post-operation hook (after extract, patch, configure,
4043 build or install). See Section 17.15, “Hooks available in the
4044 various build steps” for details.
4045 * By overriding one of the steps. For example, even if the
4046 autotools infrastructure is used, if the package .mk file defines
4047 its own LIBFOO_CONFIGURE_CMDS variable, it will be used instead
4048 of the default autotools one. However, using this method should
4049 be restricted to very specific cases. Do not use it in the
4052 17.7. Infrastructure for CMake-based packages
4054 17.7.1. cmake-package tutorial
4056 First, let’s see how to write a .mk file for a CMake-based package,
4059 01: ################################################################################
4063 05: ################################################################################
4065 07: LIBFOO_VERSION = 1.0
4066 08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
4067 09: LIBFOO_SITE = http://www.foosoftware.org/download
4068 10: LIBFOO_INSTALL_STAGING = YES
4069 11: LIBFOO_INSTALL_TARGET = NO
4070 12: LIBFOO_CONF_OPTS = -DBUILD_DEMOS=ON
4071 13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
4073 15: $(eval $(cmake-package))
4075 On line 7, we declare the version of the package.
4077 On line 8 and 9, we declare the name of the tarball (xz-ed tarball
4078 recommended) and the location of the tarball on the Web. Buildroot
4079 will automatically download the tarball from this location.
4081 On line 10, we tell Buildroot to install the package to the staging
4082 directory. The staging directory, located in output/staging/ is the
4083 directory where all the packages are installed, including their
4084 development files, etc. By default, packages are not installed to the
4085 staging directory, since usually, only libraries need to be installed
4086 in the staging directory: their development files are needed to
4087 compile other libraries or applications depending on them. Also by
4088 default, when staging installation is enabled, packages are installed
4089 in this location using the make install command.
4091 On line 11, we tell Buildroot to not install the package to the
4092 target directory. This directory contains what will become the root
4093 filesystem running on the target. For purely static libraries, it is
4094 not necessary to install them in the target directory because they
4095 will not be used at runtime. By default, target installation is
4096 enabled; setting this variable to NO is almost never needed. Also by
4097 default, packages are installed in this location using the make
4100 On line 12, we tell Buildroot to pass custom options to CMake when it
4101 is configuring the package.
4103 On line 13, we declare our dependencies, so that they are built
4104 before the build process of our package starts.
4106 Finally, on line line 15, we invoke the cmake-package macro that
4107 generates all the Makefile rules that actually allows the package to
4110 17.7.2. cmake-package reference
4112 The main macro of the CMake package infrastructure is cmake-package.
4113 It is similar to the generic-package macro. The ability to have
4114 target and host packages is also available, with the
4115 host-cmake-package macro.
4117 Just like the generic infrastructure, the CMake infrastructure works
4118 by defining a number of variables before calling the cmake-package
4121 First, all the package metadata information variables that exist in
4122 the generic infrastructure also exist in the CMake infrastructure:
4123 LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE,
4124 LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING,
4125 LIBFOO_INSTALL_TARGET.
4127 A few additional variables, specific to the CMake infrastructure, can
4128 also be defined. Many of them are only useful in very specific cases,
4129 typical packages will therefore only use a few of them.
4131 * LIBFOO_SUBDIR may contain the name of a subdirectory inside the
4132 package that contains the main CMakeLists.txt file. This is
4133 useful, if for example, the main CMakeLists.txt file is not at
4134 the root of the tree extracted by the tarball. If
4135 HOST_LIBFOO_SUBDIR is not specified, it defaults to
4137 * LIBFOO_CONF_ENV, to specify additional environment variables to
4138 pass to CMake. By default, empty.
4139 * LIBFOO_CONF_OPTS, to specify additional configure options to pass
4140 to CMake. By default, empty. A number of common CMake options are
4141 set by the cmake-package infrastructure; so it is normally not
4142 necessary to set them in the package’s *.mk file unless you want
4145 + CMAKE_BUILD_TYPE is driven by BR2_ENABLE_DEBUG;
4146 + CMAKE_INSTALL_PREFIX;
4147 + BUILD_SHARED_LIBS is driven by BR2_STATIC_LIBS;
4148 + BUILD_DOC, BUILD_DOCS are disabled;
4149 + BUILD_EXAMPLE, BUILD_EXAMPLES are disabled;
4150 + BUILD_TEST, BUILD_TESTS, BUILD_TESTING are disabled.
4151 * LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO should be set when the
4152 package cannot be built inside the source tree but needs a
4153 separate build directory.
4154 * LIBFOO_MAKE, to specify an alternate make command. This is
4155 typically useful when parallel make is enabled in the
4156 configuration (using BR2_JLEVEL) but that this feature should be
4157 disabled for the given package, for one reason or another. By
4158 default, set to $(MAKE). If parallel building is not supported by
4159 the package, then it should be set to LIBFOO_MAKE=$(MAKE1).
4160 * LIBFOO_MAKE_ENV, to specify additional environment variables to
4161 pass to make in the build step. These are passed before the make
4162 command. By default, empty.
4163 * LIBFOO_MAKE_OPTS, to specify additional variables to pass to make
4164 in the build step. These are passed after the make command. By
4166 * LIBFOO_INSTALL_STAGING_OPTS contains the make options used to
4167 install the package to the staging directory. By default, the
4168 value is DESTDIR=$(STAGING_DIR) install, which is correct for
4169 most CMake packages. It is still possible to override it.
4170 * LIBFOO_INSTALL_TARGET_OPTS contains the make options used to
4171 install the package to the target directory. By default, the
4172 value is DESTDIR=$(TARGET_DIR) install. The default value is
4173 correct for most CMake packages, but it is still possible to
4174 override it if needed.
4176 With the CMake infrastructure, all the steps required to build and
4177 install the packages are already defined, and they generally work
4178 well for most CMake-based packages. However, when required, it is
4179 still possible to customize what is done in any particular step:
4181 * By adding a post-operation hook (after extract, patch, configure,
4182 build or install). See Section 17.15, “Hooks available in the
4183 various build steps” for details.
4184 * By overriding one of the steps. For example, even if the CMake
4185 infrastructure is used, if the package .mk file defines its own
4186 LIBFOO_CONFIGURE_CMDS variable, it will be used instead of the
4187 default CMake one. However, using this method should be
4188 restricted to very specific cases. Do not use it in the general
4191 17.8. Infrastructure for Python packages
4193 This infrastructure applies to Python packages that use the standard
4194 Python setuptools mechanism as their build system, generally
4195 recognizable by the usage of a setup.py script.
4197 17.8.1. python-package tutorial
4199 First, let’s see how to write a .mk file for a Python package, with
4202 01: ################################################################################
4206 05: ################################################################################
4208 07: PYTHON_FOO_VERSION = 1.0
4209 08: PYTHON_FOO_SOURCE = python-foo-$(PYTHON_FOO_VERSION).tar.xz
4210 09: PYTHON_FOO_SITE = http://www.foosoftware.org/download
4211 10: PYTHON_FOO_LICENSE = BSD-3c
4212 11: PYTHON_FOO_LICENSE_FILES = LICENSE
4213 12: PYTHON_FOO_ENV = SOME_VAR=1
4214 13: PYTHON_FOO_DEPENDENCIES = libmad
4215 14: PYTHON_FOO_SETUP_TYPE = distutils
4217 16: $(eval $(python-package))
4219 On line 7, we declare the version of the package.
4221 On line 8 and 9, we declare the name of the tarball (xz-ed tarball
4222 recommended) and the location of the tarball on the Web. Buildroot
4223 will automatically download the tarball from this location.
4225 On line 10 and 11, we give licensing details about the package (its
4226 license on line 10, and the file containing the license text on line
4229 On line 12, we tell Buildroot to pass custom options to the Python
4230 setup.py script when it is configuring the package.
4232 On line 13, we declare our dependencies, so that they are built
4233 before the build process of our package starts.
4235 On line 14, we declare the specific Python build system being used.
4236 In this case the distutils Python build system is used. The two
4237 supported ones are distutils and setuptools.
4239 Finally, on line 16, we invoke the python-package macro that
4240 generates all the Makefile rules that actually allow the package to
4243 17.8.2. python-package reference
4245 As a policy, packages that merely provide Python modules should all
4246 be named python-<something> in Buildroot. Other packages that use the
4247 Python build system, but are not Python modules, can freely choose
4248 their name (existing examples in Buildroot are scons and supervisor).
4250 In their Config.in file, they should depend on BR2_PACKAGE_PYTHON so
4251 that when Buildroot will enable Python 3 usage for modules, we will
4252 be able to enable Python modules progressively on Python 3.
4254 The main macro of the Python package infrastructure is
4255 python-package. It is similar to the generic-package macro. It is
4256 also possible to create Python host packages with the
4257 host-python-package macro.
4259 Just like the generic infrastructure, the Python infrastructure works
4260 by defining a number of variables before calling the python-package
4261 or host-python-package macros.
4263 All the package metadata information variables that exist in the
4264 generic package infrastructure Section 17.5.2, “generic-package
4265 reference” also exist in the Python infrastructure:
4266 PYTHON_FOO_VERSION, PYTHON_FOO_SOURCE, PYTHON_FOO_PATCH,
4267 PYTHON_FOO_SITE, PYTHON_FOO_SUBDIR, PYTHON_FOO_DEPENDENCIES,
4268 PYTHON_FOO_LICENSE, PYTHON_FOO_LICENSE_FILES,
4269 PYTHON_FOO_INSTALL_STAGING, etc.
4273 * It is not necessary to add python or host-python in the
4274 PYTHON_FOO_DEPENDENCIES variable of a package, since these basic
4275 dependencies are automatically added as needed by the Python
4276 package infrastructure.
4277 * Similarly, it is not needed to add host-setuptools and/or
4278 host-distutilscross dependencies to PYTHON_FOO_DEPENDENCIES for
4279 setuptools-based packages, since these are automatically added by
4280 the Python infrastructure as needed.
4282 One variable specific to the Python infrastructure is mandatory:
4284 * PYTHON_FOO_SETUP_TYPE, to define which Python build system is
4285 used by the package. The two supported values are distutils and
4286 setuptools. If you don’t know which one is used in your package,
4287 look at the setup.py file in your package source code, and see
4288 whether it imports things from the distutils module or the
4291 A few additional variables, specific to the Python infrastructure,
4292 can optionally be defined, depending on the package’s needs. Many of
4293 them are only useful in very specific cases, typical packages will
4294 therefore only use a few of them, or none.
4296 * PYTHON_FOO_ENV, to specify additional environment variables to
4297 pass to the Python setup.py script (for both the build and
4298 install steps). Note that the infrastructure is automatically
4299 passing several standard variables, defined in
4300 PKG_PYTHON_DISTUTILS_ENV (for distutils target packages),
4301 HOST_PKG_PYTHON_DISTUTILS_ENV (for distutils host packages),
4302 PKG_PYTHON_SETUPTOOLS_ENV (for setuptools target packages) and
4303 HOST_PKG_PYTHON_SETUPTOOLS_ENV (for setuptools host packages).
4304 * PYTHON_FOO_BUILD_OPTS, to specify additional options to pass to
4305 the Python setup.py script during the build step. For target
4306 distutils packages, the PKG_PYTHON_DISTUTILS_BUILD_OPTS options
4307 are already passed automatically by the infrastructure.
4308 * PYTHON_FOO_INSTALL_TARGET_OPTS, PYTHON_FOO_INSTALL_STAGING_OPTS,
4309 HOST_PYTHON_FOO_INSTALL_OPTS to specify additional options to
4310 pass to the Python setup.py script during the target installation
4311 step, the staging installation step or the host installation,
4312 respectively. Note that the infrastructure is automatically
4313 passing some options, defined in
4314 PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS or
4315 PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS (for target distutils
4316 packages), HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS (for host
4317 distutils packages), PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS or
4318 PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS (for target setuptools
4319 packages) and HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS (for host
4320 setuptools packages).
4321 * HOST_PYTHON_FOO_NEEDS_HOST_PYTHON, to define the host python
4322 interpreter. The usage of this variable is limited to host
4323 packages. The two supported value are python2 and python3. It
4324 will ensures the right host python package is available and will
4325 invoke it for the build. If some build steps are overloaded, the
4326 right python interpreter must be explicitly called in the
4329 With the Python infrastructure, all the steps required to build and
4330 install the packages are already defined, and they generally work
4331 well for most Python-based packages. However, when required, it is
4332 still possible to customize what is done in any particular step:
4334 * By adding a post-operation hook (after extract, patch, configure,
4335 build or install). See Section 17.15, “Hooks available in the
4336 various build steps” for details.
4337 * By overriding one of the steps. For example, even if the Python
4338 infrastructure is used, if the package .mk file defines its own
4339 PYTHON_FOO_BUILD_CMDS variable, it will be used instead of the
4340 default Python one. However, using this method should be
4341 restricted to very specific cases. Do not use it in the general
4344 17.9. Infrastructure for LuaRocks-based packages
4346 17.9.1. luarocks-package tutorial
4348 First, let’s see how to write a .mk file for a LuaRocks-based
4349 package, with an example :
4351 01: ################################################################################
4355 05: ################################################################################
4357 07: LUAFOO_VERSION = 1.0.2-1
4358 08: LUAFOO_DEPENDENCIES = foo
4360 10: LUAFOO_BUILD_OPTS += FOO_INCDIR=$(STAGING_DIR)/usr/include
4361 11: LUAFOO_BUILD_OPTS += FOO_LIBDIR=$(STAGING_DIR)/usr/lib
4362 12: LUAFOO_LICENSE = luaFoo license
4363 13: LUAFOO_LICENSE_FILES = COPYING
4365 15: $(eval $(luarocks-package))
4367 On line 7, we declare the version of the package (the same as in the
4368 rockspec, which is the concatenation of the upstream version and the
4369 rockspec revision, separated by a hyphen -).
4371 On line 8, we declare our dependencies against native libraries, so
4372 that they are built before the build process of our package starts.
4374 On lines 10-11, we tell Buildroot to pass custom options to LuaRocks
4375 when it is building the package.
4377 On lines 12-13, we specify the licensing terms for the package.
4379 Finally, on line 15, we invoke the luarocks-package macro that
4380 generates all the Makefile rules that actually allows the package to
4383 17.9.2. luarocks-package reference
4385 LuaRocks is a deployment and management system for Lua modules, and
4386 supports various build.type: builtin, make and cmake. In the context
4387 of Buildroot, the luarocks-package infrastructure only supports the
4388 builtin mode. LuaRocks packages that use the make or cmake build
4389 mechanisms should instead be packaged using the generic-package and
4390 cmake-package infrastructures in Buildroot, respectively.
4392 The main macro of the LuaRocks package infrastructure is
4393 luarocks-package: like generic-package it works by defining a number
4394 of variables providing metadata information about the package, and
4395 then calling luarocks-package. It is worth mentioning that building
4396 LuaRocks packages for the host is not supported, so the macro
4397 host-luarocks-package is not implemented.
4399 Just like the generic infrastructure, the LuaRocks infrastructure
4400 works by defining a number of variables before calling the
4401 luarocks-package macro.
4403 First, all the package metadata information variables that exist in
4404 the generic infrastructure also exist in the LuaRocks infrastructure:
4405 LUAFOO_VERSION, LUAFOO_SOURCE, LUAFOO_SITE, LUAFOO_DEPENDENCIES,
4406 LUAFOO_LICENSE, LUAFOO_LICENSE_FILES.
4408 Two of them are populated by the LuaRocks infrastructure (for the
4409 download step). If your package is not hosted on the LuaRocks mirror
4410 $(BR2_LUAROCKS_MIRROR), you can override them:
4412 * LUAFOO_SITE, which defaults to $(BR2_LUAROCKS_MIRROR)
4413 * LUAFOO_SOURCE, which defaults to luafoo-$
4414 (LUAFOO_VERSION).src.rock
4416 A few additional variables, specific to the LuaRocks infrastructure,
4417 are also defined. They can be overridden in specific cases.
4419 * LUAFOO_ROCKSPEC, which defaults to luafoo-$
4420 (LUAFOO_VERSION).rockspec
4421 * LUAFOO_SUBDIR, which defaults to luafoo-$
4422 (LUAFOO_VERSION_WITHOUT_ROCKSPEC_REVISION)
4423 * LUAFOO_BUILD_OPTS contains additional build options for the
4424 luarocks build call.
4426 17.10. Infrastructure for Perl/CPAN packages
4428 17.10.1. perl-package tutorial
4430 First, let’s see how to write a .mk file for a Perl/CPAN package,
4433 01: ################################################################################
4437 05: ################################################################################
4439 07: PERL_FOO_BAR_VERSION = 0.02
4440 08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz
4441 09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER
4442 10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures
4443 11: PERL_FOO_BAR_LICENSE = Artistic or GPLv1+
4444 12: PERL_FOO_BAR_LICENSE_FILES = LICENSE
4446 14: $(eval $(perl-package))
4448 On line 7, we declare the version of the package.
4450 On line 8 and 9, we declare the name of the tarball and the location
4451 of the tarball on a CPAN server. Buildroot will automatically
4452 download the tarball from this location.
4454 On line 10, we declare our dependencies, so that they are built
4455 before the build process of our package starts.
4457 On line 11 and 12, we give licensing details about the package (its
4458 license on line 11, and the file containing the license text on line
4461 Finally, on line 14, we invoke the perl-package macro that generates
4462 all the Makefile rules that actually allow the package to be built.
4464 Most of these data can be retrieved from https://metacpan.org/. So,
4465 this file and the Config.in can be generated by running the script
4466 supports/scripts/scancpan Foo-Bar in the Buildroot directory (or in
4467 the BR2_EXTERNAL directory). This script creates a Config.in file and
4468 foo-bar.mk file for the requested package, and also recursively for
4469 all dependencies specified by CPAN. You should still manually edit
4470 the result. In particular, the following things should be checked.
4472 * If the perl module links with a shared library that is provided
4473 by another (non-perl) package, this dependency is not added
4474 automatically. It has to be added manually to
4475 PERL_FOO_BAR_DEPENDENCIES.
4476 * The package/Config.in file has to be updated manually to include
4477 the generated Config.in files. As a hint, the scancpan script
4478 prints out the required source "…" statements, sorted
4481 17.10.2. perl-package reference
4483 As a policy, packages that provide Perl/CPAN modules should all be
4484 named perl-<something> in Buildroot.
4486 This infrastructure handles various Perl build systems :
4487 ExtUtils-MakeMaker, Module-Build and Module-Build-Tiny. Build.PL is
4488 always preferred when a package provides a Makefile.PL and a
4491 The main macro of the Perl/CPAN package infrastructure is
4492 perl-package. It is similar to the generic-package macro. The ability
4493 to have target and host packages is also available, with the
4494 host-perl-package macro.
4496 Just like the generic infrastructure, the Perl/CPAN infrastructure
4497 works by defining a number of variables before calling the
4500 First, all the package metadata information variables that exist in
4501 the generic infrastructure also exist in the Perl/CPAN
4502 infrastructure: PERL_FOO_VERSION, PERL_FOO_SOURCE, PERL_FOO_PATCH,
4503 PERL_FOO_SITE, PERL_FOO_SUBDIR, PERL_FOO_DEPENDENCIES,
4504 PERL_FOO_INSTALL_TARGET.
4506 Note that setting PERL_FOO_INSTALL_STAGING to YES has no effect
4507 unless a PERL_FOO_INSTALL_STAGING_CMDS variable is defined. The perl
4508 infrastructure doesn’t define these commands since Perl modules
4509 generally don’t need to be installed to the staging directory.
4511 A few additional variables, specific to the Perl/CPAN infrastructure,
4512 can also be defined. Many of them are only useful in very specific
4513 cases, typical packages will therefore only use a few of them.
4515 * PERL_FOO_CONF_ENV/HOST_PERL_FOO_CONF_ENV, to specify additional
4516 environment variables to pass to the perl Makefile.PL or perl
4517 Build.PL. By default, empty.
4518 * PERL_FOO_CONF_OPTS/HOST_PERL_FOO_CONF_OPTS, to specify additional
4519 configure options to pass to the perl Makefile.PL or perl
4520 Build.PL. By default, empty.
4521 * PERL_FOO_BUILD_OPTS/HOST_PERL_FOO_BUILD_OPTS, to specify
4522 additional options to pass to make pure_all or perl Build build
4523 in the build step. By default, empty.
4524 * PERL_FOO_INSTALL_TARGET_OPTS, to specify additional options to
4525 pass to make pure_install or perl Build install in the install
4526 step. By default, empty.
4527 * HOST_PERL_FOO_INSTALL_OPTS, to specify additional options to pass
4528 to make pure_install or perl Build install in the install step.
4531 17.11. Infrastructure for virtual packages
4533 In Buildroot, a virtual package is a package whose functionalities
4534 are provided by one or more packages, referred to as providers. The
4535 virtual package management is an extensible mechanism allowing the
4536 user to choose the provider used in the rootfs.
4538 For example, OpenGL ES is an API for 2D and 3D graphics on embedded
4539 systems. The implementation of this API is different for the
4540 Allwinner Tech Sunxi and the Texas Instruments OMAP35xx platforms. So
4541 libgles will be a virtual package and sunxi-mali and ti-gfx will be
4544 17.11.1. virtual-package tutorial
4546 In the following example, we will explain how to add a new virtual
4547 package (something-virtual) and a provider for it (some-provider).
4549 First, let’s create the virtual package.
4551 17.11.2. Virtual package’s Config.in file
4553 The Config.in file of virtual package something-virtual should
4556 01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
4559 04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL
4560 05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
4563 In this file, we declare two options,
4564 BR2_PACKAGE_HAS_SOMETHING_VIRTUAL and
4565 BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL, whose values will be used by
4568 17.11.3. Virtual package’s .mk file
4570 The .mk for the virtual package should just evaluate the
4571 virtual-package macro:
4573 01: ################################################################################
4575 03: # something-virtual
4577 05: ################################################################################
4579 07: $(eval $(virtual-package))
4581 The ability to have target and host packages is also available, with
4582 the host-virtual-package macro.
4584 17.11.4. Provider’s Config.in file
4586 When adding a package as a provider, only the Config.in file requires
4589 The Config.in file of the package some-provider, which provides the
4590 functionalities of something-virtual, should contain:
4592 01: config BR2_PACKAGE_SOME_PROVIDER
4593 02: bool "some-provider"
4594 03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
4596 05: This is a comment that explains what some-provider is.
4598 07: http://foosoftware.org/some-provider/
4600 09: if BR2_PACKAGE_SOME_PROVIDER
4601 10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL
4602 11: default "some-provider"
4605 On line 3, we select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL, and on line
4606 11, we set the value of BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL to the
4607 name of the provider, but only if it is selected.
4609 See Chapter 25, List of virtual packages for the symbols to select if
4610 you implement a new provider for an existing virtual package.
4612 17.11.5. Provider’s .mk file
4614 The .mk file should also declare an additional variable
4615 SOME_PROVIDER_PROVIDES to contain the names of all the virtual
4616 packages it is an implementation of:
4618 01: SOME_PROVIDER_PROVIDES = something-virtual
4620 Of course, do not forget to add the proper build and runtime
4621 dependencies for this package!
4623 See Chapter 25, List of virtual packages for the names of virtual
4624 packages to provide if you implement a new provider for an existing
4627 17.11.6. Notes on depending on a virtual package
4629 When adding a package that requires a certain FEATURE provided by a
4630 virtual package, you have to use depends on BR2_PACKAGE_HAS_FEATURE,
4633 config BR2_PACKAGE_HAS_FEATURE
4636 config BR2_PACKAGE_FOO
4638 depends on BR2_PACKAGE_HAS_FEATURE
4640 17.11.7. Notes on depending on a specific provider
4642 If your package really requires a specific provider, then you’ll have
4643 to make your package depends on this provider; you can not select a
4646 Let’s take an example with two providers for a FEATURE:
4648 config BR2_PACKAGE_HAS_FEATURE
4651 config BR2_PACKAGE_FOO
4653 select BR2_PACKAGE_HAS_FEATURE
4655 config BR2_PACKAGE_BAR
4657 select BR2_PACKAGE_HAS_FEATURE
4659 And you are adding a package that needs FEATURE as provided by foo,
4660 but not as provided by bar.
4662 If you were to use select BR2_PACKAGE_FOO, then the user would still
4663 be able to select BR2_PACKAGE_BAR in the menuconfig. This would
4664 create a configuration inconsistency, whereby two providers of the
4665 same FEATURE would be enabled at once, one explicitly set by the
4666 user, the other implicitly by your select.
4668 Instead, you have to use depends on BR2_PACKAGE_FOO, which avoids any
4669 implicit configuration inconsistency.
4671 17.12. Infrastructure for packages using kconfig for configuration
4674 A popular way for a software package to handle user-specified
4675 configuration is kconfig. Among others, it is used by the Linux
4676 kernel, Busybox, and Buildroot itself. The presence of a .config file
4677 and a menuconfig target are two well-known symptoms of kconfig being
4680 Buildroot features an infrastructure for packages that use kconfig
4681 for their configuration. This infrastructure provides the necessary
4682 logic to expose the package’s menuconfig target as foo-menuconfig in
4683 Buildroot, and to handle the copying back and forth of the
4684 configuration file in a correct way.
4686 The kconfig-package infrastructure is based on the generic-package
4687 infrastructure. All variables supported by generic-package are
4688 available in kconfig-package as well. See Section 17.5.2,
4689 “generic-package reference” for more details.
4691 In order to use the kconfig-package infrastructure for a Buildroot
4692 package, the minimally required lines in the .mk file, in addition to
4693 the variables required by the generic-package infrastructure, are:
4695 FOO_KCONFIG_FILE = reference-to-source-configuration-file
4697 $(eval $(kconfig-package))
4699 This snippet creates the following make targets:
4701 * foo-menuconfig, which calls the package’s menuconfig target
4702 * foo-update-config, which copies the configuration back to the
4703 source configuration file.
4705 and ensures that the source configuration file is copied to the build
4706 directory at the right moment.
4708 In addition to these minimally required lines, several optional
4709 variables can be set to suit the needs of the package under
4712 * FOO_KCONFIG_EDITORS: a space-separated list of kconfig editors to
4713 support, for example menuconfig xconfig. By default, menuconfig.
4714 * FOO_KCONFIG_OPTS: extra options to pass when calling the kconfig
4715 editors. This may need to include $(FOO_MAKE_OPTS), for example.
4717 * FOO_KCONFIG_FIXUP_CMDS: a list of shell commands needed to fixup
4718 the configuration file after copying it or running a kconfig
4719 editor. Such commands may be needed to ensure a configuration
4720 consistent with other configuration of Buildroot, for example. By
4723 17.13. Infrastructure for rebar-based packages
4725 17.13.1. rebar-package tutorial
4727 First, let’s see how to write a .mk file for a rebar-based package,
4730 01: ################################################################################
4734 05: ################################################################################
4736 07: ERLANG_FOOBAR_VERSION = 1.0
4737 08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz
4738 09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download
4739 10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb
4741 12: $(eval $(rebar-package))
4743 On line 7, we declare the version of the package.
4745 On line 8 and 9, we declare the name of the tarball (xz-ed tarball
4746 recommended) and the location of the tarball on the Web. Buildroot
4747 will automatically download the tarball from this location.
4749 On line 10, we declare our dependencies, so that they are built
4750 before the build process of our package starts.
4752 Finally, on line 12, we invoke the rebar-package macro that generates
4753 all the Makefile rules that actually allows the package to be built.
4755 17.13.2. rebar-package reference
4757 The main macro of the rebar package infrastructure is rebar-package.
4758 It is similar to the generic-package macro. The ability to have host
4759 packages is also available, with the host-rebar-package macro.
4761 Just like the generic infrastructure, the rebar infrastructure works
4762 by defining a number of variables before calling the rebar-package
4765 First, all the package metadata information variables that exist in
4766 the generic infrastructure also exist in the rebar infrastructure:
4767 ERLANG_FOOBAR_VERSION, ERLANG_FOOBAR_SOURCE, ERLANG_FOOBAR_PATCH,
4768 ERLANG_FOOBAR_SITE, ERLANG_FOOBAR_SUBDIR, ERLANG_FOOBAR_DEPENDENCIES,
4769 ERLANG_FOOBAR_INSTALL_STAGING, ERLANG_FOOBAR_INSTALL_TARGET,
4770 ERLANG_FOOBAR_LICENSE and ERLANG_FOOBAR_LICENSE_FILES.
4772 A few additional variables, specific to the rebar infrastructure, can
4773 also be defined. Many of them are only useful in very specific cases,
4774 typical packages will therefore only use a few of them.
4776 * ERLANG_FOOBAR_USE_AUTOCONF, to specify that the package uses
4777 autoconf at the configuration step. When a package sets this
4778 variable to YES, the autotools infrastructure is used.
4780 Note. You can also use some of the variables from the autotools
4781 infrastructure: ERLANG_FOOBAR_CONF_ENV, ERLANG_FOOBAR_CONF_OPTS,
4782 ERLANG_FOOBAR_AUTORECONF, ERLANG_FOOBAR_AUTORECONF_ENV and
4783 ERLANG_FOOBAR_AUTORECONF_OPTS.
4785 * ERLANG_FOOBAR_USE_BUNDLED_REBAR, to specify that the package has
4786 a bundled version of rebar and that it shall be used. Valid
4787 values are YES or NO (the default).
4789 Note. If the package bundles a rebar utility, but can use the
4790 generic one that Buildroot provides, just say NO (i.e., do not
4791 specify this variable). Only set if it is mandatory to use the
4792 rebar utility bundled in this package.
4794 * ERLANG_FOOBAR_REBAR_ENV, to specify additional environment
4795 variables to pass to the rebar utility.
4797 With the rebar infrastructure, all the steps required to build and
4798 install the packages are already defined, and they generally work
4799 well for most rebar-based packages. However, when required, it is
4800 still possible to customize what is done in any particular step:
4802 * By adding a post-operation hook (after extract, patch, configure,
4803 build or install). See Section 17.15, “Hooks available in the
4804 various build steps” for details.
4805 * By overriding one of the steps. For example, even if the rebar
4806 infrastructure is used, if the package .mk file defines its own
4807 ERLANG_FOOBAR_BUILD_CMDS variable, it will be used instead of the
4808 default rebar one. However, using this method should be
4809 restricted to very specific cases. Do not use it in the general
4812 17.14. Infrastructure for asciidoc documents
4814 The Buildroot manual, which you are currently reading, is entirely
4815 written using the AsciiDoc [http://asciidoc.org/] mark-up syntax. The
4816 manual is then rendered to many formats:
4824 Although Buildroot only contains one document written in AsciiDoc,
4825 there is, as for packages, an infrastructure for rendering documents
4826 using the AsciiDoc syntax.
4828 Also as for packages, the AsciiDoc infrastructure is available from
4829 BR2_EXTERNAL Section 9.2, “Keeping customizations outside of
4830 Buildroot”. This allows documentation for a BR2_EXTERNAL tree to
4831 match the Buildroot documentation, as it will be rendered to the same
4832 formats and use the same layout and theme.
4834 17.14.1. asciidoc-document tutorial
4836 Whereas package infrastructures are suffixed with -package, the
4837 document infrastructures are suffixed with -document. So, the
4838 AsciiDoc infrastructure is named asciidoc-document.
4840 Here is an example to render a simple AsciiDoc document.
4842 01: ################################################################################
4846 05: ################################################################################
4848 07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*))
4849 08: $(eval $(call asciidoc-document))
4851 On line 7, the Makefile declares what the sources of the document
4852 are. Currently, it is expected that the document’s sources are only
4853 local; Buildroot will not attempt to download anything to render a
4854 document. Thus, you must indicate where the sources are. Usually, the
4855 string above is sufficient for a document with no sub-directory
4858 On line 8, we call the asciidoc-document function, which generates
4859 all the Makefile code necessary to render the document.
4861 17.14.2. asciidoc-document reference
4863 The list of variables that can be set in a .mk file to give metadata
4864 information is (assuming the document name is foo) :
4866 * FOO_SOURCES, mandatory, defines the source files for the
4868 * FOO_RESOURCES, optional, may contain a space-separated list of
4869 paths to one or more directories containing so-called resources
4870 (like CSS or images). By default, empty.
4872 There are also additional hooks (see Section 17.15, “Hooks available
4873 in the various build steps” for general information on hooks), that a
4874 document may set to define extra actions to be done at various steps:
4876 * FOO_POST_RSYNC_HOOKS to run additional commands after the sources
4877 have been copied by Buildroot. This can for example be used to
4878 generate part of the manual with information extracted from the
4879 tree. As an example, Buildroot uses this hook to generate the
4880 tables in the appendices.
4881 * FOO_CHECK_DEPENDENCIES_HOOKS to run additional tests on required
4882 components to generate the document. In AsciiDoc, it is possible
4883 to call filters, that is, programs that will parse an AsciiDoc
4884 block and render it appropriately (e.g. ditaa [http://
4885 ditaa.sourceforge.net/] or aafigure [https://pythonhosted.org/
4887 * FOO_CHECK_DEPENDENCIES_<FMT>_HOOKS, to run additional tests for
4888 the specified format <FMT> (see the list of rendered formats,
4891 Here is a complete example that uses all variables and all hooks:
4893 01: ################################################################################
4897 05: ################################################################################
4899 07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*))
4900 08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/ressources))
4902 10: define FOO_GEN_EXTRA_DOC
4903 11: /path/to/generate-script --outdir=$(@D)
4905 13: FOO_POST_RSYNC_HOOKS += FOO_GEN_EXTRA_DOC
4907 15: define FOO_CHECK_MY_PROG
4908 16: if ! which my-prog >/dev/null 2>&1; then \
4909 17: echo "You need my-prog to generate the foo document"; \
4913 21: FOO_CHECK_DEPENDENCIES_HOOKS += FOO_CHECK_MY_PROG
4915 23: define FOO_CHECK_MY_OTHER_PROG
4916 24: if ! which my-other-prog >/dev/null 2>&1; then \
4917 25: echo "You need my-other-prog to generate the foo document as PDF"; \
4921 29: FOO_CHECK_DEPENDENCIES_PDF_HOOKS += FOO_CHECK_MY_OTHER_PROG
4923 31: $(eval $(call asciidoc-document))
4925 17.15. Hooks available in the various build steps
4927 The generic infrastructure (and as a result also the derived
4928 autotools and cmake infrastructures) allow packages to specify hooks.
4929 These define further actions to perform after existing steps. Most
4930 hooks aren’t really useful for generic packages, since the .mk file
4931 already has full control over the actions performed in each step of
4932 the package construction.
4934 The following hook points are available:
4936 * LIBFOO_PRE_DOWNLOAD_HOOKS
4937 * LIBFOO_POST_DOWNLOAD_HOOKS
4938 * LIBFOO_PRE_EXTRACT_HOOKS
4939 * LIBFOO_POST_EXTRACT_HOOKS
4940 * LIBFOO_PRE_RSYNC_HOOKS
4941 * LIBFOO_POST_RSYNC_HOOKS
4942 * LIBFOO_PRE_PATCH_HOOKS
4943 * LIBFOO_POST_PATCH_HOOKS
4944 * LIBFOO_PRE_CONFIGURE_HOOKS
4945 * LIBFOO_POST_CONFIGURE_HOOKS
4946 * LIBFOO_PRE_BUILD_HOOKS
4947 * LIBFOO_POST_BUILD_HOOKS
4948 * LIBFOO_PRE_INSTALL_HOOKS (for host packages only)
4949 * LIBFOO_POST_INSTALL_HOOKS (for host packages only)
4950 * LIBFOO_PRE_INSTALL_STAGING_HOOKS (for target packages only)
4951 * LIBFOO_POST_INSTALL_STAGING_HOOKS (for target packages only)
4952 * LIBFOO_PRE_INSTALL_TARGET_HOOKS (for target packages only)
4953 * LIBFOO_POST_INSTALL_TARGET_HOOKS (for target packages only)
4954 * LIBFOO_PRE_INSTALL_IMAGES_HOOKS
4955 * LIBFOO_POST_INSTALL_IMAGES_HOOKS
4956 * LIBFOO_PRE_LEGAL_INFO_HOOKS
4957 * LIBFOO_POST_LEGAL_INFO_HOOKS
4959 These variables are lists of variable names containing actions to be
4960 performed at this hook point. This allows several hooks to be
4961 registered at a given hook point. Here is an example:
4963 define LIBFOO_POST_PATCH_FIXUP
4968 LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP
4970 17.15.1. Using the POST_RSYNC hook
4972 The POST_RSYNC hook is run only for packages that use a local source,
4973 either through the local site method or the OVERRIDE_SRCDIR
4974 mechanism. In this case, package sources are copied using rsync from
4975 the local location into the buildroot build directory. The rsync
4976 command does not copy all files from the source directory, though.
4977 Files belonging to a version control system, like the directories
4978 .git, .hg, etc. are not copied. For most packages this is sufficient,
4979 but a given package can perform additional actions using the
4982 In principle, the hook can contain any command you want. One specific
4983 use case, though, is the intentional copying of the version control
4984 directory using rsync. The rsync command you use in the hook can,
4985 among others, use the following variables:
4987 * $(SRCDIR): the path to the overridden source directory
4988 * $(@D): the path to the build directory
4990 17.16. Gettext integration and interaction with packages
4992 Many packages that support internationalization use the gettext
4993 library. Dependencies for this library are fairly complicated and
4994 therefore, deserve some explanation.
4996 The uClibc C library doesn’t implement gettext functionality;
4997 therefore with this C library, a separate gettext must be compiled,
4998 which is provided by the additional libintl library, part of the
5001 On the other hand, the glibc C library does integrate its own gettext
5002 library functions, so it is not necessary to build a separate libintl
5005 However, certain packages need some gettext utilities on the target,
5006 such as the gettext program itself, which allows to retrieve
5007 translated strings, from the command line.
5009 Additionally, some packages (such as libglib2) do require gettext
5010 functions unconditionally, while other packages (in general, those
5011 who support --disable-nls) only require gettext functions when locale
5014 Therefore, Buildroot defines two configuration options:
5016 * BR2_NEEDS_GETTEXT, which is true as soon as the toolchain doesn’t
5017 provide its own gettext implementation
5018 * BR2_NEEDS_GETTEXT_IF_LOCALE, which is true if the toolchain
5019 doesn’t provide its own gettext implementation and if locale
5022 Packages that need gettext only when locale support is enabled
5025 * use select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE in
5027 * use $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) in the package
5028 DEPENDENCIES variable in the .mk file.
5030 Packages that unconditionally need gettext (which should be very
5033 * use select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT in the
5035 * use $(if $(BR2_NEEDS_GETTEXT),gettext) in the package
5036 DEPENDENCIES variable in the .mk file.
5038 Packages that need the gettext utilities on the target (should be
5041 * use select BR2_PACKAGE_GETTEXT in their Config.in file,
5042 indicating in a comment above that it’s a runtime dependency
5044 * not add any gettext dependency in the DEPENDENCIES variable of
5047 17.17. Tips and tricks
5049 17.17.1. Package name, config entry name and makefile variable
5052 In Buildroot, there is some relationship between:
5054 * the package name, which is the package directory name (and the
5055 name of the *.mk file);
5056 * the config entry name that is declared in the Config.in file;
5057 * the makefile variable prefix.
5059 It is mandatory to maintain consistency between these elements, using
5060 the following rules:
5062 * the package directory and the *.mk name are the package name
5063 itself (e.g.: package/foo-bar_boo/foo-bar_boo.mk);
5064 * the make target name is the package name itself (e.g.:
5066 * the config entry is the upper case package name with . and -
5067 characters substituted with _, prefixed with BR2_PACKAGE_ (e.g.:
5068 BR2_PACKAGE_FOO_BAR_BOO);
5069 * the *.mk file variable prefix is the upper case package name with
5070 . and - characters substituted with _ (e.g.:
5071 FOO_BAR_BOO_VERSION).
5073 17.17.2. How to add a package from GitHub
5075 Packages on GitHub often don’t have a download area with release
5076 tarballs. However, it is possible to download tarballs directly from
5077 the repository on GitHub. As GitHub is known to have changed download
5078 mechanisms in the past, the github helper function should be used as
5081 # Use a tag or a full commit ID
5083 FOO_SITE = $(call github,<user>,<package>,$(FOO_VERSION))
5087 * The FOO_VERSION can either be a tag or a commit ID.
5088 * The tarball name generated by github matches the default one from
5090 foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz), so it is
5091 not necessary to specify it in the .mk file.
5092 * When using a commit ID as version, you should use the full 40 hex
5095 If the package you wish to add does have a release section on GitHub,
5096 the maintainer may have uploaded a release tarball, or the release
5097 may just point to the automatically generated tarball from the git
5098 tag. If there is a release tarball uploaded by the maintainer, we
5099 prefer to use that since it may be slightly different (e.g. it
5100 contains a configure script so we don’t need to do AUTORECONF).
5102 You can see on the release page if it’s an uploaded tarball or a git
5105 * If there is a green download button, like mongrel2 [https://
5106 github.com/zedshaw/mongrel2/releases/tag/v1.9.1], then it was
5107 uploaded by the maintainer and you should use the link of that
5108 button to specify FOO_SITE, and not use the github helper.
5109 * If there is grey download button, like xbmc [https://github.com/
5110 xbmc/xbmc/releases/tag/13.2-Gotham], then it’s an automatically
5111 generated tarball and you should use the github helper function.
5115 As you can see, adding a software package to Buildroot is simply a
5116 matter of writing a Makefile using an existing example and modifying
5117 it according to the compilation process required by the package.
5119 If you package software that might be useful for other people, don’t
5120 forget to send a patch to the Buildroot mailing list (see
5121 Section 21.5, “Submitting patches”)!
5123 Chapter 18. Patching a package
5125 While integrating a new package or updating an existing one, it may
5126 be necessary to patch the source of the software to get it
5127 cross-built within Buildroot.
5129 Buildroot offers an infrastructure to automatically handle this
5130 during the builds. It supports three ways of applying patch sets:
5131 downloaded patches, patches supplied within buildroot and patches
5132 located in a user-defined global patch directory.
5134 18.1. Providing patches
5138 If it is necessary to apply a patch that is available for download,
5139 then add it to the <packagename>_PATCH variable. It is downloaded
5140 from the same site as the package itself. It can be a single patch,
5141 or a tarball containing a patch series.
5143 This method is typically used for packages from Debian.
5145 18.1.2. Within Buildroot
5147 Most patches are provided within Buildroot, in the package directory;
5148 these typically aim to fix cross-compilation, libc support, or other
5151 These patch files should be named <number>-<description>.patch.
5155 * The patch files coming with Buildroot should not contain any
5156 package version reference in their filename.
5157 * The field <number> in the patch file name refers to the apply
5158 order, and shall start at 1; It is preferred to pad the number
5159 with zeros up to 4 digits, like git-format-patch does. E.g.:
5160 0001-foobar-the-buz.patch
5161 * Previously, it was mandatory for patches to be prefixed with the
5162 name of the package, like <package>-<number>-<description>.patch,
5163 but that is no longer the case. Existing packages will be fixed
5164 as time passes. Do not prefix patches with the package name.
5165 * Previously, a series file, as used by quilt, could also be added
5166 in the package directory. In that case, the series file defines
5167 the patch application order. This is deprecated, and will be
5168 removed in the future. Do not use a series file.
5170 18.1.3. Global patch directory
5172 The BR2_GLOBAL_PATCH_DIR configuration file option can be used to
5173 specify a space separated list of one or more directories containing
5174 global package patches. See Section 9.8, “Adding project-specific
5175 patches” for details.
5177 18.2. How patches are applied
5179 1. Run the <packagename>_PRE_PATCH_HOOKS commands if defined;
5180 2. Cleanup the build directory, removing any existing *.rej files;
5181 3. If <packagename>_PATCH is defined, then patches from these
5182 tarballs are applied;
5183 4. If there are some *.patch files in the package’s Buildroot
5184 directory or in a package subdirectory named <packageversion>,
5187 + If a series file exists in the package directory, then
5188 patches are applied according to the series file;
5189 + Otherwise, patch files matching <packagename>-*.patch are
5190 applied in alphabetical order. So, to ensure they are applied
5191 in the right order, it is highly recommended to name the
5192 patch files like this: <packagename>-<number>-
5193 <description>.patch, where <number> refers to the apply order
5195 5. If BR2_GLOBAL_PATCH_DIR is defined, the directories will be
5196 enumerated in the order they are specified. The patches are
5197 applied as described in the previous step.
5198 6. Run the <packagename>_POST_PATCH_HOOKS commands if defined.
5200 If something goes wrong in the steps 3 or 4, then the build fails.
5202 18.3. Format and licensing of the package patches
5204 Patches are released under the same license as the software that is
5207 A message explaining what the patch does, and why it is needed,
5208 should be added in the header commentary of the patch.
5210 You should add a Signed-off-by statement in the header of the each
5211 patch to help with keeping track of the changes and to certify that
5212 the patch is released under the same license as the software that is
5215 If the software is under version control, it is recommended to use
5216 the upstream SCM software to generate the patch set.
5218 Otherwise, concatenate the header with the output of the diff -purN
5219 package-version.orig/ package-version/ command.
5221 At the end, the patch should look like:
5223 configure.ac: add C++ support test
5225 Signed-off-by: John Doe <john.doe@noname.org>
5227 --- configure.ac.orig
5233 +AC_CACHE_CHECK([whether the C++ compiler works],
5234 + [rw_cv_prog_cxx_works],
5235 + [AC_LANG_PUSH([C++])
5236 + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
5237 + [rw_cv_prog_cxx_works=yes],
5238 + [rw_cv_prog_cxx_works=no])
5239 + AC_LANG_POP([C++])])
5241 +AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"])
5243 18.4. Integrating patches found on the Web
5245 When integrating a patch of which you are not the author, you have to
5246 add a few things in the header of the patch itself.
5248 Depending on whether the patch has been obtained from the project
5249 repository itself, or from somewhere on the web, add one of the
5252 Backported from: <some commit id>
5256 Fetch from: <some url>
5258 It is also sensible to add a few words about any changes to the patch
5259 that may have been necessary.
5261 Chapter 19. Download infrastructure
5265 Chapter 20. Debugging Buildroot
5267 It is possible to instrument the steps Buildroot does when building
5268 packages. Define the variable BR2_INSTRUMENTATION_SCRIPTS to contain
5269 the path of one or more scripts (or other executables), in a
5270 space-separated list, you want called before and after each step. The
5271 scripts are called in sequence, with three parameters:
5273 * start or end to denote the start (resp. the end) of a step;
5274 * the name of the step about to be started, or which just ended;
5275 * the name of the package.
5279 make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2"
5281 The list of steps is:
5287 * install-host, when a host-package is installed in $(HOST_DIR)
5288 * install-target, when a target-package is installed in $
5290 * install-staging, when a target-package is installed in $
5292 * install-image, when a target-package installs files in $
5295 The script has access to the following variables:
5297 * BR2_CONFIG: the path to the Buildroot .config file
5298 * HOST_DIR, STAGING_DIR, TARGET_DIR: see Section 17.5.2,
5299 “generic-package reference”
5300 * BUILD_DIR: the directory where packages are extracted and built
5301 * BINARIES_DIR: the place where all binary files (aka images) are
5303 * BASE_DIR: the base output directory
5305 Chapter 21. Contributing to Buildroot
5307 There are many ways in which you can contribute to Buildroot:
5308 analyzing and fixing bugs, analyzing and fixing package build
5309 failures detected by the autobuilders, testing and reviewing patches
5310 sent by other developers, working on the items in our TODO list and
5311 sending your own improvements to Buildroot or its manual. The
5312 following sections give a little more detail on each of these items.
5314 If you are interested in contributing to Buildroot, the first thing
5315 you should do is to subscribe to the Buildroot mailing list. This
5316 list is the main way of interacting with other Buildroot developers
5317 and to send contributions to. If you aren’t subscribed yet, then
5318 refer to Chapter 5, Community resources for the subscription link.
5320 If you are going to touch the code, it is highly recommended to use a
5321 git repository of Buildroot, rather than starting from an extracted
5322 source code tarball. Git is the easiest way to develop from and
5323 directly send your patches to the mailing list. Refer to Chapter 3,
5324 Getting Buildroot for more information on obtaining a Buildroot git
5327 21.1. Reproducing, analyzing and fixing bugs
5329 A first way of contributing is to have a look at the open bug reports
5330 in the Buildroot bug tracker [https://bugs.busybox.net/buglist.cgi?
5331 product=buildroot]. As we strive to keep the bug count as small as
5332 possible, all help in reproducing, analyzing and fixing reported bugs
5333 is more than welcome. Don’t hesitate to add a comment to bug reports
5334 reporting your findings, even if you don’t yet see the full picture.
5336 21.2. Analyzing and fixing autobuild failures
5338 The Buildroot autobuilders are a set of build machines that
5339 continuously run Buildroot builds based on random configurations.
5340 This is done for all architectures supported by Buildroot, with
5341 various toolchains, and with a random selection of packages. With the
5342 large commit activity on Buildroot, these autobuilders are a great
5343 help in detecting problems very early after commit.
5345 All build results are available at http://autobuild.buildroot.org,
5346 statistics are at http://autobuild.buildroot.org/stats.php. Every
5347 day, an overview of all failed packages is sent to the mailing list.
5349 Detecting problems is great, but obviously these problems have to be
5350 fixed as well. Your contribution is very welcome here! There are
5351 basically two things that can be done:
5353 * Analyzing the problems. The daily summary mails do not contain
5354 details about the actual failures: in order to see what’s going
5355 on you have to open the build log and check the last output.
5356 Having someone doing this for all packages in the mail is very
5357 useful for other developers, as they can make a quick initial
5358 analysis based on this output alone.
5359 * Fixing a problem. When fixing autobuild failures, you should
5362 1. Check if you can reproduce the problem by building with the
5363 same configuration. You can do this manually, or use the
5364 br-reproduce-build [http://git.buildroot.org/buildroot-test/
5365 tree/utils/br-reproduce-build] script that will automatically
5366 clone a Buildroot git repository, checkout the correct
5367 revision, download and set the right configuration, and start
5369 2. Analyze the problem and create a fix.
5370 3. Verify that the problem is really fixed by starting from a
5371 clean Buildroot tree and only applying your fix.
5372 4. Send the fix to the Buildroot mailing list (see Section 21.5,
5373 “Submitting patches”). In case you created a patch against
5374 the package sources, you should also send the patch upstream
5375 so that the problem will be fixed in a later release, and the
5376 patch in Buildroot can be removed. In the commit message of a
5377 patch fixing an autobuild failure, add a reference to the
5378 build result directory, as follows:
5380 Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069
5382 21.3. Reviewing and testing patches
5384 With the amount of patches sent to the mailing list each day, the
5385 maintainer has a very hard job to judge which patches are ready to
5386 apply and which ones aren’t. Contributors can greatly help here by
5387 reviewing and testing these patches.
5389 In the review process, do not hesitate to respond to patch
5390 submissions for remarks, suggestions or anything that will help
5391 everyone to understand the patches and make them better. Please use
5392 internet style replies in plain text emails when responding to patch
5395 To indicate approval of a patch, there are three formal tags that
5396 keep track of this approval. To add your tag to a patch, reply to it
5397 with the approval tag below the original author’s Signed-off-by line.
5398 These tags will be picked up automatically by patchwork (see
5399 Section 21.3.1, “Applying Patches from Patchwork”) and will be part
5400 of the commit log when the patch is accepted.
5403 Indicates that the patch has been tested successfully. You are
5404 encouraged to specify what kind of testing you performed
5405 (compile-test on architecture X and Y, runtime test on target A,
5406 …). This additional information helps other testers and the
5409 Indicates that you code-reviewed the patch and did your best in
5410 spotting problems, but you are not sufficiently familiar with the
5411 area touched to provide an Acked-by tag. This means that there
5412 may be remaining problems in the patch that would be spotted by
5413 someone with more experience in that area. Should such problems
5414 be detected, your Reviewed-by tag remains appropriate and you
5417 Indicates that you code-reviewed the patch and you are familiar
5418 enough with the area touched to feel that the patch can be
5419 committed as-is (no additional changes required). In case it
5420 later turns out that something is wrong with the patch, your
5421 Acked-by could be considered inappropriate. The difference
5422 between Acked-by and Reviewed-by is thus mainly that you are
5423 prepared to take the blame on Acked patches, but not on Reviewed
5426 If you reviewed a patch and have comments on it, you should simply
5427 reply to the patch stating these comments, without providing a
5428 Reviewed-by or Acked-by tag. These tags should only be provided if
5429 you judge the patch to be good as it is.
5431 It is important to note that neither Reviewed-by nor Acked-by imply
5432 that testing has been performed. To indicate that you both reviewed
5433 and tested the patch, provide two separate tags (Reviewed/Acked-by
5436 Note also that any developer can provide Tested/Reviewed/Acked-by
5437 tags, without exception, and we encourage everyone to do this.
5438 Buildroot does not have a defined group of core developers, it just
5439 so happens that some developers are more active than others. The
5440 maintainer will value tags according to the track record of their
5441 submitter. Tags provided by a regular contributor will naturally be
5442 trusted more than tags provided by a newcomer. As you provide tags
5443 more regularly, your trustworthiness (in the eyes of the maintainer)
5444 will go up, but any tag provided is valuable.
5446 Buildroot’s Patchwork website can be used to pull in patches for
5447 testing purposes. Please see Section 21.3.1, “Applying Patches from
5448 Patchwork” for more information on using Buildroot’s Patchwork
5449 website to apply patches.
5451 21.3.1. Applying Patches from Patchwork
5453 The main use of Buildroot’s Patchwork website for a developer is for
5454 pulling in patches into their local git repository for testing
5457 When browsing patches in the patchwork management interface, an mbox
5458 link is provided at the top of the page. Copy this link address and
5459 run the following commands:
5461 $ git checkout -b <test-branch-name>
5462 $ wget -O - <mbox-url> | git am
5464 Another option for applying patches is to create a bundle. A bundle
5465 is a set of patches that you can group together using the patchwork
5466 interface. Once the bundle is created and the bundle is made public,
5467 you can copy the mbox link for the bundle and apply the bundle using
5470 21.4. Work on items from the TODO list
5472 If you want to contribute to Buildroot but don’t know where to start,
5473 and you don’t like any of the above topics, you can always work on
5474 items from the Buildroot TODO list [http://elinux.org/Buildroot#
5475 Todo_list]. Don’t hesitate to discuss an item first on the mailing
5476 list or on IRC. Do edit the wiki to indicate when you start working
5477 on an item, so we avoid duplicate efforts.
5479 21.5. Submitting patches
5483 Please, do not attach patches to bugs, send them to the mailing list
5486 If you made some changes to Buildroot and you would like to
5487 contribute them to the Buildroot project, proceed as follows.
5488 Starting from the changes committed in your local git view, rebase
5489 your development branch on top of the upstream tree before generating
5490 a patch set. To do so, run:
5492 $ git fetch --all --tags
5493 $ git rebase origin/master
5495 Now, you are ready to generate then submit your patch set.
5497 To generate it, run:
5499 $ git format-patch -M -n -s -o outgoing origin/master
5501 This will generate patch files in the outgoing subdirectory,
5502 automatically adding the Signed-off-by line.
5504 Once patch files are generated, you can review/edit the commit
5505 message before submitting them, using your favorite text editor.
5507 Lastly, send/submit your patch set to the Buildroot mailing list:
5509 $ git send-email --to buildroot@buildroot.org outgoing/*
5511 Note that git should be configured to use your mail account. To
5512 configure git, see man git-send-email or google it.
5514 If you do not use git send-email, make sure posted patches are not
5515 line-wrapped, otherwise they cannot easily be applied. In such a
5516 case, fix your e-mail client, or better yet, learn to use git
5519 21.5.1. Cover letter
5521 If you want to present the whole patch set in a separate mail, add
5522 --cover-letter to the git format-patch command (see man
5523 git-format-patch for further information). This will generate a
5524 template for an introduction e-mail to your patch series.
5526 A cover letter may be useful to introduce the changes you propose in
5527 the following cases:
5529 * large number of commits in the series;
5530 * deep impact of the changes in the rest of the project;
5532 * whenever you feel it will help presenting your work, your
5533 choices, the review process, etc.
5535 21.5.2. Patch revision changelog
5537 When improvements are requested, the new revision of each commit
5538 should include a changelog of the modifications between each
5539 submission. Note that when your patch series is introduced by a cover
5540 letter, an overall changelog may be added to the cover letter in
5541 addition to the changelog in the individual commits. The best thing
5542 to rework a patch series is by interactive rebasing: git rebase -i
5543 origin/master. Consult the git manual for more information.
5545 When added to the individual commits, this changelog is added when
5546 editing the commit message. Below the Signed-off-by section, add ---
5549 Although the changelog will be visible for the reviewers in the mail
5550 thread, as well as in patchwork [http://patchwork.buildroot.org], git
5551 will automatically ignores lines below --- when the patch will be
5552 merged. This is the intended behavior: the changelog is not meant to
5553 be preserved forever in the git history of the project.
5555 Hereafter the recommended layout:
5557 Patch title: short explanation, max 72 chars
5559 A paragraph that explains the problem, and how it manifests itself. If
5560 the problem is complex, it is OK to add more paragraphs. All paragraphs
5561 should be wrapped at 72 characters.
5563 A paragraph that explains the root cause of the problem. Again, more
5564 than on paragraph is OK.
5566 Finally, one or more paragraphs that explain how the problem is solved.
5567 Don't hesitate to explain complex solutions in detail.
5569 Signed-off-by: John DOE <john.doe@example.net>
5573 - foo bar (suggested by Jane)
5577 - alpha bravo (suggested by John)
5580 Any patch revision should include the version number. The version
5581 number is simply composed of the letter v followed by an integer
5582 greater or equal to two (i.e. "PATCH v2", "PATCH v3" …).
5584 This can be easily handled with git format-patch by using the option
5587 $ git format-patch --subject-prefix "PATCH v4" \
5588 -M -s -o outgoing origin/master
5590 21.6. Reporting issues/bugs or getting help
5592 Before reporting any issue, please check in the mailing list archive
5593 Chapter 5, Community resources whether someone has already reported
5594 and/or fixed a similar problem.
5596 However you choose to report bugs or get help, either by opening a
5597 bug in the bug tracker Chapter 5, Community resources or by sending a
5598 mail to the mailing list Chapter 5, Community resources, there are a
5599 number of details to provide in order to help people reproduce and
5600 find a solution to the issue.
5602 Try to think as if you were trying to help someone else; in that
5603 case, what would you need?
5605 Here is a short list of details to provide in such case:
5607 * host machine (OS/release)
5608 * version of Buildroot
5609 * target for which the build fails
5610 * package(s) for which the build fails
5611 * the command that fails and its output
5612 * any information you think that may be relevant
5614 Additionally, you should add the .config file (or if you know how, a
5615 defconfig; see Section 9.3, “Storing the Buildroot configuration”).
5617 If some of these details are too large, do not hesitate to use a
5618 pastebin service. Note that not all available pastebin services will
5619 preserve Unix-style line terminators when downloading raw pastes.
5620 Following pastebin services are known to work correctly: - https://
5621 gist.github.com/ - http://code.bulix.org/
5624 ---------------------------------------------------------------------
5626 ^[4] RFC: (Request for comments) change proposal
5632 22. Makedev syntax documentation
5633 23. Makeusers syntax documentation
5634 24. List of target packages available in Buildroot
5635 25. List of virtual packages
5636 26. List of host utilities available in Buildroot
5637 27. Deprecated features
5639 Chapter 22. Makedev syntax documentation
5641 The makedev syntax is used in several places in Buildroot to define
5642 changes to be made for permissions, or which device files to create
5643 and how to create them, in order to avoid calls to mknod.
5645 This syntax is derived from the makedev utility, and more complete
5646 documentation can be found in the package/makedevs/README file.
5648 It takes the form of a space separated list of fields, one file per
5649 line; the fields are:
5651 +--------------------------------------------------+
5652 |name|type|mode|uid|gid|major|minor|start|inc|count|
5653 +--------------------------------------------------+
5655 There are a few non-trivial blocks:
5657 * name is the path to the file you want to create/modify
5658 * type is the type of the file, being one of:
5662 + r: a directory recursively
5663 + c: a character device file
5664 + b: a block device file
5666 * mode, uid and gid are the usual permissions settings
5667 * major and minor are here for device files - set to - for other
5669 * start, inc and count are for when you want to create a batch of
5670 files, and can be reduced to a loop, beginning at start,
5671 incrementing its counter by inc until it reaches count
5673 Let’s say you want to change the permissions of a given file; using
5674 this syntax, you will need to put:
5676 /usr/bin/foobar f 644 0 0 - - - - -
5678 Alternatively, if you want to change owner/permission of a directory
5679 recursively, you can put:
5681 /usr/share/myapp r 750 myuser myuser - - - - -
5683 On the other hand, if you want to create the device file /dev/hda and
5684 the corresponding 15 files for the partitions, you will need for /dev
5687 /dev/hda b 640 0 0 3 0 0 0 -
5689 and then for device files corresponding to the partitions of /dev/
5690 hda, /dev/hdaX, X ranging from 1 to 15:
5692 /dev/hda b 640 0 0 3 1 1 1 15
5694 Chapter 23. Makeusers syntax documentation
5696 The syntax to create users is inspired by the makedev syntax, above,
5697 but is specific to Buildroot.
5699 The syntax for adding a user is a space-separated list of fields, one
5700 user per line; the fields are:
5702 +---------------------------------------------------------+
5703 |username|uid|group|gid|password|home|shell|groups|comment|
5704 +---------------------------------------------------------+
5708 * username is the desired user name (aka login name) for the user.
5709 It can not be root, and must be unique. If set to -, then just a
5710 group will be created.
5711 * uid is the desired UID for the user. It must be unique, and not
5712 0. If set to -1, then a unique UID will be computed by Buildroot
5713 in the range [1000…1999]
5714 * group is the desired name for the user’s main group. It can not
5715 be root. If the group does not exist, it will be created.
5716 * gid is the desired GID for the user’s main group. It must be
5717 unique, and not 0. If set to -1, and the group does not already
5718 exist, then a unique GID will be computed by Buildroot in the
5720 * password is the crypt(3)-encoded password. If prefixed with !,
5721 then login is disabled. If prefixed with =, then it is
5722 interpreted as clear-text, and will be crypt-encoded (using MD5).
5723 If prefixed with !=, then the password will be crypt-encoded
5724 (using MD5) and login will be disabled. If set to *, then login
5726 * home is the desired home directory for the user. If set to -, no
5727 home directory will be created, and the user’s home will be /.
5728 Explicitly setting home to / is not allowed.
5729 * shell is the desired shell for the user. If set to -, then /bin/
5730 false is set as the user’s shell.
5731 * groups is the comma-separated list of additional groups the user
5732 should be part of. If set to -, then the user will be a member of
5733 no additional group. Missing groups will be created with an
5735 * comment (aka GECOS [https://en.wikipedia.org/wiki/Gecos_field]
5736 field) is an almost-free-form text.
5738 There are a few restrictions on the content of each field:
5740 * except for comment, all fields are mandatory.
5741 * except for comment, fields may not contain spaces.
5742 * no field may contain a colon (:).
5744 If home is not -, then the home directory, and all files below, will
5745 belong to the user and its main group.
5749 foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user
5751 This will create this user:
5753 * username (aka login name) is: foo
5754 * uid is computed by Buildroot
5755 * main group is: bar
5756 * main group gid is computed by Buildroot
5757 * clear-text password is: blabla, will be crypt(3)-encoded, and
5759 * home is: /home/foo
5761 * foo is also a member of groups: alpha and bravo
5762 * comment is: Foo user
5764 test 8000 wheel -1 = - /bin/sh - Test user
5766 This will create this user:
5768 * username (aka login name) is: test
5770 * main group is: wheel
5771 * main group gid is computed by Buildroot, and will use the value
5772 defined in the rootfs skeleton
5773 * password is empty (aka no password).
5774 * home is / but will not belong to test
5776 * test is not a member of any additional groups
5777 * comment is: Test user
5779 Chapter 24. List of target packages available in Buildroot
5781 +-------------------------------------------------------------------+
5782 | Packages |Target packages → … |
5783 |-------------------------------+-----------------------------------|
5784 | a10disp |→ Hardware handling |
5785 |-------------------------------+-----------------------------------|
5786 | acl |→ System tools |
5787 |-------------------------------+-----------------------------------|
5788 | acpid |→ Hardware handling |
5789 |-------------------------------+-----------------------------------|
5790 | adwaita icon theme |→ Fonts, icons, sounds and themes |
5791 |-------------------------------+-----------------------------------|
5792 | aespipe |→ Miscellaneous |
5793 |-------------------------------+-----------------------------------|
5794 | agent++ |→ Libraries → Networking |
5795 |-------------------------------+-----------------------------------|
5796 | aiccu |→ Networking applications |
5797 |-------------------------------+-----------------------------------|
5798 | aircrack-ng |→ Networking applications |
5799 |-------------------------------+-----------------------------------|
5800 | alsa-lib |→ Libraries → Audio/Sound |
5801 |-------------------------------+-----------------------------------|
5802 | alsa-utils |→ Audio and video applications |
5803 |-------------------------------+-----------------------------------|
5804 | alsamixergui |→ Graphic libraries and |
5805 | |applications (graphic/text) |
5806 |-------------------------------+-----------------------------------|
5807 | am335x-pru-package |→ Hardware handling |
5808 |-------------------------------+-----------------------------------|
5809 | am33x-cm3 |→ Hardware handling → Firmware |
5810 |-------------------------------+-----------------------------------|
5811 | apache |→ Networking applications |
5812 |-------------------------------+-----------------------------------|
5813 | apitrace |→ Graphic libraries and |
5814 | |applications (graphic/text) |
5815 |-------------------------------+-----------------------------------|
5816 | applewmproto |→ Graphic libraries and |
5817 | |applications (graphic/text) → X11R7|
5819 |-------------------------------+-----------------------------------|
5820 | appres |→ Graphic libraries and |
5821 | |applications (graphic/text) → X11R7|
5823 |-------------------------------+-----------------------------------|
5824 | apr |→ Libraries → Other |
5825 |-------------------------------+-----------------------------------|
5826 | apr-util |→ Libraries → Other |
5827 |-------------------------------+-----------------------------------|
5828 | argp-standalone |→ Libraries → Other |
5829 |-------------------------------+-----------------------------------|
5830 | argus |→ Networking applications |
5831 |-------------------------------+-----------------------------------|
5832 | armadillo |→ Libraries → Other |
5833 |-------------------------------+-----------------------------------|
5834 | arptables |→ Networking applications |
5835 |-------------------------------+-----------------------------------|
5836 | at |→ Shell and utilities |
5837 |-------------------------------+-----------------------------------|
5838 | atftp |→ Networking applications |
5839 |-------------------------------+-----------------------------------|
5840 | atk |→ Libraries → Graphics |
5841 |-------------------------------+-----------------------------------|
5842 | attr |→ System tools |
5843 |-------------------------------+-----------------------------------|
5844 | audiofile |→ Libraries → Audio/Sound |
5845 |-------------------------------+-----------------------------------|
5846 | aumix |→ Audio and video applications |
5847 |-------------------------------+-----------------------------------|
5848 | autossh |→ Networking applications |
5849 |-------------------------------+-----------------------------------|
5850 | avahi |→ Networking applications |
5851 |-------------------------------+-----------------------------------|
5852 | avrdude |→ Hardware handling |
5853 |-------------------------------+-----------------------------------|
5854 | axel |→ Networking applications |
5855 |-------------------------------+-----------------------------------|
5856 | b43-firmware |→ Hardware handling → Firmware |
5857 |-------------------------------+-----------------------------------|
5858 | bandwidthd |→ Networking applications |
5859 |-------------------------------+-----------------------------------|
5860 | bash |→ Shell and utilities |
5861 |-------------------------------+-----------------------------------|
5862 | batctl |→ Networking applications |
5863 |-------------------------------+-----------------------------------|
5864 | bc |→ Miscellaneous |
5865 |-------------------------------+-----------------------------------|
5866 | bcache tools |→ Hardware handling |
5867 |-------------------------------+-----------------------------------|
5868 | bcusdk |→ Networking applications |
5869 |-------------------------------+-----------------------------------|
5870 | bdftopcf |→ Graphic libraries and |
5871 | |applications (graphic/text) → X11R7|
5873 |-------------------------------+-----------------------------------|
5874 | bdwgc |→ Libraries → Other |
5875 |-------------------------------+-----------------------------------|
5876 | beecrypt |→ Libraries → Crypto |
5877 |-------------------------------+-----------------------------------|
5878 | beforelight |→ Graphic libraries and |
5879 | |applications (graphic/text) → X11R7|
5881 |-------------------------------+-----------------------------------|
5882 | bellagio |→ Audio and video applications |
5883 |-------------------------------+-----------------------------------|
5884 | benejson |→ Libraries → JSON/XML |
5885 |-------------------------------+-----------------------------------|
5886 | berkeleydb |→ Libraries → Database |
5887 |-------------------------------+-----------------------------------|
5888 | bigreqsproto |→ Graphic libraries and |
5889 | |applications (graphic/text) → X11R7|
5891 |-------------------------------+-----------------------------------|
5892 | bind |→ Networking applications |
5893 |-------------------------------+-----------------------------------|
5894 | binutils |→ Development tools |
5895 |-------------------------------+-----------------------------------|
5896 | biosdevname |→ Hardware handling |
5897 |-------------------------------+-----------------------------------|
5898 | bitmap |→ Graphic libraries and |
5899 | |applications (graphic/text) → X11R7|
5901 |-------------------------------+-----------------------------------|
5902 | Bitstream Vera |→ Fonts, icons, sounds and themes |
5903 |-------------------------------+-----------------------------------|
5904 | blackbox (deprecated) |→ Graphic libraries and |
5905 | |applications (graphic/text) |
5906 |-------------------------------+-----------------------------------|
5907 | blktrace |→ Debugging, profiling and |
5909 |-------------------------------+-----------------------------------|
5910 | bluez-utils |→ Networking applications |
5911 |-------------------------------+-----------------------------------|
5912 | bluez-utils 5.x |→ Networking applications |
5913 |-------------------------------+-----------------------------------|
5914 | bmon |→ Networking applications |
5915 |-------------------------------+-----------------------------------|
5916 | boa |→ Networking applications |
5917 |-------------------------------+-----------------------------------|
5918 | bonnie++ |→ Debugging, profiling and |
5920 |-------------------------------+-----------------------------------|
5921 | boost |→ Libraries → Other |
5922 |-------------------------------+-----------------------------------|
5923 | bootstrap |→ Libraries → Javascript |
5924 |-------------------------------+-----------------------------------|
5925 | bootutils |→ System tools |
5926 |-------------------------------+-----------------------------------|
5927 | botan |→ Libraries → Crypto |
5928 |-------------------------------+-----------------------------------|
5929 | bridge-utils |→ Networking applications |
5930 |-------------------------------+-----------------------------------|
5931 | bsdiff |→ Development tools |
5932 |-------------------------------+-----------------------------------|
5933 | btrfs-progs |→ Filesystem and flash utilities |
5934 |-------------------------------+-----------------------------------|
5935 | bullet |→ Libraries → Graphics |
5936 |-------------------------------+-----------------------------------|
5937 | bustle |→ Development tools |
5938 |-------------------------------+-----------------------------------|
5940 |-------------------------------+-----------------------------------|
5941 | bwm-ng |→ Networking applications |
5942 |-------------------------------+-----------------------------------|
5943 | bzip2 |→ Compressors and decompressors |
5944 |-------------------------------+-----------------------------------|
5945 | c-ares |→ Libraries → Networking |
5946 |-------------------------------+-----------------------------------|
5947 | c-periphery |→ Libraries → Hardware handling |
5948 |-------------------------------+-----------------------------------|
5949 | CA Certificates |→ Libraries → Crypto |
5950 |-------------------------------+-----------------------------------|
5951 | cache-calibrator |→ Debugging, profiling and |
5953 |-------------------------------+-----------------------------------|
5954 | cairo |→ Libraries → Graphics |
5955 |-------------------------------+-----------------------------------|
5956 | can-utils |→ Networking applications |
5957 |-------------------------------+-----------------------------------|
5958 | canfestival |→ Libraries → Networking |
5959 |-------------------------------+-----------------------------------|
5960 | cblas/clapack |→ Libraries → Other |
5961 |-------------------------------+-----------------------------------|
5962 | cc-tool |→ Hardware handling |
5963 |-------------------------------+-----------------------------------|
5964 | ccid |→ Libraries → Hardware handling |
5965 |-------------------------------+-----------------------------------|
5966 | ccrypt |→ Shell and utilities |
5967 |-------------------------------+-----------------------------------|
5968 | cdrkit |→ Hardware handling |
5969 |-------------------------------+-----------------------------------|
5970 | cegui06 |→ Graphic libraries and |
5971 | |applications (graphic/text) |
5972 |-------------------------------+-----------------------------------|
5973 | celt051 |→ Libraries → Audio/Sound |
5974 |-------------------------------+-----------------------------------|
5975 | cgic |→ Libraries → Networking |
5976 |-------------------------------+-----------------------------------|
5977 | cgilua |→ Interpreter languages and |
5978 | |scripting → Lua libraries/modules |
5979 |-------------------------------+-----------------------------------|
5980 | chrony |→ Networking applications |
5981 |-------------------------------+-----------------------------------|
5982 | cifs-utils |→ Filesystem and flash utilities |
5983 |-------------------------------+-----------------------------------|
5984 | civetweb |→ Networking applications |
5985 |-------------------------------+-----------------------------------|
5986 | cJSON |→ Libraries → JSON/XML |
5987 |-------------------------------+-----------------------------------|
5988 | clamav |→ Miscellaneous |
5989 |-------------------------------+-----------------------------------|
5990 | classpath |→ Libraries → Other |
5991 |-------------------------------+-----------------------------------|
5992 | collectd |→ Miscellaneous |
5993 |-------------------------------+-----------------------------------|
5994 | compositeproto |→ Graphic libraries and |
5995 | |applications (graphic/text) → X11R7|
5997 |-------------------------------+-----------------------------------|
5998 | connman |→ Networking applications |
5999 |-------------------------------+-----------------------------------|
6000 | conntrack-tools |→ Networking applications |
6001 |-------------------------------+-----------------------------------|
6002 | copas |→ Interpreter languages and |
6003 | |scripting → Lua libraries/modules |
6004 |-------------------------------+-----------------------------------|
6005 | coreutils |→ System tools |
6006 |-------------------------------+-----------------------------------|
6007 | cosmo |→ Interpreter languages and |
6008 | |scripting → Lua libraries/modules |
6009 |-------------------------------+-----------------------------------|
6010 | coxpcall |→ Interpreter languages and |
6011 | |scripting → Lua libraries/modules |
6012 |-------------------------------+-----------------------------------|
6013 | cppcms |→ Libraries → Other |
6014 |-------------------------------+-----------------------------------|
6015 | cppdb |→ Libraries → Database |
6016 |-------------------------------+-----------------------------------|
6017 | cppunit |→ Development tools |
6018 |-------------------------------+-----------------------------------|
6019 | cppzmq |→ Libraries → Networking |
6020 |-------------------------------+-----------------------------------|
6021 | cpuload |→ System tools |
6022 |-------------------------------+-----------------------------------|
6023 | cramfs |→ Filesystem and flash utilities |
6024 |-------------------------------+-----------------------------------|
6025 | crda |→ Networking applications |
6026 |-------------------------------+-----------------------------------|
6027 | cryptodev-linux |→ Libraries → Crypto → cryptodev |
6029 |-------------------------------+-----------------------------------|
6030 | cryptsetup |→ Hardware handling |
6031 |-------------------------------+-----------------------------------|
6032 | ctorrent |→ Networking applications |
6033 |-------------------------------+-----------------------------------|
6034 | cups (deprecated) |→ Networking applications |
6035 |-------------------------------+-----------------------------------|
6036 | curlftpfs (FUSE) |→ Filesystem and flash utilities |
6037 |-------------------------------+-----------------------------------|
6038 | cvs |→ Development tools |
6039 |-------------------------------+-----------------------------------|
6040 | cwiid |→ Hardware handling |
6041 |-------------------------------+-----------------------------------|
6042 | czmq |→ Libraries → Networking |
6043 |-------------------------------+-----------------------------------|
6044 | dado |→ Interpreter languages and |
6045 | |scripting → Lua libraries/modules |
6046 |-------------------------------+-----------------------------------|
6047 | damageproto |→ Graphic libraries and |
6048 | |applications (graphic/text) → X11R7|
6050 |-------------------------------+-----------------------------------|
6051 | dash |→ Shell and utilities |
6052 |-------------------------------+-----------------------------------|
6053 | dbus |→ Hardware handling |
6054 |-------------------------------+-----------------------------------|
6055 | dbus-c++ |→ Hardware handling |
6056 |-------------------------------+-----------------------------------|
6057 | dbus-glib |→ Hardware handling |
6058 |-------------------------------+-----------------------------------|
6059 | dbus-python |→ Hardware handling |
6060 |-------------------------------+-----------------------------------|
6061 | dbus-triggerd |→ Hardware handling |
6062 |-------------------------------+-----------------------------------|
6063 | dcron |→ System tools |
6064 |-------------------------------+-----------------------------------|
6065 | debianutils |→ System tools |
6066 |-------------------------------+-----------------------------------|
6067 | Declarative module |→ Graphic libraries and |
6068 | |applications (graphic/text) |
6069 |-------------------------------+-----------------------------------|
6070 | DejaVu fonts |→ Fonts, icons, sounds and themes |
6071 |-------------------------------+-----------------------------------|
6072 | devmem2 |→ Hardware handling |
6073 |-------------------------------+-----------------------------------|
6074 | dhcp (ISC) |→ Networking applications |
6075 |-------------------------------+-----------------------------------|
6076 | dhcpcd |→ Networking applications |
6077 |-------------------------------+-----------------------------------|
6078 | dhcpdump |→ Networking applications |
6079 |-------------------------------+-----------------------------------|
6080 | dhrystone |→ Debugging, profiling and |
6082 |-------------------------------+-----------------------------------|
6083 | dialog |→ Shell and utilities |
6084 |-------------------------------+-----------------------------------|
6085 | diffutils |→ Development tools |
6086 |-------------------------------+-----------------------------------|
6087 | dillo |→ Graphic libraries and |
6088 | |applications (graphic/text) |
6089 |-------------------------------+-----------------------------------|
6090 | ding-libs |→ Libraries → Other |
6091 |-------------------------------+-----------------------------------|
6092 | directfb |→ Graphic libraries and |
6093 | |applications (graphic/text) |
6094 |-------------------------------+-----------------------------------|
6095 | directfb examples |→ Graphic libraries and |
6096 | |applications (graphic/text) |
6097 |-------------------------------+-----------------------------------|
6098 | directfb virtual input |→ Graphic libraries and |
6099 | extension |applications (graphic/text) |
6100 |-------------------------------+-----------------------------------|
6101 | dmalloc |→ Debugging, profiling and |
6103 |-------------------------------+-----------------------------------|
6104 | dmidecode |→ Hardware handling |
6105 |-------------------------------+-----------------------------------|
6106 | dmraid |→ Hardware handling |
6107 |-------------------------------+-----------------------------------|
6108 | dmxproto |→ Graphic libraries and |
6109 | |applications (graphic/text) → X11R7|
6111 |-------------------------------+-----------------------------------|
6112 | dnsmasq |→ Networking applications |
6113 |-------------------------------+-----------------------------------|
6114 | docker |→ Graphic libraries and |
6115 | |applications (graphic/text) |
6116 |-------------------------------+-----------------------------------|
6117 | dosfstools |→ Filesystem and flash utilities |
6118 |-------------------------------+-----------------------------------|
6120 |-------------------------------+-----------------------------------|
6121 | dovecot-pigeonhole |→ Mail |
6122 |-------------------------------+-----------------------------------|
6123 | drbd-utils |→ Networking applications |
6124 |-------------------------------+-----------------------------------|
6125 | dri2proto |→ Graphic libraries and |
6126 | |applications (graphic/text) → X11R7|
6128 |-------------------------------+-----------------------------------|
6129 | dri3proto |→ Graphic libraries and |
6130 | |applications (graphic/text) → X11R7|
6132 |-------------------------------+-----------------------------------|
6133 | dropbear |→ Networking applications |
6134 |-------------------------------+-----------------------------------|
6135 | dropwatch |→ Debugging, profiling and |
6137 |-------------------------------+-----------------------------------|
6138 | dsp-tools |→ System tools |
6139 |-------------------------------+-----------------------------------|
6140 | dstat |→ Debugging, profiling and |
6142 |-------------------------------+-----------------------------------|
6143 | dtach |→ Shell and utilities |
6144 |-------------------------------+-----------------------------------|
6145 | dtc (libfdt) |→ Libraries → Hardware handling |
6146 |-------------------------------+-----------------------------------|
6147 | dtv-scan-tables |→ Hardware handling |
6148 |-------------------------------+-----------------------------------|
6149 | duma |→ Debugging, profiling and |
6151 |-------------------------------+-----------------------------------|
6152 | dvb-apps |→ Hardware handling |
6153 |-------------------------------+-----------------------------------|
6154 | dvbsnoop |→ Hardware handling |
6155 |-------------------------------+-----------------------------------|
6156 | dvdauthor |→ Audio and video applications |
6157 |-------------------------------+-----------------------------------|
6158 | dvdrw-tools |→ Audio and video applications |
6159 |-------------------------------+-----------------------------------|
6160 | e2fsprogs |→ Filesystem and flash utilities |
6161 |-------------------------------+-----------------------------------|
6162 | e2tools |→ Filesystem and flash utilities |
6163 |-------------------------------+-----------------------------------|
6164 | ebtables |→ Networking applications |
6165 |-------------------------------+-----------------------------------|
6166 | ecryptfs-utils |→ Filesystem and flash utilities |
6167 |-------------------------------+-----------------------------------|
6168 | ed |→ Text editors and viewers |
6169 |-------------------------------+-----------------------------------|
6170 | editres |→ Graphic libraries and |
6171 | |applications (graphic/text) → X11R7|
6173 |-------------------------------+-----------------------------------|
6174 | eeprog |→ Hardware handling |
6175 |-------------------------------+-----------------------------------|
6176 | eigen |→ Libraries → Other |
6177 |-------------------------------+-----------------------------------|
6178 | ejabberd |→ Networking applications |
6179 |-------------------------------+-----------------------------------|
6180 | elfutils |→ Libraries → Other |
6181 |-------------------------------+-----------------------------------|
6182 | empty |→ Miscellaneous |
6183 |-------------------------------+-----------------------------------|
6184 | enchant |→ Libraries → Text and terminal |
6186 |-------------------------------+-----------------------------------|
6187 | encodings |→ Graphic libraries and |
6188 | |applications (graphic/text) → X11R7|
6190 |-------------------------------+-----------------------------------|
6191 | enlightenment |→ Graphic libraries and |
6192 | |applications (graphic/text) |
6193 |-------------------------------+-----------------------------------|
6194 | Enlightenment Foundation |→ Graphic libraries and |
6195 | Libraries |applications (graphic/text) |
6196 |-------------------------------+-----------------------------------|
6197 | enscript |→ Interpreter languages and |
6199 |-------------------------------+-----------------------------------|
6200 | epoxy |→ Graphic libraries and |
6201 | |applications (graphic/text) → X11R7|
6203 |-------------------------------+-----------------------------------|
6204 | erlang |→ Interpreter languages and |
6206 |-------------------------------+-----------------------------------|
6207 | erlang-goldrush |→ Interpreter languages and |
6208 | |scripting → Erlang libraries/ |
6210 |-------------------------------+-----------------------------------|
6211 | erlang-lager |→ Interpreter languages and |
6212 | |scripting → Erlang libraries/ |
6214 |-------------------------------+-----------------------------------|
6215 | erlang-p1-cache-tab |→ Interpreter languages and |
6216 | |scripting → Erlang libraries/ |
6218 |-------------------------------+-----------------------------------|
6219 | erlang-p1-iconv |→ Interpreter languages and |
6220 | |scripting → Erlang libraries/ |
6222 |-------------------------------+-----------------------------------|
6223 | erlang-p1-sip |→ Interpreter languages and |
6224 | |scripting → Erlang libraries/ |
6226 |-------------------------------+-----------------------------------|
6227 | erlang-p1-stringprep |→ Interpreter languages and |
6228 | |scripting → Erlang libraries/ |
6230 |-------------------------------+-----------------------------------|
6231 | erlang-p1-stun |→ Interpreter languages and |
6232 | |scripting → Erlang libraries/ |
6234 |-------------------------------+-----------------------------------|
6235 | erlang-p1-tls |→ Interpreter languages and |
6236 | |scripting → Erlang libraries/ |
6238 |-------------------------------+-----------------------------------|
6239 | erlang-p1-utils |→ Interpreter languages and |
6240 | |scripting → Erlang libraries/ |
6242 |-------------------------------+-----------------------------------|
6243 | erlang-p1-xml |→ Interpreter languages and |
6244 | |scripting → Erlang libraries/ |
6246 |-------------------------------+-----------------------------------|
6247 | erlang-p1-yaml |→ Interpreter languages and |
6248 | |scripting → Erlang libraries/ |
6250 |-------------------------------+-----------------------------------|
6251 | erlang-p1-zlib |→ Interpreter languages and |
6252 | |scripting → Erlang libraries/ |
6254 |-------------------------------+-----------------------------------|
6255 | espeak |→ Audio and video applications |
6256 |-------------------------------+-----------------------------------|
6257 | ethtool |→ Networking applications |
6258 |-------------------------------+-----------------------------------|
6259 | eudev |→ Hardware handling |
6260 |-------------------------------+-----------------------------------|
6261 | evemu |→ Hardware handling |
6262 |-------------------------------+-----------------------------------|
6263 | evtest |→ Hardware handling |
6264 |-------------------------------+-----------------------------------|
6265 | exFAT (FUSE) |→ Filesystem and flash utilities |
6266 |-------------------------------+-----------------------------------|
6267 | exfat-utils |→ Filesystem and flash utilities |
6268 |-------------------------------+-----------------------------------|
6270 |-------------------------------+-----------------------------------|
6271 | exiv2 |→ Libraries → Graphics |
6272 |-------------------------------+-----------------------------------|
6273 | expat |→ Libraries → JSON/XML |
6274 |-------------------------------+-----------------------------------|
6275 | expect |→ Interpreter languages and |
6276 | |scripting → tcl libraries/modules |
6277 |-------------------------------+-----------------------------------|
6278 | expedite |→ Graphic libraries and |
6279 | |applications (graphic/text) |
6280 |-------------------------------+-----------------------------------|
6281 | explorercanvas |→ Libraries → Javascript |
6282 |-------------------------------+-----------------------------------|
6283 | ezxml |→ Libraries → JSON/XML |
6284 |-------------------------------+-----------------------------------|
6285 | f2fs-tools |→ Filesystem and flash utilities |
6286 |-------------------------------+-----------------------------------|
6287 | faad2 |→ Audio and video applications |
6288 |-------------------------------+-----------------------------------|
6289 | faifa |→ Networking applications |
6290 |-------------------------------+-----------------------------------|
6291 | fan-ctrl |→ Hardware handling |
6292 |-------------------------------+-----------------------------------|
6293 | fb-test-app |→ Graphic libraries and |
6294 | |applications (graphic/text) |
6295 |-------------------------------+-----------------------------------|
6296 | fbdump (Framebuffer Capture |→ Graphic libraries and |
6297 | Tool) |applications (graphic/text) |
6298 |-------------------------------+-----------------------------------|
6299 | fbgrab |→ Graphic libraries and |
6300 | |applications (graphic/text) |
6301 |-------------------------------+-----------------------------------|
6302 | fbset |→ Graphic libraries and |
6303 | |applications (graphic/text) |
6304 |-------------------------------+-----------------------------------|
6305 | fbterm |→ Graphic libraries and |
6306 | |applications (graphic/text) |
6307 |-------------------------------+-----------------------------------|
6308 | fbv |→ Graphic libraries and |
6309 | |applications (graphic/text) |
6310 |-------------------------------+-----------------------------------|
6311 | fconfig |→ Hardware handling |
6312 |-------------------------------+-----------------------------------|
6313 | fdk-aac |→ Libraries → Audio/Sound |
6314 |-------------------------------+-----------------------------------|
6315 | feh |→ Graphic libraries and |
6316 | |applications (graphic/text) |
6317 |-------------------------------+-----------------------------------|
6318 | fetchmail |→ Mail |
6319 |-------------------------------+-----------------------------------|
6320 | ffmpeg |→ Audio and video applications |
6321 |-------------------------------+-----------------------------------|
6322 | fftw |→ Libraries → Other |
6323 |-------------------------------+-----------------------------------|
6324 | file |→ Shell and utilities |
6325 |-------------------------------+-----------------------------------|
6326 | filemq |→ Libraries → Networking |
6327 |-------------------------------+-----------------------------------|
6328 | findutils |→ Development tools |
6329 |-------------------------------+-----------------------------------|
6330 | fio |→ Debugging, profiling and |
6332 |-------------------------------+-----------------------------------|
6333 | firmware-imx |→ Hardware handling |
6334 |-------------------------------+-----------------------------------|
6335 | fis |→ Hardware handling |
6336 |-------------------------------+-----------------------------------|
6337 | fixesproto |→ Graphic libraries and |
6338 | |applications (graphic/text) → X11R7|
6340 |-------------------------------+-----------------------------------|
6341 | flac |→ Audio and video applications |
6342 |-------------------------------+-----------------------------------|
6343 | flann |→ Libraries → Other |
6344 |-------------------------------+-----------------------------------|
6345 | flashbench |→ Filesystem and flash utilities |
6346 |-------------------------------+-----------------------------------|
6347 | flashrom |→ Hardware handling |
6348 |-------------------------------+-----------------------------------|
6349 | flex |→ Development tools |
6350 |-------------------------------+-----------------------------------|
6351 | flickcurl |→ Libraries → Networking |
6352 |-------------------------------+-----------------------------------|
6353 | flite |→ Audio and video applications |
6354 |-------------------------------+-----------------------------------|
6355 | flot |→ Libraries → Javascript |
6356 |-------------------------------+-----------------------------------|
6357 | fltk |→ Libraries → Graphics |
6358 |-------------------------------+-----------------------------------|
6359 | fluxbox |→ Graphic libraries and |
6360 | |applications (graphic/text) |
6361 |-------------------------------+-----------------------------------|
6362 | fmc |→ Networking applications |
6363 |-------------------------------+-----------------------------------|
6364 | fmlib |→ Libraries → Networking |
6365 |-------------------------------+-----------------------------------|
6366 | fmtools |→ Hardware handling |
6367 |-------------------------------+-----------------------------------|
6368 | font-adobe-100dpi |→ Graphic libraries and |
6369 | |applications (graphic/text) → X11R7|
6371 |-------------------------------+-----------------------------------|
6372 | font-adobe-75dpi |→ Graphic libraries and |
6373 | |applications (graphic/text) → X11R7|
6375 |-------------------------------+-----------------------------------|
6376 | font-adobe-utopia-100dpi |→ Graphic libraries and |
6377 | |applications (graphic/text) → X11R7|
6379 |-------------------------------+-----------------------------------|
6380 | font-adobe-utopia-75dpi |→ Graphic libraries and |
6381 | |applications (graphic/text) → X11R7|
6383 |-------------------------------+-----------------------------------|
6384 | font-adobe-utopia-type1 |→ Graphic libraries and |
6385 | |applications (graphic/text) → X11R7|
6387 |-------------------------------+-----------------------------------|
6388 | font-alias |→ Graphic libraries and |
6389 | |applications (graphic/text) → X11R7|
6391 |-------------------------------+-----------------------------------|
6392 | font-arabic-misc |→ Graphic libraries and |
6393 | |applications (graphic/text) → X11R7|
6395 |-------------------------------+-----------------------------------|
6396 | font-bh-100dpi |→ Graphic libraries and |
6397 | |applications (graphic/text) → X11R7|
6399 |-------------------------------+-----------------------------------|
6400 | font-bh-75dpi |→ Graphic libraries and |
6401 | |applications (graphic/text) → X11R7|
6403 |-------------------------------+-----------------------------------|
6404 |font-bh-lucidatypewriter-100dpi|→ Graphic libraries and |
6405 | |applications (graphic/text) → X11R7|
6407 |-------------------------------+-----------------------------------|
6408 |font-bh-lucidatypewriter-75dpi |→ Graphic libraries and |
6409 | |applications (graphic/text) → X11R7|
6411 |-------------------------------+-----------------------------------|
6412 | font-bh-ttf |→ Graphic libraries and |
6413 | |applications (graphic/text) → X11R7|
6415 |-------------------------------+-----------------------------------|
6416 | font-bh-type1 |→ Graphic libraries and |
6417 | |applications (graphic/text) → X11R7|
6419 |-------------------------------+-----------------------------------|
6420 | font-bitstream-100dpi |→ Graphic libraries and |
6421 | |applications (graphic/text) → X11R7|
6423 |-------------------------------+-----------------------------------|
6424 | font-bitstream-75dpi |→ Graphic libraries and |
6425 | |applications (graphic/text) → X11R7|
6427 |-------------------------------+-----------------------------------|
6428 | font-bitstream-type1 |→ Graphic libraries and |
6429 | |applications (graphic/text) → X11R7|
6431 |-------------------------------+-----------------------------------|
6432 | font-cronyx-cyrillic |→ Graphic libraries and |
6433 | |applications (graphic/text) → X11R7|
6435 |-------------------------------+-----------------------------------|
6436 | font-cursor-misc |→ Graphic libraries and |
6437 | |applications (graphic/text) → X11R7|
6439 |-------------------------------+-----------------------------------|
6440 | font-daewoo-misc |→ Graphic libraries and |
6441 | |applications (graphic/text) → X11R7|
6443 |-------------------------------+-----------------------------------|
6444 | font-dec-misc |→ Graphic libraries and |
6445 | |applications (graphic/text) → X11R7|
6447 |-------------------------------+-----------------------------------|
6448 | font-ibm-type1 |→ Graphic libraries and |
6449 | |applications (graphic/text) → X11R7|
6451 |-------------------------------+-----------------------------------|
6452 | font-isas-misc |→ Graphic libraries and |
6453 | |applications (graphic/text) → X11R7|
6455 |-------------------------------+-----------------------------------|
6456 | font-jis-misc |→ Graphic libraries and |
6457 | |applications (graphic/text) → X11R7|
6459 |-------------------------------+-----------------------------------|
6460 | font-micro-misc |→ Graphic libraries and |
6461 | |applications (graphic/text) → X11R7|
6463 |-------------------------------+-----------------------------------|
6464 | font-misc-cyrillic |→ Graphic libraries and |
6465 | |applications (graphic/text) → X11R7|
6467 |-------------------------------+-----------------------------------|
6468 | font-misc-ethiopic |→ Graphic libraries and |
6469 | |applications (graphic/text) → X11R7|
6471 |-------------------------------+-----------------------------------|
6472 | font-misc-meltho |→ Graphic libraries and |
6473 | |applications (graphic/text) → X11R7|
6475 |-------------------------------+-----------------------------------|
6476 | font-misc-misc |→ Graphic libraries and |
6477 | |applications (graphic/text) → X11R7|
6479 |-------------------------------+-----------------------------------|
6480 | font-mutt-misc |→ Graphic libraries and |
6481 | |applications (graphic/text) → X11R7|
6483 |-------------------------------+-----------------------------------|
6484 | font-schumacher-misc |→ Graphic libraries and |
6485 | |applications (graphic/text) → X11R7|
6487 |-------------------------------+-----------------------------------|
6488 | font-screen-cyrillic |→ Graphic libraries and |
6489 | |applications (graphic/text) → X11R7|
6491 |-------------------------------+-----------------------------------|
6492 | font-sony-misc |→ Graphic libraries and |
6493 | |applications (graphic/text) → X11R7|
6495 |-------------------------------+-----------------------------------|
6496 | font-sun-misc |→ Graphic libraries and |
6497 | |applications (graphic/text) → X11R7|
6499 |-------------------------------+-----------------------------------|
6500 | font-util |→ Graphic libraries and |
6501 | |applications (graphic/text) → X11R7|
6503 |-------------------------------+-----------------------------------|
6504 | font-winitzki-cyrillic |→ Graphic libraries and |
6505 | |applications (graphic/text) → X11R7|
6507 |-------------------------------+-----------------------------------|
6508 | font-xfree86-type1 |→ Graphic libraries and |
6509 | |applications (graphic/text) → X11R7|
6511 |-------------------------------+-----------------------------------|
6512 | fontcacheproto |→ Graphic libraries and |
6513 | |applications (graphic/text) → X11R7|
6515 |-------------------------------+-----------------------------------|
6516 | fontconfig |→ Libraries → Graphics |
6517 |-------------------------------+-----------------------------------|
6518 | fontsproto |→ Graphic libraries and |
6519 | |applications (graphic/text) → X11R7|
6521 |-------------------------------+-----------------------------------|
6522 | fonttosfnt |→ Graphic libraries and |
6523 | |applications (graphic/text) → X11R7|
6525 |-------------------------------+-----------------------------------|
6526 | foomatic_filters (deprecated) |→ Networking applications |
6527 |-------------------------------+-----------------------------------|
6528 | fping |→ Networking applications |
6529 |-------------------------------+-----------------------------------|
6530 | freeradius-client |→ Libraries → Networking |
6531 |-------------------------------+-----------------------------------|
6532 | freerdp |→ Graphic libraries and |
6533 | |applications (graphic/text) |
6534 |-------------------------------+-----------------------------------|
6535 | Freescale i.MX libraries |→ Hardware handling |
6536 |-------------------------------+-----------------------------------|
6537 | freetype |→ Libraries → Graphics |
6538 |-------------------------------+-----------------------------------|
6539 | fslsfonts |→ Graphic libraries and |
6540 | |applications (graphic/text) → X11R7|
6542 |-------------------------------+-----------------------------------|
6543 | fstobdf |→ Graphic libraries and |
6544 | |applications (graphic/text) → X11R7|
6546 |-------------------------------+-----------------------------------|
6547 | fswebcam |→ Graphic libraries and |
6548 | |applications (graphic/text) |
6549 |-------------------------------+-----------------------------------|
6550 | ftop |→ System tools |
6551 |-------------------------------+-----------------------------------|
6552 | fxload |→ Hardware handling |
6553 |-------------------------------+-----------------------------------|
6554 | gadgetfs-test |→ Hardware handling |
6555 |-------------------------------+-----------------------------------|
6556 | gamin |→ Libraries → Filesystem |
6557 |-------------------------------+-----------------------------------|
6558 | gawk |→ Development tools |
6559 |-------------------------------+-----------------------------------|
6560 | gd |→ Libraries → Graphics |
6561 |-------------------------------+-----------------------------------|
6562 | gdb |→ Debugging, profiling and |
6564 |-------------------------------+-----------------------------------|
6565 | gdbm |→ Libraries → Database |
6566 |-------------------------------+-----------------------------------|
6567 | gdk-pixbuf |→ Libraries → Graphics |
6568 |-------------------------------+-----------------------------------|
6569 | genext2fs |→ Filesystem and flash utilities |
6570 |-------------------------------+-----------------------------------|
6571 | genpart |→ Filesystem and flash utilities |
6572 |-------------------------------+-----------------------------------|
6573 | genromfs |→ Filesystem and flash utilities |
6574 |-------------------------------+-----------------------------------|
6575 | geoip |→ Libraries → Networking |
6576 |-------------------------------+-----------------------------------|
6577 | gesftpserver |→ Networking applications |
6578 |-------------------------------+-----------------------------------|
6579 | getent |→ System tools |
6580 |-------------------------------+-----------------------------------|
6581 | gettext |→ Development tools |
6582 |-------------------------------+-----------------------------------|
6583 | ghostscript-fonts |→ Fonts, icons, sounds and themes |
6584 |-------------------------------+-----------------------------------|
6585 | giblib |→ Libraries → Graphics |
6586 |-------------------------------+-----------------------------------|
6587 | giflib |→ Libraries → Graphics |
6588 |-------------------------------+-----------------------------------|
6589 | git |→ Development tools |
6590 |-------------------------------+-----------------------------------|
6591 | glib-networking |→ Libraries → Networking |
6592 |-------------------------------+-----------------------------------|
6593 | glibmm |→ Libraries → Other |
6594 |-------------------------------+-----------------------------------|
6595 | glm |→ Libraries → Other |
6596 |-------------------------------+-----------------------------------|
6597 | glmark2 |→ Graphic libraries and |
6598 | |applications (graphic/text) |
6599 |-------------------------------+-----------------------------------|
6600 | glproto |→ Graphic libraries and |
6601 | |applications (graphic/text) → X11R7|
6603 |-------------------------------+-----------------------------------|
6604 | gmp |→ Libraries → Other |
6605 |-------------------------------+-----------------------------------|
6606 | gmpc |→ Graphic libraries and |
6607 | |applications (graphic/text) |
6608 |-------------------------------+-----------------------------------|
6609 | gnu-efi |→ Libraries → Hardware handling |
6610 |-------------------------------+-----------------------------------|
6611 | gnuchess |→ Games |
6612 |-------------------------------+-----------------------------------|
6613 | gnupg |→ Shell and utilities |
6614 |-------------------------------+-----------------------------------|
6615 | gnupg2 |→ Shell and utilities |
6616 |-------------------------------+-----------------------------------|
6617 | gnuplot |→ Graphic libraries and |
6618 | |applications (graphic/text) |
6619 |-------------------------------+-----------------------------------|
6620 | gnuradio |→ Miscellaneous |
6621 |-------------------------------+-----------------------------------|
6622 | gnutls |→ Libraries → Crypto |
6623 |-------------------------------+-----------------------------------|
6624 | Google font directory |→ Miscellaneous |
6625 |-------------------------------+-----------------------------------|
6626 | google-breakpad |→ Debugging, profiling and |
6628 |-------------------------------+-----------------------------------|
6629 | gperf |→ Development tools |
6630 |-------------------------------+-----------------------------------|
6631 | gpm |→ Hardware handling |
6632 |-------------------------------+-----------------------------------|
6633 | gpsd |→ Hardware handling |
6634 |-------------------------------+-----------------------------------|
6635 | gptfdisk |→ Hardware handling |
6636 |-------------------------------+-----------------------------------|
6637 | gpu-amd-bin-mx51 (also imx53) |→ Hardware handling |
6638 |-------------------------------+-----------------------------------|
6639 | gpu-viv-bin-mx6q |→ Hardware handling |
6640 |-------------------------------+-----------------------------------|
6641 | gqview |→ Graphic libraries and |
6642 | |applications (graphic/text) |
6643 |-------------------------------+-----------------------------------|
6644 | grantlee |→ Graphic libraries and |
6645 | |applications (graphic/text) |
6646 |-------------------------------+-----------------------------------|
6647 | grep |→ Development tools |
6648 |-------------------------------+-----------------------------------|
6649 | gsl |→ Libraries → Other |
6650 |-------------------------------+-----------------------------------|
6651 | gst-dsp |→ Audio and video applications |
6652 |-------------------------------+-----------------------------------|
6653 | gst-ffmpeg |→ Audio and video applications |
6654 |-------------------------------+-----------------------------------|
6655 | gst-fsl-plugins |→ Audio and video applications |
6656 |-------------------------------+-----------------------------------|
6657 | gst-omapfb |→ Audio and video applications |
6658 |-------------------------------+-----------------------------------|
6659 | gst-omx |→ Audio and video applications |
6660 |-------------------------------+-----------------------------------|
6661 | gst-plugin-x170 |→ Audio and video applications |
6662 |-------------------------------+-----------------------------------|
6663 | gst-plugins-bad |→ Audio and video applications |
6664 |-------------------------------+-----------------------------------|
6665 | gst-plugins-base |→ Audio and video applications |
6666 |-------------------------------+-----------------------------------|
6667 | gst-plugins-good |→ Audio and video applications |
6668 |-------------------------------+-----------------------------------|
6669 | gst-plugins-ugly |→ Audio and video applications |
6670 |-------------------------------+-----------------------------------|
6671 | gst1-imx |→ Audio and video applications |
6672 |-------------------------------+-----------------------------------|
6673 | gst1-libav |→ Audio and video applications |
6674 |-------------------------------+-----------------------------------|
6675 | gst1-plugins-bad |→ Audio and video applications |
6676 |-------------------------------+-----------------------------------|
6677 | gst1-plugins-base |→ Audio and video applications |
6678 |-------------------------------+-----------------------------------|
6679 | gst1-plugins-good |→ Audio and video applications |
6680 |-------------------------------+-----------------------------------|
6681 | gst1-plugins-ugly |→ Audio and video applications |
6682 |-------------------------------+-----------------------------------|
6683 | gst1-validate |→ Audio and video applications |
6684 |-------------------------------+-----------------------------------|
6685 | gstreamer 0.10 |→ Audio and video applications |
6686 |-------------------------------+-----------------------------------|
6687 | gstreamer 1.x |→ Audio and video applications |
6688 |-------------------------------+-----------------------------------|
6689 | gtest |→ Libraries → Other |
6690 |-------------------------------+-----------------------------------|
6691 | gtk engines |→ Fonts, icons, sounds and themes |
6692 |-------------------------------+-----------------------------------|
6693 | gtkperf (performance test for |→ Graphic libraries and |
6694 | GTK2) |applications (graphic/text) |
6695 |-------------------------------+-----------------------------------|
6696 | guile |→ Interpreter languages and |
6698 |-------------------------------+-----------------------------------|
6699 | gutenprint (deprecated) |→ Networking applications |
6700 |-------------------------------+-----------------------------------|
6701 | gvfs |→ Hardware handling |
6702 |-------------------------------+-----------------------------------|
6703 | gzip |→ Compressors and decompressors |
6704 |-------------------------------+-----------------------------------|
6705 | hans |→ Networking applications |
6706 |-------------------------------+-----------------------------------|
6707 | harfbuzz |→ Libraries → Graphics |
6708 |-------------------------------+-----------------------------------|
6709 | haserl |→ Interpreter languages and |
6711 |-------------------------------+-----------------------------------|
6712 | haveged |→ Miscellaneous |
6713 |-------------------------------+-----------------------------------|
6714 | hdparm |→ Hardware handling |
6715 |-------------------------------+-----------------------------------|
6716 | heirloom-mailx |→ Mail |
6717 |-------------------------------+-----------------------------------|
6718 | hiawatha |→ Networking applications |
6719 |-------------------------------+-----------------------------------|
6720 | hicolor icon theme |→ Fonts, icons, sounds and themes |
6721 |-------------------------------+-----------------------------------|
6722 | hostapd |→ Networking applications |
6723 |-------------------------------+-----------------------------------|
6724 | hplip (deprecated) |→ Networking applications |
6725 |-------------------------------+-----------------------------------|
6726 | htop |→ System tools |
6727 |-------------------------------+-----------------------------------|
6728 | httping |→ Networking applications |
6729 |-------------------------------+-----------------------------------|
6730 | hwdata |→ Hardware handling |
6731 |-------------------------------+-----------------------------------|
6732 | hwloc |→ Hardware handling |
6733 |-------------------------------+-----------------------------------|
6734 | i2c-tools |→ Hardware handling |
6735 |-------------------------------+-----------------------------------|
6736 | iceauth |→ Graphic libraries and |
6737 | |applications (graphic/text) → X11R7|
6739 |-------------------------------+-----------------------------------|
6740 | ico |→ Graphic libraries and |
6741 | |applications (graphic/text) → X11R7|
6743 |-------------------------------+-----------------------------------|
6744 | icu |→ Libraries → Text and terminal |
6746 |-------------------------------+-----------------------------------|
6747 | ifplugd |→ Networking applications |
6748 |-------------------------------+-----------------------------------|
6749 | iftop |→ Networking applications |
6750 |-------------------------------+-----------------------------------|
6751 | ifupdown |→ Networking applications |
6752 |-------------------------------+-----------------------------------|
6753 | igh-ethercat |→ Networking applications |
6754 |-------------------------------+-----------------------------------|
6755 | igmpproxy |→ Networking applications |
6756 |-------------------------------+-----------------------------------|
6757 | ijs |→ Libraries → Graphics |
6758 |-------------------------------+-----------------------------------|
6759 | imagemagick |→ Graphic libraries and |
6760 | |applications (graphic/text) |
6761 |-------------------------------+-----------------------------------|
6762 | imlib2 |→ Libraries → Graphics |
6763 |-------------------------------+-----------------------------------|
6764 | imx-lib |→ Hardware handling |
6765 |-------------------------------+-----------------------------------|
6766 | imx-vpu |→ Hardware handling |
6767 |-------------------------------+-----------------------------------|
6768 | inadyn |→ Networking applications |
6769 |-------------------------------+-----------------------------------|
6770 | inconsolata |→ Fonts, icons, sounds and themes |
6771 |-------------------------------+-----------------------------------|
6772 | infozip |→ Compressors and decompressors |
6773 |-------------------------------+-----------------------------------|
6774 | inotify-tools |→ Shell and utilities |
6775 |-------------------------------+-----------------------------------|
6776 | input-event-daemon |→ Hardware handling |
6777 |-------------------------------+-----------------------------------|
6778 | input-tools |→ Hardware handling |
6779 |-------------------------------+-----------------------------------|
6780 | inputproto |→ Graphic libraries and |
6781 | |applications (graphic/text) → X11R7|
6783 |-------------------------------+-----------------------------------|
6784 | intel-microcode |→ Hardware handling |
6785 |-------------------------------+-----------------------------------|
6786 | intltool |→ Development tools |
6787 |-------------------------------+-----------------------------------|
6788 | iodine |→ Networking applications |
6789 |-------------------------------+-----------------------------------|
6790 | iostat |→ Hardware handling |
6791 |-------------------------------+-----------------------------------|
6792 | iotop |→ System tools |
6793 |-------------------------------+-----------------------------------|
6794 | iozone |→ Debugging, profiling and |
6796 |-------------------------------+-----------------------------------|
6797 | iperf |→ Networking applications |
6798 |-------------------------------+-----------------------------------|
6799 | iperf3 |→ Networking applications |
6800 |-------------------------------+-----------------------------------|
6801 | ipkg |→ Package managers |
6802 |-------------------------------+-----------------------------------|
6803 | ipmitool |→ Hardware handling |
6804 |-------------------------------+-----------------------------------|
6805 | ipmiutil |→ Hardware handling |
6806 |-------------------------------+-----------------------------------|
6807 | iproute2 |→ Networking applications |
6808 |-------------------------------+-----------------------------------|
6809 | iprutils |→ System tools |
6810 |-------------------------------+-----------------------------------|
6811 | ipsec-tools |→ Networking applications |
6812 |-------------------------------+-----------------------------------|
6813 | ipset |→ Networking applications |
6814 |-------------------------------+-----------------------------------|
6815 | iptables |→ Networking applications |
6816 |-------------------------------+-----------------------------------|
6817 | iptraf-ng |→ Networking applications |
6818 |-------------------------------+-----------------------------------|
6819 | iputils |→ Networking applications |
6820 |-------------------------------+-----------------------------------|
6821 | irda-utils |→ Hardware handling |
6822 |-------------------------------+-----------------------------------|
6823 | irqbalance |→ System tools |
6824 |-------------------------------+-----------------------------------|
6825 | iucode-tool |→ Hardware handling |
6826 |-------------------------------+-----------------------------------|
6827 | iw |→ Networking applications |
6828 |-------------------------------+-----------------------------------|
6829 | jack2 |→ Audio and video applications |
6830 |-------------------------------+-----------------------------------|
6831 | jamvm |→ Interpreter languages and |
6833 |-------------------------------+-----------------------------------|
6834 | jansson |→ Libraries → JSON/XML |
6835 |-------------------------------+-----------------------------------|
6836 | janus-gateway |→ Networking applications |
6837 |-------------------------------+-----------------------------------|
6838 | jasper |→ Libraries → Graphics |
6839 |-------------------------------+-----------------------------------|
6840 | jhead |→ Graphic libraries and |
6841 | |applications (graphic/text) |
6842 |-------------------------------+-----------------------------------|
6843 | jimtcl |→ Interpreter languages and |
6845 |-------------------------------+-----------------------------------|
6846 | joe |→ Text editors and viewers |
6847 |-------------------------------+-----------------------------------|
6848 | jpeg |→ Libraries → Graphics → jpeg |
6850 |-------------------------------+-----------------------------------|
6851 | jpeg-turbo |→ Libraries → Graphics → jpeg |
6853 |-------------------------------+-----------------------------------|
6854 | jq |→ Development tools |
6855 |-------------------------------+-----------------------------------|
6856 | jQuery |→ Libraries → Javascript |
6857 |-------------------------------+-----------------------------------|
6858 | jQuery keyboard |→ Libraries → Javascript |
6859 |-------------------------------+-----------------------------------|
6860 | jQuery UI |→ Libraries → Javascript |
6861 |-------------------------------+-----------------------------------|
6862 | jQuery UI themes |→ Libraries → Javascript |
6863 |-------------------------------+-----------------------------------|
6864 | jquery-mobile |→ Libraries → Javascript |
6865 |-------------------------------+-----------------------------------|
6866 | jQuery-Sparkline |→ Libraries → Javascript |
6867 |-------------------------------+-----------------------------------|
6868 | jQuery-Validation |→ Libraries → Javascript |
6869 |-------------------------------+-----------------------------------|
6870 | jsmin |→ Libraries → Javascript |
6871 |-------------------------------+-----------------------------------|
6872 | json-c |→ Libraries → JSON/XML |
6873 |-------------------------------+-----------------------------------|
6874 | json-glib |→ Libraries → JSON/XML |
6875 |-------------------------------+-----------------------------------|
6876 | json-javascript |→ Libraries → Javascript |
6877 |-------------------------------+-----------------------------------|
6878 | jsoncpp |→ Libraries → JSON/XML |
6879 |-------------------------------+-----------------------------------|
6880 | kbd |→ Hardware handling |
6881 |-------------------------------+-----------------------------------|
6882 | kbproto |→ Graphic libraries and |
6883 | |applications (graphic/text) → X11R7|
6885 |-------------------------------+-----------------------------------|
6886 | kexec |→ Debugging, profiling and |
6888 |-------------------------------+-----------------------------------|
6889 | kexec-lite |→ Debugging, profiling and |
6891 |-------------------------------+-----------------------------------|
6892 | keyutils |→ System tools |
6893 |-------------------------------+-----------------------------------|
6894 | kismet |→ Networking applications |
6895 |-------------------------------+-----------------------------------|
6896 | kmod |→ System tools |
6897 |-------------------------------+-----------------------------------|
6898 | knock |→ Networking applications |
6899 |-------------------------------+-----------------------------------|
6900 | kobs-ng |→ Filesystem and flash utilities |
6901 |-------------------------------+-----------------------------------|
6902 | kodi |→ Audio and video applications |
6903 |-------------------------------+-----------------------------------|
6904 | kodi-addon-xvdr |→ Audio and video applications |
6905 |-------------------------------+-----------------------------------|
6906 | kodi-audioencoder-flac |→ Audio and video applications |
6907 |-------------------------------+-----------------------------------|
6908 | kodi-audioencoder-lame |→ Audio and video applications |
6909 |-------------------------------+-----------------------------------|
6910 | kodi-audioencoder-vorbis |→ Audio and video applications |
6911 |-------------------------------+-----------------------------------|
6912 | kodi-audioencoder-wav |→ Audio and video applications |
6913 |-------------------------------+-----------------------------------|
6914 | kodi-pvr-addons |→ Audio and video applications |
6915 |-------------------------------+-----------------------------------|
6916 | ktap |→ Debugging, profiling and |
6918 |-------------------------------+-----------------------------------|
6919 | lame |→ Audio and video applications |
6920 |-------------------------------+-----------------------------------|
6921 | latencytop |→ Debugging, profiling and |
6923 |-------------------------------+-----------------------------------|
6924 | lbase64 |→ Interpreter languages and |
6925 | |scripting → Lua libraries/modules |
6926 |-------------------------------+-----------------------------------|
6927 | LBreakout2 |→ Games |
6928 |-------------------------------+-----------------------------------|
6929 | lcdapi |→ Libraries → Hardware handling |
6930 |-------------------------------+-----------------------------------|
6931 | lcdproc |→ Hardware handling |
6932 |-------------------------------+-----------------------------------|
6933 | lcms2 |→ Libraries → Graphics |
6934 |-------------------------------+-----------------------------------|
6935 | leafnode2 |→ Networking applications |
6936 |-------------------------------+-----------------------------------|
6937 | leafpad |→ Graphic libraries and |
6938 | |applications (graphic/text) |
6939 |-------------------------------+-----------------------------------|
6940 | less |→ Text editors and viewers |
6941 |-------------------------------+-----------------------------------|
6942 | lesstif |→ Libraries → Graphics |
6943 |-------------------------------+-----------------------------------|
6944 | leveldb |→ Libraries → Database |
6945 |-------------------------------+-----------------------------------|
6946 | lftp |→ Networking applications |
6947 |-------------------------------+-----------------------------------|
6948 | libaio |→ Libraries → Hardware handling |
6949 |-------------------------------+-----------------------------------|
6950 | libao |→ Libraries → Audio/Sound |
6951 |-------------------------------+-----------------------------------|
6952 | libarchive |→ Libraries → Compression and |
6954 |-------------------------------+-----------------------------------|
6955 | libargtable2 |→ Libraries → Other |
6956 |-------------------------------+-----------------------------------|
6957 | libart |→ Libraries → Graphics |
6958 |-------------------------------+-----------------------------------|
6959 | libass |→ Libraries → Multimedia |
6960 |-------------------------------+-----------------------------------|
6961 | libassuan |→ Libraries → Crypto |
6962 |-------------------------------+-----------------------------------|
6963 | libatasmart |→ Libraries → Hardware handling |
6964 |-------------------------------+-----------------------------------|
6965 | libatomic_ops |→ Libraries → Other |
6966 |-------------------------------+-----------------------------------|
6967 | libbluray |→ Libraries → Multimedia |
6968 |-------------------------------+-----------------------------------|
6969 | libbsd |→ Libraries → Other |
6970 |-------------------------------+-----------------------------------|
6971 | libcap |→ Libraries → Other |
6972 |-------------------------------+-----------------------------------|
6973 | libcap-ng |→ Libraries → Other |
6974 |-------------------------------+-----------------------------------|
6975 | libcdaudio |→ Libraries → Audio/Sound |
6976 |-------------------------------+-----------------------------------|
6977 | libcdio |→ Libraries → Audio/Sound |
6978 |-------------------------------+-----------------------------------|
6979 | libcec |→ Libraries → Hardware handling |
6980 |-------------------------------+-----------------------------------|
6981 | libcgi |→ Libraries → Networking |
6982 |-------------------------------+-----------------------------------|
6983 | libcgicc |→ Libraries → Networking |
6984 |-------------------------------+-----------------------------------|
6985 | libcgroup |→ Libraries → Other |
6986 |-------------------------------+-----------------------------------|
6987 | libcli |→ Libraries → Text and terminal |
6989 |-------------------------------+-----------------------------------|
6990 | libcofi |→ Libraries → Other |
6991 |-------------------------------+-----------------------------------|
6992 | libconfig |→ Libraries → Filesystem |
6993 |-------------------------------+-----------------------------------|
6994 | libconfuse |→ Libraries → Filesystem |
6995 |-------------------------------+-----------------------------------|
6996 | libcue |→ Libraries → Audio/Sound |
6997 |-------------------------------+-----------------------------------|
6998 | libcuefile |→ Libraries → Audio/Sound |
6999 |-------------------------------+-----------------------------------|
7000 | libcurl |→ Libraries → Networking |
7001 |-------------------------------+-----------------------------------|
7002 | libdaemon |→ Libraries → Other |
7003 |-------------------------------+-----------------------------------|
7004 | libdcadec |→ Libraries → Multimedia |
7005 |-------------------------------+-----------------------------------|
7006 | libdmtx |→ Libraries → Graphics |
7007 |-------------------------------+-----------------------------------|
7008 | libdmx |→ Graphic libraries and |
7009 | |applications (graphic/text) → X11R7|
7011 |-------------------------------+-----------------------------------|
7012 | libdnet |→ Libraries → Networking |
7013 |-------------------------------+-----------------------------------|
7014 | libdri2 |→ Libraries → Graphics |
7015 |-------------------------------+-----------------------------------|
7016 | libdrm |→ Libraries → Graphics |
7017 |-------------------------------+-----------------------------------|
7018 | libdvbcsa |→ Libraries → Multimedia |
7019 |-------------------------------+-----------------------------------|
7020 | libdvbsi |→ Libraries → Multimedia |
7021 |-------------------------------+-----------------------------------|
7022 | libdvdnav |→ Libraries → Multimedia |
7023 |-------------------------------+-----------------------------------|
7024 | libdvdread |→ Libraries → Multimedia |
7025 |-------------------------------+-----------------------------------|
7026 | libebml |→ Libraries → Multimedia |
7027 |-------------------------------+-----------------------------------|
7028 | libecore |→ Graphic libraries and |
7029 | |applications (graphic/text) |
7030 |-------------------------------+-----------------------------------|
7031 | libedbus |→ Graphic libraries and |
7032 | |applications (graphic/text) |
7033 |-------------------------------+-----------------------------------|
7034 | libedit |→ Libraries → Text and terminal |
7036 |-------------------------------+-----------------------------------|
7037 | libedje |→ Graphic libraries and |
7038 | |applications (graphic/text) |
7039 |-------------------------------+-----------------------------------|
7040 | libee |→ Libraries → Other |
7041 |-------------------------------+-----------------------------------|
7042 | libeet |→ Graphic libraries and |
7043 | |applications (graphic/text) |
7044 |-------------------------------+-----------------------------------|
7045 | libefreet |→ Graphic libraries and |
7046 | |applications (graphic/text) |
7047 |-------------------------------+-----------------------------------|
7048 | libeina |→ Graphic libraries and |
7049 | |applications (graphic/text) |
7050 |-------------------------------+-----------------------------------|
7051 | libeio |→ Graphic libraries and |
7052 | |applications (graphic/text) |
7053 |-------------------------------+-----------------------------------|
7054 | libelementary |→ Graphic libraries and |
7055 | |applications (graphic/text) |
7056 |-------------------------------+-----------------------------------|
7057 | libembryo |→ Graphic libraries and |
7058 | |applications (graphic/text) |
7059 |-------------------------------+-----------------------------------|
7060 | libenca |→ Libraries → Text and terminal |
7062 |-------------------------------+-----------------------------------|
7063 | Liberation (Free fonts) |→ Fonts, icons, sounds and themes |
7064 |-------------------------------+-----------------------------------|
7065 | libesmtp |→ Mail |
7066 |-------------------------------+-----------------------------------|
7067 | libestr |→ Libraries → Text and terminal |
7069 |-------------------------------+-----------------------------------|
7070 | libethumb |→ Graphic libraries and |
7071 | |applications (graphic/text) |
7072 |-------------------------------+-----------------------------------|
7073 | libev |→ Libraries → Other |
7074 |-------------------------------+-----------------------------------|
7075 | libevas |→ Graphic libraries and |
7076 | |applications (graphic/text) |
7077 |-------------------------------+-----------------------------------|
7078 | libevas generic loaders |→ Graphic libraries and |
7079 | |applications (graphic/text) |
7080 |-------------------------------+-----------------------------------|
7081 | libevdev |→ Libraries → Other |
7082 |-------------------------------+-----------------------------------|
7083 | libevent |→ Libraries → Other |
7084 |-------------------------------+-----------------------------------|
7085 | libexif |→ Libraries → Graphics |
7086 |-------------------------------+-----------------------------------|
7087 | libeXosip2 |→ Libraries → Networking |
7088 |-------------------------------+-----------------------------------|
7089 | libfcgi |→ Libraries → Networking |
7090 |-------------------------------+-----------------------------------|
7091 | libffi |→ Libraries → Other |
7092 |-------------------------------+-----------------------------------|
7093 | libfontenc |→ Graphic libraries and |
7094 | |applications (graphic/text) → X11R7|
7096 |-------------------------------+-----------------------------------|
7097 | libfreefare |→ Libraries → Hardware handling |
7098 |-------------------------------+-----------------------------------|
7099 | libfreeimage |→ Libraries → Graphics |
7100 |-------------------------------+-----------------------------------|
7101 | libfribidi |→ Libraries → Text and terminal |
7103 |-------------------------------+-----------------------------------|
7104 | libFS |→ Graphic libraries and |
7105 | |applications (graphic/text) → X11R7|
7107 |-------------------------------+-----------------------------------|
7108 | libfslcodec |→ Libraries → Multimedia |
7109 |-------------------------------+-----------------------------------|
7110 | libfslparser |→ Libraries → Multimedia |
7111 |-------------------------------+-----------------------------------|
7112 | libfslvpuwrap |→ Libraries → Multimedia |
7113 |-------------------------------+-----------------------------------|
7114 | libftdi |→ Libraries → Hardware handling |
7115 |-------------------------------+-----------------------------------|
7116 | libftdi1 |→ Libraries → Hardware handling |
7117 |-------------------------------+-----------------------------------|
7118 | libfuse |→ Libraries → Filesystem |
7119 |-------------------------------+-----------------------------------|
7120 | libgail |→ Libraries → Graphics |
7121 |-------------------------------+-----------------------------------|
7122 | libgcrypt |→ Libraries → Crypto |
7123 |-------------------------------+-----------------------------------|
7124 | libgeotiff |→ Libraries → Graphics |
7125 |-------------------------------+-----------------------------------|
7126 | libglade |→ Libraries → Graphics |
7127 |-------------------------------+-----------------------------------|
7128 | libglew |→ Libraries → Graphics |
7129 |-------------------------------+-----------------------------------|
7130 | libglib2 |→ Libraries → Other |
7131 |-------------------------------+-----------------------------------|
7132 | libglu |→ Libraries → Graphics |
7133 |-------------------------------+-----------------------------------|
7134 | libgpg-error |→ Libraries → Crypto |
7135 |-------------------------------+-----------------------------------|
7136 | libgpgme |→ Libraries → Crypto |
7137 |-------------------------------+-----------------------------------|
7138 | libgsasl |→ Libraries → Networking |
7139 |-------------------------------+-----------------------------------|
7140 | libgtk2 |→ Libraries → Graphics |
7141 |-------------------------------+-----------------------------------|
7142 | libgtk3 |→ Libraries → Graphics |
7143 |-------------------------------+-----------------------------------|
7144 | libhid |→ Libraries → Hardware handling |
7145 |-------------------------------+-----------------------------------|
7146 | libical |→ Libraries → Other |
7147 |-------------------------------+-----------------------------------|
7148 | libICE |→ Graphic libraries and |
7149 | |applications (graphic/text) → X11R7|
7151 |-------------------------------+-----------------------------------|
7152 | libiconv |→ Libraries → Text and terminal |
7154 |-------------------------------+-----------------------------------|
7155 | libid3tag |→ Libraries → Audio/Sound |
7156 |-------------------------------+-----------------------------------|
7157 | libidn |→ Libraries → Networking |
7158 |-------------------------------+-----------------------------------|
7159 | libiio |→ Libraries → Hardware handling |
7160 |-------------------------------+-----------------------------------|
7161 | libinput |→ Libraries → Hardware handling |
7162 |-------------------------------+-----------------------------------|
7163 | libiqrf |→ Libraries → Hardware handling |
7164 |-------------------------------+-----------------------------------|
7165 | libiscsi |→ Libraries → Networking |
7166 |-------------------------------+-----------------------------------|
7167 | libjson |→ Libraries → JSON/XML |
7168 |-------------------------------+-----------------------------------|
7169 | libksba |→ Libraries → Crypto |
7170 |-------------------------------+-----------------------------------|
7171 | liblinear |→ Libraries → Other |
7172 |-------------------------------+-----------------------------------|
7173 | libllcp |→ Libraries → Hardware handling |
7174 |-------------------------------+-----------------------------------|
7175 | liblo |→ Libraries → Audio/Sound |
7176 |-------------------------------+-----------------------------------|
7177 | liblockfile |→ Libraries → Filesystem |
7178 |-------------------------------+-----------------------------------|
7179 | liblog4c-localtime |→ Libraries → Logging |
7180 |-------------------------------+-----------------------------------|
7181 | liblogging |→ Libraries → Logging |
7182 |-------------------------------+-----------------------------------|
7183 | libmad |→ Libraries → Audio/Sound |
7184 |-------------------------------+-----------------------------------|
7185 | libmatroska |→ Libraries → Multimedia |
7186 |-------------------------------+-----------------------------------|
7187 | libmbim |→ Libraries → Hardware handling |
7188 |-------------------------------+-----------------------------------|
7189 | libmbus |→ Libraries → Networking |
7190 |-------------------------------+-----------------------------------|
7191 | libmcrypt |→ Libraries → Crypto |
7192 |-------------------------------+-----------------------------------|
7193 | libmemcached |→ Libraries → Networking |
7194 |-------------------------------+-----------------------------------|
7195 | libmhash |→ Libraries → Crypto |
7196 |-------------------------------+-----------------------------------|
7197 | libmicrohttpd |→ Libraries → Networking |
7198 |-------------------------------+-----------------------------------|
7199 | libmms |→ Libraries → Multimedia |
7200 |-------------------------------+-----------------------------------|
7201 | libmnl |→ Libraries → Networking |
7202 |-------------------------------+-----------------------------------|
7203 | libmodbus |→ Libraries → Networking |
7204 |-------------------------------+-----------------------------------|
7205 | libmodplug |→ Libraries → Audio/Sound |
7206 |-------------------------------+-----------------------------------|
7207 | libmpd |→ Libraries → Audio/Sound |
7208 |-------------------------------+-----------------------------------|
7209 | libmpdclient |→ Libraries → Audio/Sound |
7210 |-------------------------------+-----------------------------------|
7211 | libmpeg2 |→ Libraries → Multimedia |
7212 |-------------------------------+-----------------------------------|
7213 | libndp |→ Libraries → Networking |
7214 |-------------------------------+-----------------------------------|
7215 | libneon |→ Libraries → Networking |
7216 |-------------------------------+-----------------------------------|
7217 | libnetfilter_acct |→ Libraries → Networking |
7218 |-------------------------------+-----------------------------------|
7219 | libnetfilter_conntrack |→ Libraries → Networking |
7220 |-------------------------------+-----------------------------------|
7221 | libnetfilter_cthelper |→ Libraries → Networking |
7222 |-------------------------------+-----------------------------------|
7223 | libnetfilter_cttimeout |→ Libraries → Networking |
7224 |-------------------------------+-----------------------------------|
7225 | libnetfilter_log |→ Libraries → Networking |
7226 |-------------------------------+-----------------------------------|
7227 | libnetfilter_queue |→ Libraries → Networking |
7228 |-------------------------------+-----------------------------------|
7229 | libnfc |→ Libraries → Hardware handling |
7230 |-------------------------------+-----------------------------------|
7231 | libnfnetlink |→ Libraries → Networking |
7232 |-------------------------------+-----------------------------------|
7233 | libnfs |→ Libraries → Filesystem |
7234 |-------------------------------+-----------------------------------|
7235 | libnftnl |→ Libraries → Networking |
7236 |-------------------------------+-----------------------------------|
7237 | libnice |→ Libraries → Networking |
7238 |-------------------------------+-----------------------------------|
7239 | libnl |→ Libraries → Networking |
7240 |-------------------------------+-----------------------------------|
7241 | libnspr |→ Libraries → Other |
7242 |-------------------------------+-----------------------------------|
7243 | libnss |→ Libraries → Crypto |
7244 |-------------------------------+-----------------------------------|
7245 | liboauth |→ Libraries → Networking |
7246 |-------------------------------+-----------------------------------|
7247 | libogg |→ Libraries → Multimedia |
7248 |-------------------------------+-----------------------------------|
7249 | liboping |→ Libraries → Networking |
7250 |-------------------------------+-----------------------------------|
7251 | libosip2 |→ Libraries → Networking |
7252 |-------------------------------+-----------------------------------|
7253 | libpcap |→ Libraries → Networking |
7254 |-------------------------------+-----------------------------------|
7255 | libpciaccess |→ Libraries → Hardware handling |
7256 |-------------------------------+-----------------------------------|
7257 | libpfm4 |→ Libraries → Other |
7258 |-------------------------------+-----------------------------------|
7259 | libphidget |→ Libraries → Hardware handling |
7260 |-------------------------------+-----------------------------------|
7261 | libplayer |→ Libraries → Multimedia |
7262 |-------------------------------+-----------------------------------|
7263 | libplist |→ Libraries → Other |
7264 |-------------------------------+-----------------------------------|
7265 | libpng |→ Libraries → Graphics |
7266 |-------------------------------+-----------------------------------|
7267 | libpthread-stubs |→ Libraries → Other |
7268 |-------------------------------+-----------------------------------|
7269 | libpthsem |→ Libraries → Other |
7270 |-------------------------------+-----------------------------------|
7271 | libqmi |→ Libraries → Hardware handling |
7272 |-------------------------------+-----------------------------------|
7273 | libqrencode |→ Libraries → Graphics |
7274 |-------------------------------+-----------------------------------|
7275 | libraw |→ Libraries → Graphics |
7276 |-------------------------------+-----------------------------------|
7277 | libraw1394 |→ Libraries → Hardware handling |
7278 |-------------------------------+-----------------------------------|
7279 | libreplaygain |→ Libraries → Audio/Sound |
7280 |-------------------------------+-----------------------------------|
7281 | librsvg |→ Libraries → Graphics |
7282 |-------------------------------+-----------------------------------|
7283 | librsync |→ Libraries → Networking |
7284 |-------------------------------+-----------------------------------|
7285 | librtlsdr |→ Libraries → Hardware handling |
7286 |-------------------------------+-----------------------------------|
7287 | librtmp |→ Libraries → Networking |
7288 |-------------------------------+-----------------------------------|
7289 | libsamplerate |→ Libraries → Audio/Sound |
7290 |-------------------------------+-----------------------------------|
7291 | libseccomp |→ Libraries → Other |
7292 |-------------------------------+-----------------------------------|
7293 | libsecret |→ Libraries → Crypto |
7294 |-------------------------------+-----------------------------------|
7295 | libselinux |→ Libraries → Security |
7296 |-------------------------------+-----------------------------------|
7297 | libsemanage |→ Libraries → Security |
7298 |-------------------------------+-----------------------------------|
7299 | libsepol |→ Libraries → Security |
7300 |-------------------------------+-----------------------------------|
7301 | libserial |→ Libraries → Hardware handling |
7302 |-------------------------------+-----------------------------------|
7303 | libserialport |→ Libraries → Hardware handling |
7304 |-------------------------------+-----------------------------------|
7305 | libsexy |→ Graphic libraries and |
7306 | |applications (graphic/text) |
7307 |-------------------------------+-----------------------------------|
7308 | libsha1 |→ Libraries → Crypto |
7309 |-------------------------------+-----------------------------------|
7310 | libshairplay |→ Libraries → Networking |
7311 |-------------------------------+-----------------------------------|
7312 | libshout |→ Libraries → Networking |
7313 |-------------------------------+-----------------------------------|
7314 | libsidplay2 |→ Libraries → Audio/Sound |
7315 |-------------------------------+-----------------------------------|
7316 | libsigc++ |→ Libraries → Other |
7317 |-------------------------------+-----------------------------------|
7318 | libsigrok |→ Libraries → Hardware handling |
7319 |-------------------------------+-----------------------------------|
7320 | libsigrokdecode |→ Libraries → Hardware handling |
7321 |-------------------------------+-----------------------------------|
7322 | libsigsegv |→ Libraries → Other |
7323 |-------------------------------+-----------------------------------|
7324 | libSM |→ Graphic libraries and |
7325 | |applications (graphic/text) → X11R7|
7327 |-------------------------------+-----------------------------------|
7328 | libsndfile |→ Libraries → Audio/Sound |
7329 |-------------------------------+-----------------------------------|
7330 | libsoc |→ Libraries → Hardware handling |
7331 |-------------------------------+-----------------------------------|
7332 | libsocketcan |→ Libraries → Networking |
7333 |-------------------------------+-----------------------------------|
7334 | libsoup |→ Libraries → Networking |
7335 |-------------------------------+-----------------------------------|
7336 | libsoxr |→ Libraries → Audio/Sound |
7337 |-------------------------------+-----------------------------------|
7338 | libsrtp |→ Libraries → Networking |
7339 |-------------------------------+-----------------------------------|
7340 | libssh2 |→ Libraries → Crypto |
7341 |-------------------------------+-----------------------------------|
7342 | libstrophe |→ Libraries → Networking |
7343 |-------------------------------+-----------------------------------|
7344 | libsvg |→ Libraries → Graphics |
7345 |-------------------------------+-----------------------------------|
7346 | libsvg-cairo |→ Libraries → Graphics |
7347 |-------------------------------+-----------------------------------|
7348 | libsvgtiny |→ Libraries → Graphics |
7349 |-------------------------------+-----------------------------------|
7350 | libsysfs |→ Libraries → Filesystem |
7351 |-------------------------------+-----------------------------------|
7352 | libtasn1 |→ Libraries → Other |
7353 |-------------------------------+-----------------------------------|
7354 | libtheora |→ Libraries → Multimedia |
7355 |-------------------------------+-----------------------------------|
7356 | libtirpc |→ Libraries → Networking |
7357 |-------------------------------+-----------------------------------|
7358 | libtool |→ Development tools |
7359 |-------------------------------+-----------------------------------|
7360 | libtorrent |→ Libraries → Networking |
7361 |-------------------------------+-----------------------------------|
7362 | libtpl |→ Libraries → Other |
7363 |-------------------------------+-----------------------------------|
7364 | libubox |→ Libraries → Other |
7365 |-------------------------------+-----------------------------------|
7366 | libuci |→ Libraries → Other |
7367 |-------------------------------+-----------------------------------|
7368 | libungif (deprecated) |→ Libraries → Graphics |
7369 |-------------------------------+-----------------------------------|
7370 | libunistring |→ Libraries → Text and terminal |
7372 |-------------------------------+-----------------------------------|
7373 | libunwind |→ Libraries → Other |
7374 |-------------------------------+-----------------------------------|
7375 | libupnp |→ Libraries → Networking |
7376 |-------------------------------+-----------------------------------|
7377 | libupnpp |→ Libraries → Networking |
7378 |-------------------------------+-----------------------------------|
7379 | liburcu |→ Libraries → Other |
7380 |-------------------------------+-----------------------------------|
7381 | liburiparser |→ Libraries → Networking |
7382 |-------------------------------+-----------------------------------|
7383 | libusb |→ Libraries → Hardware handling |
7384 |-------------------------------+-----------------------------------|
7385 | libusb-compat |→ Libraries → Hardware handling |
7386 |-------------------------------+-----------------------------------|
7387 | libuv |→ Libraries → Other |
7388 |-------------------------------+-----------------------------------|
7389 | libv4l |→ Libraries → Hardware handling |
7390 |-------------------------------+-----------------------------------|
7391 | libva |→ Libraries → Graphics |
7392 |-------------------------------+-----------------------------------|
7393 | libva-intel-driver |→ Libraries → Graphics |
7394 |-------------------------------+-----------------------------------|
7395 | libvips |→ Libraries → Graphics |
7396 |-------------------------------+-----------------------------------|
7397 | libvncserver |→ Libraries → Networking |
7398 |-------------------------------+-----------------------------------|
7399 | libvorbis |→ Libraries → Audio/Sound |
7400 |-------------------------------+-----------------------------------|
7401 | libvpx |→ Audio and video applications |
7402 |-------------------------------+-----------------------------------|
7403 | libwebsock |→ Libraries → Networking |
7404 |-------------------------------+-----------------------------------|
7405 | libwebsockets |→ Libraries → Networking |
7406 |-------------------------------+-----------------------------------|
7407 | libX11 |→ Graphic libraries and |
7408 | |applications (graphic/text) → X11R7|
7410 |-------------------------------+-----------------------------------|
7411 | libXau |→ Graphic libraries and |
7412 | |applications (graphic/text) → X11R7|
7414 |-------------------------------+-----------------------------------|
7415 | libXaw |→ Graphic libraries and |
7416 | |applications (graphic/text) → X11R7|
7418 |-------------------------------+-----------------------------------|
7419 | libxcb |→ Graphic libraries and |
7420 | |applications (graphic/text) → X11R7|
7422 |-------------------------------+-----------------------------------|
7423 | libXcomposite |→ Graphic libraries and |
7424 | |applications (graphic/text) → X11R7|
7426 |-------------------------------+-----------------------------------|
7427 | libXcursor |→ Graphic libraries and |
7428 | |applications (graphic/text) → X11R7|
7430 |-------------------------------+-----------------------------------|
7431 | libXdamage |→ Graphic libraries and |
7432 | |applications (graphic/text) → X11R7|
7434 |-------------------------------+-----------------------------------|
7435 | libXdmcp |→ Graphic libraries and |
7436 | |applications (graphic/text) → X11R7|
7438 |-------------------------------+-----------------------------------|
7439 | libXext |→ Graphic libraries and |
7440 | |applications (graphic/text) → X11R7|
7442 |-------------------------------+-----------------------------------|
7443 | libXfixes |→ Graphic libraries and |
7444 | |applications (graphic/text) → X11R7|
7446 |-------------------------------+-----------------------------------|
7447 | libXfont |→ Graphic libraries and |
7448 | |applications (graphic/text) → X11R7|
7450 |-------------------------------+-----------------------------------|
7451 | libXft |→ Graphic libraries and |
7452 | |applications (graphic/text) → X11R7|
7454 |-------------------------------+-----------------------------------|
7455 | libXi |→ Graphic libraries and |
7456 | |applications (graphic/text) → X11R7|
7458 |-------------------------------+-----------------------------------|
7459 | libXinerama |→ Graphic libraries and |
7460 | |applications (graphic/text) → X11R7|
7462 |-------------------------------+-----------------------------------|
7463 | libxkbcommon |→ Libraries → Hardware handling |
7464 |-------------------------------+-----------------------------------|
7465 | libxkbfile |→ Graphic libraries and |
7466 | |applications (graphic/text) → X11R7|
7468 |-------------------------------+-----------------------------------|
7469 | libxml++ |→ Libraries → JSON/XML |
7470 |-------------------------------+-----------------------------------|
7471 | libxml2 |→ Libraries → JSON/XML |
7472 |-------------------------------+-----------------------------------|
7473 | libxmlrpc |→ Libraries → JSON/XML |
7474 |-------------------------------+-----------------------------------|
7475 | libXmu |→ Graphic libraries and |
7476 | |applications (graphic/text) → X11R7|
7478 |-------------------------------+-----------------------------------|
7479 | libXpm |→ Graphic libraries and |
7480 | |applications (graphic/text) → X11R7|
7482 |-------------------------------+-----------------------------------|
7483 | libXrandr |→ Graphic libraries and |
7484 | |applications (graphic/text) → X11R7|
7486 |-------------------------------+-----------------------------------|
7487 | libXrender |→ Graphic libraries and |
7488 | |applications (graphic/text) → X11R7|
7490 |-------------------------------+-----------------------------------|
7491 | libXres |→ Graphic libraries and |
7492 | |applications (graphic/text) → X11R7|
7494 |-------------------------------+-----------------------------------|
7495 | libXScrnSaver |→ Graphic libraries and |
7496 | |applications (graphic/text) → X11R7|
7498 |-------------------------------+-----------------------------------|
7499 | libxshmfence |→ Graphic libraries and |
7500 | |applications (graphic/text) → X11R7|
7502 |-------------------------------+-----------------------------------|
7503 | libxslt |→ Libraries → JSON/XML |
7504 |-------------------------------+-----------------------------------|
7505 | libXt |→ Graphic libraries and |
7506 | |applications (graphic/text) → X11R7|
7508 |-------------------------------+-----------------------------------|
7509 | libXtst |→ Graphic libraries and |
7510 | |applications (graphic/text) → X11R7|
7512 |-------------------------------+-----------------------------------|
7513 | libXv |→ Graphic libraries and |
7514 | |applications (graphic/text) → X11R7|
7516 |-------------------------------+-----------------------------------|
7517 | libXvMC |→ Graphic libraries and |
7518 | |applications (graphic/text) → X11R7|
7520 |-------------------------------+-----------------------------------|
7521 | libXxf86dga |→ Graphic libraries and |
7522 | |applications (graphic/text) → X11R7|
7524 |-------------------------------+-----------------------------------|
7525 | libXxf86vm |→ Graphic libraries and |
7526 | |applications (graphic/text) → X11R7|
7528 |-------------------------------+-----------------------------------|
7529 | libyaml |→ Libraries → JSON/XML |
7530 |-------------------------------+-----------------------------------|
7531 | libz160 |→ Hardware handling |
7532 |-------------------------------+-----------------------------------|
7533 | libzip |→ Libraries → Compression and |
7535 |-------------------------------+-----------------------------------|
7536 | lightning |→ Libraries → Other |
7537 |-------------------------------+-----------------------------------|
7538 | lighttpd |→ Networking applications |
7539 |-------------------------------+-----------------------------------|
7540 | linenoise |→ Libraries → Text and terminal |
7542 |-------------------------------+-----------------------------------|
7543 | linknx |→ Networking applications |
7544 |-------------------------------+-----------------------------------|
7545 | links |→ Networking applications |
7546 |-------------------------------+-----------------------------------|
7547 | linphone |→ Networking applications |
7548 |-------------------------------+-----------------------------------|
7549 | linux-firmware |→ Hardware handling → Firmware |
7550 |-------------------------------+-----------------------------------|
7551 | linux-fusion communication |→ Graphic libraries and |
7552 | layer for DirectFB multi |applications (graphic/text) |
7553 |-------------------------------+-----------------------------------|
7554 | linux-pam |→ Libraries → Other |
7555 |-------------------------------+-----------------------------------|
7556 | linux-zigbee |→ Networking applications |
7557 |-------------------------------+-----------------------------------|
7558 | lirc-tools |→ Hardware handling |
7559 |-------------------------------+-----------------------------------|
7560 | listres |→ Graphic libraries and |
7561 | |applications (graphic/text) → X11R7|
7563 |-------------------------------+-----------------------------------|
7564 | LiTE (toolbox engine) |→ Graphic libraries and |
7565 | |applications (graphic/text) |
7566 |-------------------------------+-----------------------------------|
7567 | live555 |→ Libraries → Multimedia |
7568 |-------------------------------+-----------------------------------|
7569 | ljlinenoise |→ Interpreter languages and |
7570 | |scripting → Lua libraries/modules |
7571 |-------------------------------+-----------------------------------|
7572 | ljsyscall |→ Interpreter languages and |
7573 | |scripting → Lua libraries/modules |
7574 |-------------------------------+-----------------------------------|
7575 | lm-sensors |→ Hardware handling |
7576 |-------------------------------+-----------------------------------|
7577 | lmbench |→ Debugging, profiling and |
7579 |-------------------------------+-----------------------------------|
7580 | lockdev |→ Libraries → Filesystem |
7581 |-------------------------------+-----------------------------------|
7582 | lockfile programs |→ Shell and utilities |
7583 |-------------------------------+-----------------------------------|
7584 | log4cplus |→ Libraries → Logging |
7585 |-------------------------------+-----------------------------------|
7586 | log4cxx |→ Libraries → Logging |
7587 |-------------------------------+-----------------------------------|
7588 | logrotate |→ Shell and utilities |
7589 |-------------------------------+-----------------------------------|
7590 | logsurfer |→ Shell and utilities |
7591 |-------------------------------+-----------------------------------|
7592 | lpeg |→ Interpreter languages and |
7593 | |scripting → Lua libraries/modules |
7594 |-------------------------------+-----------------------------------|
7595 | lpty |→ Interpreter languages and |
7596 | |scripting → Lua libraries/modules |
7597 |-------------------------------+-----------------------------------|
7598 | lrandom |→ Interpreter languages and |
7599 | |scripting → Lua libraries/modules |
7600 |-------------------------------+-----------------------------------|
7601 | lrzsz |→ Networking applications |
7602 |-------------------------------+-----------------------------------|
7603 | lshw |→ Hardware handling |
7604 |-------------------------------+-----------------------------------|
7605 | lsof |→ Debugging, profiling and |
7607 |-------------------------------+-----------------------------------|
7608 | lsqlite3 |→ Interpreter languages and |
7609 | |scripting → Lua libraries/modules |
7610 |-------------------------------+-----------------------------------|
7611 | lsuio |→ Hardware handling |
7612 |-------------------------------+-----------------------------------|
7613 | ltp-testsuite |→ Debugging, profiling and |
7615 |-------------------------------+-----------------------------------|
7616 | ltrace |→ Debugging, profiling and |
7618 |-------------------------------+-----------------------------------|
7620 |-------------------------------+-----------------------------------|
7621 | lttng-babeltrace |→ Debugging, profiling and |
7623 |-------------------------------+-----------------------------------|
7624 | lttng-libust |→ Libraries → Other |
7625 |-------------------------------+-----------------------------------|
7626 | lttng-modules |→ Debugging, profiling and |
7628 |-------------------------------+-----------------------------------|
7629 | lttng-tools |→ Debugging, profiling and |
7631 |-------------------------------+-----------------------------------|
7632 | lua |→ Interpreter languages and |
7634 |-------------------------------+-----------------------------------|
7635 | lua-cjson |→ Interpreter languages and |
7636 | |scripting → Lua libraries/modules |
7637 |-------------------------------+-----------------------------------|
7638 | lua-coat |→ Interpreter languages and |
7639 | |scripting → Lua libraries/modules |
7640 |-------------------------------+-----------------------------------|
7641 | lua-coatpersistent |→ Interpreter languages and |
7642 | |scripting → Lua libraries/modules |
7643 |-------------------------------+-----------------------------------|
7644 | lua-csnappy |→ Interpreter languages and |
7645 | |scripting → Lua libraries/modules |
7646 |-------------------------------+-----------------------------------|
7647 | lua-ev |→ Interpreter languages and |
7648 | |scripting → Lua libraries/modules |
7649 |-------------------------------+-----------------------------------|
7650 | lua-messagepack |→ Interpreter languages and |
7651 | |scripting → Lua libraries/modules |
7652 |-------------------------------+-----------------------------------|
7653 | lua-msgpack-native |→ Interpreter languages and |
7654 | |scripting → Lua libraries/modules |
7655 |-------------------------------+-----------------------------------|
7656 | lua-periphery |→ Interpreter languages and |
7657 | |scripting → Lua libraries/modules |
7658 |-------------------------------+-----------------------------------|
7659 | lua-testmore |→ Interpreter languages and |
7660 | |scripting → Lua libraries/modules |
7661 |-------------------------------+-----------------------------------|
7662 | luabitop |→ Interpreter languages and |
7663 | |scripting → Lua libraries/modules |
7664 |-------------------------------+-----------------------------------|
7665 | luacrypto |→ Interpreter languages and |
7666 | |scripting → Lua libraries/modules |
7667 |-------------------------------+-----------------------------------|
7668 | luaexpat |→ Interpreter languages and |
7669 | |scripting → Lua libraries/modules |
7670 |-------------------------------+-----------------------------------|
7671 | luaexpatutils |→ Interpreter languages and |
7672 | |scripting → Lua libraries/modules |
7673 |-------------------------------+-----------------------------------|
7674 | luafilesystem |→ Interpreter languages and |
7675 | |scripting → Lua libraries/modules |
7676 |-------------------------------+-----------------------------------|
7677 | luajit |→ Interpreter languages and |
7679 |-------------------------------+-----------------------------------|
7680 | luajson |→ Interpreter languages and |
7681 | |scripting → Lua libraries/modules |
7682 |-------------------------------+-----------------------------------|
7683 | lualogging |→ Interpreter languages and |
7684 | |scripting → Lua libraries/modules |
7685 |-------------------------------+-----------------------------------|
7686 | luaposix |→ Interpreter languages and |
7687 | |scripting → Lua libraries/modules |
7688 |-------------------------------+-----------------------------------|
7689 | luasec |→ Interpreter languages and |
7690 | |scripting → Lua libraries/modules |
7691 |-------------------------------+-----------------------------------|
7692 | luasocket |→ Interpreter languages and |
7693 | |scripting → Lua libraries/modules |
7694 |-------------------------------+-----------------------------------|
7695 | luasql-sqlite3 |→ Interpreter languages and |
7696 | |scripting → Lua libraries/modules |
7697 |-------------------------------+-----------------------------------|
7698 | luit |→ Graphic libraries and |
7699 | |applications (graphic/text) → X11R7|
7701 |-------------------------------+-----------------------------------|
7702 | lunit |→ Interpreter languages and |
7703 | |scripting → Lua libraries/modules |
7704 |-------------------------------+-----------------------------------|
7705 | lvm2 & device mapper |→ Hardware handling |
7706 |-------------------------------+-----------------------------------|
7707 | lxc |→ System tools |
7708 |-------------------------------+-----------------------------------|
7709 | lz4 |→ Compressors and decompressors |
7710 |-------------------------------+-----------------------------------|
7711 | lzip |→ Compressors and decompressors |
7712 |-------------------------------+-----------------------------------|
7713 | lzlib |→ Interpreter languages and |
7714 | |scripting → Lua libraries/modules |
7715 |-------------------------------+-----------------------------------|
7716 | lzo |→ Libraries → Compression and |
7718 |-------------------------------+-----------------------------------|
7719 | lzop |→ Compressors and decompressors |
7720 |-------------------------------+-----------------------------------|
7721 | macchanger |→ Networking applications |
7722 |-------------------------------+-----------------------------------|
7723 | madplay |→ Audio and video applications |
7724 |-------------------------------+-----------------------------------|
7725 | make |→ Development tools |
7726 |-------------------------------+-----------------------------------|
7727 | makedepend |→ Graphic libraries and |
7728 | |applications (graphic/text) → X11R7|
7730 |-------------------------------+-----------------------------------|
7731 | makedevs |→ Filesystem and flash utilities |
7732 |-------------------------------+-----------------------------------|
7733 | Matchbox Desktop |→ Graphic libraries and |
7734 | |applications (graphic/text) |
7735 |-------------------------------+-----------------------------------|
7736 | Matchbox Panel |→ Graphic libraries and |
7737 | |applications (graphic/text) |
7738 |-------------------------------+-----------------------------------|
7739 | Matchbox session common files |→ Graphic libraries and |
7740 | |applications (graphic/text) |
7741 |-------------------------------+-----------------------------------|
7742 | Matchbox Virtual Keyboard |→ Graphic libraries and |
7743 | |applications (graphic/text) |
7744 |-------------------------------+-----------------------------------|
7745 | MatchBox Window Manager |→ Graphic libraries and |
7746 | |applications (graphic/text) |
7747 |-------------------------------+-----------------------------------|
7748 | mc |→ Text editors and viewers |
7749 |-------------------------------+-----------------------------------|
7750 | mcelog |→ Debugging, profiling and |
7752 |-------------------------------+-----------------------------------|
7753 | mcookie |→ Graphic libraries and |
7754 | |applications (graphic/text) → X11R7|
7756 |-------------------------------+-----------------------------------|
7757 | mcrypt |→ Miscellaneous |
7758 |-------------------------------+-----------------------------------|
7759 | mdadm |→ Hardware handling |
7760 |-------------------------------+-----------------------------------|
7761 | media-ctl |→ Hardware handling |
7762 |-------------------------------+-----------------------------------|
7763 | mediastreamer |→ Libraries → Multimedia |
7764 |-------------------------------+-----------------------------------|
7765 | memcached |→ Networking applications |
7766 |-------------------------------+-----------------------------------|
7767 | memstat |→ Debugging, profiling and |
7769 |-------------------------------+-----------------------------------|
7770 | memtest86 |→ Hardware handling |
7771 |-------------------------------+-----------------------------------|
7772 | memtester |→ Hardware handling |
7773 |-------------------------------+-----------------------------------|
7774 | mesa3d |→ Graphic libraries and |
7775 | |applications (graphic/text) |
7776 |-------------------------------+-----------------------------------|
7777 | mesa3d-demos |→ Graphic libraries and |
7778 | |applications (graphic/text) |
7779 |-------------------------------+-----------------------------------|
7780 | metacity |→ Graphic libraries and |
7781 | |applications (graphic/text) |
7782 |-------------------------------+-----------------------------------|
7783 | midori |→ Graphic libraries and |
7784 | |applications (graphic/text) |
7785 |-------------------------------+-----------------------------------|
7786 | mii-diag |→ Networking applications |
7787 |-------------------------------+-----------------------------------|
7788 | Mini-XML |→ Libraries → JSON/XML |
7789 |-------------------------------+-----------------------------------|
7790 | minicom |→ Hardware handling |
7791 |-------------------------------+-----------------------------------|
7792 | minidlna |→ Networking applications |
7793 |-------------------------------+-----------------------------------|
7794 | mjpegtools |→ Audio and video applications |
7795 |-------------------------------+-----------------------------------|
7796 | mjpg-streamer |→ Networking applications |
7797 |-------------------------------+-----------------------------------|
7798 | mkfontdir |→ Graphic libraries and |
7799 | |applications (graphic/text) → X11R7|
7801 |-------------------------------+-----------------------------------|
7802 | mkfontscale |→ Graphic libraries and |
7803 | |applications (graphic/text) → X11R7|
7805 |-------------------------------+-----------------------------------|
7806 | mmc-utils |→ Filesystem and flash utilities |
7807 |-------------------------------+-----------------------------------|
7808 |mobile-broadband-provider-info |→ Miscellaneous |
7809 |-------------------------------+-----------------------------------|
7810 | modemmanager |→ Networking applications |
7811 |-------------------------------+-----------------------------------|
7812 | modplugtools |→ Audio and video applications |
7813 |-------------------------------+-----------------------------------|
7814 | mongoose |→ Networking applications |
7815 |-------------------------------+-----------------------------------|
7816 | mongrel2 |→ Networking applications |
7817 |-------------------------------+-----------------------------------|
7818 | monit |→ System tools |
7819 |-------------------------------+-----------------------------------|
7820 | mono |→ Interpreter languages and |
7822 |-------------------------------+-----------------------------------|
7823 | mosquitto |→ Networking applications |
7824 |-------------------------------+-----------------------------------|
7825 | mp4v2 |→ Libraries → Audio/Sound |
7826 |-------------------------------+-----------------------------------|
7827 | mpc |→ Libraries → Other |
7828 |-------------------------------+-----------------------------------|
7829 | mpd |→ Audio and video applications |
7830 |-------------------------------+-----------------------------------|
7831 | mpd-mpc |→ Audio and video applications |
7832 |-------------------------------+-----------------------------------|
7833 | mpdecimal |→ Libraries → Other |
7834 |-------------------------------+-----------------------------------|
7835 | mpfr |→ Libraries → Other |
7836 |-------------------------------+-----------------------------------|
7837 | mpg123 |→ Audio and video applications |
7838 |-------------------------------+-----------------------------------|
7839 | mplayer |→ Audio and video applications |
7840 |-------------------------------+-----------------------------------|
7841 | mrouted |→ Networking applications |
7842 |-------------------------------+-----------------------------------|
7843 | msgpack |→ Libraries → Other |
7844 |-------------------------------+-----------------------------------|
7846 |-------------------------------+-----------------------------------|
7847 |mtd, jffs2 and ubi/ubifs tools |→ Filesystem and flash utilities |
7848 |-------------------------------+-----------------------------------|
7849 | mtdev |→ Libraries → Hardware handling |
7850 |-------------------------------+-----------------------------------|
7851 | mtdev2tuio |→ Libraries → Other |
7852 |-------------------------------+-----------------------------------|
7853 | mtools |→ Filesystem and flash utilities |
7854 |-------------------------------+-----------------------------------|
7855 | mtr |→ Networking applications |
7856 |-------------------------------+-----------------------------------|
7857 | Multimedia Module |→ Graphic libraries and |
7858 | |applications (graphic/text) |
7859 |-------------------------------+-----------------------------------|
7860 | musepack |→ Audio and video applications |
7861 |-------------------------------+-----------------------------------|
7863 |-------------------------------+-----------------------------------|
7864 | MySQL |→ Libraries → Database |
7865 |-------------------------------+-----------------------------------|
7866 | nano |→ Text editors and viewers |
7867 |-------------------------------+-----------------------------------|
7868 | nanocom |→ Hardware handling |
7869 |-------------------------------+-----------------------------------|
7870 | nbd |→ Networking applications |
7871 |-------------------------------+-----------------------------------|
7872 | ncdu |→ System tools |
7873 |-------------------------------+-----------------------------------|
7874 | ncftp |→ Networking applications |
7875 |-------------------------------+-----------------------------------|
7876 | ncmpc |→ Audio and video applications |
7877 |-------------------------------+-----------------------------------|
7878 | ncurses |→ Libraries → Text and terminal |
7880 |-------------------------------+-----------------------------------|
7881 | ndisc6 tools |→ Networking applications |
7882 |-------------------------------+-----------------------------------|
7883 | ne10 |→ Libraries → Hardware handling |
7884 |-------------------------------+-----------------------------------|
7885 | neard |→ Hardware handling |
7886 |-------------------------------+-----------------------------------|
7887 | neardal |→ Libraries → Hardware handling |
7888 |-------------------------------+-----------------------------------|
7889 | net-tools |→ Networking applications |
7890 |-------------------------------+-----------------------------------|
7891 | netatalk |→ Networking applications |
7892 |-------------------------------+-----------------------------------|
7893 | netcat |→ Networking applications |
7894 |-------------------------------+-----------------------------------|
7895 | netcat-openbsd |→ Networking applications |
7896 |-------------------------------+-----------------------------------|
7897 | netperf |→ Debugging, profiling and |
7899 |-------------------------------+-----------------------------------|
7900 | netplug |→ Networking applications |
7901 |-------------------------------+-----------------------------------|
7902 | netsnmp |→ Networking applications |
7903 |-------------------------------+-----------------------------------|
7904 | netstat-nat |→ Networking applications |
7905 |-------------------------------+-----------------------------------|
7906 | nettle |→ Libraries → Crypto |
7907 |-------------------------------+-----------------------------------|
7908 | networkmanager |→ Networking applications |
7909 |-------------------------------+-----------------------------------|
7910 | newt |→ Libraries → Text and terminal |
7912 |-------------------------------+-----------------------------------|
7913 | nfacct |→ Networking applications |
7914 |-------------------------------+-----------------------------------|
7915 | nfs-utils |→ Filesystem and flash utilities |
7916 |-------------------------------+-----------------------------------|
7917 | nftables |→ Networking applications |
7918 |-------------------------------+-----------------------------------|
7919 | nginx |→ Networking applications |
7920 |-------------------------------+-----------------------------------|
7921 | ngircd |→ Networking applications |
7922 |-------------------------------+-----------------------------------|
7923 | ngrep |→ Networking applications |
7924 |-------------------------------+-----------------------------------|
7925 | nmap |→ Networking applications |
7926 |-------------------------------+-----------------------------------|
7927 | nodejs |→ Interpreter languages and |
7929 |-------------------------------+-----------------------------------|
7930 | noip |→ Networking applications |
7931 |-------------------------------+-----------------------------------|
7932 | nss-mdns |→ Libraries → Networking |
7933 |-------------------------------+-----------------------------------|
7934 | ntfs-3g |→ Filesystem and flash utilities |
7935 |-------------------------------+-----------------------------------|
7936 | ntp |→ Networking applications |
7937 |-------------------------------+-----------------------------------|
7938 | numactl |→ System tools |
7939 |-------------------------------+-----------------------------------|
7940 | nut |→ System tools |
7941 |-------------------------------+-----------------------------------|
7942 | nuttcp |→ Networking applications |
7943 |-------------------------------+-----------------------------------|
7944 | nvidia-driver |→ Hardware handling |
7945 |-------------------------------+-----------------------------------|
7946 | nvidia-tegra23 |→ Hardware handling |
7947 |-------------------------------+-----------------------------------|
7948 | nvidia-tegra23 binaries |→ Hardware handling |
7949 |-------------------------------+-----------------------------------|
7950 | nvidia-tegra23 codecs |→ Hardware handling |
7951 |-------------------------------+-----------------------------------|
7952 | ocf-linux |→ Libraries → Crypto → cryptodev |
7954 |-------------------------------+-----------------------------------|
7955 | oclock |→ Graphic libraries and |
7956 | |applications (graphic/text) → X11R7|
7958 |-------------------------------+-----------------------------------|
7959 | ocrad |→ Graphic libraries and |
7960 | |applications (graphic/text) |
7961 |-------------------------------+-----------------------------------|
7962 | odhcp6c |→ Networking applications |
7963 |-------------------------------+-----------------------------------|
7964 | odhcploc |→ Networking applications |
7965 |-------------------------------+-----------------------------------|
7966 | ofono |→ Hardware handling |
7967 |-------------------------------+-----------------------------------|
7968 | ola (open lighting |→ Hardware handling |
7970 |-------------------------------+-----------------------------------|
7971 | olsrd |→ Networking applications |
7972 |-------------------------------+-----------------------------------|
7973 | omniorb |→ Libraries → Networking |
7974 |-------------------------------+-----------------------------------|
7975 | on2-8170-libs |→ Audio and video applications |
7976 |-------------------------------+-----------------------------------|
7977 | on2-8170-modules |→ Hardware handling |
7978 |-------------------------------+-----------------------------------|
7979 | open-plc-utils |→ Networking applications |
7980 |-------------------------------+-----------------------------------|
7981 | open2300 |→ Hardware handling |
7982 |-------------------------------+-----------------------------------|
7983 | opencore-amr |→ Libraries → Audio/Sound |
7984 |-------------------------------+-----------------------------------|
7985 | opencv |→ Libraries → Graphics |
7986 |-------------------------------+-----------------------------------|
7987 | openjpeg |→ Libraries → Graphics |
7988 |-------------------------------+-----------------------------------|
7989 | openldap |→ Libraries → Networking |
7990 |-------------------------------+-----------------------------------|
7991 | openntpd |→ Networking applications |
7992 |-------------------------------+-----------------------------------|
7993 | openobex |→ Networking applications |
7994 |-------------------------------+-----------------------------------|
7995 | openocd |→ Hardware handling |
7996 |-------------------------------+-----------------------------------|
7997 | openpgm |→ Libraries → Networking |
7998 |-------------------------------+-----------------------------------|
7999 | openpowerlink |→ Hardware handling |
8000 |-------------------------------+-----------------------------------|
8001 | openssh |→ Networking applications |
8002 |-------------------------------+-----------------------------------|
8003 | openssl |→ Libraries → Crypto |
8004 |-------------------------------+-----------------------------------|
8005 | openswan |→ Networking applications |
8006 |-------------------------------+-----------------------------------|
8007 | OpenTyrian |→ Games |
8008 |-------------------------------+-----------------------------------|
8009 | OpenTyrian data |→ Games |
8010 |-------------------------------+-----------------------------------|
8011 | openvmtools |→ System tools |
8012 |-------------------------------+-----------------------------------|
8013 | openvpn |→ Networking applications |
8014 |-------------------------------+-----------------------------------|
8015 | opkg |→ Package managers |
8016 |-------------------------------+-----------------------------------|
8017 | oprofile |→ Debugging, profiling and |
8019 |-------------------------------+-----------------------------------|
8020 | opus |→ Libraries → Audio/Sound |
8021 |-------------------------------+-----------------------------------|
8022 | opus-tools |→ Audio and video applications |
8023 |-------------------------------+-----------------------------------|
8024 | opusfile |→ Libraries → Audio/Sound |
8025 |-------------------------------+-----------------------------------|
8026 | orbit |→ Interpreter languages and |
8027 | |scripting → Lua libraries/modules |
8028 |-------------------------------+-----------------------------------|
8029 | orc |→ Libraries → Other |
8030 |-------------------------------+-----------------------------------|
8031 | oRTP |→ Libraries → Networking |
8032 |-------------------------------+-----------------------------------|
8033 | owl-linux |→ Hardware handling |
8034 |-------------------------------+-----------------------------------|
8035 | p11-kit |→ Libraries → Other |
8036 |-------------------------------+-----------------------------------|
8037 | p910nd |→ Networking applications |
8038 |-------------------------------+-----------------------------------|
8039 | pango |→ Libraries → Graphics |
8040 |-------------------------------+-----------------------------------|
8041 | parted |→ Hardware handling |
8042 |-------------------------------+-----------------------------------|
8043 | patch |→ Development tools |
8044 |-------------------------------+-----------------------------------|
8045 | pax-utils |→ Debugging, profiling and |
8047 |-------------------------------+-----------------------------------|
8048 | pciutils |→ Hardware handling |
8049 |-------------------------------+-----------------------------------|
8050 | pcmanfm |→ Graphic libraries and |
8051 | |applications (graphic/text) |
8052 |-------------------------------+-----------------------------------|
8053 | pcre |→ Libraries → Text and terminal |
8055 |-------------------------------+-----------------------------------|
8056 | pcsc-lite |→ Libraries → Hardware handling |
8057 |-------------------------------+-----------------------------------|
8058 | perf |→ Debugging, profiling and |
8060 |-------------------------------+-----------------------------------|
8061 | perl |→ Interpreter languages and |
8063 |-------------------------------+-----------------------------------|
8064 | perl-crypt-openssl-random |→ Interpreter languages and |
8065 | |scripting → Perl libraries/modules |
8066 |-------------------------------+-----------------------------------|
8067 | perl-crypt-openssl-rsa |→ Interpreter languages and |
8068 | |scripting → Perl libraries/modules |
8069 |-------------------------------+-----------------------------------|
8070 | perl-datetime-tiny |→ Interpreter languages and |
8071 | |scripting → Perl libraries/modules |
8072 |-------------------------------+-----------------------------------|
8073 | perl-db-file |→ Interpreter languages and |
8074 | |scripting → Perl libraries/modules |
8075 |-------------------------------+-----------------------------------|
8076 | perl-digest-hmac |→ Interpreter languages and |
8077 | |scripting → Perl libraries/modules |
8078 |-------------------------------+-----------------------------------|
8079 | perl-digest-sha1 |→ Interpreter languages and |
8080 | |scripting → Perl libraries/modules |
8081 |-------------------------------+-----------------------------------|
8082 | perl-encode-detect |→ Interpreter languages and |
8083 | |scripting → Perl libraries/modules |
8084 |-------------------------------+-----------------------------------|
8085 | perl-encode-locale |→ Interpreter languages and |
8086 | |scripting → Perl libraries/modules |
8087 |-------------------------------+-----------------------------------|
8088 | perl-file-listing |→ Interpreter languages and |
8089 | |scripting → Perl libraries/modules |
8090 |-------------------------------+-----------------------------------|
8091 | perl-file-util |→ Interpreter languages and |
8092 | |scripting → Perl libraries/modules |
8093 |-------------------------------+-----------------------------------|
8094 | perl-gd |→ Interpreter languages and |
8095 | |scripting → Perl libraries/modules |
8096 |-------------------------------+-----------------------------------|
8097 | perl-gdgraph |→ Interpreter languages and |
8098 | |scripting → Perl libraries/modules |
8099 |-------------------------------+-----------------------------------|
8100 | perl-gdtextutil |→ Interpreter languages and |
8101 | |scripting → Perl libraries/modules |
8102 |-------------------------------+-----------------------------------|
8103 | perl-html-parser |→ Interpreter languages and |
8104 | |scripting → Perl libraries/modules |
8105 |-------------------------------+-----------------------------------|
8106 | perl-html-tagset |→ Interpreter languages and |
8107 | |scripting → Perl libraries/modules |
8108 |-------------------------------+-----------------------------------|
8109 | perl-http-cookies |→ Interpreter languages and |
8110 | |scripting → Perl libraries/modules |
8111 |-------------------------------+-----------------------------------|
8112 | perl-http-daemon |→ Interpreter languages and |
8113 | |scripting → Perl libraries/modules |
8114 |-------------------------------+-----------------------------------|
8115 | perl-http-date |→ Interpreter languages and |
8116 | |scripting → Perl libraries/modules |
8117 |-------------------------------+-----------------------------------|
8118 | perl-http-message |→ Interpreter languages and |
8119 | |scripting → Perl libraries/modules |
8120 |-------------------------------+-----------------------------------|
8121 | perl-http-negotiate |→ Interpreter languages and |
8122 | |scripting → Perl libraries/modules |
8123 |-------------------------------+-----------------------------------|
8124 | perl-io-html |→ Interpreter languages and |
8125 | |scripting → Perl libraries/modules |
8126 |-------------------------------+-----------------------------------|
8127 | perl-io-socket-ssl |→ Interpreter languages and |
8128 | |scripting → Perl libraries/modules |
8129 |-------------------------------+-----------------------------------|
8130 | perl-json-tiny |→ Interpreter languages and |
8131 | |scripting → Perl libraries/modules |
8132 |-------------------------------+-----------------------------------|
8133 | perl-libwww-perl |→ Interpreter languages and |
8134 | |scripting → Perl libraries/modules |
8135 |-------------------------------+-----------------------------------|
8136 | perl-lwp-mediatypes |→ Interpreter languages and |
8137 | |scripting → Perl libraries/modules |
8138 |-------------------------------+-----------------------------------|
8139 | perl-mail-dkim |→ Interpreter languages and |
8140 | |scripting → Perl libraries/modules |
8141 |-------------------------------+-----------------------------------|
8142 | perl-mailtools |→ Interpreter languages and |
8143 | |scripting → Perl libraries/modules |
8144 |-------------------------------+-----------------------------------|
8145 | perl-mime-base64 |→ Interpreter languages and |
8146 | |scripting → Perl libraries/modules |
8147 |-------------------------------+-----------------------------------|
8148 | perl-mojolicious |→ Interpreter languages and |
8149 | |scripting → Perl libraries/modules |
8150 |-------------------------------+-----------------------------------|
8151 | perl-net-dns |→ Interpreter languages and |
8152 | |scripting → Perl libraries/modules |
8153 |-------------------------------+-----------------------------------|
8154 | perl-net-http |→ Interpreter languages and |
8155 | |scripting → Perl libraries/modules |
8156 |-------------------------------+-----------------------------------|
8157 | perl-net-ssleay |→ Interpreter languages and |
8158 | |scripting → Perl libraries/modules |
8159 |-------------------------------+-----------------------------------|
8160 | perl-netaddr-ip |→ Interpreter languages and |
8161 | |scripting → Perl libraries/modules |
8162 |-------------------------------+-----------------------------------|
8163 | perl-path-tiny |→ Interpreter languages and |
8164 | |scripting → Perl libraries/modules |
8165 |-------------------------------+-----------------------------------|
8166 | perl-time-hires |→ Interpreter languages and |
8167 | |scripting → Perl libraries/modules |
8168 |-------------------------------+-----------------------------------|
8169 | perl-timedate |→ Interpreter languages and |
8170 | |scripting → Perl libraries/modules |
8171 |-------------------------------+-----------------------------------|
8172 | perl-try-tiny |→ Interpreter languages and |
8173 | |scripting → Perl libraries/modules |
8174 |-------------------------------+-----------------------------------|
8175 | perl-uri |→ Interpreter languages and |
8176 | |scripting → Perl libraries/modules |
8177 |-------------------------------+-----------------------------------|
8178 | perl-www-robotrules |→ Interpreter languages and |
8179 | |scripting → Perl libraries/modules |
8180 |-------------------------------+-----------------------------------|
8181 | perl-xml-libxml |→ Interpreter languages and |
8182 | |scripting → Perl libraries/modules |
8183 |-------------------------------+-----------------------------------|
8184 | perl-xml-namespacesupport |→ Interpreter languages and |
8185 | |scripting → Perl libraries/modules |
8186 |-------------------------------+-----------------------------------|
8187 | perl-xml-sax |→ Interpreter languages and |
8188 | |scripting → Perl libraries/modules |
8189 |-------------------------------+-----------------------------------|
8190 | perl-xml-sax-base |→ Interpreter languages and |
8191 | |scripting → Perl libraries/modules |
8192 |-------------------------------+-----------------------------------|
8193 | phidgetwebservice |→ Networking applications |
8194 |-------------------------------+-----------------------------------|
8195 | php |→ Interpreter languages and |
8197 |-------------------------------+-----------------------------------|
8198 | php-geoip |→ Interpreter languages and |
8199 | |scripting → External php extensions|
8200 |-------------------------------+-----------------------------------|
8201 | php-gnupg |→ Interpreter languages and |
8202 | |scripting → External php extensions|
8203 |-------------------------------+-----------------------------------|
8204 | php-imagick |→ Interpreter languages and |
8205 | |scripting → External php extensions|
8206 |-------------------------------+-----------------------------------|
8207 | php-memcached |→ Interpreter languages and |
8208 | |scripting → External php extensions|
8209 |-------------------------------+-----------------------------------|
8210 | php-ssh2 |→ Interpreter languages and |
8211 | |scripting → External php extensions|
8212 |-------------------------------+-----------------------------------|
8213 | php-yaml |→ Interpreter languages and |
8214 | |scripting → External php extensions|
8215 |-------------------------------+-----------------------------------|
8216 | php-zmq |→ Interpreter languages and |
8217 | |scripting → External php extensions|
8218 |-------------------------------+-----------------------------------|
8219 | picocom |→ Hardware handling |
8220 |-------------------------------+-----------------------------------|
8221 | pifmrds |→ Hardware handling |
8222 |-------------------------------+-----------------------------------|
8223 | pinentry |→ Shell and utilities |
8224 |-------------------------------+-----------------------------------|
8225 | pixman |→ Libraries → Graphics |
8226 |-------------------------------+-----------------------------------|
8227 | pkgconf |→ Development tools |
8228 |-------------------------------+-----------------------------------|
8229 | poco |→ Libraries → Other |
8230 |-------------------------------+-----------------------------------|
8231 | polarssl |→ Libraries → Crypto |
8232 |-------------------------------+-----------------------------------|
8233 | polkit |→ System tools |
8234 |-------------------------------+-----------------------------------|
8235 | poppler |→ Libraries → Graphics |
8236 |-------------------------------+-----------------------------------|
8237 | popt |→ Libraries → Text and terminal |
8239 |-------------------------------+-----------------------------------|
8240 | portaudio |→ Libraries → Audio/Sound |
8241 |-------------------------------+-----------------------------------|
8242 | portmap |→ Networking applications |
8243 |-------------------------------+-----------------------------------|
8244 | postgresql |→ Libraries → Database |
8245 |-------------------------------+-----------------------------------|
8246 | powerpc-utils |→ System tools |
8247 |-------------------------------+-----------------------------------|
8248 | powertop |→ Hardware handling |
8249 |-------------------------------+-----------------------------------|
8250 | pppd |→ Networking applications |
8251 |-------------------------------+-----------------------------------|
8252 | pps-tools |→ Hardware handling |
8253 |-------------------------------+-----------------------------------|
8254 | pptp-linux |→ Networking applications |
8255 |-------------------------------+-----------------------------------|
8257 |-------------------------------+-----------------------------------|
8258 | presentproto |→ Graphic libraries and |
8259 | |applications (graphic/text) → X11R7|
8261 |-------------------------------+-----------------------------------|
8262 | procps-ng |→ System tools |
8263 |-------------------------------+-----------------------------------|
8264 | proftpd |→ Networking applications |
8265 |-------------------------------+-----------------------------------|
8266 | protobuf |→ Libraries → Other |
8267 |-------------------------------+-----------------------------------|
8268 | protobuf-c |→ Libraries → Other |
8269 |-------------------------------+-----------------------------------|
8270 | proxychains-ng |→ Networking applications |
8271 |-------------------------------+-----------------------------------|
8272 | psmisc |→ System tools |
8273 |-------------------------------+-----------------------------------|
8274 | psplash |→ Graphic libraries and |
8275 | |applications (graphic/text) |
8276 |-------------------------------+-----------------------------------|
8277 | ptpd |→ Networking applications |
8278 |-------------------------------+-----------------------------------|
8279 | ptpd2 |→ Networking applications |
8280 |-------------------------------+-----------------------------------|
8281 | pulseaudio |→ Audio and video applications |
8282 |-------------------------------+-----------------------------------|
8283 | pulseview |→ Hardware handling |
8284 |-------------------------------+-----------------------------------|
8285 | pure-ftpd |→ Networking applications |
8286 |-------------------------------+-----------------------------------|
8287 | pv |→ Debugging, profiling and |
8289 |-------------------------------+-----------------------------------|
8290 | pwgen |→ System tools |
8291 |-------------------------------+-----------------------------------|
8292 | python |→ Interpreter languages and |
8294 |-------------------------------+-----------------------------------|
8295 | python-alsaaudio |→ Interpreter languages and |
8296 | |scripting → external python modules|
8297 |-------------------------------+-----------------------------------|
8298 | python-bottle |→ Interpreter languages and |
8299 | |scripting → external python modules|
8300 |-------------------------------+-----------------------------------|
8301 | python-certifi |→ Interpreter languages and |
8302 | |scripting → external python modules|
8303 |-------------------------------+-----------------------------------|
8304 | python-cffi |→ Interpreter languages and |
8305 | |scripting → external python modules|
8306 |-------------------------------+-----------------------------------|
8307 | python-cheetah |→ Interpreter languages and |
8308 | |scripting → external python modules|
8309 |-------------------------------+-----------------------------------|
8310 | python-cherrypy |→ Interpreter languages and |
8311 | |scripting → external python modules|
8312 |-------------------------------+-----------------------------------|
8313 | python-coherence |→ Interpreter languages and |
8314 | |scripting → external python modules|
8315 |-------------------------------+-----------------------------------|
8316 | python-configobj |→ Interpreter languages and |
8317 | |scripting → external python modules|
8318 |-------------------------------+-----------------------------------|
8319 | python-configshell-fb |→ Interpreter languages and |
8320 | |scripting → external python modules|
8321 |-------------------------------+-----------------------------------|
8322 | python-crc16 |→ Interpreter languages and |
8323 | |scripting → external python modules|
8324 |-------------------------------+-----------------------------------|
8325 | python-daemon |→ Interpreter languages and |
8326 | |scripting → external python modules|
8327 |-------------------------------+-----------------------------------|
8328 | python-dialog |→ Interpreter languages and |
8329 | |scripting → external python modules|
8330 |-------------------------------+-----------------------------------|
8331 | python-django |→ Interpreter languages and |
8332 | |scripting → external python modules|
8333 |-------------------------------+-----------------------------------|
8334 | python-docopt |→ Interpreter languages and |
8335 | |scripting → external python modules|
8336 |-------------------------------+-----------------------------------|
8337 | python-dpkt |→ Interpreter languages and |
8338 | |scripting → external python modules|
8339 |-------------------------------+-----------------------------------|
8340 | python-enum |→ Interpreter languages and |
8341 | |scripting → external python modules|
8342 |-------------------------------+-----------------------------------|
8343 | python-enum34 |→ Interpreter languages and |
8344 | |scripting → external python modules|
8345 |-------------------------------+-----------------------------------|
8346 | python-flask |→ Interpreter languages and |
8347 | |scripting → external python modules|
8348 |-------------------------------+-----------------------------------|
8349 | python-flup |→ Interpreter languages and |
8350 | |scripting → external python modules|
8351 |-------------------------------+-----------------------------------|
8352 | python-gobject |→ Interpreter languages and |
8353 | |scripting → external python modules|
8354 |-------------------------------+-----------------------------------|
8355 | python-httplib2 |→ Interpreter languages and |
8356 | |scripting → external python modules|
8357 |-------------------------------+-----------------------------------|
8358 | python-id3 |→ Interpreter languages and |
8359 | |scripting → external python modules|
8360 |-------------------------------+-----------------------------------|
8361 | python-ipaddr |→ Interpreter languages and |
8362 | |scripting → external python modules|
8363 |-------------------------------+-----------------------------------|
8364 | python-ipy |→ Interpreter languages and |
8365 | |scripting → external python modules|
8366 |-------------------------------+-----------------------------------|
8367 | python-ipython |→ Interpreter languages and |
8368 | |scripting → external python modules|
8369 |-------------------------------+-----------------------------------|
8370 | python-itsdangerous |→ Interpreter languages and |
8371 | |scripting → external python modules|
8372 |-------------------------------+-----------------------------------|
8373 | python-jinja2 |→ Interpreter languages and |
8374 | |scripting → external python modules|
8375 |-------------------------------+-----------------------------------|
8376 | python-json-schema-validator |→ Interpreter languages and |
8377 | |scripting → external python modules|
8378 |-------------------------------+-----------------------------------|
8379 | python-keyring |→ Interpreter languages and |
8380 | |scripting → external python modules|
8381 |-------------------------------+-----------------------------------|
8382 | python-libconfig |→ Interpreter languages and |
8383 | |scripting → external python modules|
8384 |-------------------------------+-----------------------------------|
8385 | python-lxml |→ Interpreter languages and |
8386 | |scripting → external python modules|
8387 |-------------------------------+-----------------------------------|
8388 | python-mad |→ Interpreter languages and |
8389 | |scripting → external python modules|
8390 |-------------------------------+-----------------------------------|
8391 | python-mako |→ Interpreter languages and |
8392 | |scripting → external python modules|
8393 |-------------------------------+-----------------------------------|
8394 | python-markdown |→ Interpreter languages and |
8395 | |scripting → external python modules|
8396 |-------------------------------+-----------------------------------|
8397 | python-markupsafe |→ Interpreter languages and |
8398 | |scripting → external python modules|
8399 |-------------------------------+-----------------------------------|
8400 | python-meld3 |→ Interpreter languages and |
8401 | |scripting → external python modules|
8402 |-------------------------------+-----------------------------------|
8403 | python-msgpack |→ Interpreter languages and |
8404 | |scripting → external python modules|
8405 |-------------------------------+-----------------------------------|
8406 | python-netifaces |→ Interpreter languages and |
8407 | |scripting → external python modules|
8408 |-------------------------------+-----------------------------------|
8409 | python-networkmanager |→ Interpreter languages and |
8410 | |scripting → external python modules|
8411 |-------------------------------+-----------------------------------|
8412 | python-nfc |→ Interpreter languages and |
8413 | |scripting → external python modules|
8414 |-------------------------------+-----------------------------------|
8415 | python-numpy |→ Interpreter languages and |
8416 | |scripting → external python modules|
8417 |-------------------------------+-----------------------------------|
8418 | python-pam |→ Interpreter languages and |
8419 | |scripting → external python modules|
8420 |-------------------------------+-----------------------------------|
8421 | python-posix-ipc |→ Interpreter languages and |
8422 | |scripting → external python modules|
8423 |-------------------------------+-----------------------------------|
8424 | python-protobuf |→ Interpreter languages and |
8425 | |scripting → external python modules|
8426 |-------------------------------+-----------------------------------|
8427 | python-psutil |→ Interpreter languages and |
8428 | |scripting → external python modules|
8429 |-------------------------------+-----------------------------------|
8430 | python-pyasn |→ Interpreter languages and |
8431 | |scripting → external python modules|
8432 |-------------------------------+-----------------------------------|
8433 | python-pycrypto |→ Interpreter languages and |
8434 | |scripting → external python modules|
8435 |-------------------------------+-----------------------------------|
8436 | python-pyftpdlib |→ Interpreter languages and |
8437 | |scripting → external python modules|
8438 |-------------------------------+-----------------------------------|
8439 | python-pygame |→ Interpreter languages and |
8440 | |scripting → external python modules|
8441 |-------------------------------+-----------------------------------|
8442 | python-pyinotify |→ Interpreter languages and |
8443 | |scripting → external python modules|
8444 |-------------------------------+-----------------------------------|
8445 | python-pyparsing |→ Interpreter languages and |
8446 | |scripting → external python modules|
8447 |-------------------------------+-----------------------------------|
8448 | python-pypcap |→ Interpreter languages and |
8449 | |scripting → external python modules|
8450 |-------------------------------+-----------------------------------|
8451 | python-pyqt |→ Interpreter languages and |
8452 | |scripting → external python modules|
8453 |-------------------------------+-----------------------------------|
8454 | python-pyro |→ Interpreter languages and |
8455 | |scripting → external python modules|
8456 |-------------------------------+-----------------------------------|
8457 | python-pysendfile |→ Interpreter languages and |
8458 | |scripting → external python modules|
8459 |-------------------------------+-----------------------------------|
8460 | python-pysnmp |→ Interpreter languages and |
8461 | |scripting → external python modules|
8462 |-------------------------------+-----------------------------------|
8463 | python-pysnmp-apps |→ Interpreter languages and |
8464 | |scripting → external python modules|
8465 |-------------------------------+-----------------------------------|
8466 | python-pysnmp-mibs |→ Interpreter languages and |
8467 | |scripting → external python modules|
8468 |-------------------------------+-----------------------------------|
8469 | python-pyusb |→ Interpreter languages and |
8470 | |scripting → external python modules|
8471 |-------------------------------+-----------------------------------|
8472 | python-pyxb |→ Interpreter languages and |
8473 | |scripting → external python modules|
8474 |-------------------------------+-----------------------------------|
8475 | python-pyzmq |→ Interpreter languages and |
8476 | |scripting → external python modules|
8477 |-------------------------------+-----------------------------------|
8478 | python-requests |→ Interpreter languages and |
8479 | |scripting → external python modules|
8480 |-------------------------------+-----------------------------------|
8481 | python-rtslib-fb |→ Interpreter languages and |
8482 | |scripting → external python modules|
8483 |-------------------------------+-----------------------------------|
8484 | python-serial |→ Interpreter languages and |
8485 | |scripting → external python modules|
8486 |-------------------------------+-----------------------------------|
8487 | python-setuptools |→ Interpreter languages and |
8488 | |scripting → external python modules|
8489 |-------------------------------+-----------------------------------|
8490 | python-simplejson |→ Interpreter languages and |
8491 | |scripting → external python modules|
8492 |-------------------------------+-----------------------------------|
8493 | python-sip |→ Interpreter languages and |
8494 | |scripting → external python modules|
8495 |-------------------------------+-----------------------------------|
8496 | python-six |→ Interpreter languages and |
8497 | |scripting → external python modules|
8498 |-------------------------------+-----------------------------------|
8499 | python-spidev |→ Interpreter languages and |
8500 | |scripting → external python modules|
8501 |-------------------------------+-----------------------------------|
8502 | python-thrift |→ Interpreter languages and |
8503 | |scripting → external python modules|
8504 |-------------------------------+-----------------------------------|
8505 | python-tornado |→ Interpreter languages and |
8506 | |scripting → external python modules|
8507 |-------------------------------+-----------------------------------|
8508 | python-twisted |→ Interpreter languages and |
8509 | |scripting → external python modules|
8510 |-------------------------------+-----------------------------------|
8511 | python-urwid |→ Interpreter languages and |
8512 | |scripting → external python modules|
8513 |-------------------------------+-----------------------------------|
8514 | python-versiontools |→ Interpreter languages and |
8515 | |scripting → external python modules|
8516 |-------------------------------+-----------------------------------|
8517 | python-webpy |→ Interpreter languages and |
8518 | |scripting → external python modules|
8519 |-------------------------------+-----------------------------------|
8520 | python-werkzeug |→ Interpreter languages and |
8521 | |scripting → external python modules|
8522 |-------------------------------+-----------------------------------|
8523 | python-ws4py |→ Interpreter languages and |
8524 | |scripting → external python modules|
8525 |-------------------------------+-----------------------------------|
8526 | python-zope-interface |→ Interpreter languages and |
8527 | |scripting → external python modules|
8528 |-------------------------------+-----------------------------------|
8529 | python3 |→ Interpreter languages and |
8531 |-------------------------------+-----------------------------------|
8532 | qdecoder |→ Libraries → Networking |
8533 |-------------------------------+-----------------------------------|
8534 | QEMU |→ Miscellaneous |
8535 |-------------------------------+-----------------------------------|
8536 | qextserialport |→ Graphic libraries and |
8537 | |applications (graphic/text) |
8538 |-------------------------------+-----------------------------------|
8539 | qhull |→ Libraries → Other |
8540 |-------------------------------+-----------------------------------|
8541 | qjson |→ Graphic libraries and |
8542 | |applications (graphic/text) |
8543 |-------------------------------+-----------------------------------|
8544 | qlibc |→ Libraries → Other |
8545 |-------------------------------+-----------------------------------|
8546 | qpdf |→ Miscellaneous |
8547 |-------------------------------+-----------------------------------|
8548 | Qt |→ Graphic libraries and |
8549 | |applications (graphic/text) |
8550 |-------------------------------+-----------------------------------|
8551 | qt-webkit-kiosk |→ Graphic libraries and |
8552 | |applications (graphic/text) |
8553 |-------------------------------+-----------------------------------|
8554 | Qt5 |→ Graphic libraries and |
8555 | |applications (graphic/text) |
8556 |-------------------------------+-----------------------------------|
8557 | qt5base |→ Graphic libraries and |
8558 | |applications (graphic/text) |
8559 |-------------------------------+-----------------------------------|
8560 | qt5cinex |→ Graphic libraries and |
8561 | |applications (graphic/text) |
8562 |-------------------------------+-----------------------------------|
8563 | qt5connectivity |→ Graphic libraries and |
8564 | |applications (graphic/text) |
8565 |-------------------------------+-----------------------------------|
8566 | qt5declarative |→ Graphic libraries and |
8567 | |applications (graphic/text) |
8568 |-------------------------------+-----------------------------------|
8569 | qt5enginio |→ Graphic libraries and |
8570 | |applications (graphic/text) |
8571 |-------------------------------+-----------------------------------|
8572 | qt5graphicaleffects |→ Graphic libraries and |
8573 | |applications (graphic/text) |
8574 |-------------------------------+-----------------------------------|
8575 | qt5imageformats |→ Graphic libraries and |
8576 | |applications (graphic/text) |
8577 |-------------------------------+-----------------------------------|
8578 | qt5multimedia |→ Graphic libraries and |
8579 | |applications (graphic/text) |
8580 |-------------------------------+-----------------------------------|
8581 | qt5quick1 |→ Graphic libraries and |
8582 | |applications (graphic/text) |
8583 |-------------------------------+-----------------------------------|
8584 | qt5quickcontrols |→ Graphic libraries and |
8585 | |applications (graphic/text) |
8586 |-------------------------------+-----------------------------------|
8587 | qt5script |→ Graphic libraries and |
8588 | |applications (graphic/text) |
8589 |-------------------------------+-----------------------------------|
8590 | qt5sensors |→ Graphic libraries and |
8591 | |applications (graphic/text) |
8592 |-------------------------------+-----------------------------------|
8593 | qt5serialport |→ Graphic libraries and |
8594 | |applications (graphic/text) |
8595 |-------------------------------+-----------------------------------|
8596 | qt5svg |→ Graphic libraries and |
8597 | |applications (graphic/text) |
8598 |-------------------------------+-----------------------------------|
8599 | qt5webkit |→ Graphic libraries and |
8600 | |applications (graphic/text) |
8601 |-------------------------------+-----------------------------------|
8602 | qt5webkit examples |→ Graphic libraries and |
8603 | |applications (graphic/text) |
8604 |-------------------------------+-----------------------------------|
8605 | qt5websockets |→ Graphic libraries and |
8606 | |applications (graphic/text) |
8607 |-------------------------------+-----------------------------------|
8608 | qt5x11extras |→ Graphic libraries and |
8609 | |applications (graphic/text) |
8610 |-------------------------------+-----------------------------------|
8611 | qt5xmlpatterns |→ Graphic libraries and |
8612 | |applications (graphic/text) |
8613 |-------------------------------+-----------------------------------|
8614 | qtuio |→ Graphic libraries and |
8615 | |applications (graphic/text) |
8616 |-------------------------------+-----------------------------------|
8617 | quagga |→ Networking applications |
8618 |-------------------------------+-----------------------------------|
8619 | quota |→ System tools |
8620 |-------------------------------+-----------------------------------|
8621 | qwt |→ Graphic libraries and |
8622 | |applications (graphic/text) |
8623 |-------------------------------+-----------------------------------|
8624 | radvd |→ Networking applications |
8625 |-------------------------------+-----------------------------------|
8626 | ramspeed |→ Debugging, profiling and |
8628 |-------------------------------+-----------------------------------|
8629 | ramspeed/smp |→ Debugging, profiling and |
8631 |-------------------------------+-----------------------------------|
8632 | randrproto |→ Graphic libraries and |
8633 | |applications (graphic/text) → X11R7|
8635 |-------------------------------+-----------------------------------|
8636 | rapidjson |→ Libraries → JSON/XML |
8637 |-------------------------------+-----------------------------------|
8638 | rdesktop |→ Graphic libraries and |
8639 | |applications (graphic/text) |
8640 |-------------------------------+-----------------------------------|
8641 | read-edid |→ Hardware handling |
8642 |-------------------------------+-----------------------------------|
8643 | readline |→ Libraries → Text and terminal |
8645 |-------------------------------+-----------------------------------|
8646 | recordproto |→ Graphic libraries and |
8647 | |applications (graphic/text) → X11R7|
8649 |-------------------------------+-----------------------------------|
8650 | redis |→ Libraries → Database |
8651 |-------------------------------+-----------------------------------|
8652 | renderproto |→ Graphic libraries and |
8653 | |applications (graphic/text) → X11R7|
8655 |-------------------------------+-----------------------------------|
8656 | resourceproto |→ Graphic libraries and |
8657 | |applications (graphic/text) → X11R7|
8659 |-------------------------------+-----------------------------------|
8660 | rgb |→ Graphic libraries and |
8661 | |applications (graphic/text) → X11R7|
8663 |-------------------------------+-----------------------------------|
8664 | rings |→ Interpreter languages and |
8665 | |scripting → Lua libraries/modules |
8666 |-------------------------------+-----------------------------------|
8667 | rng-tools |→ Hardware handling |
8668 |-------------------------------+-----------------------------------|
8669 | roxml |→ Libraries → JSON/XML |
8670 |-------------------------------+-----------------------------------|
8671 | rp-pppoe |→ Networking applications |
8672 |-------------------------------+-----------------------------------|
8673 | rpcbind |→ Networking applications |
8674 |-------------------------------+-----------------------------------|
8675 | rpi-firmware |→ Hardware handling → Firmware |
8676 |-------------------------------+-----------------------------------|
8677 | rpi-userland |→ Hardware handling |
8678 |-------------------------------+-----------------------------------|
8679 | rpm |→ Package managers |
8680 |-------------------------------+-----------------------------------|
8681 | rrdtool |→ Graphic libraries and |
8682 | |applications (graphic/text) |
8683 |-------------------------------+-----------------------------------|
8684 | rsh-redone |→ Networking applications |
8685 |-------------------------------+-----------------------------------|
8686 | rstart |→ Graphic libraries and |
8687 | |applications (graphic/text) → X11R7|
8689 |-------------------------------+-----------------------------------|
8690 | rsync |→ Networking applications |
8691 |-------------------------------+-----------------------------------|
8692 | rsyslog |→ System tools |
8693 |-------------------------------+-----------------------------------|
8694 | rt-tests |→ Debugging, profiling and |
8696 |-------------------------------+-----------------------------------|
8697 | rtai |→ Real-Time |
8698 |-------------------------------+-----------------------------------|
8699 | rtorrent |→ Networking applications |
8700 |-------------------------------+-----------------------------------|
8701 | rtptools |→ Networking applications |
8702 |-------------------------------+-----------------------------------|
8704 |-------------------------------+-----------------------------------|
8705 | ruby |→ Interpreter languages and |
8707 |-------------------------------+-----------------------------------|
8708 | samba (deprecated) |→ Networking applications |
8709 |-------------------------------+-----------------------------------|
8710 | samba4 |→ Networking applications |
8711 |-------------------------------+-----------------------------------|
8712 | sane-backends |→ Hardware handling |
8713 |-------------------------------+-----------------------------------|
8714 | SawMan (Window Manager) |→ Graphic libraries and |
8715 | |applications (graphic/text) |
8716 |-------------------------------+-----------------------------------|
8717 | schifra |→ Libraries → Other |
8718 |-------------------------------+-----------------------------------|
8719 | sconeserver |→ Networking applications |
8720 |-------------------------------+-----------------------------------|
8721 | screen |→ Shell and utilities |
8722 |-------------------------------+-----------------------------------|
8723 | Script Module |→ Graphic libraries and |
8724 | |applications (graphic/text) |
8725 |-------------------------------+-----------------------------------|
8726 | scripts |→ Graphic libraries and |
8727 | |applications (graphic/text) → X11R7|
8729 |-------------------------------+-----------------------------------|
8730 | scrnsaverproto |→ Graphic libraries and |
8731 | |applications (graphic/text) → X11R7|
8733 |-------------------------------+-----------------------------------|
8734 | SDL |→ Graphic libraries and |
8735 | |applications (graphic/text) |
8736 |-------------------------------+-----------------------------------|
8737 | SDL_gfx |→ Graphic libraries and |
8738 | |applications (graphic/text) |
8739 |-------------------------------+-----------------------------------|
8740 | SDL_image |→ Graphic libraries and |
8741 | |applications (graphic/text) |
8742 |-------------------------------+-----------------------------------|
8743 | SDL_mixer |→ Graphic libraries and |
8744 | |applications (graphic/text) |
8745 |-------------------------------+-----------------------------------|
8746 | SDL_net |→ Graphic libraries and |
8747 | |applications (graphic/text) |
8748 |-------------------------------+-----------------------------------|
8749 | SDL_sound |→ Graphic libraries and |
8750 | |applications (graphic/text) |
8751 |-------------------------------+-----------------------------------|
8752 | SDL_TTF |→ Graphic libraries and |
8753 | |applications (graphic/text) |
8754 |-------------------------------+-----------------------------------|
8755 | sdparm |→ Hardware handling |
8756 |-------------------------------+-----------------------------------|
8757 | sed |→ Development tools |
8758 |-------------------------------+-----------------------------------|
8759 | ser2net |→ Networking applications |
8760 |-------------------------------+-----------------------------------|
8761 | sessreg |→ Graphic libraries and |
8762 | |applications (graphic/text) → X11R7|
8764 |-------------------------------+-----------------------------------|
8765 | setserial |→ Hardware handling |
8766 |-------------------------------+-----------------------------------|
8767 | setxkbmap |→ Graphic libraries and |
8768 | |applications (graphic/text) → X11R7|
8770 |-------------------------------+-----------------------------------|
8771 | sg3-utils |→ Hardware handling |
8772 |-------------------------------+-----------------------------------|
8773 | shairport-sync |→ Networking applications |
8774 |-------------------------------+-----------------------------------|
8775 | shared-mime-info |→ Miscellaneous |
8776 |-------------------------------+-----------------------------------|
8777 | shareware Doom WAD file |→ Games |
8778 |-------------------------------+-----------------------------------|
8779 | showfont |→ Graphic libraries and |
8780 | |applications (graphic/text) → X11R7|
8782 |-------------------------------+-----------------------------------|
8783 | sigrok-cli |→ Hardware handling |
8784 |-------------------------------+-----------------------------------|
8785 | simicsfs |→ Filesystem and flash utilities |
8786 |-------------------------------+-----------------------------------|
8787 | sispmctl |→ Hardware handling |
8788 |-------------------------------+-----------------------------------|
8790 |-------------------------------+-----------------------------------|
8791 | slang |→ Libraries → Text and terminal |
8793 |-------------------------------+-----------------------------------|
8794 | slirp |→ Libraries → Networking |
8795 |-------------------------------+-----------------------------------|
8796 | smack |→ System tools |
8797 |-------------------------------+-----------------------------------|
8798 | smartmontools |→ Hardware handling |
8799 |-------------------------------+-----------------------------------|
8800 | smcroute |→ Networking applications |
8801 |-------------------------------+-----------------------------------|
8802 | smproxy |→ Graphic libraries and |
8803 | |applications (graphic/text) → X11R7|
8805 |-------------------------------+-----------------------------------|
8806 | smstools3 |→ Hardware handling |
8807 |-------------------------------+-----------------------------------|
8808 | snappy |→ Libraries → Compression and |
8810 |-------------------------------+-----------------------------------|
8811 | snmp++ |→ Libraries → Networking |
8812 |-------------------------------+-----------------------------------|
8813 | snowball-hdmiservice |→ Hardware handling |
8814 |-------------------------------+-----------------------------------|
8815 | snowball-init |→ Miscellaneous |
8816 |-------------------------------+-----------------------------------|
8817 | socat |→ Networking applications |
8818 |-------------------------------+-----------------------------------|
8819 | socketcand |→ Networking applications |
8820 |-------------------------------+-----------------------------------|
8821 | sofia-sip |→ Libraries → Networking |
8822 |-------------------------------+-----------------------------------|
8823 | softether |→ Networking applications |
8824 |-------------------------------+-----------------------------------|
8825 | sound-theme-borealis |→ Fonts, icons, sounds and themes |
8826 |-------------------------------+-----------------------------------|
8827 | sound-theme-freedesktop |→ Fonts, icons, sounds and themes |
8828 |-------------------------------+-----------------------------------|
8829 | sox |→ Audio and video applications |
8830 |-------------------------------+-----------------------------------|
8831 | spawn-fcgi |→ Networking applications |
8832 |-------------------------------+-----------------------------------|
8833 | speex |→ Libraries → Audio/Sound |
8834 |-------------------------------+-----------------------------------|
8835 | spice protocol |→ Networking applications |
8836 |-------------------------------+-----------------------------------|
8837 | spice server |→ Networking applications |
8838 |-------------------------------+-----------------------------------|
8839 | spidev_test |→ Debugging, profiling and |
8841 |-------------------------------+-----------------------------------|
8842 | sqlcipher |→ Libraries → Database |
8843 |-------------------------------+-----------------------------------|
8844 | sqlite |→ Libraries → Database |
8845 |-------------------------------+-----------------------------------|
8846 | squashfs |→ Filesystem and flash utilities |
8847 |-------------------------------+-----------------------------------|
8848 | squid |→ Networking applications |
8849 |-------------------------------+-----------------------------------|
8850 | sredird |→ Hardware handling |
8851 |-------------------------------+-----------------------------------|
8852 | sshfs (FUSE) |→ Filesystem and flash utilities |
8853 |-------------------------------+-----------------------------------|
8854 | sshpass |→ Networking applications |
8855 |-------------------------------+-----------------------------------|
8856 | sstrip |→ Development tools |
8857 |-------------------------------+-----------------------------------|
8858 | start-stop-daemon |→ System tools |
8859 |-------------------------------+-----------------------------------|
8860 | startup-notification |→ Libraries → Other |
8861 |-------------------------------+-----------------------------------|
8862 | statserial |→ Hardware handling |
8863 |-------------------------------+-----------------------------------|
8864 | strace |→ Debugging, profiling and |
8866 |-------------------------------+-----------------------------------|
8867 | stress |→ Debugging, profiling and |
8869 |-------------------------------+-----------------------------------|
8870 | strongswan |→ Networking applications |
8871 |-------------------------------+-----------------------------------|
8872 | stunnel |→ Networking applications |
8873 |-------------------------------+-----------------------------------|
8874 | subversion |→ Development tools |
8875 |-------------------------------+-----------------------------------|
8876 | sudo |→ Shell and utilities |
8877 |-------------------------------+-----------------------------------|
8878 | sunxi nand-part |→ Filesystem and flash utilities |
8879 |-------------------------------+-----------------------------------|
8880 | sunxi script.bin board file |→ Hardware handling → Firmware |
8881 |-------------------------------+-----------------------------------|
8882 | sunxi-cedarx |→ Hardware handling |
8883 |-------------------------------+-----------------------------------|
8884 | sunxi-mali |→ Hardware handling |
8885 |-------------------------------+-----------------------------------|
8886 | supervisor |→ System tools |
8887 |-------------------------------+-----------------------------------|
8888 | SVG Module |→ Graphic libraries and |
8889 | |applications (graphic/text) |
8890 |-------------------------------+-----------------------------------|
8891 | sylpheed |→ Mail |
8892 |-------------------------------+-----------------------------------|
8893 | synergy |→ Graphic libraries and |
8894 | |applications (graphic/text) |
8895 |-------------------------------+-----------------------------------|
8896 | sysdig |→ Debugging, profiling and |
8898 |-------------------------------+-----------------------------------|
8899 | syslogd & klogd |→ System tools |
8900 |-------------------------------+-----------------------------------|
8901 | sysprof |→ Debugging, profiling and |
8903 |-------------------------------+-----------------------------------|
8904 | sysstat |→ Hardware handling |
8905 |-------------------------------+-----------------------------------|
8906 | systemd |→ System tools |
8907 |-------------------------------+-----------------------------------|
8908 | sysvinit |→ System tools |
8909 |-------------------------------+-----------------------------------|
8910 | szip |→ Libraries → Compression and |
8912 |-------------------------------+-----------------------------------|
8913 | taglib |→ Libraries → Audio/Sound |
8914 |-------------------------------+-----------------------------------|
8915 | tar |→ Development tools |
8916 |-------------------------------+-----------------------------------|
8917 | targetcli-fb |→ Hardware handling |
8918 |-------------------------------+-----------------------------------|
8919 | tcl |→ Interpreter languages and |
8921 |-------------------------------+-----------------------------------|
8922 | tclap |→ Libraries → Text and terminal |
8924 |-------------------------------+-----------------------------------|
8925 | tcllib |→ Interpreter languages and |
8926 | |scripting → tcl libraries/modules |
8927 |-------------------------------+-----------------------------------|
8928 | tcpdump |→ Networking applications |
8929 |-------------------------------+-----------------------------------|
8930 | tcping |→ Networking applications |
8931 |-------------------------------+-----------------------------------|
8932 | tcpreplay |→ Networking applications |
8933 |-------------------------------+-----------------------------------|
8934 | tftpd |→ Networking applications |
8935 |-------------------------------+-----------------------------------|
8936 | thrift |→ Libraries → Networking |
8937 |-------------------------------+-----------------------------------|
8938 | thttpd |→ Networking applications |
8939 |-------------------------------+-----------------------------------|
8940 | ti-gfx |→ Hardware handling |
8941 |-------------------------------+-----------------------------------|
8942 | ti-uim |→ Hardware handling |
8943 |-------------------------------+-----------------------------------|
8944 | ti-utils |→ Hardware handling |
8945 |-------------------------------+-----------------------------------|
8946 | tidsp-binaries |→ Audio and video applications |
8947 |-------------------------------+-----------------------------------|
8948 | tiff |→ Libraries → Graphics |
8949 |-------------------------------+-----------------------------------|
8950 | time |→ Shell and utilities |
8951 |-------------------------------+-----------------------------------|
8952 | tinc |→ Networking applications |
8953 |-------------------------------+-----------------------------------|
8954 | tinyalsa |→ Libraries → Audio/Sound |
8955 |-------------------------------+-----------------------------------|
8956 | tinyhttpd |→ Networking applications |
8957 |-------------------------------+-----------------------------------|
8958 | tinymembench |→ Debugging, profiling and |
8960 |-------------------------------+-----------------------------------|
8961 | tinyxml |→ Libraries → JSON/XML |
8962 |-------------------------------+-----------------------------------|
8963 | tinyxml2 |→ Libraries → JSON/XML |
8964 |-------------------------------+-----------------------------------|
8965 | tmux |→ Shell and utilities |
8966 |-------------------------------+-----------------------------------|
8967 | tn5250 |→ Networking applications |
8968 |-------------------------------+-----------------------------------|
8969 | tor |→ Networking applications |
8970 |-------------------------------+-----------------------------------|
8971 | torsmo |→ Graphic libraries and |
8972 | |applications (graphic/text) |
8973 |-------------------------------+-----------------------------------|
8974 | tovid |→ Audio and video applications |
8975 |-------------------------------+-----------------------------------|
8976 | trace-cmd |→ Debugging, profiling and |
8978 |-------------------------------+-----------------------------------|
8979 | transmission |→ Networking applications |
8980 |-------------------------------+-----------------------------------|
8981 | tree |→ Development tools |
8982 |-------------------------------+-----------------------------------|
8983 | tremor (fixed point vorbis |→ Libraries → Audio/Sound |
8985 |-------------------------------+-----------------------------------|
8986 | triggerhappy |→ Hardware handling |
8987 |-------------------------------+-----------------------------------|
8988 | trinity |→ Debugging, profiling and |
8990 |-------------------------------+-----------------------------------|
8991 | tslib |→ Libraries → Hardware handling |
8992 |-------------------------------+-----------------------------------|
8993 | tstools |→ Audio and video applications |
8994 |-------------------------------+-----------------------------------|
8995 | tvheadend |→ Networking applications |
8996 |-------------------------------+-----------------------------------|
8997 | twm |→ Graphic libraries and |
8998 | |applications (graphic/text) → X11R7|
9000 |-------------------------------+-----------------------------------|
9001 | twolame |→ Audio and video applications |
9002 |-------------------------------+-----------------------------------|
9003 | u-boot tools |→ Hardware handling |
9004 |-------------------------------+-----------------------------------|
9005 | udisks |→ Hardware handling |
9006 |-------------------------------+-----------------------------------|
9007 | udpcast |→ Networking applications |
9008 |-------------------------------+-----------------------------------|
9009 | uemacs |→ Text editors and viewers |
9010 |-------------------------------+-----------------------------------|
9011 | ulogd |→ Networking applications |
9012 |-------------------------------+-----------------------------------|
9013 | unionfs (FUSE) |→ Filesystem and flash utilities |
9014 |-------------------------------+-----------------------------------|
9015 | unixodbc |→ Libraries → Database |
9016 |-------------------------------+-----------------------------------|
9017 | upmpdcli |→ Audio and video applications |
9018 |-------------------------------+-----------------------------------|
9019 | urg |→ Libraries → Hardware handling |
9020 |-------------------------------+-----------------------------------|
9021 | usb_modeswitch |→ Hardware handling |
9022 |-------------------------------+-----------------------------------|
9023 | usb_modeswitch_data |→ Hardware handling |
9024 |-------------------------------+-----------------------------------|
9025 | usbmount |→ Hardware handling |
9026 |-------------------------------+-----------------------------------|
9027 | usbredir |→ Libraries → Networking |
9028 |-------------------------------+-----------------------------------|
9029 | usbutils |→ Hardware handling |
9030 |-------------------------------+-----------------------------------|
9031 | ushare |→ Networking applications |
9032 |-------------------------------+-----------------------------------|
9033 | ussp-push |→ Networking applications |
9034 |-------------------------------+-----------------------------------|
9035 | ustr |→ Libraries → Text and terminal |
9037 |-------------------------------+-----------------------------------|
9038 | util-linux |→ System tools |
9039 |-------------------------------+-----------------------------------|
9040 | util-macros |→ Graphic libraries and |
9041 | |applications (graphic/text) → X11R7|
9043 |-------------------------------+-----------------------------------|
9044 | ux500-firmware |→ Hardware handling → Firmware |
9045 |-------------------------------+-----------------------------------|
9046 | valgrind |→ Debugging, profiling and |
9048 |-------------------------------+-----------------------------------|
9049 | vde2 |→ Networking applications |
9050 |-------------------------------+-----------------------------------|
9051 | videoproto |→ Graphic libraries and |
9052 | |applications (graphic/text) → X11R7|
9054 |-------------------------------+-----------------------------------|
9055 | viewres |→ Graphic libraries and |
9056 | |applications (graphic/text) → X11R7|
9058 |-------------------------------+-----------------------------------|
9059 | vim |→ Text editors and viewers |
9060 |-------------------------------+-----------------------------------|
9061 | vlc |→ Audio and video applications |
9062 |-------------------------------+-----------------------------------|
9063 | vnstat |→ Networking applications |
9064 |-------------------------------+-----------------------------------|
9065 | vo-aacenc |→ Libraries → Audio/Sound |
9066 |-------------------------------+-----------------------------------|
9067 | vorbis-tools |→ Audio and video applications |
9068 |-------------------------------+-----------------------------------|
9069 | vpnc |→ Networking applications |
9070 |-------------------------------+-----------------------------------|
9071 | vsftpd |→ Networking applications |
9072 |-------------------------------+-----------------------------------|
9073 | vtun |→ Networking applications |
9074 |-------------------------------+-----------------------------------|
9075 | w_scan |→ Hardware handling |
9076 |-------------------------------+-----------------------------------|
9077 | wavpack |→ Audio and video applications |
9078 |-------------------------------+-----------------------------------|
9079 | wayland |→ Libraries → Graphics |
9080 |-------------------------------+-----------------------------------|
9081 | webkit |→ Libraries → Graphics |
9082 |-------------------------------+-----------------------------------|
9083 | WebKit Module |→ Graphic libraries and |
9084 | |applications (graphic/text) |
9085 |-------------------------------+-----------------------------------|
9086 | webp |→ Libraries → Graphics |
9087 |-------------------------------+-----------------------------------|
9088 | webrtc-audio-processing |→ Libraries → Audio/Sound |
9089 |-------------------------------+-----------------------------------|
9090 | weston |→ Graphic libraries and |
9091 | |applications (graphic/text) |
9092 |-------------------------------+-----------------------------------|
9093 | wf111 |→ Hardware handling |
9094 |-------------------------------+-----------------------------------|
9095 | wget |→ Networking applications |
9096 |-------------------------------+-----------------------------------|
9097 | whetstone |→ Debugging, profiling and |
9099 |-------------------------------+-----------------------------------|
9100 | which |→ Shell and utilities |
9101 |-------------------------------+-----------------------------------|
9102 | whois |→ Networking applications |
9103 |-------------------------------+-----------------------------------|
9104 | windowswmproto |→ Graphic libraries and |
9105 | |applications (graphic/text) → X11R7|
9107 |-------------------------------+-----------------------------------|
9108 | wine |→ Miscellaneous |
9109 |-------------------------------+-----------------------------------|
9110 | wipe |→ Hardware handling |
9111 |-------------------------------+-----------------------------------|
9112 | wireless tools |→ Networking applications |
9113 |-------------------------------+-----------------------------------|
9114 | wireless-regdb |→ Networking applications |
9115 |-------------------------------+-----------------------------------|
9116 | wireshark |→ Networking applications |
9117 |-------------------------------+-----------------------------------|
9118 | wmctrl |→ Graphic libraries and |
9119 | |applications (graphic/text) |
9120 |-------------------------------+-----------------------------------|
9121 | wpa_supplicant |→ Networking applications |
9122 |-------------------------------+-----------------------------------|
9123 | wsapi |→ Interpreter languages and |
9124 | |scripting → Lua libraries/modules |
9125 |-------------------------------+-----------------------------------|
9126 | wvdial |→ Networking applications |
9127 |-------------------------------+-----------------------------------|
9128 | wvstreams |→ Libraries → Networking |
9129 |-------------------------------+-----------------------------------|
9130 | x11perf |→ Graphic libraries and |
9131 | |applications (graphic/text) → X11R7|
9133 |-------------------------------+-----------------------------------|
9134 | x11vnc |→ Graphic libraries and |
9135 | |applications (graphic/text) |
9136 |-------------------------------+-----------------------------------|
9137 | x264 |→ Libraries → Multimedia |
9138 |-------------------------------+-----------------------------------|
9139 | xauth |→ Graphic libraries and |
9140 | |applications (graphic/text) → X11R7|
9142 |-------------------------------+-----------------------------------|
9143 | xavante |→ Interpreter languages and |
9144 | |scripting → Lua libraries/modules |
9145 |-------------------------------+-----------------------------------|
9146 | xbacklight |→ Graphic libraries and |
9147 | |applications (graphic/text) → X11R7|
9149 |-------------------------------+-----------------------------------|
9150 | xbiff |→ Graphic libraries and |
9151 | |applications (graphic/text) → X11R7|
9153 |-------------------------------+-----------------------------------|
9154 | xbitmaps |→ Graphic libraries and |
9155 | |applications (graphic/text) → X11R7|
9157 |-------------------------------+-----------------------------------|
9158 | xcalc |→ Graphic libraries and |
9159 | |applications (graphic/text) → X11R7|
9161 |-------------------------------+-----------------------------------|
9162 | xcb-proto |→ Graphic libraries and |
9163 | |applications (graphic/text) → X11R7|
9165 |-------------------------------+-----------------------------------|
9166 | xcb-util |→ Graphic libraries and |
9167 | |applications (graphic/text) → X11R7|
9169 |-------------------------------+-----------------------------------|
9170 | xcb-util-cursor |→ Graphic libraries and |
9171 | |applications (graphic/text) → X11R7|
9173 |-------------------------------+-----------------------------------|
9174 | xcb-util-image |→ Graphic libraries and |
9175 | |applications (graphic/text) → X11R7|
9177 |-------------------------------+-----------------------------------|
9178 | xcb-util-keysyms |→ Graphic libraries and |
9179 | |applications (graphic/text) → X11R7|
9181 |-------------------------------+-----------------------------------|
9182 | xcb-util-renderutil |→ Graphic libraries and |
9183 | |applications (graphic/text) → X11R7|
9185 |-------------------------------+-----------------------------------|
9186 | xcb-util-wm |→ Graphic libraries and |
9187 | |applications (graphic/text) → X11R7|
9189 |-------------------------------+-----------------------------------|
9190 | xclipboard |→ Graphic libraries and |
9191 | |applications (graphic/text) → X11R7|
9193 |-------------------------------+-----------------------------------|
9194 | xclock |→ Graphic libraries and |
9195 | |applications (graphic/text) → X11R7|
9197 |-------------------------------+-----------------------------------|
9198 | xcmiscproto |→ Graphic libraries and |
9199 | |applications (graphic/text) → X11R7|
9201 |-------------------------------+-----------------------------------|
9202 | xcmsdb |→ Graphic libraries and |
9203 | |applications (graphic/text) → X11R7|
9205 |-------------------------------+-----------------------------------|
9206 | xcompmgr |→ Graphic libraries and |
9207 | |applications (graphic/text) → X11R7|
9209 |-------------------------------+-----------------------------------|
9210 | xconsole |→ Graphic libraries and |
9211 | |applications (graphic/text) → X11R7|
9213 |-------------------------------+-----------------------------------|
9214 | xcursor-transparent-theme |→ Graphic libraries and |
9215 | |applications (graphic/text) → X11R7|
9217 |-------------------------------+-----------------------------------|
9218 | xcursorgen |→ Graphic libraries and |
9219 | |applications (graphic/text) → X11R7|
9221 |-------------------------------+-----------------------------------|
9222 | xdata_xcursor-themes |→ Graphic libraries and |
9223 | |applications (graphic/text) → X11R7|
9225 |-------------------------------+-----------------------------------|
9226 | xdbedizzy |→ Graphic libraries and |
9227 | |applications (graphic/text) → X11R7|
9229 |-------------------------------+-----------------------------------|
9230 | xditview |→ Graphic libraries and |
9231 | |applications (graphic/text) → X11R7|
9233 |-------------------------------+-----------------------------------|
9234 | xdm |→ Graphic libraries and |
9235 | |applications (graphic/text) → X11R7|
9237 |-------------------------------+-----------------------------------|
9238 | xdpyinfo |→ Graphic libraries and |
9239 | |applications (graphic/text) → X11R7|
9241 |-------------------------------+-----------------------------------|
9242 | xdriinfo |→ Graphic libraries and |
9243 | |applications (graphic/text) → X11R7|
9245 |-------------------------------+-----------------------------------|
9246 | xedit |→ Graphic libraries and |
9247 | |applications (graphic/text) → X11R7|
9249 |-------------------------------+-----------------------------------|
9250 | Xenomai Userspace |→ Real-Time |
9251 |-------------------------------+-----------------------------------|
9252 | xerces-c++ |→ Libraries → JSON/XML |
9253 |-------------------------------+-----------------------------------|
9254 | xev |→ Graphic libraries and |
9255 | |applications (graphic/text) → X11R7|
9257 |-------------------------------+-----------------------------------|
9258 | xextproto |→ Graphic libraries and |
9259 | |applications (graphic/text) → X11R7|
9261 |-------------------------------+-----------------------------------|
9262 | xeyes |→ Graphic libraries and |
9263 | |applications (graphic/text) → X11R7|
9265 |-------------------------------+-----------------------------------|
9266 | xf86-input-evdev |→ Graphic libraries and |
9267 | |applications (graphic/text) → X11R7|
9269 |-------------------------------+-----------------------------------|
9270 | xf86-input-joystick |→ Graphic libraries and |
9271 | |applications (graphic/text) → X11R7|
9273 |-------------------------------+-----------------------------------|
9274 | xf86-input-keyboard |→ Graphic libraries and |
9275 | |applications (graphic/text) → X11R7|
9277 |-------------------------------+-----------------------------------|
9278 | xf86-input-libinput |→ Graphic libraries and |
9279 | |applications (graphic/text) → X11R7|
9281 |-------------------------------+-----------------------------------|
9282 | xf86-input-mouse |→ Graphic libraries and |
9283 | |applications (graphic/text) → X11R7|
9285 |-------------------------------+-----------------------------------|
9286 | xf86-input-synaptics |→ Graphic libraries and |
9287 | |applications (graphic/text) → X11R7|
9289 |-------------------------------+-----------------------------------|
9290 | xf86-input-tslib |→ Graphic libraries and |
9291 | |applications (graphic/text) → X11R7|
9293 |-------------------------------+-----------------------------------|
9294 | xf86-input-vmmouse |→ Graphic libraries and |
9295 | |applications (graphic/text) → X11R7|
9297 |-------------------------------+-----------------------------------|
9298 | xf86-input-void (deprecated) |→ Graphic libraries and |
9299 | |applications (graphic/text) → X11R7|
9301 |-------------------------------+-----------------------------------|
9302 | xf86-video-ark |→ Graphic libraries and |
9303 | |applications (graphic/text) → X11R7|
9305 |-------------------------------+-----------------------------------|
9306 | xf86-video-ast |→ Graphic libraries and |
9307 | |applications (graphic/text) → X11R7|
9309 |-------------------------------+-----------------------------------|
9310 | xf86-video-ati |→ Graphic libraries and |
9311 | |applications (graphic/text) → X11R7|
9313 |-------------------------------+-----------------------------------|
9314 | xf86-video-cirrus |→ Graphic libraries and |
9315 | |applications (graphic/text) → X11R7|
9317 |-------------------------------+-----------------------------------|
9318 | xf86-video-dummy |→ Graphic libraries and |
9319 | |applications (graphic/text) → X11R7|
9321 |-------------------------------+-----------------------------------|
9322 | xf86-video-fbdev |→ Graphic libraries and |
9323 | |applications (graphic/text) → X11R7|
9325 |-------------------------------+-----------------------------------|
9326 | xf86-video-geode |→ Graphic libraries and |
9327 | |applications (graphic/text) → X11R7|
9329 |-------------------------------+-----------------------------------|
9330 | xf86-video-glide |→ Graphic libraries and |
9331 | |applications (graphic/text) → X11R7|
9333 |-------------------------------+-----------------------------------|
9334 | xf86-video-glint |→ Graphic libraries and |
9335 | |applications (graphic/text) → X11R7|
9337 |-------------------------------+-----------------------------------|
9338 | xf86-video-i128 |→ Graphic libraries and |
9339 | |applications (graphic/text) → X11R7|
9341 |-------------------------------+-----------------------------------|
9342 | xf86-video-imx |→ Graphic libraries and |
9343 | |applications (graphic/text) → X11R7|
9345 |-------------------------------+-----------------------------------|
9346 | xf86-video-imx-viv |→ Graphic libraries and |
9347 | |applications (graphic/text) → X11R7|
9349 |-------------------------------+-----------------------------------|
9350 | xf86-video-intel |→ Graphic libraries and |
9351 | |applications (graphic/text) → X11R7|
9353 |-------------------------------+-----------------------------------|
9354 | xf86-video-mach64 |→ Graphic libraries and |
9355 | |applications (graphic/text) → X11R7|
9357 |-------------------------------+-----------------------------------|
9358 | xf86-video-mga |→ Graphic libraries and |
9359 | |applications (graphic/text) → X11R7|
9361 |-------------------------------+-----------------------------------|
9362 | xf86-video-neomagic |→ Graphic libraries and |
9363 | |applications (graphic/text) → X11R7|
9365 |-------------------------------+-----------------------------------|
9366 | xf86-video-nv |→ Graphic libraries and |
9367 | |applications (graphic/text) → X11R7|
9369 |-------------------------------+-----------------------------------|
9370 | xf86-video-openchrome |→ Graphic libraries and |
9371 | |applications (graphic/text) → X11R7|
9373 |-------------------------------+-----------------------------------|
9374 | xf86-video-r128 |→ Graphic libraries and |
9375 | |applications (graphic/text) → X11R7|
9377 |-------------------------------+-----------------------------------|
9378 | xf86-video-savage |→ Graphic libraries and |
9379 | |applications (graphic/text) → X11R7|
9381 |-------------------------------+-----------------------------------|
9382 | xf86-video-siliconmotion |→ Graphic libraries and |
9383 | |applications (graphic/text) → X11R7|
9385 |-------------------------------+-----------------------------------|
9386 | xf86-video-sis |→ Graphic libraries and |
9387 | |applications (graphic/text) → X11R7|
9389 |-------------------------------+-----------------------------------|
9390 | xf86-video-tdfx |→ Graphic libraries and |
9391 | |applications (graphic/text) → X11R7|
9393 |-------------------------------+-----------------------------------|
9394 | xf86-video-tga |→ Graphic libraries and |
9395 | |applications (graphic/text) → X11R7|
9397 |-------------------------------+-----------------------------------|
9398 | xf86-video-trident |→ Graphic libraries and |
9399 | |applications (graphic/text) → X11R7|
9401 |-------------------------------+-----------------------------------|
9402 | xf86-video-v4l |→ Graphic libraries and |
9403 | |applications (graphic/text) → X11R7|
9405 |-------------------------------+-----------------------------------|
9406 | xf86-video-vesa |→ Graphic libraries and |
9407 | |applications (graphic/text) → X11R7|
9409 |-------------------------------+-----------------------------------|
9410 | xf86-video-vmware |→ Graphic libraries and |
9411 | |applications (graphic/text) → X11R7|
9413 |-------------------------------+-----------------------------------|
9414 | xf86-video-voodoo |→ Graphic libraries and |
9415 | |applications (graphic/text) → X11R7|
9417 |-------------------------------+-----------------------------------|
9418 | xf86-video-wsfb |→ Graphic libraries and |
9419 | |applications (graphic/text) → X11R7|
9421 |-------------------------------+-----------------------------------|
9422 | xf86bigfontproto |→ Graphic libraries and |
9423 | |applications (graphic/text) → X11R7|
9425 |-------------------------------+-----------------------------------|
9426 | xf86dga |→ Graphic libraries and |
9427 | |applications (graphic/text) → X11R7|
9429 |-------------------------------+-----------------------------------|
9430 | xf86dgaproto |→ Graphic libraries and |
9431 | |applications (graphic/text) → X11R7|
9433 |-------------------------------+-----------------------------------|
9434 | xf86driproto |→ Graphic libraries and |
9435 | |applications (graphic/text) → X11R7|
9437 |-------------------------------+-----------------------------------|
9438 | xf86vidmodeproto |→ Graphic libraries and |
9439 | |applications (graphic/text) → X11R7|
9441 |-------------------------------+-----------------------------------|
9442 | xfd |→ Graphic libraries and |
9443 | |applications (graphic/text) → X11R7|
9445 |-------------------------------+-----------------------------------|
9446 | xfindproxy |→ Graphic libraries and |
9447 | |applications (graphic/text) → X11R7|
9449 |-------------------------------+-----------------------------------|
9450 | xfontsel |→ Graphic libraries and |
9451 | |applications (graphic/text) → X11R7|
9453 |-------------------------------+-----------------------------------|
9454 | xfs |→ Graphic libraries and |
9455 | |applications (graphic/text) → X11R7|
9457 |-------------------------------+-----------------------------------|
9458 | xfsinfo |→ Graphic libraries and |
9459 | |applications (graphic/text) → X11R7|
9461 |-------------------------------+-----------------------------------|
9462 | xfsprogs |→ Filesystem and flash utilities |
9463 |-------------------------------+-----------------------------------|
9464 | xgamma |→ Graphic libraries and |
9465 | |applications (graphic/text) → X11R7|
9467 |-------------------------------+-----------------------------------|
9468 | xgc |→ Graphic libraries and |
9469 | |applications (graphic/text) → X11R7|
9471 |-------------------------------+-----------------------------------|
9472 | xhost |→ Graphic libraries and |
9473 | |applications (graphic/text) → X11R7|
9475 |-------------------------------+-----------------------------------|
9476 | xineramaproto |→ Graphic libraries and |
9477 | |applications (graphic/text) → X11R7|
9479 |-------------------------------+-----------------------------------|
9480 | xinetd |→ Networking applications |
9481 |-------------------------------+-----------------------------------|
9482 | xinit |→ Graphic libraries and |
9483 | |applications (graphic/text) → X11R7|
9485 |-------------------------------+-----------------------------------|
9486 | xinput |→ Graphic libraries and |
9487 | |applications (graphic/text) → X11R7|
9489 |-------------------------------+-----------------------------------|
9490 | xinput-calibrator |→ Graphic libraries and |
9491 | |applications (graphic/text) → X11R7|
9493 |-------------------------------+-----------------------------------|
9494 | xkbcomp |→ Graphic libraries and |
9495 | |applications (graphic/text) → X11R7|
9497 |-------------------------------+-----------------------------------|
9498 | xkbevd |→ Graphic libraries and |
9499 | |applications (graphic/text) → X11R7|
9501 |-------------------------------+-----------------------------------|
9502 | xkbprint |→ Graphic libraries and |
9503 | |applications (graphic/text) → X11R7|
9505 |-------------------------------+-----------------------------------|
9506 | xkbutils |→ Graphic libraries and |
9507 | |applications (graphic/text) → X11R7|
9509 |-------------------------------+-----------------------------------|
9510 | xkeyboard-config |→ Graphic libraries and |
9511 | |applications (graphic/text) |
9512 |-------------------------------+-----------------------------------|
9513 | xkill |→ Graphic libraries and |
9514 | |applications (graphic/text) → X11R7|
9516 |-------------------------------+-----------------------------------|
9517 | xl2tp |→ Networking applications |
9518 |-------------------------------+-----------------------------------|
9519 | xload |→ Graphic libraries and |
9520 | |applications (graphic/text) → X11R7|
9522 |-------------------------------+-----------------------------------|
9523 | xlogo |→ Graphic libraries and |
9524 | |applications (graphic/text) → X11R7|
9526 |-------------------------------+-----------------------------------|
9527 | xlsatoms |→ Graphic libraries and |
9528 | |applications (graphic/text) → X11R7|
9530 |-------------------------------+-----------------------------------|
9531 | xlsclients |→ Graphic libraries and |
9532 | |applications (graphic/text) → X11R7|
9534 |-------------------------------+-----------------------------------|
9535 | xlsfonts |→ Graphic libraries and |
9536 | |applications (graphic/text) → X11R7|
9538 |-------------------------------+-----------------------------------|
9539 | xmag |→ Graphic libraries and |
9540 | |applications (graphic/text) → X11R7|
9542 |-------------------------------+-----------------------------------|
9543 | xman |→ Graphic libraries and |
9544 | |applications (graphic/text) → X11R7|
9546 |-------------------------------+-----------------------------------|
9547 | xmessage |→ Graphic libraries and |
9548 | |applications (graphic/text) → X11R7|
9550 |-------------------------------+-----------------------------------|
9551 | xmh |→ Graphic libraries and |
9552 | |applications (graphic/text) → X11R7|
9554 |-------------------------------+-----------------------------------|
9555 | XML Patterns Module |→ Graphic libraries and |
9556 | |applications (graphic/text) |
9557 |-------------------------------+-----------------------------------|
9558 | xmlstarlet |→ Shell and utilities |
9559 |-------------------------------+-----------------------------------|
9560 | xmodmap |→ Graphic libraries and |
9561 | |applications (graphic/text) → X11R7|
9563 |-------------------------------+-----------------------------------|
9564 | xmore |→ Graphic libraries and |
9565 | |applications (graphic/text) → X11R7|
9567 |-------------------------------+-----------------------------------|
9568 | xorg-server |→ Graphic libraries and |
9569 | |applications (graphic/text) → X11R7|
9571 |-------------------------------+-----------------------------------|
9572 | xorriso |→ Hardware handling |
9573 |-------------------------------+-----------------------------------|
9574 | xpr |→ Graphic libraries and |
9575 | |applications (graphic/text) → X11R7|
9577 |-------------------------------+-----------------------------------|
9578 | xprop |→ Graphic libraries and |
9579 | |applications (graphic/text) → X11R7|
9581 |-------------------------------+-----------------------------------|
9582 | xproto |→ Graphic libraries and |
9583 | |applications (graphic/text) → X11R7|
9585 |-------------------------------+-----------------------------------|
9586 | xproxymanagementprotocol |→ Graphic libraries and |
9587 | |applications (graphic/text) → X11R7|
9589 |-------------------------------+-----------------------------------|
9590 | xrandr |→ Graphic libraries and |
9591 | |applications (graphic/text) → X11R7|
9593 |-------------------------------+-----------------------------------|
9594 | xrdb |→ Graphic libraries and |
9595 | |applications (graphic/text) → X11R7|
9597 |-------------------------------+-----------------------------------|
9598 | xrefresh |→ Graphic libraries and |
9599 | |applications (graphic/text) → X11R7|
9601 |-------------------------------+-----------------------------------|
9602 | xscreensaver |→ Graphic libraries and |
9603 | |applications (graphic/text) |
9604 |-------------------------------+-----------------------------------|
9605 | xset |→ Graphic libraries and |
9606 | |applications (graphic/text) → X11R7|
9608 |-------------------------------+-----------------------------------|
9609 | xsetmode |→ Graphic libraries and |
9610 | |applications (graphic/text) → X11R7|
9612 |-------------------------------+-----------------------------------|
9613 | xsetpointer |→ Graphic libraries and |
9614 | |applications (graphic/text) → X11R7|
9616 |-------------------------------+-----------------------------------|
9617 | xsetroot |→ Graphic libraries and |
9618 | |applications (graphic/text) → X11R7|
9620 |-------------------------------+-----------------------------------|
9621 | xsm |→ Graphic libraries and |
9622 | |applications (graphic/text) → X11R7|
9624 |-------------------------------+-----------------------------------|
9625 | xstdcmap |→ Graphic libraries and |
9626 | |applications (graphic/text) → X11R7|
9628 |-------------------------------+-----------------------------------|
9629 | xtables-addons |→ Networking applications |
9630 |-------------------------------+-----------------------------------|
9631 | xterm |→ Graphic libraries and |
9632 | |applications (graphic/text) |
9633 |-------------------------------+-----------------------------------|
9634 | xtrans |→ Graphic libraries and |
9635 | |applications (graphic/text) → X11R7|
9637 |-------------------------------+-----------------------------------|
9638 | xvidtune |→ Graphic libraries and |
9639 | |applications (graphic/text) → X11R7|
9641 |-------------------------------+-----------------------------------|
9642 | xvinfo |→ Graphic libraries and |
9643 | |applications (graphic/text) → X11R7|
9645 |-------------------------------+-----------------------------------|
9646 | xvkbd |→ Graphic libraries and |
9647 | |applications (graphic/text) |
9648 |-------------------------------+-----------------------------------|
9649 | xwd |→ Graphic libraries and |
9650 | |applications (graphic/text) → X11R7|
9652 |-------------------------------+-----------------------------------|
9653 | xwininfo |→ Graphic libraries and |
9654 | |applications (graphic/text) → X11R7|
9656 |-------------------------------+-----------------------------------|
9657 | xwud |→ Graphic libraries and |
9658 | |applications (graphic/text) → X11R7|
9660 |-------------------------------+-----------------------------------|
9661 | xz-utils |→ Compressors and decompressors |
9662 |-------------------------------+-----------------------------------|
9663 | yajl |→ Libraries → JSON/XML |
9664 |-------------------------------+-----------------------------------|
9665 | yaml-cpp |→ Libraries → JSON/XML |
9666 |-------------------------------+-----------------------------------|
9667 | yasm |→ Development tools |
9668 |-------------------------------+-----------------------------------|
9669 | yavta |→ Audio and video applications |
9670 |-------------------------------+-----------------------------------|
9671 | ympd |→ Audio and video applications |
9672 |-------------------------------+-----------------------------------|
9673 | zd1211-firmware |→ Hardware handling → Firmware |
9674 |-------------------------------+-----------------------------------|
9675 | zeromq |→ Libraries → Networking |
9676 |-------------------------------+-----------------------------------|
9677 | zlib |→ Libraries → Compression and |
9679 |-------------------------------+-----------------------------------|
9680 | zlog |→ Libraries → Logging |
9681 |-------------------------------+-----------------------------------|
9682 | zmqpp |→ Libraries → Networking |
9683 |-------------------------------+-----------------------------------|
9684 | znc |→ Networking applications |
9685 |-------------------------------+-----------------------------------|
9686 | zsh |→ Shell and utilities |
9687 |-------------------------------+-----------------------------------|
9688 | zxing |→ Libraries → Graphics |
9689 |-------------------------------+-----------------------------------|
9690 | zyre |→ Libraries → Networking |
9691 +-------------------------------------------------------------------+
9693 Chapter 25. List of virtual packages
9695 These are the virtual packages known to Buildroot, with the
9696 corresponding symbols and providers.
9698 +-------------------------------------------------------------------+
9699 | Virtual |Symbols |Providers |
9701 |--------------+------------------------------+---------------------|
9702 | cryptodev |BR2_PACKAGE_HAS_CRYPTODEV |cryptodev-linux, |
9704 |--------------+------------------------------+---------------------|
9705 | jpeg |BR2_PACKAGE_HAS_JPEG |jpeg, jpeg-turbo |
9706 |--------------+------------------------------+---------------------|
9707 | libegl |BR2_PACKAGE_HAS_LIBEGL |mesa3d (w/ OpenGL |
9709 | | |gpu-amd-bin-mx51 |
9710 | | |(also imx53), |
9711 | | |gpu-viv-bin-mx6q, |
9712 | | |nvidia-driver (w/ |
9713 | | |X.org drivers), |
9714 | | |nvidia-tegra23 |
9716 | | |rpi-userland, |
9717 | | |sunxi-mali, ti-gfx |
9718 |--------------+------------------------------+---------------------|
9719 | libgl |BR2_PACKAGE_HAS_LIBGL |mesa3d (w/ DRI swrast|
9720 | | |driver), mesa3d (w/ |
9721 | | |DRI i915 driver), |
9722 | | |mesa3d (w/ DRI i965 |
9723 | | |driver), mesa3d (w/ |
9724 | | |DRI radeon driver), |
9725 | | |xf86-video-imx-viv, |
9726 | | |nvidia-driver (w/ |
9727 | | |X.org drivers) |
9728 |--------------+------------------------------+---------------------|
9729 | libgles |BR2_PACKAGE_HAS_LIBGLES |mesa3d (w/ OpenGL |
9730 | | |ES), gpu-amd-bin-mx51|
9731 | | |(also imx53), |
9732 | | |gpu-viv-bin-mx6q, |
9733 | | |nvidia-driver (w/ |
9734 | | |X.org drivers), |
9735 | | |nvidia-tegra23 |
9737 | | |rpi-userland, |
9738 | | |sunxi-mali, ti-gfx |
9739 |--------------+------------------------------+---------------------|
9740 | libopenmax |BR2_PACKAGE_HAS_LIBOPENMAX |bellagio, |
9741 | | |nvidia-tegra23 |
9744 |--------------+------------------------------+---------------------|
9745 | libopenvg |BR2_PACKAGE_HAS_LIBOPENVG |gpu-amd-bin-mx51 |
9746 | | |(also imx53), |
9747 | | |gpu-viv-bin-mx6q, |
9749 |--------------+------------------------------+---------------------|
9750 |luainterpreter|BR2_PACKAGE_HAS_LUAINTERPRETER|lua, luajit |
9751 |--------------+------------------------------+---------------------|
9752 | powervr |BR2_PACKAGE_HAS_POWERVR |ti-gfx |
9753 |--------------+------------------------------+---------------------|
9754 | udev |BR2_PACKAGE_HAS_UDEV |eudev, systemd |
9755 +-------------------------------------------------------------------+
9757 Chapter 26. List of host utilities available in Buildroot
9759 The following packages are all available in the menu Host utilities.
9761 +------------------+
9763 |------------------|
9764 | host checkpolicy |
9765 |------------------|
9767 |------------------|
9769 |------------------|
9771 |------------------|
9773 |------------------|
9775 |------------------|
9777 |------------------|
9779 |------------------|
9781 |------------------|
9783 |------------------|
9784 |host lpc3250loader|
9785 |------------------|
9787 |------------------|
9791 |------------------|
9793 |------------------|
9795 |omap-u-boot-utils |
9796 |------------------|
9798 |------------------|
9800 |------------------|
9802 |------------------|
9804 |------------------|
9806 |------------------|
9808 |------------------|
9810 |------------------|
9811 | host sunxi-tools |
9812 |------------------|
9813 |host u-boot tools |
9814 |------------------|
9816 |------------------|
9819 +------------------+
9821 Chapter 27. Deprecated features
9823 The following features are marked as deprecated in Buildroot due to
9824 them being either too old or unmaintained. They will be removed at
9825 some point, so stop using them. Each deprecated symbol in kconfig
9826 depends on a symbol BR2_DEPRECATED_SINCE_xxxx_xx, which provides an
9827 indication of when the feature can be removed: features will not be
9828 removed within the year following deprecation. For example, a symbol
9829 depending on BR2_DEPRECATED_SINCE_2013_05 can be removed from 2014.05
9832 +-------------------------------------------------------------------+
9833 | Features |Location |
9834 |----------------+--------------------------------------------------|
9835 | SuperH64 |Target options → Target Architecture |
9836 |----------------+--------------------------------------------------|
9837 | sstrip |Build options → strip command for binaries on |
9839 |----------------+--------------------------------------------------|
9840 | Linux 3.0.x |Toolchain → Kernel Headers |
9841 | kernel headers | |
9842 |----------------+--------------------------------------------------|
9843 | Linux 3.11.x |Toolchain → Kernel Headers |
9844 | kernel headers | |
9845 |----------------+--------------------------------------------------|
9846 | Linux 3.13.x |Toolchain → Kernel Headers |
9847 | kernel headers | |
9848 |----------------+--------------------------------------------------|
9849 | Linux 3.15.x |Toolchain → Kernel Headers |
9850 | kernel headers | |
9851 |----------------+--------------------------------------------------|
9852 | Linux 3.16.x |Toolchain → Kernel Headers |
9853 | kernel headers | |
9854 |----------------+--------------------------------------------------|
9855 | Linux 3.17.x |Toolchain → Kernel Headers |
9856 | kernel headers | |
9857 |----------------+--------------------------------------------------|
9858 | gcc 4.5.x |Toolchain → GCC compiler Version |
9859 |----------------+--------------------------------------------------|
9860 | gdb 7.7.x |Toolchain → GDB debugger Version |
9861 |----------------+--------------------------------------------------|
9862 |xf86-input-void |Target packages → Graphic libraries and |
9863 | |applications (graphic/text) → X11R7 Drivers |
9864 |----------------+--------------------------------------------------|
9865 | blackbox |Target packages → Graphic libraries and |
9866 | |applications (graphic/text) |
9867 |----------------+--------------------------------------------------|
9868 | libungif |Target packages → Libraries → Graphics |
9869 |----------------+--------------------------------------------------|
9870 | cups |Target packages → Networking applications |
9871 |----------------+--------------------------------------------------|
9872 |foomatic_filters|Target packages → Networking applications |
9873 |----------------+--------------------------------------------------|
9874 | gutenprint |Target packages → Networking applications |
9875 |----------------+--------------------------------------------------|
9876 | hplip |Target packages → Networking applications |
9877 |----------------+--------------------------------------------------|
9878 | samba |Target packages → Networking applications |
9879 |----------------+--------------------------------------------------|
9880 |custom patch dir|Bootloaders |
9881 |----------------+--------------------------------------------------|
9882 | Custom Network |Bootloaders |
9884 +-------------------------------------------------------------------+