dhcpcd fails to build on non-MMU platforms, even with the
--disable-fork option:
bind.o: In function `_daemonise':
bind.c:(.text+0x62): undefined reference to `_fork'
collect2: ld returned 1 exit status
Therefore, we make dhcpcd depend on MMU support, and remove the
non-MMU condition in the .mk file. More recent versions of dhcpcd do
support non-MMU properly, but this commit intends to be only a fix.
libnl: do not allow to build tools on static lib configs
Building the libnl tools requires the <dlfcn.h> header, which is not
compatible with static only builds. Therefore, this commit makes the
libnl tools option depend on !BR2_PREFER_STATIC_LIB.
libnl: simplify makefile by using --{enable, disable}-cli
The libnl configure script has a --{enable,disable}-cli options that
allows to enable or disable the compilation of the libnl tools. Use
this option instead of compiling everything and then removing the
installed programs.
Note that we also get rid of the uninstall command, which is planned
to be globally removed in Buildroot.
This is due to the fact that it still tries to build a shared
library. This commit fixes that by adding a patch that makes libcap
provide install-shared/install-static targets. We also now only build
the $(@D)/libcap subdirectory, so removing the build of the progs
subdirectory is no longer needed.
libcap currently has one patch, but it is named using the old naming
strategy, which includes the package version, but not a patch
number. This commit switches this to use the new patch naming
strategy.
According to the documentation, chapter
6.2.8.2 How to add a package from github
"
[...]
FOO_VERSION = tag or full commit ID
FOO_SITE = http://github.com/<user>/<package>/tarball/$(FOO_VERSION)
[...]
- The tarball name generated by github matches the default one from
Buildroot (...),
so it is not necessary to specify it in the +.mk+ file.
"
This commit makes the appropriate changes.
There is no benefit in using the shortened git revision hash. On the
contrary: the shorter the hash, the higher the risk of having collisions
with another commit.
Denis Mingulov [Wed, 16 Oct 2013 13:13:37 +0000 (16:13 +0300)]
rsync: use system zlib and popt, also do not lose debug options
rsync by default compiles statically its own zlib and popt
libraries, it is better to use system wide libraries instead -
both for disk and memory consumption. Change rsync package
accordingly.
Also previously a debug configure option has been lost, as
overwritten by '--with-included-popt' option - fixed.
For example, on ARMv5 rsync binary size is reduced by about 25%.
manual generation: rename manual-txt into manual-text
The output extension and the generation messages refer to 'text', but the make
target was confusingly 'txt'. This patch changes the make target for
consistency.
To generate the manual, you need a few tools. If these are not present,
pretty cryptic error messages are given.
This patch adds a simple check for these dependencies, before attempting to
build the manual.
Axel Lin [Mon, 21 Oct 2013 05:53:02 +0000 (13:53 +0800)]
cppzmq/czmq: Update comment for needs threads support
Comment 7e37d235f "zeromq: needs threads" adds BR2_TOOLCHAIN_HAS_THREADS
dependency but forgot to add corresponding comment for cppzmq and czmq. Fix it.
Thomas Petazzoni [Wed, 30 Oct 2013 22:41:45 +0000 (23:41 +0100)]
xenomai: use install-user to remove patch
As noted by "George" in bug #6416, the xenomai-do-not-install-devices
patch is not needed, since Xenomai provides a "install-user" target to
only install the libraries/headers and not the device files. This
patch changes xenomai.mk to use 'install-user' and removes the useless
patch.
Config.in files: add/update comments on (e)glibc dependencies
This patch adds missing comments about (e)glibc dependencies and updates the
text of existing comments.
Additionally, it splits dependency expressions for the touched packages from
depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
depends on BR2_BASE_DEP
depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.
util-linux: Add --without-ncurses to host-util-linux
Ncurses not necessary when building host-util-linux, so passing
--without-ncurses avoids from misdetecting an installed host ncurses
on the build machine.
Gustavo Zacarias [Fri, 25 Oct 2013 13:10:22 +0000 (10:10 -0300)]
arch/Config.in: introduce BR2_KERNEL_64_USERLAND_32 symbol
On some architectures one can be running a 64-bit kernel with a 32-bit
userland. Such is the case for sparc64 (unsupported) for example and
mips64 with n32 ABI.
Some tools that interface directly with the kernel need to be built
specially for this, so introduce this symbol to tweak their build in
one central kludge to be future-proof.
Romain Naour [Wed, 30 Oct 2013 21:39:52 +0000 (22:39 +0100)]
trace-cmd: fix ptrace detection
Ptrace support detection is ignored when CFLAGS is set by
buildroot. Use override in Makefile to add -DWARN_NO_PTRACE and
-DNO_PTRACE in CFLAGS if ptrace is not available.
Thomas Petazzoni [Tue, 29 Oct 2013 20:54:02 +0000 (21:54 +0100)]
glibc, toolchain-external: copy libthread_db when gdb is enabled
As Samuel Martin noticed, libthread_db is not only needed when
cross-gdb+gdbserver is used, but also when the native gdb is used on
the target. As a consequence, this patch modifies the glibc package
and the external toolchain logic to ensure that libthread_db is copied
to the target either when the native gdb or gdbserver is enabled, by
relying on the BR2_PACKAGE_GDB option, which is enabled when native
gdb and/or gdbserver are enabled.
Thomas Petazzoni [Tue, 29 Oct 2013 20:54:01 +0000 (21:54 +0100)]
toolchain-external: fix visibility and length of Linaro toolchain comment
Maxime Ripard reported that the Linaro toolchains were not visible
when selecting a Cortex-A, but forgetting to set the EABI to
EABIhf. While this is expected, Buildroot should normally should a
comment in this case. However, the comment is only visible when the
selected ARM architecture is not ARMv7 *and* the EABI is not
EABIhf. Instead, make the comment visible when either the selected
architecture is not ARMv7 *or* when the selected EABI is not EABIhf.
While we're at it, reword the comment text so that it actually fits
within the limits of the menuconfig screen.
Thomas Petazzoni [Tue, 29 Oct 2013 20:54:00 +0000 (21:54 +0100)]
toolchain-external: add missing symlink for Linaro toolchains
In 11ec38b6950 ("toolchain-external: fix Linaro ARM toolchain
support"), we fixed the support for Linaro EABIhf toolchains by adding
a /lib/arm-linux-gnueabihf -> /lib symbolic link. This is needed
because the dynamic loader looks for libraries in
/lib/arm-linux-gnueabihf rather than the usual /lib, but Buildroot
installs all libraries in /lib.
However, we forgot that the dynamic loader also loads libraries from
/usr/lib/arm-linux-gnueabihf rather than /usr/lib, so this patch fixes
that by adding the necessary symbolic link.
Fixes the following compile warning:
./confdata.c: In function ‘conf_split_config’:
./confdata.c:849:6: warning: assignment makes pointer from integer
without a cast
Markos Chandras [Mon, 14 Oct 2013 09:52:25 +0000 (10:52 +0100)]
ext-toolchain: MIPS: Select correct endianness for the target
Previously, an external-toolchain on a mipsel/mips64el target
didn't select the appriopriate endianness but
it asked the user to set the correct CFLAGS on his/her own.
We fix this by appending "-EL" to the toolchain wrapper options
if the user has selected a mipsel/mips64el target.
[Thomas: remove unneeded test on BR2_ENDIAN, since mipsel and mips64el
are always little-endian, and add the corresponding big endian case.]
The failure is related to bundled libpng conflicting with system libpng.
Which was a problem even before the libpng bump because the bundled
version for the previous fltk version has several security
vulnerabilities.
So disable bundled libraries and use global ones.
Jouko Nikula [Sun, 27 Oct 2013 13:51:19 +0000 (14:51 +0100)]
Update config.guess and config.sub scripts to latest versions.
Current version of config.guess may fail to detect host libc version,
which results in problems with configure when building gcc. Current patches
are removed. Patch to add support for ps2 is removed as it was discussed on
buildroot mailing list that it is no longer needed.
[Arnout: drop the 'improve uClibc' patch, update commit message, update to
more recent version, update README.] Signed-off-by: Jouko Nikula <[email protected]> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
Romain Naour [Sun, 20 Oct 2013 21:36:14 +0000 (23:36 +0200)]
trace-cmd: use pkg-config instead of python-config
trace-cmd use python-config to find out which headers
and libraries should be used to link against the Python libraries.
By default, python-config returns paths that are inappropriate for
cross-compilation.
This patch replaces python-config with pkg-config as a workaround.
Add PYTHON_VERS to build trace-cmd with python2 or python3
opkg has released a new version v0.2.0. The opkg community is also on
the way to switching completely from subversion to git.
The current git repository is placed on Bitbucket and will probably move
once again if there will be find a new home for the project.
https://bitbucket.org/opkg/opkg
The new version 0.2.0 is almost a bugfixing release with a lot of small
changes.
This patch is adding the license info too.
jq is like sed for JSON data - you can use it to slice and filter
and map and transform structured data with the same ease that sed,
awk, grep and friends let you play with text.
[Peter: fix license, add flex/bison deps, force c99] Signed-off-by: Danomi Manchego <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
This patch moves :
"Filesystem and flash utilities" menu
"X applications" category
"JSON/XML" menu
so they are in alphabetical order with the rest of the file.
Sergey Alyoshin [Wed, 23 Oct 2013 12:55:00 +0000 (16:55 +0400)]
kobs-ng: test kernel version for redefines
kobs-ng failed to build with 2.6.36, because enum tested with #ifndef
mtd.c: In function 'mtd_open':
mtd.c:696:42: error: 'MTD_FILE_MODE_NORMAL' undeclared (first use in this
function)
mtd.c:696:42: note: each undeclared identifier is reported only once for each
function it appears in
mtd.c: In function 'mtd_set_ecc_mode':
mtd.c:896:43: error: 'MTD_FILE_MODE_NORMAL' undeclared (first use in this
function)
mtd.c:914:43: error: 'MTD_FILE_MODE_RAW' undeclared (first use in this
function)
defconfigs: update after rename of custom git repo/version options
[Peter: also update cubieboard2, freescale_imx6* and wandboard] Signed-off-by: Thomas De Schampheleire <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
Although the configuration options for custom repository locations and
versions are very similar between the linux and uboot packages, there are
some minor differences. This patch lines up both packages.
Config.in.legacy: add separator to description for users
When legacy symbols are selected, the menuconfig shows the explanation for
users, immediately followed by the line "Legacy options removed in 2013.08".
In order to visually keep these apart, we introduce a separator.
Note that a line with all spaces is not correctly shown by menuconfig (the
width will not be kept at 80 characters, so the output is '*** ***').
A dashed line seemed a logical alternative, and with another dashed line on
top, the description becomes a block.
This patch clarifies the message shown to users in the legacy menu.
It explicitly mentions the need to save the configuration before disabling the
legacy options.
Config.in.legacy: update description for developers
The existing comments in Config.in.legacy are not entirely in-line with
current practice. The comments implies that BR2_LEGACY should not be set when
the conversion from old-to-new symbol can be done automatically using the
appropriate 'select' statements. However, none of the existing legacy options
does it this way. Moreover, I think it's intentional that the user is notified
of the change, so that the removal of the legacy options in later buildroot
versions no longer poses a problem.
Additionally, the comments now describe how to handle string options.
Fatih Aşıcı [Fri, 20 Sep 2013 05:43:10 +0000 (08:43 +0300)]
qt5: bump to 5.1.1
Following patches are removed since they are upstreamed:
- qt5base/qt5base-0001-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch
- qt5jsbackend/qt5jsbackend-0002-fix-uclibc.patch
Remove "-nomake demos" from configure options since "demos" directory is
merged into examples.
This package builds with -m32. In buildroot, we don't have multilib
support so only the 64-bit libraries are available, which can't be
linked against these 32-bit object files.
I've tested this with the Sourcery and buildroot toolchains - neither
works.
Yann E. MORIN [Wed, 23 Oct 2013 22:11:49 +0000 (23:11 +0100)]
Makefile: export BUILD_DIR
$(BUILD_DIR) is a nice place to put files generated during the build.
With the advent of user-supplied step-hooks, they may want to store
some information on the build.
Export BUILD_DIR to that effect; update manual accordingly.