We can't take hashes from GitHub, unless the tarball has been uploaded by
the maintainer, otherwise it is generated and may change over time,
which renders hash files useless.
[Peter: slightly reword] Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Yann E. MORIN [Sun, 3 May 2015 15:37:39 +0000 (17:37 +0200)]
docs/manual: also document md5 hash
We accept an md5 hash, but only if coming from upstream, and if also
accompanied with a stronger hash.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Samuel Martin <s.martin49@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
autotools-package: also handle pre-installed external toolchain in .la fixup
The .la fixup handling looks for paths starting with /usr and assumes
that they are missing the installation prefix (i.e. $(STAGING_DIR)). It
already handles the cases that $(STAGING_DIR) itself and $(BASE_DIR)
are under /usr, but it does not yet handle the case that a
pre-installed external toolchain is under /usr (and tracks that fact
in some .la file). For instance, if you use buildroot to generate a
toolchain with HOST_DIR=/usr/local/some_path, this problem will occur.
Fix this in the same way as $(STAGING_DIR) and $(BASE_DIR), but in
addition check that TOOLCHAIN_EXTERNAL_INSTALL_DIR is non-empty. For
internal toolchains, it is empty and the sed expression would fail.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reported-by: Carlos Soto <csotoalonso@gmail.com> Cc: Carlos Soto <csotoalonso@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
libfreeimage fails to build on ARC, due to compiler issues:
Error: invalid register number `63'
This should probably be fixed at the compiler level.
It also fails to build on Blackfin, due to numerous libfreeimage
issues:
1/ Missing LL suffixes in Source/OpenEXR/IlmImf/ImfFastHuf.cpp. This
can be fixed by backporting upstream OpenEXR commit
https://github.com/openexr/openexr/commit/57ecf581d053f5cacf2e8fc3c024490e0bbe536f.patch.
2/ Invalid characters in libraw_x3f.cpp. This can be fixed by
applying dos2unix on the file.
3/ Usage of too long constants in an unsigned long in
dcraw_common.cpp, in code like "id == 0x4434303430" where id is
an "unsigned long" i.e 32 bits on 32 bits platform.
Due to (3) being apparently unsolved upstream, and causing a build
error on Blackfin, we disable libfreeimage on this
architecture. However, this code seems so broken that making
libfreeimage as entirely broken would maybe be a better option.
gdbserver does not build on Blackfin FLAT (undefined reference to
`_td_thr_tlsbase') and while it builds on Blackfin FDPIC, it's pretty
unlikely that it is going to work properly with the cross-gdb provided
by the Analog Devices toolchain: the Analog Devices toolchain provides
a 6.6 cross-gdb, while we use gdb 7.8.2 for gdbserver.
Therefore, let's simply disable gdb completely for Blackfin.
John Keeping [Sat, 2 May 2015 10:58:18 +0000 (11:58 +0100)]
libcurl: use c-ares if available
By default libcurl uses the C library's DNS resolver which is
synchronous, even if an application is using libcurl's non-blocking mode
of operation.
Configure libcurl to use c-ares if it is selected so that it can resolve
addresses asynchronously if required.
[Peter: explicitly disable c-ares support if not enabled] Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Romain Naour [Sat, 2 May 2015 10:28:06 +0000 (12:28 +0200)]
package/argp-standalone: is useless for (e)glibc toolchains
According to Thomas's remark [1], (e)glibc toolchains provide it's
own argp.h version.
Also, it appears that argp.h from glibc is more up to date should
be preferred to argp-standalone one.
poppler: help finding libtiff in static linking scenarios
In static linking scenarios, poppler doesn't find libtiff because it
doesn't use pkg-config, so it doesn't know which additional libraries
it should link with to test the availability of libtiff. We help
poppler in this work by passing a LIBTIFF_LIBS variable, resulting for
a pkg-config invocation.
Also, since poppler uses pkg-config, we make this dependency explicit
in this patch, even though it was already carried by the fontconfig
dependency.
poppler: add patch to fix invalid syntax in configure script
When configuring poppler, a shell error occurs:
./configure: line 19741: test: x: unary operator expected
This is due to an invalid configure test, which is fixed by a newly
added patch. We patch the configure script directly because poppler
doesn't autoreconf properly. A patch on configure.ac has been
submitted upstream so that hopefully we can drop our patch in a future
release of poppler.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The Linux kernel does force compile with -m4-nofpu, which is only
available when building a multilib toolchain.
The interesting part here is, that buildroot use --disable-multilib for
gcc configure, but enables --with-multilib-list=m4,m4-nofpu in
the default configuration for Qemu targeting r2d emulation.
This results in a toolchain, which can be used for the kernel and
for userland without creating a multilib toolchain with different
kinds of libgcc version. In the multilib case there would be
subdirectories created (!m4 and m4-nofpu). As buildroot uses a
short version of toolchain creation, a multilib enabled gcc build
fails when creating libgcc.
So the best solution is to just keep multilib disabled, but always
add --with-multilib-list when sh4/sh4eb/sh4a/sh4aeb is choosen.
Tested with sh4/sh4a toolchain build and qemu defconfig with
gcc 4.8.x/4.9.x (with and without C++ enabled), uClibc and glibc.
Disable sh4a/sh4aeb for uClibc, as it does not implemented, yet.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(ARM and SH4 uClibc toolchain builds)
libecore: x-includes and x-libraries must be set for cross-compiling
If those flags are not explicitly passed, the libecore configure
script will include -I/usr/X11R6/include and -L/usr/X11R6/lib in the
compile flags, which are obviously unsafe for cross-compilation.
The fix is similar to "package/efl/libevas: x-includes and x-libraries
must be set for cross-compiling" done by Romain Naour on libecore.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Romain Naour [Sat, 2 May 2015 20:16:36 +0000 (22:16 +0200)]
package/efl/libevas: x-includes and x-libraries must be set for cross-compiling
evas_engine_software_xlib_cflags and evas_engine_software_xlib_libs
contains unsafe libraries paths if x-include and x-libraries are
not set in libevas.mk.
Marcin Bis [Sat, 2 May 2015 19:03:33 +0000 (21:03 +0200)]
cc-tool: new package
cc-tool provides support for Texas Instruments CC Debugger
Signed-off-by: Marcin Bis <marcin@bis.org.pl> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Arnout: avoid adding /usr/local to library path] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Floris Bos [Sat, 2 May 2015 15:10:15 +0000 (17:10 +0200)]
php.ini: set date.timezone
Set date.timezone in php.ini to match time zone settings.
Prevents a warning being logged about it not being set
each time a PHP date/time method is used.
Floris Bos [Sat, 2 May 2015 15:10:14 +0000 (17:10 +0200)]
rpi-firmware: modify settings for Pi 2
Remove low-level settings from config.txt like arm_freq and sdram_freq.
The defaults should be good for most and differ by Pi model.
E.g. the Pi 2 runs at 900 Mhz by default, setting arm_freq=700
like we had previously would underclock it.
Add short description in comments to options.
Mention initramfs option.
Remove obsolete options from cmdline.txt
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* bumps mono version to 4.0.1.
* Removes no more needed patches included upstream
* Removes profile switches no more present in configure
[Thomas:
- add Config.in.legacy handling for the removed options.
- remove the select that ensured at least one of the .Net runtime
version was enabled.]
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Sat, 2 May 2015 09:05:04 +0000 (11:05 +0200)]
package/xenomai: ignore custom versions
We can safely reference XENOMAI_SOURCE, even though it is defined later,
because BR_NO_CHECK_HASH_FOR is a recursively-expanded variable, so its
content is only evaluated when the variable is referenced.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <jacmet@uclibc.org> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Sat, 2 May 2015 09:05:01 +0000 (11:05 +0200)]
boot/uboot: do not check hash for custom versions
For custom tarballs, it's quite obvious we can not check hashes.
For custom versions, that's not so obvious. One might think we could
have hashes for all the official releases, but that's not possible: if
the user uses a released version of Buildroot (say 2015.05) much later
in the future, and wants to use the then-released 2038.02 U-Boot. It now
seems pretty obvious that Buildroot 2015.02 can't know the hash for
U-Boot 2038.02.
So, disable checking the hash for custom tarballs and custom versions.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Vincent Stehle <vincent.stehle@laposte.net> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Sat, 2 May 2015 09:05:00 +0000 (11:05 +0200)]
pkg-infra: assign BR_NO_CHECK_HASH_FOR so it is recursively-expanded
Currently, assigning to BR_NO_CHECK_HASH_FOR but referencing variable
assigned to later, fails. Here's a failing test-case, which is the
reduced test-case of how we handle BR_NO_CHECK_HASH_FOR for now (warning
added for test-case):
Peter Korsgaard [Sat, 2 May 2015 11:14:29 +0000 (13:14 +0200)]
imx-usb-loader: cleanup
HOST_CONFIGURE_OPTS is a superset of HOST_MAKE_ENV, so there is no need to
pass them both. Also use HOST_CONFIGURE_OPTS for the install step for
consistency, and finally, add host-pkgconf to _DEPENDENCIES as it is
explicitly used (currently gets pulled in by host-libusb though).
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
host-imx-usb-loader uses pkg-config to find libusb-1.0, but since it's
a host package, pkg-config needs to be passed the appropriate
environment variables, which are in $(HOST_CONFIGURE_OPTS). Therefore,
we now pass $(HOST_CONFIGURE_OPTS) in the environment when building
host-imx-usb-loader.
With the recent inclusion of systemd-dhcp, network-manager no longer builds
on uClibc/musl as it uses:
- CLOCK_BOOTTIME (not available in uClibc 0.9.33.2)
- IPTOS_CLASS_* (not available in uClibc/musl)
- Uses locale functionality (may not be available in uClibc)
Now, patches could be written to make these things optional, but systemd is
historically not known to be receptive of such kind of patches (and NM wants
to be able to sync with systemd with minimal effort, so is not interested in
diverging from upstream), and NM is big / has lots of dependencies so just
mark it (e)glibc-only like systemd.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Floris Bos [Fri, 1 May 2015 18:12:34 +0000 (20:12 +0200)]
php: fpm sapi: install php-fpm.conf
Install a custom php-fpm.conf instead of the stock one.
- Listening on /var/run/php-fpm.sock instead of TCP port so we can
restrict access to webserver user www-data.
- Using ondemand pm, so PHP children are only started after a PHP
request, instead of kept resident all the time.
Yann E. MORIN [Fri, 1 May 2015 16:35:34 +0000 (18:35 +0200)]
doc/manual: fix generating manual after legacy overhaul
Commit 53903a15 (*config: improve handling of BR2_LEGACY) added an
option to entirely skip legacy entries, by passing a variable in the
environment.
However, it missed one location where that variable is also needed,
which is generating the list of packages and deprecated features for
inclusion in the manual.
Fix that by re-using the global $(COMMON_CONFIG_ENV) variable,
overriding just what we don't want (i.e. br2-external location and
defconfig path).
Also, slightly re-order variables so the ones we override come right
after the common settings, moving the specific ones at the end, one
variable per line.
Fix "Unable to find an X11 visual" bug that produce at runtime with Vivante
drivers. Add a conditionnal patch and add variable QT5BASE_EXTRA_CFLAGS in
order to enable workaround.
This patch is actually an improvement over the fix available in Yocto:
https://github.com/Freescale/meta-fsl-arm/blob/dizzy/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch
[Thomas:
- Add SoB from Jérôme Pouiller inside the patch imported from Yocto.
- Add a space between $(TARGET_CFLAGS) and $(QT5BASE_EXTRA_CFLAGS),
and ditto for CXXFLAGS.
- Merge the QT5BASE_EXTRA_CFLAGS into an existing
BR2_PACKAGE_GPU_VIV_BIN_MX6Q conditional.]
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com> Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Xorg driver for imx6. Inspired from Yocto project.
I did not find any problem, but notice Yocto project force Xorg xserver
1.14.4 while we use 1.16.
Notice Vivante driver should be able to provide Desktop OpenGL implementation.
However, this feature seems broken for a while[1]. Yocto use Mesa3D/swraster
to provide Desktop OpenGL API[2].
[1] http://comments.gmane.org/gmane.linux.embedded.yocto.meta-freescale/8253
[2] See recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.1.bb
in meta-fsl-arm layer
gpu-viv-bin-mx6q: add version in libraries symlinks
Create libraries symbolic links with version numbers.
This now matches what is done in Yocto:
https://github.com/Freescale/meta-fsl-arm/blob/dizzy/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc#L165
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com> Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
To compile with Vivante header and use framebuffer, it is necessary to
pass option -DEGL_API_FB. This option is declared in pkg-config file of
Vivante library. But many packages (especialy qt5 components) does not
consider these flags.
So instead of patching every packages that use EGL, it is more
convenient to patch Vivante headers.
This commit add #define EGL_API_FB on top of eglvivante.h when
necessary.
[Thomas: fix syntax error.]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Tested-by: Gary Bisson <gary.bisson@boundarydevices.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
mesa3d: Give possibility to external backends to enable DRI/Gallium
Thus, it is possible to force compilation of Gallium/DRI support in
mesa3d even if no Gallium/DRI drivers are selected. This is intended to
be used by external OpenGL provider (especialy further imx6 support).
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Reviewed-by: Bernd Kuhls <bernd.kuhls@t-online.de> Tested-by: Gary Bisson <gary.bisson@boundarydevices.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since 1.1.6, the mips softfloat toolchains are merged into the mips
toolchain using multilib. Our external toolchain infrastructure copies
the correct version to the target depending on the BR2_SOFT_FLOAT
option.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Wed, 29 Apr 2015 10:28:19 +0000 (12:28 +0200)]
toolchain-external: fix rebuild/reinstall for Linaro toolchains
For Linaro toolchains, a special post install staging hook is used to
create two symlinks needed for the dynamic loader to find the
libraries. However, the way the link is created prevents a 'make
toolchain-external-reinstall' from succeeding, because the symlink
already exists and points to a directory:
Bump sane-backends to a "modern" 1.0.24 version.
Tweak the patches to avoid autoreconf (it doesn't seem to be happy for
me in gentoo).
Disable cups support (checks are wrong and it's no longer required).
Disable systemd support (checks are wrong and we never accounted for
this).
The configure script doesn't detect ncursesw at all hence breaks the
build. Backport a patch from upstream for this. Fixes:
http://autobuild.buildroot.net/results/426/42669ca3b7215765a59a85c53ed724cbff79384e/
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
json-c: add patch to make sure the library is linked against libm when needed
On uClibc, a number of symbols such as isnan() are in libm and not
libc, so we might need to link against libm. This commit adds a patch
to json-c that does this.
toolchain-external: mark Synopsys toolchain as broken
This uClibc toolchain does not provide an appropriate uClibc
configuration for Buildroot: missing IPv6, missing nsl stub, missing
program invocation, etc. Therefore, we mark it as broken, waiting for
a new upstream release of a new toolchain.
We keep around the toolchain-external Synopsys code anyway, since it
will most likely be identical for the new toolchain version. However,
we remove all the quirks that were introduced to start work around
issues related to this toolchain.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Max Filippov [Tue, 28 Apr 2015 08:50:36 +0000 (11:50 +0300)]
argp-standalone: restrict value range passed to isprint function
According to C standards isprint argument shall be representable as an
unsigned char or be equal to EOF, otherwise the behaviour is undefined.
Passing arbitrary ints leads to segfault in nm program from elfutils.
Restrict isprint argument range to values representable by unsigned char.
Note: a similar change was done to the internal argp implementation of
glibc in commit
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=9055724a92433ffa4c36f93d918ee1b3dfa1d6f7.
[Thomas: add a reference to the corresponding glibc fix.]
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Frank Hunleth [Wed, 29 Apr 2015 13:36:44 +0000 (09:36 -0400)]
raspberrypi: bump raspberrypi_dt_defconfig kernel
This brings the raspberrypi_dt_defconfig up to the same kernel used by
the raspberrypi2_defconfig. Also changed the git URL to use HTTP for
consistency.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Frank Hunleth [Wed, 29 Apr 2015 13:36:43 +0000 (09:36 -0400)]
raspberrypi2: switch Linux kernel to rpi-3.18.y
This changes the kernel used on the Raspberry Pi 2 from the 3.19 branch
back to the 3.18 branch. This provides a couple of advantages:
1. mmc0 works again. Floris Bos found out that this was due to using
the precompiled DTB files from rpi-firmware. These DTBs were built
using 3.18.
2. The rpi-3.18.y branch is not regularly rebased like rpi-3.19.y
according to popcornmix. See
https://github.com/raspberrypi/linux/issues/915.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com> Reviewed-by: Floris Bos <bos@je-eigen-domein.nl> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Baruch Siach [Fri, 1 May 2015 03:36:03 +0000 (06:36 +0300)]
freerdp: fix build with uclibc snapshot and uclibc-ng
uclibc snapshot and uclibc-ng add support for the eventfd_{read,write} glibc
extensions. Refine our uClibc support patch to take this into account, based
on upstream fix applied to freerdp master branch.
Previously the stock lighttpd configuration was patched to run as user root,
because we do not have a lighttpd user.
Patch it to use www-data instead, which is a user available in the default
skeleton, and is the same other webserver packages (like nginx) use.
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>