musl doesn't provide sys/param.h to figure out the value of HZ, but as we
know we are building for Linux, and on Linux the clock_t values returned
from times(2) are defined in terms of USER_HZ which is always 100, we can
just as well tell dhrystone to use that directly.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Valgrind ordinarily works by preloading a shared object to replace malloc,
free and friends. Some combinations of toolchain/libc allow this to build
with -static, but others complain.
Since it makes little sense to try to build this on a static-only system,
this patch disables it on static platforms entirely.
[Peter: move comment to top of file to fix menuconfig indentation] Signed-off-by: Brendan Heading <brendanheading@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The uuid library might depend on gettext. Use pkg-config to discover uuid
dependencies at build time, and edit Makefile accordingly to avoid missing
symbols when linking statically.
The CodeSourcery MIPS 2015.05 toolchain has some missing headers we need
to create manually in order to avoid compilation errors. A bug has been
already reported and fixed upstream, and the fix will be included in the
next release.
Before this commit, the output of the toolchain-external build steps
looked like this (abbreviated for clarity):
>>> toolchain-external undefined Building
>>> toolchain-external undefined Installing to staging directory
>>> toolchain-external undefined Copying external toolchain sysroot to staging...
>>> toolchain-external undefined Building ext-toolchain wrapper
mkdir -p output/host/usr/bin; cd output/host/usr/bin; for i in ...
/usr/bin/gcc -O2 -Ioutput/host/usr/include -DBR_SYSROOT='...
if test -f output/host/usr/bin/i686-pc-linux-gnu-gdb ; then mkdir -p ...
>>> toolchain-external undefined Fixing libtool files
>>> toolchain-external undefined Installing to target
>>> toolchain-external undefined Copying external toolchain libraries to target...
if test -e output/target/lib/ld-uClibc.so.1; then ln -sf ld-uClibc.so.1 output/target/lib/ld-uClibc.so.0 ; fi
if test -e output/target/lib/ld64-uClibc.so.1; then ln -sf ld64-uClibc.so.1 output/target/lib/ld64-uClibc.so.0 ; fi
All the long lines with conditions and loops in them are not usefull,
so put $(Q) in front of them. The line with mkdir can better be split
on a separate line so the cd stands out more. There are two redundant
semicolons that can be removed. The installation of gdbinit could
use an extra message so the user can see what is going on.
After this commit, the toolchain-external build steps look like this:
>>> toolchain-external undefined Building
>>> toolchain-external undefined Installing to staging directory
>>> toolchain-external undefined Copying external toolchain sysroot to staging...
>>> toolchain-external undefined Building ext-toolchain wrapper
/usr/bin/gcc -O2 -Ioutput/host/usr/include -DBR_SYSROOT='...
>>> toolchain-external undefined Installing gdbinit
>>> toolchain-external undefined Fixing libtool files
>>> toolchain-external undefined Installing to target
>>> toolchain-external undefined Copying external toolchain libraries to target...
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The list of util-linux utilities we can find on its Config.in file it
seems to be alphabetically ordered in purpose. However, there are some
of them which are in the wrong place. This patch fixes that.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
CVE-2015-5224 - chfn, chsh file name collision due to incorrect mkstemp
use if compiled without libuser.
[thanks to Qualys Security Advisory team; qualys.com]
Force gdb to not build the documentation. This way we avoid depending on
host-texinfo. This is a temporary fix until upstream accepts a proposed
--disable-docs configure option.
Since the documentation will not be build at all, we can remove the
parts related to host-texinfo and MAKEINFO in the gdb.mk file.
The comment line that explains that systemd needs a glibc toolchain and
kernel headers >= 3.10 doesn't fit in the dialog box, which makes it
look as if headers >= 3.1 are needed.
Abbreviate the comment a little by removing an 'an'. It still doesn't
fit completely (only one trailing * is shown), but at least it's
readable.
While we're at it, change the quoting style to " like we always use.
Reported-by: eschu on IRC Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
usbmount.mk created/installed run-parts scripts in
/etc/usbmount/usbmount.d. However, usbmount executes run-parts on
/etc/usbmount/mount.d for UDEV add action and on /etc/usbmount/umount.d
for UDEV remove action. Change usbmount.mk to create the directories
referenced by usbmount and install the run-parts scripts appropriately.
Signed-off-by: Doug Kehn <rdkehn@yahoo.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
directfb-examples: remove options for each example
For some historical reasons, the directfb-examples package has one
sub-option for each example, and the .mk files go through some great
lengths to install only the needed data files for each example.
This is a bit silly for several reasons:
* In no other Buildroot package we do offer such a fine-grained
selection of what the package installs;
* directfb-examples are examples, they are therefore typically not
meant to be used on a final production system, but more during
development or for demonstration. Those are situations where size
generally isn't that critical (all installed, the package takes 2.4
MB on the rootfs);
* Those options and the .mk file logic has to be updated whenever the
package is bumped;
* Users can always use a post-build script to keep only the examples
they are interested in.
All the options are moved to Config.in.legacy. However, we could
debate on whether this is actually useful, since the main option
BR2_PACKAGE_DIRECTFB_EXAMPLES will now install a superset of whatever
was selected before through sub-options.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Peter Seiderer [Tue, 1 Sep 2015 22:01:09 +0000 (00:01 +0200)]
directfb: add new TIFF option
[Thomas: don't enable option by default.]
Signed-off-by: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since DirectFB 1.7.x, the divine (virtual input) and sawman (window
manager) features have been merged in DirectFB itself rather than
being shipped as separate tarballs. This commit creates additional
options to enable those features.
Upcoming commits will get rid of the existing divine and sawman
Buildroot packages.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This option depends on BR2_UNIMPLEMENTED (which does not exist) since
2009. Since BR2_UNIMPLEMENTED does not exist, it was not possible to
enable BR2_PACKAGE_DIRECTFB_UNIQUE, which means that nobody cared
about making it available, and that we don't need to add any
Config.in.legacy handling to remove this option.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The BR2_PACKAGE_XSERVER option never existed, so it was never possible
for DirectFB to pass --enable-x11. Moreover, doing this without having
at least some dependency on certain X libraries will clearly not work.
Consequently, let's remove this bogus X.org support, and disable X11
support unconditionally (until someone is interested enough to bring
this back to life).
The option was actually named BR2_PACKAGE_DIRECTFB_XSERVER but was not
used by the .mk file.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Peter Seiderer [Tue, 1 Sep 2015 22:01:04 +0000 (00:01 +0200)]
qt: fix directfb-1.7.7 compile errors
Signed-off-by: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The new DirectFB version does not build with gcc 4.3 from the Blackfin
toolchain. One of the reason is that va_copy has some issues, which
were fixed in gcc 4.4.0
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36799). There are also
some other issues, which were fixed by a patch proposed by Peter
Seiderer at
http://lists.busybox.net/pipermail/buildroot/2015-February/120281.html.
However, it probably doesn't make a lot of sense to carry patches that
are not upstream for such old compilers. Instead, this commit takes
the action of making DirectFB available only on toolchains using gcc
>= 4.5, which was tested with the Arago toolchain. gcc 4.4 could
potentially work, but wasn't tested (it is no longer supported by the
internal toolchain backend, and we don't have any toolchain based on
gcc 4.4), so we take the safe decision of requiring at least gcc 4.5.
[Peter: add comment explaining toolchain dependenc as suggested by Vincente] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
In addition to doing the bump, this commit changes the --enable-fusion
option to --enable-multi-kernel, as was renamed upstream.
The patches were just refreshed, except
0003-remove-redefinition-of-__typeof__.patch, which was removed since
it was a backport from upstream, and is therefore now part of DirectFB
1.7.7.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
toolchain-external: finish removal of SH2A toolchains
Commit c68c365d2937920df1f2062e4821ebb6d21d195e ("toolchain-external:
remove CS sh2 toolchains") removed the definitions of the
BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103 and
BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009, but did not actually
remove the code that was using those options.
So this commit removes the parts of the code that are currently dead
due to this: the definition of the prefix of those toolchains, the
hashes, and the URLs.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes boost compile problem with ARC.
New function mkostemps required for efl are available.
Static sudo compiles are possible.
Full changes:
http://mailman.uclibc-ng.org/pipermail/devel/2015-August/000463.html
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
James Knight [Thu, 3 Sep 2015 15:00:09 +0000 (11:00 -0400)]
package/bash: indicate getcwd is malloc-supported
When Bash attempts to find the current working directory, it uses a C
library call `getcwd` to resolve it. When cross-compiling, the
configuration process cannot determine if the target system's C library
can support an "unfixed" path length. Therefore, Bash will fallback to a
size of `PATH_MAX` for determining the current working directory. When
using OverlayFS (and possible other file systems), this becomes an issue
since file paths can commonly exceed standard `PATH_MAX` length. This
typically results in the following error appearing:
error retrieving current directory: [...]
Common C library `getcwd` calls can default to a higher limit (usually
the system's page size). The current configurable C libraries (as of at
least 2015.08) support a zero (0) size buffer length. Most use the
system's page size; musl, being an exception, which defaults to
`PATH_MAX` (as Bash was doing). Since these C libraries support
allocating buffer space with a zero (0) provided size, the following
configuration change allows Bash to support getting a larger-length'ed
working directory on target's that support it.
Signed-off-by: James Knight <james.knight@rockwellcollins.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes:
CVE-2015-5722 - denial-of-service vector which can be exploited remotely
against a BIND server that is performing validation on DNSSEC-signed
records.
CVE-2015-5986 - denial-of-service vector which can be used against a
BIND server that is performing recursion and (under limited conditions)
an authoritative-only nameserver.
Using an intermediate variable to "store" LINUX_VERSION_PROBED is
unnecessary, because they are both recursively-expanded variables, and
the `make kernel-version` code will anyway be used in both places it is
needed; storing in an intermediate variable will not make that a single
expansion of the sub-shell.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
packages: ensure linux supports modules even when not using kernel-module
Some packages build kernel modules without using the kernel-module infra
(because they use custom build systems); they do not automatically get
the kernel to support modules which is ensured when using the infra.
It must be done manually for all those packages, whenever they are
enabled.
Note: the nvidia-driver case does not need the ifeq-block other packages
use, because it is already enclosed in a more stringent ifeq-block.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Noé Rubinstein <nrubinstein@aldebaran.com> Cc: Jan Viktorin <viktorin@rehivetech.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Jan Viktorin <viktorin@rehivetech.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
core/pkg-kernel-module: drop now-useless check for CONFIG_MODULES
This reverts commit 8df95d9 (pkg-kernel-module: die if kernel module
support is disabled).
Now that we force-enable support for modules in the kernel config, we
need not check it.
Besides, the check was broken, because it did not use $$ to dereference
LINUX_DIR, thus leading to systematic build failures when a package
using the kernel-module infra was enabled.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Noé Rubinstein <noe.rubinstein@gmail.com> Cc: Jan Viktorin <viktorin@rehivetech.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Provide appropriate comments for the powerpc and !powerpc cases.
Adapt armadillo's comments accordingly.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The directory $(TARGET_DIR)/etc/init.d/ must exist before installing
S10udev init script.
Add the missing "-D" option to create the "init.d" directory.
Signed-off-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes:
CVE-2015-4491 - Heap overflow in gdk-pixbuf when scaling bitmap images.
Patch from upstream:
https://git.gnome.org/browse/gdk-pixbuf/commit/?id=ffec86e
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Peter: drop _AUTORECONF as libtool 2.4.2 is used / no patches] Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>