summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* toolchain-external: bump Linaro ARMeb toolchain to 2014.04Thomas Petazzoni2014-06-092-5/+5
| | | | | | | | For some reason, there is no ARMeb toolchain available in the 2014.05 Linaro release. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* toolchain-external: bump Linaro ARM to 2014.05Thomas Petazzoni2014-06-092-6/+5
| | | | | | | | The major changes are: switch to gcc 4.9 instead of 4.8, and switch to glibc 2.19 instead of glibc 2.18. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* toolchain-external: support only one Linaro AArch64 toolchain at a timeThomas Petazzoni2014-06-092-41/+3
| | | | | | | | | Linaro toolchains are released so frequently (every month) that it doesn't make much sense to support 3 consecutive versions. So, like we do for ARM big-endian, let's support only one version at a time. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* toolchain-external: support only one Linaro ARM toolchain at a timeThomas Petazzoni2014-06-092-58/+4
| | | | | | | | | Linaro toolchains are released so frequently (every month) that it doesn't make much sense to support 3 consecutive versions. So, like we do for ARM big-endian, let's support only one version at a time. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* toolchain-external: do not pass TOOLCHAIN_EXTERNAL_CFLAGS for kernel headers ↵Thomas Petazzoni2014-06-091-1/+1
| | | | | | | | | | | | | | | | | | | check When getting the sysroot used for the kernel headers version check, passing TOOLCHAIN_EXTERNAL_CFLAGS causes a problem when used with multilib toolchains, where only the main sysroot has the header files, and the other sysroots only have the libraries. Since the kernel headers version used is normally the same for all sysroots, this commit solves this problem by removing the TOOLCHAIN_EXTERNAL_CFLAGS argument when calling toolchain_find_sysroot, so that it returns the main sysroot, in which <linux/version.h> can be found for the kernel headers version check. Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* toolchain-external: apply kernel headers check to non-custom toolchainsThomas Petazzoni2014-06-091-5/+3
| | | | | | | | | | | | | | | | | | | | | Since the introduction of the kernel headers Config.in options, the external toolchain logic had a check for custom external toolchains to verify that the kernel headers version entered by the user matches the one of the toolchain. However, this check was not made for non-custom external toolchains (i.e the built-in profiles, such as Linaro, CodeSourcery and al.), making the assumption that the Buildroot developers will do the right selection. However, it is quite nice when bumping external toolchains to have this automatic kernel headers version check, to ensure we select the appropriate kernel headers version. Therefore, this commit makes the kernel headers version check applicable to non-custom external toolchains. Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* pinentry: new packageVicente Olivert Riera2014-06-093-0/+104
| | | | | | | | | | | | | | [Thomas: - fix license version: the license is GPLv2+, not GPLv2 - make sure the ncurses backend is selected if none of the other backends are selected. - add dependency on libiconv of the curses and gtk2 backends, needed in !locale configurations.] Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Reviewed-by: Markos Chandras <Markos.Chandras@imgtec.com> Reviewed-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* lsof: do not remove WIDECHARINCL definitionBenoît Thébaudeau2014-06-091-2/+0
| | | | | | | | WIDECHARINCL is enabled by HASWIDECHAR, so removing its definition if BR2_USE_WCHAR is not set is useless. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* libksba: new packageVicente Olivert Riera2014-06-093-0/+24
| | | | | | | | | [Thomas: fix license informations.] Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Reviewed-by: Markos Chandras <Markos.Chandras@imgtec.com> Reviewed-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* linux: bump default to version 3.15Gustavo Zacarias2014-06-091-2/+2
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* linux-headers: add 3.15.x seriesGustavo Zacarias2014-06-091-1/+10
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: add 3.15 choice for headersGustavo Zacarias2014-06-092-0/+9
| | | | | | | | [Thomas: fix BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 to select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 and not itself.] Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/libbsd: needs an (e)glibc toolchainYann E. MORIN2014-06-091-2/+3
| | | | | | | | | | | | | | | | | | | | libbsd needs support for .init_array and checks for a glibc >= 2.4 since .init_array was introduced at around that time. uClibc claims to be a glibc-compatible toolchain, but it only impersonates a glibc-2.2. Just disable libbsd on uClibc. Fixes: http://autobuild.buildroot.net/results/e94/e949d8fabeeecc74bd1c324c516e0b4938c99dbc/ http://autobuild.buildroot.net/results/d3e/d3e1b70fb91571efacbe32af2cd12d055508f5ac/ http://autobuild.buildroot.net/results/b19/b19d24dbf9d05d86d839349695da45d548705b25/ [...] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* linux-zigbee: add missing comment for thread dependencyThomas Petazzoni2014-06-091-0/+3
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* sispmctl: new packagePhil Eichinger2014-06-093-0/+34
| | | | | | | | | | | | | | | | | [Thomas: - Add missing select of BR2_PACKAGE_LIBUSB, since BR2_PACKAGE_LIBUSB_COMPAT depends on it - Add missing thread dependency, since libusb requires threads. - Add missing wide-char dependency. Without wide char support, sispmctl doesn't build. - Rewrap the Config.in help text, and remove trailing whitespaces. - License is GPLv2+, not GPLv2. - Remove --disable-dependency-tracking from <pkg>_CONF_OPT. That's a global, standard, autoconf option, and there's no reason to pass it at the per-package level.] Signed-off-by: Phil Eichinger <phil@zankapfel.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Revert "package/weston: libxkbcommon is optional"Yann E. MORIN2014-06-092-18/+2
| | | | | | | | | | | | | | This reverts commit cf1c2eb19d3eeddca04013cfa7b2107530abf054. xkbcommon is still needed for the clients. There's no point in disabling the clients, or weston is unusable (as packaged in Buildroot.) Fixes: http://autobuild.buildroot.org/results/4e9/4e996c65f5b33d4518b0596d9c7076083d491a52/ Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* linux-zigbee: new packageMaxime Hadjinlian2014-06-094-0/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | linux-zigbee is a mix of utility tools that implements a 802.15.4 stack along with a usefull library for any program that would need to use this stack. Note that the name is mislead, for licensing reason, this does *NOT* implement the ZigBee protocol. [Thomas: - add dependency on threads, propagated from libnl - improve the Config.in description by borrowing more text from the upstream website - fix the prompt of sub-options to be more consistent, and add help texts where appropriate - fix indentation of the BR2_PACKAGE_LINUX_ZIGBEE_TESTS option help text - add missing dependencies on host-pkgconf, host-flex and host-bison - add missing SoB line in the patch disabling test-serial. Maxime is a well-known contributor, so I assumed we had his SoB. - fix indentation of <pkg>_CONF_OPT. - remove <pkg>_INSTALL_STAGING = YES since the package does not install any library, and the two headers it installs are available through the toolchain kernel headers. - add comment to explain <pkg>_AUTORECONF = YES.] Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* configs: bump zedboard to 2014.1Spenser Gilliland2014-06-092-24/+19
| | | | | | | | | | | Bump zedboard defconfig to version 2014.1. This makes it possible to use uboot-spl instead of the xilinx specific fsbl. However, the result is kinda hacky due to the licensing state of ps7_init.{c,h} needed for building uboot spl. Directions for building a proper boot.bin using the new methodolgy is included in the readme.txt. Signed-off-by: Spenser Gilliland <spenser@gillilanding.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* ruby: remove rubygemsGustavo Zacarias2014-06-091-0/+13
| | | | | | | | | | | | | It's currently in a non-working state since it requires a couple of extensions that don't build at the moment (they try to execute tests in configure) and also requires a target compiler. So remove it to avoid false expectations and reclaim target space back of about 1.5 MiB. [Thomas: slightly reword comments.] Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* ruby: add gdbm supportGustavo Zacarias2014-06-091-0/+3
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* ruby: add psych/libyaml supportGustavo Zacarias2014-06-091-0/+3
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* cloog: remove INSTALL_STAGING = YESThomas Petazzoni2014-06-091-1/+0
| | | | | | | The package is host-only, so there's no point in specifying INSTALL_STAGING = YES. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* isl: remove INSTALL_STAGING = YESThomas Petazzoni2014-06-091-1/+0
| | | | | | | The package is host-only, so there's no point in specifying INSTALL_STAGING = YES. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* cloog: fix license detailsThomas Petazzoni2014-06-091-2/+1
| | | | | | License is in fact LGPLv2.1+, and there is no LICENSE file around. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: add a BR2_GCC_ENABLE_GRAPHITE optionSteve Thomas2014-06-092-0/+20
| | | | | | | | | | | | | The gcc graphite optimisations such as loop-interchange, blocking and loop-flattening, also known as graphite are an optional feature of gcc that is very well supported since about gcc version 4.5. This patch adds support for graphite for the toolchain as an optional flag for versions 4.8 onwards as an optional flag, that is disabled by default. Signed-off-by: Steve Thomas <scjthm@live.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* cloog: new packageSteve Thomas2014-06-092-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | CLooG is a free software and library to generate code for scanning Z-polyhedra. cloog is needed for the optional graphite optimisations that are supported by gcc since version 4.5. Therefore this package is required for the toolchain to support graphite. Graphite optimisations primarily involve loop blocking flattening and interchage so are probably of mimimal use in an embedded system where small sizes are favoured. cloog depends on isl. [Thomas: - Add patch to add missing CMake related files to the release tarball, preventing the build from succeeding. - bump to 0.18.2 - disable libtool patch, which doesn't apply] Signed-off-by: Steve Thomas <scjthm@live.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* isl: new packageSteve Thomas2014-06-091-0/+22
| | | | | | | | | | | | | | | | | | | | | | isl is a library for manipulating sets and relations of integer points bounded by linear constraints. isl is needed for the optional graphite optimisations that are supported by gcc since version 4.5. Therefore this package is required for the toolchain to support graphite. Graphite optimisations primarily involve loop blocking flattening and interchage so are probably of mimimal use in an embedded system where small sizes are favoured. [Thomas: - bump to 0.12.2 (cannot use 0.13, incompatible with cloog 0.18.2, comment added about this) - use .bz2 tarball - disable libtool patch, which doesn't apply] Signed-off-by: Steve Thomas <scjthm@live.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* filesystems: also chown symlinksYann E. MORIN2014-06-093-3/+3
| | | | | | | | | | | | | | | | Currently, the symlinks in the generated filesystems will have the UID of the user running the build, because 'chown' does not change the ownership of symlinks, by default. Although the implications are limited, some may not want that UID to leak in the generated filesystems. So, use 'chown -h' so even symlinks get properly chowned. Reported-by: Angelo Dureghello <angelo@barix.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: add patches to fix MIPS __SIGRTMAX and SIG127James Hogan2014-06-092-0/+97
| | | | | | | | | | | | | | | | | | | | | Add two uClibc 0.9.33.2 patches which fix issues relating to high signal number handling on MIPS. The first patch (0056) fixes _NSIG (and as a result __SIGRTMAX) to match glibc. This fixes GDB on MIPS with uClibc, which cannot handle __SIGRTMAX == 128 and emits the error: GDB bug: target.c (gdb_signal_from_host): unrecognized real-time signal This patch is from uClibc commit 2da958760f79 (MIPS: set _NSIG to 128, not 129. This matches glibc.) and applies without conflicts. The second patch (0057) fixes the wait status macros to correctly interpret status 0x007f on MIPS (other arches don't have signal 127). This patch is from uClibc commit 4a96b9486871 (bits/waitstatus.h: correctly interpret status 0x007f on MIPS) and applies without conflicts. Signed-off-by: James Hogan <james.hogan@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: add patch to fix arch specific eventfd defsJames Hogan2014-06-091-0/+284
| | | | | | | | | | | | | | | Add uClibc 0.9.33.2 patch to fix arch specific eventfd definitions, particularly EFD_NONBLOCK. The definition in sys/eventfd.h was 04000 (0x800), however MIPS uses 0200 (0x80). This resulted in QEMU built for MIPS hanging at various points until input is received due to a blocking poll of stdin. The patch is a backport of uClibc commit fd355bc1dbcb (eventfd.h: Use new "bits/" scheme for arch-specific flags). The only conflict was minor in Makefile.in. Signed-off-by: James Hogan <james.hogan@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/xbmc-pvr-addons: Bump version, use gotham branchBernd Kuhls2014-06-091-4/+3
| | | | | | | | Suggested by Yann: http://lists.busybox.net/pipermail/buildroot/2014-June/098698.html Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/sqlite: Bump version to 3.8.5Bernd Kuhls2014-06-091-1/+1
| | | | | Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* sunxi-mali: use only -I${includedir} as pkg-config CflagsPeter Kümmel2014-06-082-2/+2
| | | | | | | | | | | | | | | | | Using only -I${includedir} in common practice. Settings only -I${includedir}/GLES2 breaks Qt5's CMake files, because at configure time CMake only searchs the paths reported by pkg-config, and not even /usr/include is used as default. Even though pkg-config strips out standard include path, that's not the case with pkgconf (which we are using) in cross-compilation, which correctly reports the /usr/include dir prefixed with the sysroot. Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Kümmel <syntheticpp@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* ti-gfx: use only -I${includedir} as pkg-config CflagsPeter Kümmel2014-06-082-2/+2
| | | | | | | | | | | | | | | | | Using only -I${includedir} in common practice. Settings only -I${includedir}/GLES2 breaks Qt5's CMake files, because at configure time CMake only searchs the paths reported by pkg-config, and not even /usr/include is used as default. Even though pkg-config strips out standard include path, that's not the case with pkgconf (which we are using) in cross-compilation, which correctly reports the /usr/include dir prefixed with the sysroot. Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Kümmel <syntheticpp@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package infra: remove duplicates in dependencies listYann E. MORIN2014-06-081-6/+9
| | | | | | | | | | | | | | | | | | | | | Currently, we just use what a package declares as its dependencies. But some packages may declare the same depdency more than once. For example, php has two options to add SQL support: 'mysql' or 'mysqli', which are not exclusive. So, php.mk has mysql twice as a dependency. Although that does not cause any grievance for make, we end up generating dependency graphs where this duplicate dependency is visible. Add an intermediary variable which contains the $(sort)-ed list of the dependencies, thus eliminating any duplicates. This has the side effect of also sorting the list, which is probably good for reproducibility anyway. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/x11r7/xlib_libXfont: Bump version to 1.4.8Bernd Kuhls2014-06-081-1/+1
| | | | | | | | Fixes CVE-2014-0209, CVE-2014-0210 & CVE-2014-0211 http://lists.x.org/archives/xorg-announce/2014-May/002431.html Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/trace-cmd: bump to version 2.3.2Romain Naour2014-06-083-45/+8
| | | | | | | | | | | | | | | | | The first patch "use-pkg-config-instead-of-python-config" has been applied upstream. The flag _GNU_SOURCE is now always defined in Makefile, so it can be removed from trace-cmd.mk CPPFLAGS are appended to CFLAGS and are used to add extra flags, but the flag _LARGEFILE64_SOURCE in TARGET_CPPFLAGS is already defined in source files, which causes a build error. As for CFLAGS, we fix this by filtering out our definition of _LARGEFILE64_SOURCE from the CPPFLAGS before passing them to the trace-cmd Makefile. Signed-off-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* faifa: new packageMaxime Hadjinlian2014-06-083-0/+55
| | | | | | | | | | | | | | faifa is a library and a cli used to manage PLC hardware that use Intellon chipset. Almost everybody use theses chips nowadays. [Thomas: license is GPLv2+, not GPLv2. Fix indentation. Add dependency on host-autoconf and a comment to explain what's going on. Fix indentation of target/staging installation commands. Mark the package as not available for static library builds as it always build a shared library. Rewrap Config.in help text.] Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* packages: replace command install by $(INSTALL)Maxime Hadjinlian2014-06-0826-47/+47
| | | | | | Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* sshpass: new packageGary Bisson2014-06-083-0/+22
| | | | | | | [Thomas: add MMU dependency, fix license to GPLv2+.] Signed-off-by: Gary Bisson <bisson.gary@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* wpa_supplicant: fix BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG optionSven Neumann2014-06-081-3/+1
| | | | | Signed-off-by: Sven Neumann <neumann@teufel.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* perl: removes useless files in target treeFrancois Perrad2014-06-081-0/+3
| | | | | | | | $(TARGET_DIR)/usr/lib/perl5/$(PERL_VERSION)/$(PERL_ARCHNAME)/CORE contains include files. *.bs & .packlist files come with perl or perl/cpan packages. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* docs/manual: add the virtual packages listYann E. MORIN2014-06-083-0/+24
| | | | | | | | | | | | | | | | | | | | Add the list of virtual packages as an appendix to the manual. Also reference this list from appropriate locations elsewhere in the manual: - in section 7.2.2. "Config.in file", after the existing explanations on dependencies on target and toolchain options, on a linux kernel, and on udev /dev management, - in section 7.2.10. "Infrastructure for virtual packages", in the provider Config.in and .mk explanations, to have the list of existing symbols to select (in Config.in) and packages to provide (in .mk). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts: generate a list of virtual packagesYann E. MORIN2014-06-081-1/+83
| | | | | | | | | | | | | | | | | | | | | | | Generate an asciidoc table that can be included in the manual, that lists the existing virtual packages, the corresponding symbols, and their providers (and sub-options thereof). The core of this change is the addition of a new formatter for virtual packages. This formatter is a bit tricky, as it has to catter for a bunch of corner cases: - provider is not a package, but is sub-options of a package - such a sub-option may be itself 'select'-ed by one or more other sub-options - legacy packages should not be considered as a provider Those cases are real: - sub-options of mesa3d provide EGL or GLES - selected sub-options of mesa3d provide GL - udev is a legacy package, but it provides udev Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts: introduce a symbol formatter to generate package listsYann E. MORIN2014-06-081-29/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we can generate two different tables of packages: - a single-column table with the symbols' prompts, - a two-column table with the symbols' prompts and locations in the menuconfig. For virtual packages, this is not enough, since we will have to display more columns, with different content: - the virtual package name (but such symbols do not have a prompt) - the symbol name - the providers for the virtual package So, instead of having a single function that knows how to generate any table, introduce a formatter function that is passed as argument to, and called by format_asciidoc_table(). Such formatter functions are responsible for providing: - the layout of the table (number of columns, column arrangement), - the formatted header line, - a formatted line for a symbol. What the formatter should ouput depends on its arguments: - if none are passed, the layout is returned, - if the header label is passed, it returns the formatted header line, - otherwise, it returns the formatted line for a symbol. Two formatter functions are introduced in this changeset, to replace the current 'sub_menu' feature: - _format_symbol_prompt() to display a one-column table with only the symbols' prompts, - _format_symbol_prompt_location() to display a two-column table with the symbols' prompts and locations. This will help us to later introduce a new formatter to generate a table for virtual packages. [Thanks to Samuel for his pythonistic help!] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts: who's responsible to decide what is a packageYann E. MORIN2014-06-081-4/+4
| | | | | | | | | | | | | | | | | | | | | When generating the package lists, the responsibility to decide what is actually a package symbol is currently split between the _is_package(), the get_symbol_subset() and the format_asciidoc_table() functions. The two latter functions check that an item is really a symbol, and that is has a prompt. While this is currently correct for real packages, this will no longer be the case when we also generate a list of virtual packages, since they do not have a prompt. Move the responsibility to verify that a symbol is indeed a package symbol to _is_package(), so it's all in one place, and makes it easier to change for virtual packages. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts: do not display virtual packages in generated listsYann E. MORIN2014-06-081-2/+19
| | | | | | | | | | | | | | | | | If a package has both a 'real' and a 'virtual' definition, consider it is a virtual package and do not display it in the generated package list. This is the case for jpeg and cryptodev, that are virtual packages, but also real (but empty) packages used to provide a prompt to enable/disable a choice to select an implementation. In this case, we do not want to list the virtual packages, but only their implementations. So, consider packages that are both real and virtual as virtual packages. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts: prepare handling virtual packages in generated listsYann E. MORIN2014-06-081-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prepare to tell apart real packages from virtual packages. Currently, the code implicitly recognises only real packages, and discards virtual packages, because of the heuristic used to recognise whether a symbol is a package: - for real package: - symbols : BR2_PACKAGE_FOO - .mk files: foo.mk - for virtual packages: - symbols : BR2_PACKAGE_HAS_FOO - .mk files: foo.mk The current heuristic is to check for each symbol if a corresponding .mk file exists, by stripping 'BR2_PACKAGE_' from the beginning of the symbol, converting the result to lowercase, and checking if a .mk file exists. So, as a side effect, it completely misses the virtual packages [*], which is pretty nice since we get a list with only real packages that the user can indeed select and see in the menuconfig. [*] Except for 'cryptodev' and 'jpeg' which are both virtual packages and normal packages. Except they are not normal packages, they are used to display a choice of the implementation to use. This case will be fixed in follow-up patches. Since we'll soon need to also output the table of virtual packages, we need to teach the _is_package() function to recognise them as well. This patch is the first step into that direction: it introduces a new function _is_real_package() that is just a wrapper to _is_package(), which gains a new parameter, being the type of packages to filter on. No behavioural change is made in this patch, it is just a preparatory patch. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts: document args to _is_package() in gen-manual-listsYann E. MORIN2014-06-081-0/+2
| | | | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts: prepare expanding the packages listsYann E. MORIN2014-06-081-1/+10
| | | | | | | | | | | | Move to a function the code generating the package name from a symbol's name, to avoid code duplication. This is not used currently, but will be in a subsequent patch. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
OpenPOWER on IntegriCloud