package/linux-backports: switch to using the kernel-module infra
linux-backports manually generates its autoconf.h header, which needs a
.config file.
Using a pre- or post-configure hook does not really work, because
generating that file touches the .config, and thus our .stamp files ar
enot longer properly time-ordered and running a subsequent make would
incorrectly believe it has to rebuild linux-backports.
So, even though this is not a fixup proper, we generate that file from
the _KCONFIG_FIXUP_CMDS to ensure the stampt file is created after we
touch .config.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Petr Vorel <petr.vorel@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Tested-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Petr Vorel [Thu, 23 Jul 2015 21:55:28 +0000 (23:55 +0200)]
package/linux-backports: new package
Backports provide drivers released on newer kernels backported for usage
on older kernels.
There are two versions of linux-backports: one that supports Linux
kernels >= 3.0 and one supports even older kernels. We're only packaging
the version that supports >= 3.0.
linux-backports needs to have access to the kernel's .config to extract
information it reintroduces as blind options in generated Kconfig
snippets for its own menuconfig. However, Buildroot offers no way to
express this kind of dependency.
So we need to hand-write a dependency from linux-backports' own .config
to linux' .config .
Since linux.mk has not already been sourced by the time we source
linux-backports.mk, we are missing the definition for LINUX_DIR, so we
can not use it our rule.
Fortunately, make provides so-called "secondary expansion", by which
rules which dependencies include a $$-dereferenced variable wil lbe
re-evaluated after all the rest of the Makefiles have been parsed.
So, we use that secondary expansion to post-pone evaluation of that
dependency so we can use LINUX_DIR.
Note: reconstructing LINUX_DIR by hand does not work, because of the
custom archives, git tree, or override-srcdir.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/libtirpc: fix undefined reference to _authdes_seccreate
Commit 1c4767fa9d8c19b52824b1c10e0e25f413111f2d disables the C files auth_des.c
and authdes_prot.c implementing DES authentification but forgets to remove
a function call to authdes_seccreate() in rpc_soc.c.
We add a seperate patch to disable the DES authentification (and not disable it
together with NIS). DES is not provided by uClibc and musl.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
toolchain-external wrapper: don't pass march/mcpu if mtune is on cmdline
Before commit 5715d2dcf48a39c16a3f3e41c97109613fed121d, the external
toolchain wrapper would not pass its own march/mcpu/mtune flags to the real
compiler if at least one of them was passed on the wrapper command-line.
The mentioned commit intended to remove the passing of an mtune parameter
coming from Buildroot, which was always empty after some other refactoring,
but the changes have the side-effect that march/mcpu is now also passed when
mtune is already given on the command-line. In that case, only mtune should
be passed to the real compiler.
Restore part of the original toolchain wrapper code to check the presence of
mtune on the command-line.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
core/download: don't be needlessly verbose in backends
In 50c8b7e (support/download: support -q in all download backends), the
backend were made to respect the quietness of the main Makefile, when -s
is poassed on the 'make' command line. In doing so, they were all made
to be verbose by default.
However, the verbosity of some of the tools, like scp, is very high, and
is in fact intended for debug purposes.
Drop being verbose by default, just use whatever each tool deems normal
output. Only respect the quietness requested by the user.
Reported-by: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This is a follow-up for these patches:
http://patchwork.ozlabs.org/patch/493360/
http://patchwork.ozlabs.org/patch/416007/
[Thomas:
- don't pass --static to pkg-config, since our pkg-config wrapper
already passes it automatically when BR2_STATIC_LIBS=y.
- make only one call to pkg-config for all three libraries
- put the libintl logic separately from the definition of
MINIDLNA_CONF_ENV.]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since
http://git.buildroot.net/buildroot/commit/package/sunxi-mali?id=8906f272ab41e0373f392cc7a04cc97320dd8382
sunxi-mali as egl/gles provider also depends on libump.
This dependency was unknown to Kodi leading to this error during
configure:
configure:23127: /home/buildroot/build/instance-0/output/host/usr/bin/arm-none-linux-gnueabi-gcc -o conftest -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -Wall -mno-apcs-stack-check -mfpu=neon -mvectorize-with-neon-quad -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c -lEGL -lpython2.7 -lpthread -ldl -lutil -lm >&5
/home/buildroot/build/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libUMP.so.2, needed by /home/buildroot/build/instance-0/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/thumb2/usr/lib/libMali.so, not found (try using -rpath or -rpath-link)
/home/buildroot/build/instance-0/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/thumb2/usr/lib/libEGL.so: undefined reference to `ump_close'
This patch updates CXXFLAGS with the necessary libs to fix linking of
the final kodi binary. The additional CFLAGS are needed because
configure uses gcc to detect egl support.
Fixes
smtp_in.c: In function ‘smtp_start_session’:
smtp_in.c:1976:36: error: invalid application of ‘sizeof’ to incomplete type ‘struct options’
EXIM_SOCKLEN_T optlen = sizeof(struct ip_options) + MAX_IPOPTLEN;
smtp_in.c misdetects the needed style for ip_options, only OPTSTYLE == 2 works.
Since musl does not provide any macro[1] to detect it we need to pretend to be
darwin in order to fix the compile bug.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Luca: simplify by using only one sed invocation] Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch adds the rtl8821au wifi driver. The driver is sourced from
ulli-kroll's work on GitHub, which includes various fixes and better LED
handling. Currently USB3 support is broken in this driver - it will
only connect to the EHCI controller in a USB3 port.
Signed-off-by: Christian Stewart <christian@paral.in> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
After bee5745ccc2 ("Makefile: don't depend on the umask"), any use
of "make O=<dir>" would leak $O into the enviroment for submakes,
and it's inherited by package makefiles. Some package makefiles have
protections to make sure they don't use the value of $O if it comes from
the enviroment (Linux), but some don't (uClibc).
This caused build failures when using a different output dir.
Fix this by unconditionally unexporting the O variable, since we never
need to have it set in the environment for packages, it should be only
internally used by BR.
Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Max Filippov [Fri, 24 Jul 2015 09:30:31 +0000 (12:30 +0300)]
package/gcc: fix libgcc build for xtensa
xtensa libgcc can't be built with -mtext-section-literals flag, now
coming from TARGET_CFLAGS, because it needs to emit literals to
.init/.fini sections, which is not currently supported.
Filter -mtext-section-literals flag out of GCC_COMMON_TARGET_CFLAGS.
Suggested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni [Thu, 23 Jul 2015 21:38:28 +0000 (23:38 +0200)]
fan-ctrl: mark as broken until SourceForge is back up
SourceForge is down, so we can't download fan-ctrl.c anymore, and it's
not on sources.buildroot.net nor anywhere else on the Internet
apparently. So let's mark this not-so-important package as broken for
now, until SourceForge goes back to life.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Martin Bark [Thu, 23 Jul 2015 11:20:29 +0000 (12:20 +0100)]
package/redis: Add systemd service
redis.service originates from the redis package in Arch Linux, at
https://projects.archlinux.org/svntogit/community.git/tree/trunk/redis.service?h=packages/redis&id=b4907d2344855caeadf6c69bc01c403a95f8a4f3.
Signed-off-by: Martin Bark <martin@barkynet.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adjusts the c-icap config script by removing a bogus
-L$LIBDIR which was expanded to -L/usr/lib, which is wrong for
cross-compilation. It fixes the build of c-icap-modules:
The fix includes:
1) Defining rpcent for non-Glibc's
2) Using a local queue implementation
1) Defining rpcent for non-Glibc's
musl does not define rpcent. Since musl does not provide a __MUSL__ macro we
add a check for non-Glibc's to the existing uClibc patch.
2) Using a local queue implementation
musl does not provide sys/queue.h. We borrow a compatible queue implementation
from the NetBSD project.
This patch adds web2py package. web2py is a free open source
full-stack framework for rapid development of fast, scalable, secure
and portable database-driven web-based applications.
[Thomas: fixup symbolic link to the systemd service file.]
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Ryan Barnett [Wed, 22 Jul 2015 21:06:40 +0000 (16:06 -0500)]
audit: disable python3 support
With the version bump to 2.4.3, python3 support was added for
libaudit. With host machines that have python3 installed, this will
cause build issues such as:
Alexey Brodkin [Tue, 24 Mar 2015 13:55:15 +0000 (16:55 +0300)]
gcc: explicitly use C{XX}FLAGS_FOR_TARGET instead of --enable-target-optspace
The gcc.mk file is passing --enable-target-optspace to gcc configure
script, to ask for space-optimized (-Os) target libraries. However,
passing this option has the effect of overriding any custom
CFLAGS_FOR_TARGET or CXXFLAGS_FOR_TARGET values that may be passed.
These are some situations when it is required to pass custom flags on
buildong
of libgcc:
* Default flags "-g -Os" lead to build isses as with PowerPC on gcc 4.5
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43810)
* Particular CPU requires specific instructions for HW support
* Deep optimizations
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni [Wed, 22 Jul 2015 20:50:34 +0000 (22:50 +0200)]
qt5: remove GPLv2 license from qt5declarative, qt5script and qt5svg
Since Qt 5.5, those three modules have lost their GPLv2 licensing
option. Remains the LGPLv2.1 with exception and LGPLv3 as the possible
open-source licenses.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Following commit aa02829240b2 (e2fsprogs: remove busybox tune2fs when
installing full version, 2015-07-08), remove the rest of Busybox e2fsprogs
applet links. All of them are installed in different locations than upstream
e2fsprogs.
Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/linux: trash stderr in LINUX_VERSION_PROBED
The Linux buildsystem tries to run the compiler even just for
'kernelrelease' (which we store in LINUX_VERSION_PROBED) and we
sometimes need to use it before the toolchain is available; thus
we get spurious errors on stderr.
Consign stderr to oblivion when computing the 'kernelrelease'.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Currently, we override @D for the kconfig configurators, so the fixup
commands can use $(@D); otherwise @D would be simply '.' because it is
not a real file in the package build dir.
However, this breaks the soon-to-be-introduced linux-backports package,
which needs to have a dependency on the linux package to be configured.
The underlying reason is that @D is an automatic variable that is always
set by make to the directory part of the target of the rule. However,
automatic variables loose their "automatic" property when they are
manually set.
Furthermore, a variable that is defined for a rule is inherited by all
dependencies of that rule, so our manually-set @D is inherited all the
way down the dependency chain of linux-backports, down to the linux' own
.config rule, which is thus run with @D pointing to linux-backports'
build dir, not linux'.
Fix that by using a "static pattern rule", redirecting the configurators
to an intermediate stamp-like file which path is in the package build
dir, so we get a valid @D from the onset, without having to manually
fiddle with it.
Thanks to Arnout for suggesting that in the first place. Sorry I did
reject it as "too complex" when it was in fact the best solution.
Suggested-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It still seems to have issues, so disable it pending more patches and
testing. Fixes:
http://autobuild.buildroot.net/results/a07/a07198b3f7f8029d80863a998814877ec9994c60/
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
There was an issue that was not fixed by the last set of cross compile
patches where architecture specific CFLAGS were being used when building
for the host and not the target. This patch fixes that issue.
Ryan Barnett [Wed, 8 Jul 2015 21:51:00 +0000 (16:51 -0500)]
e2fsprogs: remove busybox tune2fs when installing full version
Currently, busybox installs a version of tune2fs in /sbin/ while
e2fsprogs installs at /usr/sbin/. This causes issues if a user is
expecting the to use the full version from a prompt via 'tune2fs'
since busybox's tune2fs will be found first from the default path
search.
Fix this by removing the busybox version of tune2fs when a user has
selected the option to install tune2fs from e2fsprogs.
[Thomas: don't hijack E2FSPROGS_TARGET_TUNE2FS_SYMLINK for the removal
and instead introduce a separate E2FSPROGS_REMOVE_BUSYBOX_APPLETS post
install target hook, and do related code re-organization.]
Signed-off-by: Ryan Barnett <ryan.barnett@rockwellcollins.com> Reviewed-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Petr Vorel [Tue, 21 Jul 2015 23:08:35 +0000 (01:08 +0200)]
network-manager: bump to version 1.0.4
Dropped unused patches, added upstream proposed patch to fix build
error for kernels headers < 3.17.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Petr Vorel <vorel@jablocom.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The PERL_FINALIZE_TARGET always runs, even if perl is not installed.
This results in errors from the find command when it fails to find
anything, even when doing "make -s":
>>> Finalizing target directory
find: `...../output/target/usr/lib/perl5/': No such file or directory
find: `...../output/target/usr/lib/perl5/': No such file or directory
find: `...../output/target/usr/lib/perl5/': No such file or directory
This is not helpful for projects that do not select Perl. Silence this
by making the hook conditional on package selection.
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES is no longer useful since eglfs does not
depend on the device makespecs anymore. Instead, backends are autodetected by
configure [1]. We still need specifics include path for rpi eglfs support.
0008-forkd-disable-eventfd-for-uclibc.patch disable missing eventfd in new Qt
3rd party forkd for uClibc toolchains.
Remove patches commited in Qt mainline and update pending one
[1] https://codereview.qt-project.org/#/c/107548/
Passed test :
- Full compilation on ARM/uClibc
- Partialy compiled and tested on i.MX6/linaro with OpenGL backend
- Partialy compiled but not executed for Raspberry Pi (rpi-userland)
Signed-off-by: Julien Corjon <corjon.j@ecagroup.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni [Tue, 21 Jul 2015 15:36:07 +0000 (17:36 +0200)]
fs: build host-mkpasswd when BR2_ROOTFS_USERS_TABLES is used
The code in fs/common.mk properly triggers the build of host-mkpasswd
when at least one package specifies a <pkg>_USERS variable. However,
when no selected package specifies a <pkg>_USERS variable but the user
uses a custom users table through BR2_ROOTFS_USERS_TABLES, then we
forget to build host-mkpasswd, leading to build failures if you don't
have mkpasswd installed in your machine.
This commit fixes that by taking into account both the package users
table and the custom users table when deciding to depend or not on
host-mkpasswd.
Reported-by: Auke Willem Oosterhoff <oosterhoff@baopt.nl> Cc: Auke Willem Oosterhoff <oosterhoff@baopt.nl> 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>