Commit Graph

18644 Commits

Author SHA1 Message Date
Thomas Petazzoni
4e4ed5631f toolchain-external: apply kernel headers check to non-custom toolchains
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>
2014-06-09 15:37:23 +02:00
Vicente Olivert Riera
90b2765f5f pinentry: new package
[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>
2014-06-09 15:30:12 +02:00
Benoît Thébaudeau
566a7bef7c lsof: do not remove WIDECHARINCL definition
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>
2014-06-09 15:06:13 +02:00
Vicente Olivert Riera
fe70a288f1 libksba: new package
[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>
2014-06-09 14:58:37 +02:00
Gustavo Zacarias
3eff8f16e3 linux: bump default to version 3.15
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-09 14:50:16 +02:00
Gustavo Zacarias
338cc8ffd0 linux-headers: add 3.15.x series
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-09 14:49:40 +02:00
Gustavo Zacarias
fb29afe2aa toolchain: add 3.15 choice for headers
[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>
2014-06-09 14:48:55 +02:00
Yann E. MORIN
1e6ea2d112 package/libbsd: needs an (e)glibc toolchain
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>
2014-06-09 14:42:43 +02:00
Thomas Petazzoni
1ce2382251 linux-zigbee: add missing comment for thread dependency
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-09 14:39:18 +02:00
Phil Eichinger
9b0a4a0a99 sispmctl: new package
[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>
2014-06-09 14:38:38 +02:00
Yann E. MORIN
9e7efa662e Revert "package/weston: libxkbcommon is optional"
This reverts commit cf1c2eb19d.

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>
2014-06-09 14:28:13 +02:00
Maxime Hadjinlian
df3125737b linux-zigbee: new package
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>
2014-06-09 14:21:06 +02:00
Spenser Gilliland
51bc99a485 configs: bump zedboard to 2014.1
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>
2014-06-09 12:09:20 +02:00
Gustavo Zacarias
feacc29ef9 ruby: remove rubygems
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>
2014-06-09 12:06:39 +02:00
Gustavo Zacarias
687e185890 ruby: add gdbm support
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-09 12:05:27 +02:00
Gustavo Zacarias
a69a830c7c ruby: add psych/libyaml support
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-09 12:05:08 +02:00
Thomas Petazzoni
c4c8e74f85 cloog: remove INSTALL_STAGING = YES
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>
2014-06-09 11:54:35 +02:00
Thomas Petazzoni
422060e6a1 isl: remove INSTALL_STAGING = YES
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>
2014-06-09 11:54:02 +02:00
Thomas Petazzoni
1ed9a57180 cloog: fix license details
License is in fact LGPLv2.1+, and there is no LICENSE file around.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-09 11:51:44 +02:00
Steve Thomas
90aca35a4c gcc: add a BR2_GCC_ENABLE_GRAPHITE option
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>
2014-06-09 11:38:25 +02:00
Steve Thomas
f1e1a078a7 cloog: new package
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>
2014-06-09 11:38:12 +02:00
Steve Thomas
ac888c06f3 isl: new package
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>
2014-06-09 11:37:46 +02:00
Yann E. MORIN
3fbd9887b3 filesystems: also chown symlinks
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>
2014-06-09 11:28:57 +02:00
James Hogan
54ba2704b0 uclibc: add patches to fix MIPS __SIGRTMAX and SIG127
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>
2014-06-09 11:27:04 +02:00
James Hogan
d712a018dd uclibc: add patch to fix arch specific eventfd defs
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>
2014-06-09 11:26:23 +02:00
Bernd Kuhls
9e5a10032c package/xbmc-pvr-addons: Bump version, use gotham branch
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>
2014-06-09 11:17:44 +02:00
Bernd Kuhls
30685c09b9 package/sqlite: Bump version to 3.8.5
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-09 11:16:31 +02:00
Peter Kümmel
1ff9045f4b sunxi-mali: use only -I${includedir} as pkg-config Cflags
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>
2014-06-08 18:52:14 +02:00
Peter Kümmel
05a7341539 ti-gfx: use only -I${includedir} as pkg-config Cflags
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>
2014-06-08 18:52:11 +02:00
Yann E. MORIN
9c1d3b6325 package infra: remove duplicates in dependencies list
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>
2014-06-08 18:50:35 +02:00
Bernd Kuhls
431fdde819 package/x11r7/xlib_libXfont: Bump version to 1.4.8
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>
2014-06-08 18:48:23 +02:00
Romain Naour
a4277731ee package/trace-cmd: bump to version 2.3.2
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>
2014-06-08 18:44:57 +02:00
Maxime Hadjinlian
0bd7eb8eff faifa: new package
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>
2014-06-08 18:30:58 +02:00
Maxime Hadjinlian
c962338070 packages: replace command install by $(INSTALL)
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>
2014-06-08 17:56:54 +02:00
Gary Bisson
ffe60b1bfa sshpass: new package
[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>
2014-06-08 17:53:51 +02:00
Sven Neumann
c0d089b0eb wpa_supplicant: fix BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG option
Signed-off-by: Sven Neumann <neumann@teufel.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-08 17:41:14 +02:00
Francois Perrad
cef18e4085 perl: removes useless files in target tree
$(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>
2014-06-08 17:23:10 +02:00
Yann E. MORIN
07c642b735 docs/manual: add the virtual packages list
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>
2014-06-08 17:11:47 +02:00
Yann E. MORIN
4d922634da support/scripts: generate a list of virtual packages
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>
2014-06-08 17:11:05 +02:00
Yann E. MORIN
fe696d7c65 support/scripts: introduce a symbol formatter to generate package lists
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>
2014-06-08 17:10:32 +02:00
Yann E. MORIN
b2c75ecc5d support/scripts: who's responsible to decide what is a package
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>
2014-06-08 17:09:57 +02:00
Yann E. MORIN
f93edd823f support/scripts: do not display virtual packages in generated lists
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>
2014-06-08 17:09:38 +02:00
Yann E. MORIN
e49d4f0c37 support/scripts: prepare handling virtual packages in generated lists
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>
2014-06-08 17:08:36 +02:00
Yann E. MORIN
6cffe52b77 support/scripts: document args to _is_package() in gen-manual-lists
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>
2014-06-08 17:08:12 +02:00
Yann E. MORIN
d3fa2bebc7 support/scripts: prepare expanding the packages lists
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>
2014-06-08 17:08:01 +02:00
Yann E. MORIN
d2f3e43afb package/mesa3d: rename the prompt
Rename the prompt for mesa3d so that it matches what we usually do
for prompts of packages: just name the package in lower case.

This will help generate nicer tables in the generated packages list,
both in existing tables, and in the upcoming table of virtual packages.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-08 17:07:41 +02:00
Yann E. MORIN
958495578f package/jpeg: make it behave more like other virtual packages
Currently, the virtual package jpeg is a special virtual package,
as it offers a choice for its implementation, rather than letting the
user enable them manually.

In so doing, it defines its _HAS option as a 'def_bool y' rather than
letting each implementation 'select' it.

Since we are going to generate a list of virtual packages and their
providers, this defeats the heuristic used to find providers.

Coming with an alternate heuristic that also matches the jpeg
package is quite complex, so better and easier to make it look more
like any other virtual package.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-08 17:07:31 +02:00
Yann E. MORIN
0a54ba31db package/cryptodev: make it behave more like other virtual packages
Currently, the virtual package cryptodev is a special virtual package,
as it offers a choice for its implementation, rather than letting the
user enable them manually.

In so doing, it defines its _HAS option as a 'def_bool y' rather than
letting each implementation 'select' it.

Since we are going to generate a list of virtual packages and their
providers, this defeats the heuristic used to find providers.

Coming with an alternate heuristic that also matches the cryptodev
package is quite complex, so better and easier to make it look more
like any other virtual package.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-08 17:07:19 +02:00
Yann E. MORIN
c67423c331 manual: document the new graph-depends options
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-08 16:43:36 +02:00
Yann E. MORIN
4cca66f877 graph-depends: add option to pass arbitrary dot options
Kids nowaday seem to prefer a left-to-right drawing rather than the
more conventional and historical top-down drawing.

Rather than multiply the number of environment variables, just add
a single one where the user can pass arbitrary dot options, such as:

    make BR2_GRAPH_DOT_OPTS=-Grankdir=LR graph-depends

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-08 16:43:32 +02:00