For large configurations, the execution time of
remove_transitive_deps() becomes really high, due to the number of
nested loops + the is_dep() function being recursive.
For an allyespackageconfig, the remove_extra_deps() function takes 334
seconds to execute, and the overall time to generate the .dot file is
6 minutes and 39 seconds. Here is a timing of the different
graph-depends steps and the overall execution time:
Getting dependencies: 42.5735 seconds
Turn deps into a dict: 0.0023 seconds
Remove extra deps: 334.1542 seconds
Get version: 22.4919 seconds
Generate .dot: 0.0197 seconds
real 6m39.289s
user 6m16.644s
sys 0m8.792s
By adding a very simple cache for the results of is_dep(), we bring
down the execution time of the "Remove extra deps" step from 334
seconds to just 4 seconds, reducing the overall execution time to 1
minutes and 10 seconds:
Getting dependencies: 42.9546 seconds
Turn deps into a dict: 0.0025 seconds
Remove extra deps: 4.9643 seconds
Get version: 22.1865 seconds
Generate .dot: 0.0207 seconds
real 1m10.201s
user 0m47.716s
sys 0m7.948s
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
[yann.morin.1998@free.fr:
- rename is_dep() to is_dep_uncached(), keep existig code as-is
- add is_dep() as a cached-version of is_dep_uncached()
- use constructs more conform with 2to3
- use exceptions (EAFP) rather than check-before-use (LBYL) to be more
pythonist; that even decreases the duration yet a little bit more!
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
[Thomas:
- addition of 'depends on BR2_arm' as suggested by Yann.
- addition of a comment in the Config.in help text that says that
this library is a pure abomination.
- fix the hash, since apparently upstream changes the released
tarballs after they are published.
- fix license, it's GPLv2, not GPLv2+.]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- provide only libmongoose.a
- rework package description
[Peter: move under Libraries->Networking]
Signed-off-by: Davide Viti <zinosat@tiscali.it>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The sparse_super feature is more efficient in terms of speed and
available space, so set it by default if supported, i.e. for revision 1.
This gives a huge speed gain for large resize2fs operations, especially
for expansion.
Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Pre block should not be indented, this patch fixes wrong
indentation.
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Installing libraries in a subdirectory of /usr/lib leads to no end of
trouble. It requires either setting a RUN_PATH in the ELF files linked
with it or adding the path to ld.so.conf and calling ldconfig on the
target.
So to simplify things, put everything in /usr/lib instead of
/usr/lib/mysql
[Thomas:
- tweak commit title.
- also remove ld.so.conf handling in mysql.mk, since it is no longer
necessary.]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In Buildroot, the selection of a package from a Config.in level and
from a Makefile level are completely disconnected. This can lead to
issues where the build of a package is triggered at the Makefile level
due to the package being listed in another package <pkg>_DEPENDENCIES
variable, even if that package is not enabled in the configuration.
This has for example been the case recently with python-can having
'python' in its <pkg>_DEPENDENCIES, while python-can could be enabled
when Python 3.x is used, in which case the 'python' package should not
be built.
To detect such issues more easily, this patch adds a check in the
package infrastructure. When the build process of a package is being
triggered, we verify that the package is enabled in the
configuration. We do this check in the "configure" step, since this
step is the first common step between the normal download case and the
"local site method" / "package override" case.
[Thomas: adjust the error message as suggested by Yann, to take into
account the fact that the problem might not be in a direct reverse
dependency, but in something higher up in the tree of reverse
dependencies.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch updates the Cubieboard2 board defconfig to use newer u-boot
and linux versions, along with a few other improvements.
The other improvements were mostly backported from the recent Orange Pi
defconfig inclusion and are related to image generation.
linux-sunxi.org was used as a reference for both linux and u-boot
defconfig names.
In detail:
- Update linux to vanilla upstream -- currently 4.3.3 is the most
up-to-date. Although it lacks some features present only in the
linux-sunxi 3.4 branch, upstream support appears to be relatively mature
and is already being deployed by default by distributions such as Arch
Linux ARM.
- Update u-boot to vanilla upstream 2015.10. According to
linux-sunxi.org, upstream fully supports major functions (except NAND)
since 2015.07.
- Change image format to zImage and drop custom image generation script
in favour of genimage, as pointed out by reviewers in the Orange Pi
defconfig submission.
This was tested in a Cubieboard2 board with boot from mmc and it boots
fine to login prompt.
This has not been tested in a Cubieboard (A10) as I don't own any; the
version bumps probably apply to it although there are some differences
(lack of VFPv4 support, Cortex-A8 instead of Cortex-A7), so I have kept
the current Cubieboard defconfig and its scripts. This one has been only
build-tested.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Of host-gettext, we only build the tools. however some of those tools
have a --color option, which needs libxml2.
If the libxml2 development files are missing on the host, a bundled
subset of libxml2 is used, and all seems OK. But if they ar epresent,
then the host libxml2 is used. On some distros, lbxml2 is linked with
liblzma. And if we happend to _then_ build our host-liblzma, we may have
a conflict later when trying to run any of the host-gettext tools.
Always build host-gettext with our own host-libxml2 which is not linked
with liblzma.
Fixes https://bugs.busybox.net/show_bug.cgi?id=7886
Signed-off-by: Ignacy Gawędzki <ignacy.gawedzki@green-communications.fr>
[nicolas: added extended commit message]
Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
[yann.morin.1998@free.fr: rebase; add comment; enhance commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Unionfs changed its meta directory from .unionfs to .unionfs-fuse with the
unionfs -> unionfs-fuse rename. The rename later got reverted everywhere
but the meta directory, so now unionfs doesn't find the whiteout files from
older releases.
Revert back to the pre-1.0 behaviour to fix this.
Patch merged upstream:
93c2f9bd8b
[Thomas: add reference to the upstream commit, now that the patch has
been merged.]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now uses the new mbedtls package, and requires zlib.
Rename the SSL option description to TLS, but keep the same symbol
name to avoid pointless legacy.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add the mbed TLS library, formerly known as PolarSSL.
The 2.0+ version can live side-by-side with polarssl since it was
renamed, hence can be added with no conflict.
Use the Apache-2.0 license variant since it's somewhat more flexible,
the codebase is the same as the GPLv2 variant, just copyright
headers/license file changed.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The project moved to github, so point the homepage and download URL
there.
[Thomas:
- Remove comment "Switch to github helper on bump" since we clearly
don't want to switch to the github helper if they continue to
upload release tarballs.]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The project moved to github, so point the homepage and download URL
there.
[Thomas:
- Remove comment "Switch to github helper on bump" since we clearly
don't want to switch to the github helper if they continue to
upload release tarballs.
- Adjust comment in the .hash file for clarity.]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
xdotool is a command-line X11 automation tool.
http://www.semicomplete.com/projects/xdotool
[Thomas:
- fix <pkg>_LICENSE, as noticed by Baruch
- use $(TARGET_MAKE_ENV).]
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
make legal-info breaks when using an older u-boot version in local.mk
with OVERRIDE_SRCDIR, due to the reorganization of license files which
happened in u-boot v2013.10.
This issue had already been fixed in Buildroot for the regular use of
old u-boot versions (non-local.mk).
This patch adds the same fix to UBOOT_POST_RSYNC_HOOKS so that it also
covers the local.mk case.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The dependency on linux is automatically added by the kernel-module
infrastructure, so there is no need to explicit add it in the emlog
package.
Thanks to Arnout for spotting the issue.
Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This package depends on the radeon driver from libdrm and depends on
DRI support in xserver_xorg-server, to achieve this we select the
Radeon mesa3d DRI driver.
Fixes:
http://autobuild.buildroot.net/results/9da/9da4ffdf1c4ec78ae37322e253cb769340116035
Signed-off-by: Lada Trimasova <ltrimas@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
----
Changes v1 -> v2:
- use github helper (thanks to Jörg Krause)
Changes v2 -> v3:
- add c++ dependency (suggested by Thomas Petazzoni)
- fix linking problem with builtin zlib (linking code
with/without '-fpic' compiled, see e.g. [2]), workaround by selecting
buildroot zlib package (failure detected by Thomas Petazzoni [2])
[1] https://cmake.org/pipermail/cmake/2006-March/008482.html
[2] http://lists.busybox.net/pipermail/buildroot/2015-December/146859.html
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Other packages will look for eigen3.pc to detect the presence of eigen3.
eigen3.pc is usually installed by eigen's cmake buildsystem, but we do a
manual install to not depend on host-cmake just to install header files.
But in doing so, we forgot to install the .pc file.
Manually sed the source .pc.in to generate the final .pc file.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds a configuration for the Orange Pi PC board,
<http://www.orangepi.org/orangepipc/>.
Signed-off-by: Eelco Chaudron <echaudron@xiot.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In Kconfig, when there is an item (like a comment) between a symbol and
its dependees, then the indentation is not in effect.
Move the symbol to the top of the file to guarantee the indentation in
menuconfig.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In Kconfig, when there is an item (like a comment) between a symbol and
its dependees, then the indentation is not in effect.
Move the symbol to the top of the file to guarantee the indentation in
menuconfig.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In Kconfig, when there is an item (like a comment) between a symbol and
its dependees, then the indentation is not in effect.
Move the symbol to the top of the file to guarantee the indentation in
menuconfig.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In Kconfig, when there is an item (like a comment) between a symbol and
its dependees, then the indentation is not in effect.
Move the symbol to the top of the file to guarantee the indentation in
menuconfig.
In this case, it means the gstremaer1 plugins are not indented below the
main gstreamer1 prompt.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In Kconfig, when there is an item (like a comment) between a symbol and
its dependees, then the indentation is not in effect.
Move the symbol to the top of the file to guarantee the indentation in
menuconfig.
In this case, it means the gstremaer plugins are not indented below
the main gstreamer prompt.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In Kconfig, when there is an item (like a comment) between a symbol
and its dependees, then the indentation is not in effect.
Move the symbol to the top of the file to guarantee the indentation in
menuconfig.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
connman uses execinfo.h to dump a backtrace in case of failure.
execinfo.h is optional in uClibc, so we had a patch that conditonally
disabled backtraces for uClibc when it was missing execinfo.h
However, musl is also entirely lacking execinfo.h.
Add a proper patch that checks for execinfo.h at ./configure time. This
will no longer make any assumption on the C library that is being used.
Fixes:
http://autobuild.buildroot.org/results/f6e/f6ee8ab3a6300f1f527f9e92b8c2ec81e63afb27/http://autobuild.buildroot.org/results/96b/96b78bb644ed4ef3493782521b17e3b2113a405f/
...
Note that there might be other issues with musl; this patch only fixes
the execinfo.h one.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
pinentry can use libsecret when available, so we should handle this
optional dependencies properly.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
pinentry configure.ac uses PKG_CHECK_MODULES() and also manual calls
to pkg-config, to detect the availability of some libraries, so we
need to depend on host-pkgconf.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>