buildroot.git
7 years agoskeleton: Rename skeleton-sysv to skeleton-init-sysv
Cam Hutchison [Sun, 13 Aug 2017 21:21:11 +0000 (07:21 +1000)]
skeleton: Rename skeleton-sysv to skeleton-init-sysv

The skeletons are based on the selection of BR2_INIT_*, so add init- to
the package name to make this clearer. While skeleton-sysv is relatively
clear, skeleton-common and skeleton-none are less clear on their
relationship to BR2_INIT_*. So rename skeleton-sysv to conform to a
clearer pattern.

Signed-off-by: Cam Hutchison <camh@xdna.net>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoskeleton: Rename skeleton-systemd to skeleton-init-systemd
Cam Hutchison [Sun, 13 Aug 2017 21:21:10 +0000 (07:21 +1000)]
skeleton: Rename skeleton-systemd to skeleton-init-systemd

The skeletons are based on the selection of BR2_INIT_*, so add init- to
the package name to make this clearer. While skeleton-systemd is
relatively clear, skeleton-common and skeleton-none are less clear on
their relationship to BR2_INIT_*. So rename skeleton-systemd to conform
to clearer pattern.

Signed-off-by: Cam Hutchison <camh@xdna.net>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoskeleton: Rename skeleton-none to skeleton-init-none
Cam Hutchison [Sun, 13 Aug 2017 21:21:09 +0000 (07:21 +1000)]
skeleton: Rename skeleton-none to skeleton-init-none

The skeletons are based on the selection of BR2_INIT_*, so add init- to
the package name to make this clearer. The name skeleton-none implies no
skeleton at all, not a base skeleton with no init-specific files.

Signed-off-by: Cam Hutchison <camh@xdna.net>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agolibconfuse: bugfix bump to 3.2
Arnout Vandecappelle [Sun, 13 Aug 2017 20:22:47 +0000 (22:22 +0200)]
libconfuse: bugfix bump to 3.2

This release contains only two real changes to fix two bugs. One is
only relevant for Windows; the other one fixes handling of empty
comment lines.

libconfuse is used by genimage, and we have one defconfig,
linksprite_pcduino, that has empty comment lines in its genimage.cfg.
Thus, it fixes https://gitlab.com/buildroot.org/buildroot/-/jobs/27873642

While we're at it, also change the upstream URL in Config.in to github.
The old URL on nongnu was just a download directory and didn't have
anything newer than 2010, while github has a nice README.md.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/git: security bump to version 2.13.5
Bernd Kuhls [Fri, 11 Aug 2017 17:17:28 +0000 (19:17 +0200)]
package/git: security bump to version 2.13.5

Fixes CVE-2017-1000117:
http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1466490.html

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoRevert "alsa-utils: amidi option needs seq support in alsa-lib"
Thomas Petazzoni [Fri, 11 Aug 2017 21:21:03 +0000 (23:21 +0200)]
Revert "alsa-utils: amidi option needs seq support in alsa-lib"

This reverts commit c69088b8c35177cecdd0f1f385c13f5b2c509f1d, which is
no longer needed now that alsa-lib has been fixed properly.

Indeed, this commit was made because alsa-utils failed to build with:

/home/buildroot/build/instance-0/output/host/usr/xtensa-buildroot-linux-uclibc/sysroot/usr/lib/libasound.a(pcm_dmix.o): In function `snd_pcm_dmix_htimestamp':
pcm_dmix.c:(.text+0x5c0): warning:
/home/buildroot/build/instance-0/output/host/usr/xtensa-buildroot-linux-uclibc/sysroot/usr/lib/libasound.a(rawmidi_symbols.o):(.data.rel+0x4): undefined reference to `_snd_module_rawmidi_virt'
collect2: error: ld returned 1 exit status

Which is exactly the problem that we fixed in alsa-lib by making sure
that rawmidi_symbols.c doesn't reference symbols from rawmidi_virt.c
when SEQ support is not enabled.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoalsa-lib: add patch to fix incorrect code dependency
Thomas Petazzoni [Fri, 11 Aug 2017 21:21:02 +0000 (23:21 +0200)]
alsa-lib: add patch to fix incorrect code dependency

This commit adds a patch to alsa-lib that fixes an incorrect code
dependency: some code built when MIDI support is enabled is
unconditionally referencing code that is built when SEQ support is
enabled, both options being independent.

This causes build failures such as:

/home/buildroot/buildroot-test/instance-1/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(pcm_dmix.o): In function `snd_pcm_dmix_sync_ptr':
pcm_dmix.c:(.text+0x83c): warning:
/home/buildroot/buildroot-test/instance-1/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(rawmidi_symbols.o):(.data+0x4): undefined reference to `_snd_module_rawmidi_virt'

Fixes:

  http://autobuild.buildroot.net/results/5964e7028c31a8f75b38a27270410f0b3c5c8422/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Arnout: add upstream link to the patch]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoUpdate for 2017.08-rc2
Thomas Petazzoni [Fri, 11 Aug 2017 16:25:57 +0000 (18:25 +0200)]
Update for 2017.08-rc2

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoboard/beaglebone: skip bonegreen.dtb if not built
Lothar Felten [Fri, 11 Aug 2017 19:03:03 +0000 (21:03 +0200)]
board/beaglebone: skip bonegreen.dtb if not built

The beaglebone_qt5_defconfig uses an older kernel version which does not
provide a device tree for the beagle bone green.
post-image.sh now selects genimage_linux41.cfg if am335x-bonegreen.dtb is
not build and genimage.cfg otherwise.

Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
[Thomas: minor tweaks.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agolibcurl: fix build on uncommon architectures
Thomas Petazzoni [Fri, 11 Aug 2017 18:32:01 +0000 (20:32 +0200)]
libcurl: fix build on uncommon architectures

Since the bump to 7.55.0, libcurl fails to build on a number of
uncommon architectures (ARC, OpenRISC, etc.). This is due to upstream
commit 73a2fcea0b4adea6ba342cd7ed1149782c214ae3 ("includes: remove
curl/curlbuild.h and curl/curlrules.h"), which makes libcurl rely on
more architecture-specific related defines in include/curl/system.h.

This commit therefore adds a patch that fixes the 32-bit vs. 64-bit
detection for all architecture, using gcc's __SIZEOF_LONG__
definition. It has been tested successfully with test-pkg on all 47
toolchain configurations.

Fixes:

  http://autobuild.buildroot.net/results/bf26c08cf3267214278674472f931603f69951ae/
  (and many similar issues)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agobeaglebone_qt5_defconfig: use gcc 5.x
Lothar Felten [Fri, 11 Aug 2017 11:16:04 +0000 (13:16 +0200)]
beaglebone_qt5_defconfig: use gcc 5.x

The linux 4.1 kernel does not compile with gcc 6.x.
The compiler version is now fixed to 5.x until a new kernel is used.

Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agonanopi_m1{, _plus}_defconfig: U-Boot needs pylibfdt
Arnout Vandecappelle [Thu, 10 Aug 2017 21:59:29 +0000 (23:59 +0200)]
nanopi_m1{, _plus}_defconfig: U-Boot needs pylibfdt

nanopi_m1 and nanopi_m1_plus are sunxi boards that need pylibfdt in
U-Boot.

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/27873655
https://gitlab.com/buildroot.org/buildroot/-/jobs/27873656

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Chakra Divi <2chakrass@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agominnowboard_max_defconfig: grub2 needs WCHAR
Arnout Vandecappelle [Thu, 10 Aug 2017 21:28:05 +0000 (23:28 +0200)]
minnowboard_max_defconfig: grub2 needs WCHAR

Since commit 5ffafd2353f5d67 (grub2: bump up version), grub2 needs a
toolchain with WCHAR support. However, the defconfigs that use grub2
were not updated at the time.

Add BR2_TOOLCHAIN_BUILDROOT_WCHAR=y to minnowboard_max_defconfig.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Erico Nunes <nunes.erico@gmail.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Cc: Vincent Stehlé <vincent.stehle@intel.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/qt5base: only build libgtk3 support for X11 backend
Joshua Henderson [Wed, 9 Aug 2017 00:09:10 +0000 (17:09 -0700)]
package/qt5base: only build libgtk3 support for X11 backend

libgtk3 can conditionally be build with or without the X11 backend
unlike libgtk2. If libgtk3 is enabled and the X11 backend is not enabled
for BR2_PACKAGE_QT5_VERSION_LATEST, QT_EGL_NO_X11 or
MESA_EGL_NO_X11_HEADERS needs to be defined.

The proper way is to patch Qt to use pkg-config to fetch the correct
flags [1], or to add it to arch.conf like is done in commit 7d286be4f9.
For now, however, just disable libgtk3 support unless the X11 backend
is used.

Fixes http://autobuild.buildroot.net/results/6f3c2fcb0a44cd13ef4c73822d4d08f923291099

[1] https://codereview.qt-project.org/#/c/198906/

Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Cc: Julien Corjon <corjon.j@ecagroup.com>
Cc: Brent Sink <brents_3@hotmail.com>
Cc: Naoki Matsumoto <n-matsumoto@melcoinc.co.jp>
[Arnout:
- extend commit message
- improve comment
- also pass -no-gtk if libgtk3 is not selected]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agopackage/valgrind: hide comment when arch is not supported
Yann E. MORIN [Thu, 10 Aug 2017 21:51:11 +0000 (23:51 +0200)]
package/valgrind: hide comment when arch is not supported

Currently, the comment that "valgrind needs shared libs" is not hidden
when the architecture dependencies are not met, which can confuse some
users (as recently seen on IRC).

Fix that by introducing the traditional _ARCH_SUPPORTS option, and have
the comment and the symbol depend on that.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Brandon Maier <brandon.maier@rockwellcollins.com>
Cc: Jérôme Pouiller <jezz@sysmic.org>
Cc: Peter Seiderer <ps.report@gmx.net>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed--by: Pedro Ribeiro <pedrib@gmail.com>
Tested-by: Pedro Ribeiro <pedrib@gmail.com>
[Arnout: put _ARCH_SUPPORTS at the top of the file]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoerlang-p1-xml: Fix host dependencies variable name
Johan Oudinet [Thu, 10 Aug 2017 12:12:51 +0000 (14:12 +0200)]
erlang-p1-xml: Fix host dependencies variable name

This should fix the error reported by autobuild:
http://autobuild.buildroot.net/results/63c/63c63b2578e9f6ad71cbea82b987c128305cdab4/

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agolibcurl: security bump to version 7.55.0
Baruch Siach [Thu, 10 Aug 2017 17:35:45 +0000 (20:35 +0300)]
libcurl: security bump to version 7.55.0

Fixes:

 glob: do not parse after a strtoul() overflow range (CVE-2017-1000101)
 tftp: reject file name lengths that don't fit (CVE-2017-1000100)
 file: output the correct buffer to the user (CVE-2017-1000099)

Switch to .tar.xz to save bandwidth.

Add reference to tarball signature.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agolinux: Fix URL for release candidate versions
Luis Araneda [Fri, 11 Aug 2017 03:50:35 +0000 (23:50 -0400)]
linux: Fix URL for release candidate versions

Starting with 4.12-rc1, tarballs are generated by cgit directly from
Linus's tree. This also implies that no .tar.xz can be used for them.

This method also applies to older release candidates.

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
[Arnout: added comment in the code]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoswupdate: Lua 5.1 / LuaJIT are not supported
Jörg Krause [Mon, 31 Jul 2017 21:18:00 +0000 (23:18 +0200)]
swupdate: Lua 5.1 / LuaJIT are not supported

Before commit 87b6ac1478821351c92f7ca1c3154550e4713b28 support for Lua
was always disabled by the default config file:

```
CONFIG_LUA is not set
```

The commit removed this setting and Lua support is now enabled if a Lua
interpreter is enabled. As the swupdate build system uses pkg-config to
check for the lua library by default (LUAPKG="lua") this throws a lot of
undefined referenced in case LuaJIT is uses as Lua interpreter, e.g.:

```
corelib/lib.a(lua_interface.o): In function `l_info':
lua_interface.c:(.text.l_info+0x14): undefined reference to `luaL_checklstring'
```

In addition, since version 2017.07, Lua 5.1 really isn't supported any
more (before this version, it was only unsupported if the option
CONFIG_HANDLER_IN_LUA was set).  Therefore, remove support for Lua 5.1
and LuaJIT in the swupdate package for now until upstream might fix
this issue.

Reported upstream:
https://groups.google.com/forum/#!topic/swupdate/WAm8npAOd6o

Fixes:
http://autobuild.buildroot.net/results/df2/df2a71efe5af52d7b8721a355c49934b1be197a3/
http://autobuild.buildroot.net/results/400/4006225c8a47eb0b56399c83bd6d00406a0f62c2/
http://autobuild.buildroot.net/results/098/098f9d6cd905359adac4fb15e1d54c5022757325/
http://autobuild.buildroot.net/results/e5f/e5f6f99d96d9c661454335e7f931a03c3ae6a9e2/
http://autobuild.buildroot.net/results/f3a/f3a0abe8d5e35c85da40d20dab260c28506a0d4c/

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agolua: fix pkg-config file
Jörg Krause [Mon, 31 Jul 2017 21:17:59 +0000 (23:17 +0200)]
lua: fix pkg-config file

When Lua is linked with additional libraries, these libraries should go
into the pkg-config file as well.

Otherwise, linking swupdate with the lua library fails:

```
/home/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/liblua.so: undefined reference to `dlopen'
/home/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/liblua.so: undefined reference to `dlclose'
/home/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/liblua.so: undefined reference to `dlerror'
/home/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/liblua.so: undefined reference to `dlsym'
```

Fixes http://autobuild.buildroot.net/results/1c3/1c349cc5904868e4def292b9fbfa164828e46156

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoolimex_a20_olinuxino_lime: bump linux and U-Boot versions
Francois Perrad [Fri, 4 Aug 2017 04:27:27 +0000 (06:27 +0200)]
olimex_a20_olinuxino_lime: bump linux and U-Boot versions

This fixes build errors with GCC 6.

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agowebkitgtk: Add patch for properly picking GL flags when building
Adrián Pérez de Castro [Thu, 3 Aug 2017 11:31:09 +0000 (14:31 +0300)]
webkitgtk: Add patch for properly picking GL flags when building

This solves build failures caused by WebKit trying to include X11 headers
when support for X11 is disabled in Mesa3D. A common situation is when
configuring both GTK+ and WebKitGTK+ only with Wayland support.

Once the fix for https://bugs.webkit.org/show_bug.cgi?id=175125 makes it
into a release, the patch can be dropped.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agogdb: add fix for gdb 7.12 and gdb 8.0 build on noMMU platforms
Thomas Petazzoni [Thu, 3 Aug 2017 07:15:48 +0000 (09:15 +0200)]
gdb: add fix for gdb 7.12 and gdb 8.0 build on noMMU platforms

This adds a patch to gdb 7.12 and gdb 8.x, which fixes the build on
noMMU platforms. It is not needed for older versions of gdb, since
it's related to the switch of gdb to C++ in the 7.12 release.

Fixes:

../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))':
../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive]
       child_stack = xmalloc (STACK_SIZE * 4);

The patch has already been merged upstream, as of commit
ffce45d2243e5f52f411e314fc4e1a69f431a81f, and will therefore be part
of future gdb releases.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoglibc: fix sh4 compile error
Waldemar Brodkorb [Fri, 4 Aug 2017 17:07:42 +0000 (19:07 +0200)]
glibc: fix sh4 compile error

Fixes:

/tmp/output/build/glibc-2.25/build/libc_pic.a(dl-error.os): In function `__GI__dl_signal_error':
dl-error.c:(.text+0x0): multiple definition of `_dl_signal_error'
/tmp/output/build/glibc-2.25/build/elf/dl-allobjs.os:(.text+0x134d8): first defined here
/tmp/output/build/glibc-2.25/build/libc_pic.a(dl-error.os): In function `__GI__dl_catch_error':
dl-error.c:(.text+0x190): multiple definition of `_dl_catch_error'
/tmp/output/build/glibc-2.25/build/elf/dl-allobjs.os:(.text+0x136fc): first defined here
/tmp/output/build/glibc-2.25/build/libc_pic.a(init-first.os):(.data+0x0): multiple definition of `__libc_multiple_libcs'
/tmp/output/build/glibc-2.25/build/elf/dl-allobjs.os:(.bss+0x6c): first defined here
/tmp/output/build/glibc-2.25/build/libc_pic.a(_itoa.os): In function `_itoa':
_itoa.c:(.text+0xd4): multiple definition of `_itoa'
/tmp/output/build/glibc-2.25/build/elf/dl-allobjs.os:(.text+0x133c8): first defined here

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agogcc: fix sparcv8 compile issue
Waldemar Brodkorb [Fri, 4 Aug 2017 21:44:54 +0000 (23:44 +0200)]
gcc: fix sparcv8 compile issue

Fix compile issue with gcc 7.1.0:
/tmp/ccxalnSf.s: Assembler messages:
/tmp/ccxalnSf.s:12: Error: Architecture mismatch on "rd %tick,%o1".
/tmp/ccxalnSf.s:12: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8; requested architecture is v8.)
/tmp/ccxalnSf.s:13: Error: Architecture mismatch on "srlx %o1,32,%o0".
/tmp/ccxalnSf.s:13: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8; requested architecture is v8.)
/tmp/ccxalnSf.s:30: Error: Architecture mismatch on "rd %ccr,%g0".
/tmp/ccxalnSf.s:30: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8; requested architecture is v8.)
/tmp/ccxalnSf.s:33: Error: Architecture mismatch on "rd %ccr,%g0".
/tmp/ccxalnSf.s:33: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8; requested architecture is v8.)
/tmp/ccxalnSf.s:36: Error: Architecture mismatch on "rd %ccr,%g0".
/tmp/ccxalnSf.s:36: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8; requested architecture is v8.)
/tmp/ccxalnSf.s:39: Error: Architecture mismatch on "rd %ccr,%g0".
/tmp/ccxalnSf.s:39: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8; requested architecture is v8.)
Makefile:684: recipe for target 'os-unix-sysdep.lo' failed

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years ago.gitlab-ci.yml: use large timeouts for runtime tests
Ricardo Martincoski [Sat, 5 Aug 2017 02:05:20 +0000 (23:05 -0300)]
.gitlab-ci.yml: use large timeouts for runtime tests

Multiply the timeouts for emulator in the gitlab runners by 10 to avoid
sporadic failures in elastic runners.

Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agosupport/testing: allow to use a multiplier for timeouts
Ricardo Martincoski [Sat, 5 Aug 2017 02:05:19 +0000 (23:05 -0300)]
support/testing: allow to use a multiplier for timeouts

Add a parameter to run-tests to act as a multiplier for all timeouts of
emulator.
It can be used to avoid sporadic failures on slow host machines as well
in elastic runners on the cloud.

Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
[Arnout: rename multiplier to timeout_multiplier everywhere]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoficl: fix build with gcc 7
Francois Perrad [Sun, 6 Aug 2017 10:56:08 +0000 (12:56 +0200)]
ficl: fix build with gcc 7

gcc 7 with -Os (optimize for size) takes the liberty to remove the code
of inline functions entirely - which is indeed allowed according to the
C99 standard, cfr. this [1] very complete StackOverflow answer. This
leads to undefined function references at link time.

The proper approach is to patch the code to use 'static inline'
instead. However, for various reasons such a patch is not entirely
trivial, and upstream has not moved since 7 years, so instead take the
simpler approach of restoring the gcc original inline behaviour with
-fgnu89-inline to fix this issue.

Fixes http://autobuild.buildroot.org/results/d72/d72a7e9775a10bc884b9953dd2eba3ad32100cca

[1] https://stackoverflow.com/questions/6312597/is-inline-without-static-or-extern-ever-useful-in-c99

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agopackage/stella: fix gcc7 support
Bernd Kuhls [Sun, 6 Aug 2017 09:55:27 +0000 (11:55 +0200)]
package/stella: fix gcc7 support

Fixes
http://autobuild.buildroot.net/results/6ed/6edd7950c402dbf433f3904193c645ebc8531c7e/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoRevert "package/skeleton-custom: also check for missing directories"
Yann E. MORIN [Wed, 9 Aug 2017 16:10:05 +0000 (18:10 +0200)]
Revert "package/skeleton-custom: also check for missing directories"

This partially reverts commit cf6d321e9d5c9dec63e42466fec4bf5de5853bd3.

The underlying reason for doing the checks is to ensure that a
merged-usr setting is properly enforced, even for custom skeletons.

Before that patch, a custom skeleton where both /bin and /usr/bin were
missing was accepted; but then the first package that intalled something
in /bin would create it as a directory, thus breaking the merged-usr
situation. Ditto sbin and lib, of course.

cf6d321 was created to detect that situation, and the fix was to require
that both directories do exist in the custom skeleton, so that we new
the check for consistency were OK, in all cases.

However, that broke existing skeletons which where missing both
directories, and some people are shinning about it...

The crux of the problem is that Buildroot should be responsible for
creating the directories or the symliks when they are missing, and only
fail if the existing ones are incorrect, but not impose the burden on
the user.

A situation where the problem arises is when a skeleton is shared
between various builds, some using a merged-usr while other do not.

We fix that by reverting the offending changes change, back to the
previous behaviour. We keep the stderr redirection in stat calls, and
the variable renaming.

A proper fix to create the missing directories can be added later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agouclibc: allow thread_db to be built with C++
Waldemar Brodkorb [Sat, 5 Aug 2017 10:49:00 +0000 (12:49 +0200)]
uclibc: allow thread_db to be built with C++

gdb 7.12+ is compiled and linked with C++, therefore the thread_db
headers need to use extern "C", to be usable for C++ code.

Fixes:
 Issue when building gdbserver for m68k-coldfire:

thread-db.o: In function `thread_db_init()':
thread-db.c:(.text+0x5b6): undefined reference to `td_ta_new(ps_prochandle*, td_thragent**)'
thread-db.c:(.text+0x61e): undefined reference to `td_thr_get_info(td_thrhandle const*, td_thrinfo*)'
thread-db.c:(.text+0x632): undefined reference to `td_symbol_list()'
...

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Tested-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agopkg-cmake.mk: set pkg-config env. vars. in the host configure environment
Samuel Martin [Sat, 5 Aug 2017 18:18:53 +0000 (20:18 +0200)]
pkg-cmake.mk: set pkg-config env. vars. in the host configure environment

This change is fixing the bug reported in [1].

Cmake may run pkg-config to find the dependencies when configuring a
package. Because of the value of PATH, and it will use the Buildroot's
pkg-config wrapper, which, by default, is configured (via some
environment variables) to find the target dependencies.

When configuring a host package using cmake, to prevent cmake from
wrongly solving dependencies from the target tree (when the
*-config.cmake files are using pkg-config) instead of looking for them
in the Buildroot's host tree or in the host system itself, we need to
set the environment variables altering the pkg-config behavior in the
cmake configure environment.

So, this change is fixing the cmake host-packages configuration step,
by properly setting the pkg-config environment variables to their values
for finding host dependencies.

Before this patch:

  make O=/opt/br/abo/cmake-host-find-root-path libxml2 host-mariadb{-dirclean,-configure} && echo $?
  [...]
  >>> host-mariadb 10.1.25 Configuring
  (mkdir -p /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ && cd /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ && rm -f CMakeCache.txt && PATH="/opt/br/abo/cmake-host-find-root-path/host/bin:/opt/br/abo/cmake-host-find-root-path/host/sbin:/home/sam/.local/bin:/sbin:/usr/sbin:/bin:/usr/bin"  /usr/bin/cmake /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ -DCMAKE_INSTALL_SO_NO_EXE=0 -DCMAKE_FIND_ROOT_PATH="/opt/br/abo/cmake-host-find-root-path/host" -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM="BOTH" -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY="BOTH" -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE="BOTH" -DCMAKE_INSTALL_PREFIX="/opt/br/abo/cmake-host-find-root-path/host" -DCMAKE_C_FLAGS="-O2 -I/opt/br/abo/cmake-host-find-root-path/host/include" -DCMAKE_CXX_FLAGS="-O2 -I/opt/br/abo/cmake-host-find-root-path/host/include" -DCMAKE_EXE_LINKER_FLAGS="-L/opt/br/abo/cmake-host-find-root-path/host/lib -Wl,-rpath,/opt/br/abo/cmake-host-find-root-path/host/lib"
  -DCMAKE_ASM_COMPILER="/usr/bin/as" -DCMAKE_C_COMPILER="/usr/bin/gcc" -DCMAKE_CXX_COMPILER="/usr/bin/g++"  -DCMAKE_C_COMPILER_ARG1="" -DCMAKE_CXX_COMPILER_ARG1=""  -DCMAKE_COLOR_MAKEFILE=OFF -DBUILD_DOC=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLE=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF -DBUILD_TESTS=OFF -DBUILD_TESTING=OFF  -DWITH_SSL=bundled )
  -- Running cmake version 3.8.2
  [...]
  -- Found PkgConfig: /opt/br/abo/cmake-host-find-root-path/host/bin/pkg-config (found version "0.28")
  [...]
  -- Found LibXml2: /opt/br/abo/cmake-host-find-root-path/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libxml2.so (found version "2.9.4")
  [...]
  0

After this patch is applied:

  make O=/opt/br/abo/cmake-host-find-root-path libxml2 host-mariadb{-dirclean,-configure} && echo $?
  [...]
  >>> host-mariadb 10.1.25 Configuring
  (mkdir -p /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ && cd /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ && rm -f CMakeCache.txt && PATH="/opt/br/abo/cmake-host-find-root-path/host/bin:/opt/br/abo/cmake-host-find-root-path/host/sbin:/home/sam/.local/bin:/sbin:/usr/sbin:/bin:/usr/bin" PKG_CONFIG="/opt/br/abo/cmake-host-find-root-path/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_LIBDIR="/opt/br/abo/cmake-host-find-root-path/host/lib/pkgconfig:/opt/br/abo/cmake-host-find-root-path/host/share/pkgconfig" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1  /usr/bin/cmake /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ -DCMAKE_INSTALL_SO_NO_EXE=0 -DCMAKE_FIND_ROOT_PATH="/opt/br/abo/cmake-host-find-root-path/host" -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM="BOTH" -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY="BOTH" -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE="BOTH" -DCMAKE_INSTALL_PREFIX="/opt/br/abo/cmake-host-find-roo
 t-path/host" -DCMAKE_C_FLAGS="-O2 -I/opt/br/abo/cmake-host-find-root-path/host/include" -DCMAKE_CXX_FLAGS="-O2 -I/opt/br/abo/cmake-host-find-root-path/host/include" -DCMAKE_EXE_LINKER_FLAGS="-L/opt/br/abo/cmake-host-find-root-path/host/lib -Wl,-rpath,/opt/br/abo/cmake-host-find-root-path/host/lib" -DCMAKE_ASM_COMPILER="/usr/bin/as" -DCMAKE_C_COMPILER="/usr/bin/gcc" -DCMAKE_CXX_COMPILER="/usr/bin/g++"  -DCMAKE_C_COMPILER_ARG1="" -DCMAKE_CXX_COMPILER_ARG1=""  -DCMAKE_COLOR_MAKEFILE=OFF -DBUILD_DOC=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLE=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF -DBUILD_TESTS=OFF -DBUILD_TESTING=OFF  -DWITH_SSL=bundled )
  -- Running cmake version 3.8.2
  [...]
  -- Found PkgConfig: /opt/br/abo/cmake-host-find-root-path/host/bin/pkg-config (found version "0.28")
  [...]
  -- Found LibXml2: /usr/lib/libxml2.so (found version "2.9.4")
  [...]
  0

[1] http://lists.busybox.net/pipermail/buildroot/2017-August/199776.html

Reported-by: "Sigalas, Antonios (Nokia - GR/Athens)" <antonios.sigalas@nokia.com>
Cc: "Sigalas, Antonios (Nokia - GR/Athens)" <antonios.sigalas@nokia.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agofaad2: security bump to version 2.8.1
Baruch Siach [Wed, 9 Aug 2017 05:02:02 +0000 (08:02 +0300)]
faad2: security bump to version 2.8.1

Fixes: CVE-2017-9218, CVE-2017-9219, CVE-2017-9220, CVE-2017-9221,
CVE-2017-9222, CVE-2017-9223, CVE-2017-9253, CVE-2017-9254,
CVE-2017-9255, CVE-2017-9256, CVE-2017-9257

http://seclists.org/fulldisclosure/2017/Jun/32

Switch to .tar.bz2 to save some bandwidth.

Add autoreconf since unfortunately upstream tarball does not ship the
configure script.

Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agonvme: remove the udev optional dependency
Baruch Siach [Wed, 9 Aug 2017 06:59:10 +0000 (09:59 +0300)]
nvme: remove the udev optional dependency

Upstream removed the udev dependent code in commit 4cbe5888f4bc (nvme-cli:
fabrics: remove libudev dependency).

Cc: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agonvme: fix libuuid test when cross compiling
Baruch Siach [Wed, 9 Aug 2017 06:59:09 +0000 (09:59 +0300)]
nvme: fix libuuid test when cross compiling

Use $(LD) to test whether libuuid is installed, so that we check the target,
not the host.

Fixes:
http://autobuild.buildroot.net/results/e26/e263ffbf8947374c2aac73ab42edcbf4d9a3600a/
http://autobuild.buildroot.net/results/53b/53b2d1e0c3cdeafb980389bcfd8a10b6ca48fbc2/

Cc: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agopackage/snappy: remove pthread handling for static builds
Bernd Kuhls [Fri, 4 Aug 2017 04:02:48 +0000 (06:02 +0200)]
package/snappy: remove pthread handling for static builds

Commit 0e2ee0e6e8076 (package.snappy: fix static builds with threads)
added LIBS=-pthread to configure options to fix static build with
threads on some architectures. This works for autotools packages. Then,
commit d26282b3aa14cb (package/snappy: bump version, switch to cmake)
switched to cmake that does not understand the 'LIBS' parameter.

As pointed out by Thomas[1] the special handling of libpthread for
static builds is not needed anymore: it was needed only to build the
tests, and these are no longer built. Note that packages that link
statically with snappy will still need to link with -pthread. Only
two in-tree packages currently depend on snappy: lua-csnappy depends
on !BR2_STATIC_LIBS and leveldb adds -pthread from its build system.

Tested with the following musl & uclibc defconfigs which also fix build
errors:
http://autobuild.buildroot.net/results/39f/39f9fc4300ddca19e8a533765b46838003752000/
http://autobuild.buildroot.net/results/886/8860b9259f7a3aecb2ddbfa787be048072bd347b/

[1] http://lists.busybox.net/pipermail/buildroot/2017-July/199549.html

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Baruch: improved commit message]
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
[Arnout: improved commit message more, based on Yann's input]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agobind: fix configure in case lmdb devel files are present on the host
Peter Seiderer [Tue, 8 Aug 2017 16:57:58 +0000 (18:57 +0200)]
bind: fix configure in case lmdb devel files are present on the host

Fix configure failure in case lmdb devel files are present on the host
by adding --without-lmdb option (reported [1] and fix tested [2],[3] by
grunpferd@netscape.net).

Fixes:

  checking for lmdb library... yes
  checking for library containing mdb_env_create... no
  configure: error: found lmdb include but not library.

[1] http://lists.busybox.net/pipermail/buildroot/2017-August/199945.html
[2] http://lists.busybox.net/pipermail/buildroot/2017-August/199963.html
[3] http://lists.busybox.net/pipermail/buildroot/2017-August/199964.html

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agopackage/jack2: backport two build fixes
Bernd Kuhls [Sun, 6 Aug 2017 12:58:40 +0000 (14:58 +0200)]
package/jack2: backport two build fixes

0005-gcc7.patch fixes
http://autobuild.buildroot.net/results/c06/c0610325d7785dfa51c5d36775623ca8fa517f24/

0006-fix-ftbfs-with-clang.patch
fixes the subsequent build error:
common/memops.c.31.o: In function `sample_move_dither_rect_d16_sSs':
memops.c:(.text+0x4dc): undefined reference to `fast_rand'

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoglibc: add patch to fix build on x86
Thomas Petazzoni [Sat, 5 Aug 2017 13:46:18 +0000 (15:46 +0200)]
glibc: add patch to fix build on x86

This fixes the following build issues:

In file included from ../sysdeps/x86_64/multiarch/varshift.c:19:0,
                 from ../sysdeps/i386/i686/multiarch/varshift.c:1:
../sysdeps/x86_64/multiarch/varshift.h: In function '__m128i_shift_right':
../sysdeps/x86_64/multiarch/varshift.h:26:1: error: SSE vector return without SSE enabled changes the ABI [-Werror=psabi]
 {

[...]

.../lib/gcc/i686-buildroot-linux-gnu/7.1.0/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch

The patch has been taken from glibc's patchwork at
https://patchwork.sourceware.org/patch/21003/.

Fixes bug #10156.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agolinux-headers: aarch64: Prevent selecting unsupported versions
Bernd Kuhls [Sun, 6 Aug 2017 13:40:11 +0000 (15:40 +0200)]
linux-headers: aarch64: Prevent selecting unsupported versions

Versions older than Linux v3.7 do not support the aarch64 architecture
so disable them, for reference see https://kernelnewbies.org/Linux_3.7

Without this patch these defconfigs fail to build

BR2_aarch64=y
BR2_KERNEL_HEADERS_3_2=y

BR2_aarch64=y
BR2_KERNEL_HEADERS_3_4=y

with error messages like this:

make[1]: Entering directory '/home/buildroot/br5_next/output/build/linux-headers-3.2.89'
Makefile:567: /home/buildroot/br5_next/output/build/linux-headers-3.2.89/arch/arm64/Makefile: No such file or directory

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agolinux: bump default to version 4.12.5
Bernd Kuhls [Mon, 7 Aug 2017 06:19:03 +0000 (08:19 +0200)]
linux: bump default to version 4.12.5

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agolinux-headers: bump 4.{4, 9, 12}.x series
Bernd Kuhls [Mon, 7 Aug 2017 06:19:02 +0000 (08:19 +0200)]
linux-headers: bump 4.{4, 9, 12}.x series

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agolinux-headers: bump 4.1.x series
Bernd Kuhls [Sun, 6 Aug 2017 13:28:41 +0000 (15:28 +0200)]
linux-headers: bump 4.1.x series

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoqemu-sparc64: update kernel
Waldemar Brodkorb [Sun, 6 Aug 2017 19:30:07 +0000 (21:30 +0200)]
qemu-sparc64: update kernel

This fixes '__multi3' issue when building the kernel.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoqemu-sparc: update kernel
Waldemar Brodkorb [Sat, 5 Aug 2017 09:34:24 +0000 (11:34 +0200)]
qemu-sparc: update kernel

Fixes gcc 7.1.0 compile issues.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agouclibc: fix microblaze runtime error
Waldemar Brodkorb [Sun, 6 Aug 2017 19:30:43 +0000 (21:30 +0200)]
uclibc: fix microblaze runtime error

With binutils 2.29 a runtime error is seen:
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100

Backport upstream patch to fix the issue.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agolinux: drop full stop from prompt text
Baruch Siach [Mon, 7 Aug 2017 12:41:34 +0000 (15:41 +0300)]
linux: drop full stop from prompt text

We don't add a full stop at the end of the prompt text.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agomutt: fix build with BR2_PACKAGE_SKELETON_NONE
Baruch Siach [Mon, 7 Aug 2017 17:54:14 +0000 (20:54 +0300)]
mutt: fix build with BR2_PACKAGE_SKELETON_NONE

BR2_PACKAGE_SKELETON_NONE does not provide the /var subdirectory which
breaks symlink creation in that directory. Make sure that /var exists
before creating the symlink.

Fixes:
http://autobuild.buildroot.net/results/32d/32dff0df759baf1120e4f11335e735eb0708b237/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoqt5base: fix examples compile without opengl support
Peter Seiderer [Mon, 7 Aug 2017 21:15:44 +0000 (23:15 +0200)]
qt5base: fix examples compile without opengl support

Fixes [1]:

  make[1]: Entering directory '.../build/qt5base-5.9.1/examples/opengl'
  cd hellowindow/ && ( test -e Makefile || .../build/qt5base-5.9.1/bin/qmake -o Makefile .../build/qt5base-5.9.1/examples/opengl/hellowindow/hellowindow.pro ) && make -f Makefile
  make[2]: Entering directory '.../build/qt5base-5.9.1/examples/opengl/hellowindow'
  .../host/bin/sparc-linux-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --sysroot=.../host/sparc-buildroot-linux-uclibc/sysroot -O2 -O3 -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../../../include/QtGui/5.9.1 -I../../../include/QtGui/5.9.1/QtGui -I../../../include -I../../../include/QtGui -I../../../include/QtCore/5.9.1 -I../../../include/QtCore/5.9.1/QtCore -I../../../include/QtCore -I.moc -I../../../mkspecs/devices/linux-buildroot-g++ -o .obj/hellowindow.o hellowindow.cpp
  In file included from hellowindow.cpp:51:0:
  hellowindow.h:96:5: error: ‘QOpenGLShaderProgram’ does not name a type
       QOpenGLShaderProgram *m_program;
       ^~~~~~~~~~~~~~~~~~~~
  hellowindow.h:97:5: error: ‘QOpenGLBuffer’ does not name a type
       QOpenGLBuffer m_vbo;
       ^~~~~~~~~~~~~
  hellowindow.cpp: In constructor ‘Renderer::Renderer(const QSurfaceFormat&, Renderer*, QScreen*)’:
  hellowindow.cpp:62:40: error: invalid use of incomplete type ‘class QOpenGLContext’
       m_context = new QOpenGLContext(this);
                                          ^
  In file included from ../../../include/QtGui/qsurfaceformat.h:1:0,
                   from ../../../include/QtGui/../../src/gui/kernel/qsurface.h:45,
                   from ../../../include/QtGui/qsurface.h:1,
                   from ../../../include/QtGui/../../src/gui/kernel/qwindow.h:51,
                   from ../../../include/QtGui/qwindow.h:1,
                   from ../../../include/QtGui/QWindow:1,
                   from hellowindow.h:51,
                   from hellowindow.cpp:51:

[1] http://autobuild.buildroot.net/results/001/001bc930014fca8c2a8b7a390350b4e1a15fa375/build-end.log

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agolinux: bump cip version to v4.4.75-cip6
Angelo Compagnucci [Tue, 8 Aug 2017 13:18:29 +0000 (15:18 +0200)]
linux: bump cip version to v4.4.75-cip6

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agoglibc: add patch fixing the build with binutils 2.29
Thomas Petazzoni [Thu, 3 Aug 2017 21:30:27 +0000 (23:30 +0200)]
glibc: add patch fixing the build with binutils 2.29

Fixes the following build failure, which occurs on all architectures:

/tmp/cc6APNmN.s: Assembler messages:
/tmp/cc6APNmN.s: Error: `loc1@GLIBC_2.17' can't be versioned to common symbol 'loc1'
/tmp/cc6APNmN.s: Error: `loc2@GLIBC_2.17' can't be versioned to common symbol 'loc2'
/tmp/cc6APNmN.s: Error: `locs@GLIBC_2.17' can't be versioned to common symbol 'locs'
../o-iterator.mk:9: recipe for target '/tmp/output/build/glibc-2.25/build/misc/regexp.os' failed

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agogdb: drop support for Microblaze
Thomas Petazzoni [Thu, 3 Aug 2017 21:58:12 +0000 (23:58 +0200)]
gdb: drop support for Microblaze

Microblaze support was never upstreamed in gdb. We currently use a gdb
from the Xilinx Github repository, but this gdb is based on 7.6, and
has never been updated in the last 4 years. There are no other active
branches at https://github.com/Xilinx/gdb/branches.

Xilinx has a slightly newer gdb, based on 7.7, available at
https://github.com/Xilinx/meta-xilinx/tree/master/recipes-microblaze/gdb. However,
it's apparently only available in the form of stack of big patches
(https://github.com/Xilinx/meta-xilinx/tree/master/recipes-microblaze/gdb/files).

Currently, gdb on Microblaze fails to build in various conditions:

 * Against glibc, with "error: conflicting types for 'ps_lgetfpregs'"

 * Against musl, with "error: unknown type name 'elf_gregset_t'"

While those issues can probably be fixed, the fact that there is no
active upstream significantly reduces the incentive to fix those
problems.

Therefore, let's drop support for gdb on Microblaze entirely.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agodbus: add upstream patch to fix startup hang with with expat >= 2.2.1
Marcus Hoffmann [Fri, 4 Aug 2017 16:58:32 +0000 (18:58 +0200)]
dbus: add upstream patch to fix startup hang with with expat >= 2.2.1

After c0ad6ded018ffbc33f7f5 expat: security bump to version 2.2.1
the system can hang on startup under certain circumstances.

This happens when:
  * we use systemd as init system
  * the random nonblocking pool takes a while to initialize
    * this apparently doesn't happen on qemu, so this would not have
      been caught by the runtime testing infrastructure
    * it also doesn't seem to happen when network booting

For a more detailed description of the bug see here:
https://bugs.freedesktop.org/show_bug.cgi?id=101858

The patch should be in next dbus version 1.10.24

Set DBUS_AUTORECONF = YES because configure.ac is changed.

Signed-off-by: Marcus Hoffmann <m.hoffmann@cartelsol.com>
[Arnout: add upstream commit sha + Marcus's Sob to the patch]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
7 years agopackage/skeleton-common: fix recursive variable
Stefan Becker [Thu, 3 Aug 2017 09:05:45 +0000 (12:05 +0300)]
package/skeleton-common: fix recursive variable

This fixes a recursive variable definition introduced by the refactoring
in commit 120307520f69f801bf05df1d2fd3433c6d498551. Simply rename the
hook to remove the recursion.

Fixes https://bugs.busybox.net/show_bug.cgi?id=10146

Signed-off-by: Stefan Becker <chemobejk@gmail.com>
7 years agoUpdate for 2017.08-rc1
Thomas Petazzoni [Wed, 2 Aug 2017 21:00:13 +0000 (23:00 +0200)]
Update for 2017.08-rc1

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopython-systemd: bump to version 234
Adam Duskett [Mon, 31 Jul 2017 14:22:10 +0000 (10:22 -0400)]
python-systemd: bump to version 234

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoCHANGES: final update before 2017.08-rc1
Thomas Petazzoni [Wed, 2 Aug 2017 20:49:54 +0000 (22:49 +0200)]
CHANGES: final update before 2017.08-rc1

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/kodi: add support for more architectures
Bernd Kuhls [Wed, 2 Aug 2017 16:29:42 +0000 (18:29 +0200)]
package/kodi: add support for more architectures

For the autoconf-based build system it was necessary to allow each
supported architecture separatly:
https://github.com/xbmc/xbmc/blob/Krypton/m4/xbmc_arch.m4

For the CMake build system this is not necessary anymore so we only
blacklist archs in Config.in known to be broken.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: slightly tweak the BR2_PACKAGE_KODI_ARCH_SUPPORTS definition.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoCHANGES: update with gcc 7.x graphite optimization bug fixed
Thomas Petazzoni [Wed, 2 Aug 2017 20:23:00 +0000 (22:23 +0200)]
CHANGES: update with gcc 7.x graphite optimization bug fixed

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agosystemd: bump version to 234
Adam Duskett [Mon, 31 Jul 2017 14:22:09 +0000 (10:22 -0400)]
systemd: bump version to 234

Other changes:
- Removed the following patches due to being merged upstream:
    - resolved-bugfix-of-null-pointer-p-question-dereferencing.patch
    - resolved-simplify-alloc-size-calculation.patch
    - resolved-do-not-allocate-packets-with-minimum-size.patch
- Updated the following patches to work with 234:
    - fix-getty-unit.patch
    - build-check-for-ln-relative.patch
    - fix-am-path-libgcrypt-no-found.patch
- Updated ordering of remaining patches.
- Reformatted remaining patches as git style patches.
- Updated Upstream-Status comment in "build-check-for-ln-relative.patch" to
  "Denied [No desire to support building on old distributions]"

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Tested-by: Marcus Hoffmann <m.hoffmann@caretelsol.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agolet-me-create: fix build with musl
Rahul Bedarkar [Wed, 2 Aug 2017 18:05:39 +0000 (23:35 +0530)]
let-me-create: fix build with musl

Add a patch to fix build with musl C library.

Fixes:
  http://autobuild.buildroot.net/results/af946fa6fe05ee265e4ac97742b15afeb0cea1ab

Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoconfigs/socrates_cyclone5: new defconfig
Michał Łyszczek [Wed, 2 Aug 2017 18:03:02 +0000 (20:03 +0200)]
configs/socrates_cyclone5: new defconfig

Configuration contains:
  - building uboot (and spl) from altera's github
  - booting from SD card
  - working ethernet, serial, i2c, fpga_manager
  - minimal rootfs with busybox
  - ready to flash SD card image

Signed-off-by: Michał Łyszczek <michal.lyszczek@bofc.pl>
[Thomas:
 - add entry to DEVELOPERS file
 - refresh .gitlab-ci.yml
 - fix commit title]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/binutils: fix assertion in 2.29 xtensa ld
Max Filippov [Wed, 2 Aug 2017 18:39:59 +0000 (11:39 -0700)]
package/binutils: fix assertion in 2.29 xtensa ld

Section sorting code in xtensa ld was incorrectly cleaned up in release
2.29, resulting in the following assertion when --sort-section,alignment
option is used:

  BFD (GNU Binutils) 2.29 assertion fail elf32-xtensa.c:3965

Backport the fix that restores original section sorting.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/binutils: fix crash caused by buggy xtensa overlay
Max Filippov [Wed, 2 Aug 2017 18:40:20 +0000 (11:40 -0700)]
package/binutils: fix crash caused by buggy xtensa overlay

In some xtensa configurations there may be system/user registers in
xtensa-modules with negative index. ISA initialization for such config
may clobber heap and result in program termination.
Don't update lookup table entries for register with negative indices.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoCHANGES: update with the cloog removal
Thomas Petazzoni [Wed, 2 Aug 2017 19:23:03 +0000 (21:23 +0200)]
CHANGES: update with the cloog removal

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agocloog: remove package
Thomas Petazzoni [Wed, 2 Aug 2017 19:22:07 +0000 (21:22 +0200)]
cloog: remove package

This host-only package was used to enable graphite support in GCC 4.9,
but Buildroot no longer supports Graphite optimizations in GCC 4.9
(only GCC >= 5.x is supported). Therefore, we can remove the cloog
package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoisl: bump to version 0.18
Andrey Yurovsky [Tue, 1 Aug 2017 23:43:01 +0000 (16:43 -0700)]
isl: bump to version 0.18

Now that we no longer support Graphite optimizations in gcc 4.9 (which
required ISL 0.14.1), we can bump ISL to a newer version, which allows
to support Graphite optimizations in GCC >= 5.x.

The comment about the version being limited to 0.14.1 because of cloog
is no longer relevant, so it is removed.

Our libtool patch now applies properly, so we can remove
ISL_LIBTOOL_PATCH = NO.

Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
[Thomas:
 - remove ISL_LIBTOOL_PATCH = NO
 - improved commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agogcc: support grahite only for GCC 5 or above
Andrey Yurovsky [Tue, 1 Aug 2017 23:43:00 +0000 (16:43 -0700)]
gcc: support grahite only for GCC 5 or above

GCC 4.9.x requires an old version of ISL to support graphite, and this
old version of ISL is not sufficient to support graphite in modern GCC
versions.

Since GCC 4.9.x is getting older, and to keep things simple, we stop
supporting graphite on old GCC < 5.x. This way, we will be able to
bump ISL to a version that is suitable for modern GCC versions.

In addition, this allows to drop the dependency on cloog, which was
only needed for GCC 4.9.

Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
[Thomas: rework commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoCHANGES: update with recent changes
Thomas Petazzoni [Wed, 2 Aug 2017 19:12:43 +0000 (21:12 +0200)]
CHANGES: update with recent changes

Update with the skeleton rework details, and a webkitgtk bug that is
now fixed.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agosupport/testing: add runtime testing for read-only systemd
Yann E. MORIN [Tue, 1 Aug 2017 22:52:24 +0000 (00:52 +0200)]
support/testing: add runtime testing for read-only systemd

We add the 3 following combinations:

  - basic systemd, read-only, network w/ ifupdown
  - basic systemd, read-only, network w/ networkd
  - full systemd, read-only, network w/ networkd

The tests just verify what the /sbin/init binary is, and that we were
able to grab an IP address. More tests can be added later, for example
to check each systemd features (journal, tmpfiles...)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Arnout: regenerate .gitlab-ci.yml]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agosystem: make systemd work on a read-only rootfs
Yann E. MORIN [Tue, 1 Aug 2017 22:52:23 +0000 (00:52 +0200)]
system: make systemd work on a read-only rootfs

When the rootfs is readonly, systemd will expect /var to be writable.
Because we do not really have a R/W filesystem to mount on /var, we make
it a tmpfs [*], and use the systemd-tmpfiles feature to populate it with
"factory" defaults.

We obtain those factory defaults by redirecting /var to that location at
build time, using a symlink /var -> /usr/share/factory which is the
location in which systemd-tmpfiles will look for when instructed to
"recursively copy" a directory.

With a line like:

    C /var/something - - - -

it will look for /usr/share/factory/something and copy it (recursively
if it is a directory) to /var/something, but only if it does not already
exist there.

We also mark this copy with the exclamation mark, as it is only safe to
copy on boot, not when changing targets.

To be noted: the real format for such lines are:

    C /var/something - - - - /from/where/to/copy/something

But if the source is not given, then it is implicitly taken from
/usr/share/factory (which in our case is as-good a location as whatever
else, so we use it, and thus we need not specify the source of the
copy).

Note that we treat symlinks a little bit specially, by creating symlinks
to the factory defaults rather than copying them.

Finally, /var at build time is a symlink, but at runtime, it must be a
directory (so we can mount the tmpfs over there). We can't change that
as a target-finalize hook, because:

  - some packages may want to set ownership and/or access rights on
    files or directories in /var, and that only happens while assembling
    the filesystem images; changing /var from a symlink to a (then
    empty) directory would break this;

  - /var would be a directory on sub-sequent builds (until the next
    "make clean").

Instead, we use the newly-introduce pre- and post-rootfs command hooks,
to turn /var into a directory before assembling the image, and back to a
symlink after assembling the image.

[*] People who want the factory-defaults only on first boot will have
    to tweak the fstab to mount something else than a tmpfs on /var.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agofs: add pre- and post-command hooks
Yann E. MORIN [Tue, 1 Aug 2017 22:52:22 +0000 (00:52 +0200)]
fs: add pre- and post-command hooks

In some cases, the directory structure we want in the filesystem is not
exactly what we have in target/

For example, when systemd is used on a read-only rootfs, /var must be a
tmpfs. However, we may have packages that install stuff in there, and
set important rights (via the permission-table). So, at build time, we
need /var to be a symlink to the remanent location (/usr/share/factory)
while at runtime we need /var to be a directory.

One option would have been to have /var as a real directory even during
build time, and in a target-finalize hook, move everything out of there
and into the "factory" location. However, that's not possible because
it's too early: some packages may want to set ownership and/or acces
rights on directories or files in /var, and this is only done in the
fakeroot script, which is called only later during the assembling of the
filesystem images.

Also, there would have been no way to undo the tweak (i.e. we need to
restore the /var symlink so that subsequent builds continue to work) if
it were done as a target-finalize hook.

The only solution is to allow packages to register pre- and post-hooks
that are called right before and right after the rootfs commands are
executed, and inside in the fakeroot script.

We can however not re-use the BR2_ROOTFS_POST_FAKEROOT_SCRIPT feature
either because it is done before the filesystem command, but there is
nothing that is done after. Also, we don't want to add to, and modify a
user-supplied variable.

So, we introduce two new variables that packages can set to add the
commands they need to run to tweak the filesystem right at the last
moment.

Those hooks are not documented on-purpose; they are probably going to
only ever be used by systemd.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agosystem: separate sysv and systemd parts of the skeleton
Yann E. MORIN [Tue, 1 Aug 2017 22:52:21 +0000 (00:52 +0200)]
system: separate sysv and systemd parts of the skeleton

For systemd, we create a simple /etc/fstab with only an entry for /, as
systemd otherwise automatically mounts what it needs where it needs it.

systemd does not like that the content of /var be symlinks to /tmp,
especially journald that starts before /tmp is mounted, and thus the
journal files are hidden from view, which causes quite a bit of fuss...

Instead, move the current /var to a sysv-only skeleton.

systemd at install time will create the /var content it needs, so we
just create an empty /var for systemd.

systemd would create /home and /srv at runtime if they are missing, but
it is better to create them right now, to simplify supporting systemd on
a RO filesystem in the (near) future.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/skeleton: introduce sysv, systemd and none specific skeletons
Yann E. MORIN [Tue, 1 Aug 2017 22:52:20 +0000 (00:52 +0200)]
package/skeleton: introduce sysv, systemd and none specific skeletons

Currently, we use the same skeleton for sysv-like init systems and
systemd, even though systemd has some peculiarities that makes our
default skeleton unfit.

So, we'll need to provide different skeletons (really, only part of
it) for sysv-like and systemd. In addition, in order to support the
"no init system" (BR2_INIT_NONE) use case, we introduce a "none"
skeleton.

Introduce three new skeleton packages, aptly named skeleton-sysv,
skeleton-systemd and skeleton-none. All three are providers of the
skeleton virtual package, in lieu of the skeleton-common package,
which is now a simple dependency of all three new skeletons.

Those packages are empty for now. In followup changes:
  - sysv-specific stuff will be moved out of skeleton-common and into
    skeleton-sysv;
  - systemd-specific stuff will be added to skeleton-systemd.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Arnout:
 - merge with the patch that enables the BR2_INIT_NONE case
 - simplify the BR2_PACKAGE_SKELETON_COMMON_ONLY select logic]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Thomas:
 - remove the BR2_PACKAGE_SKELETON_COMMON_ONLY logic, and instead
   introduce a separate skeleton-none package for the BR2_INIT_NONE]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/skeleton-common: simplify staging install
Yann E. MORIN [Tue, 1 Aug 2017 22:52:19 +0000 (00:52 +0200)]
package/skeleton-common: simplify staging install

We don't really care what's going in staging, as long as it is properly
setup for merged/non-merged /usr, especially for the lib/ directory.

So we can just copy the skeleton as-is.

This simplifies maintenance, should we ever need to tweak the layout:
we'd just have to do it once in the skeleton directory to have it
propagated to both target and staging.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/skeleton: make it a virtual package
Yann E. MORIN [Tue, 1 Aug 2017 22:52:18 +0000 (00:52 +0200)]
package/skeleton: make it a virtual package

We now have two packages that can act as a skeleton, skeleton-common,
also known as our default skeleton, and skeleton-custom.

This means that the skeleton package can be a standard virtual package
now.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoskeleton-common: rename SKELETON_ROOT_PASSWORD to SKELETON_COMMON_ROOT_PASSWORD
Arnout Vandecappelle [Tue, 1 Aug 2017 22:52:17 +0000 (00:52 +0200)]
skeleton-common: rename SKELETON_ROOT_PASSWORD to SKELETON_COMMON_ROOT_PASSWORD

Package variables should always be prefixed with the package name. For
SKELETON_COMMON_ROOT_PASSWORD, this means we set the variable a second
time based on the value it previously had. Fortunately, this is fine
for make, even for recursively expanded variables.

This also allows to simplify the condition of the empty password - it's
not needed to set it again to empty if it already was empty.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/skeleton: split out into skeleton-common
Yann E. MORIN [Tue, 1 Aug 2017 22:52:16 +0000 (00:52 +0200)]
package/skeleton: split out into skeleton-common

Move all the handling of the default skeleton into a new package,
skeleton-common.

We don't name it skeleton-default, because it will be further split
later, into a skeleton for sysv and another for systemd, with some parts
still common between the two. So just name it skeleton-common right now;
this will save us a rename later.

While we're at it, also assign to SKELETON_COMMON_TARGET_FINALIZE_HOOKS
instead of directly to the global FINALIZE_HOOKS. Therefore, we don't
need to do all of that in a condition BR2_PACKAGE_SKELETON_COMMON==y.

Note: it would be technically sound to move the skeleton files together
within a sub-directory of the skeleton-common package. However, we refer
the user to those files, from various locations (manual, packages). It
will indeed be easier for the user to find those files in
system/skeleton/ rather than in package/skeleton-common/skeleton/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Arnout: remove the mkdir $(STAGING_DIR)/usr/include which was removed
         in skeleton.mk in master.]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/skeleton-custom: simplify target/staging install
Yann E. MORIN [Tue, 1 Aug 2017 22:52:15 +0000 (00:52 +0200)]
package/skeleton-custom: simplify target/staging install

For target install, we don't need to check the merged-usr symlinks
any more, it was already checked before.

For staging, instead of creating directories, just copy the same
skeleton, which was already checked to be correct.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Arnout: split off in a separate patch + wrote commit message]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/skeleton-custom: also check for missing directories
Yann E. MORIN [Tue, 1 Aug 2017 22:52:14 +0000 (00:52 +0200)]
package/skeleton-custom: also check for missing directories

In addition to checking the symlinks in the merged usr case, also check
whether /bin, /lib, /sbin and their /usr/... counterparts exist in the
non-merged case.

Missing directories are collected in the variable
SKELETON_CUSTOM_MISSING_DIRS. For symmetry and because it's more
logical, rename SKELETON_CUSTOM_NOT_MERGED_USR to
SKELETON_CUSTOM_NOT_MERGED_USR_DIRS.

When a directory is indeed missing, "stat" will print an error.
Buildroot *also* prints an error, which is clearer. So remove the error
from stat by redirecting it to /dev/null.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Arnout: split off in a separate patch + wrote commit message]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/skeleton-custom: rework the merged_usr and building conditions
Yann E. MORIN [Tue, 1 Aug 2017 22:52:13 +0000 (00:52 +0200)]
package/skeleton-custom: rework the merged_usr and building conditions

skeleton-custom.mk contains a huge condition for BR_BUILDING and for
BR2_ROOTFS_MERGED_USR. This makes the code difficult to follow, so
rework the condition a bit so that only the parts that really need to
be conditional are indeed conditional.

Note that there is no overhead in needlessly evaluation the "stat"
commands. Indeed, the assignments use late evaluation so the "stat"
is only executed when evaluating the condition - when skeleton-custom
is not selected, stat is never called.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Arnout: split off in a separate patch + wrote commit message]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/skeleton: split out into skeleton-custom
Yann E. MORIN [Tue, 1 Aug 2017 22:52:12 +0000 (00:52 +0200)]
package/skeleton: split out into skeleton-custom

For the custom skeleton, we practicaly do nothing, except ensure it
contains the basic, required directories, and that those are properly
setup wrt. merged /usr.

Furthermore, our current skeleton is not fit for systemd, and we'll
have to split things out into various skeletons.

So, off-load the custom skeleton into its own package.

Thus, the existing skeleton package is now limited to:

  - when using our default skeleton, install and tweak it properly;

  - when using a custom skeleton, do nothing except for depending on
    the skeleton-custom package.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Arnout: split off in a separate patch doing only this]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/libcodec2: disable unittest
Bernd Kuhls [Wed, 2 Aug 2017 16:52:17 +0000 (18:52 +0200)]
package/libcodec2: disable unittest

Quoting
https://svn.code.sf.net/p/freetel/code/codec2-dev/CMakeLists.txt
"# Unittest should be on for dev builds and off for releases."

If unittest is enabled libcodec2 depends on speex and libsamplerate.
To avoid these dependencies we simply disable unittest.

Fixes
http://autobuild.buildroot.net/results/da2/da2b6402c8fabd85a9ee728e8dbf7b78c5aa801e/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agosupport/testing: add runtime testing for init systems
Yann E. MORIN [Tue, 1 Aug 2017 22:52:11 +0000 (00:52 +0200)]
support/testing: add runtime testing for init systems

The "builtin" kernel does not boot a systemd-based system, so
we resort to building the same one as currently used by our
qemu_arm_vexpress_defconfig.

We test the 8 following combinations:

  - busybox, read-only, without network
  - busybox, read-only, with network
  - busybox, read-write, without network
  - busybox, read-write, with network

  - basic systemd, read-write, network w/ ifupdown
  - basic systemd, read-write, network w/ networkd
  - full systemd, read-write, network w/ networkd

  - no init system, read-only, without network

The tests just verify what the /sbin/init binary is, and that we were
able to grab an IP address. More tests can be added later, for example
to check each systemd features (journal, tmpfiles...)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
[Arnout: update .gitlab-ci.yml]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/samba4: bump version to 4.6.6
Bernd Kuhls [Sun, 23 Jul 2017 13:36:20 +0000 (15:36 +0200)]
package/samba4: bump version to 4.6.6

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/samba4: add optional dependency to dbus
Bernd Kuhls [Sun, 23 Jul 2017 13:36:19 +0000 (15:36 +0200)]
package/samba4: add optional dependency to dbus

samba4 picks up dbus as dependency if it was built before:

Checking for dbus                : yes
Checking for header dbus/dbus.h  : yes
Checking for library dbus-1      : yes

There is no configure option to control dbus support so we just make
sure dbus is built before samba4 to have reproducible builds.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/samba4: allow to use libtirpc instead of internal C implementation
Bernd Kuhls [Sun, 23 Jul 2017 13:36:18 +0000 (15:36 +0200)]
package/samba4: allow to use libtirpc instead of internal C implementation

This patch allows building samba4 with uClibc again after rpc support
was removed from uClibc. Building with musl is still broken:

The first error

../nsswitch/wins.c: In function ‘_nss_wins_gethostbyname_r’:
../nsswitch/wins.c:272:15: error: ‘NETDB_INTERNAL’ undeclared (first use in this function)
   *h_errnop = NETDB_INTERNAL;
               ^~~~~~~~~~~~~~
../nsswitch/wins.c:272:15: note: each undeclared identifier is reported only once for each function it appears in
../nsswitch/wins.c:349:14: error: ‘NETDB_SUCCESS’ undeclared (first use in this function)
  *h_errnop = NETDB_SUCCESS;
              ^~~~~~~~~~~~~

could be solved by applying
https://git.alpinelinux.org/cgit/aports/tree/main/samba/netdb-defines.patch

but then the build fails at

../ctdb/tests/src/test_mutex_raw.c: In function ‘main’:
../ctdb/tests/src/test_mutex_raw.c:170:28: error: ‘pthread_mutex_t {aka struct <anonymous>}’ has no member named ‘__data’
    printf("pid=%u\n", mutex->__data.__owner);
                            ^~

Therefore we disable musl support until a fix can be found.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas:
 - instead of setting SAMBA4_CONF_ENV within the libtirpc condition,
   introduce SAMBA4_CFLAGS and SAMBA4_LDFLAGS variables and use them
 - add missing dependency on host-pkgconf, needed because we call
   pkg-config to get the flags from libtirpc]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoCHANGES: update after binutils changes
Thomas Petazzoni [Tue, 1 Aug 2017 21:40:09 +0000 (23:40 +0200)]
CHANGES: update after binutils changes

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agobinutils: remove support for 2.26
Thomas Petazzoni [Sat, 29 Jul 2017 13:09:06 +0000 (15:09 +0200)]
binutils: remove support for 2.26

Now that binutils 2.29 has been introduced, and we have moved to
2.28.1 as the default version, it is time to drop support for binutils
2.26.x.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agobinutils: switch to use 2.28.x as the default version
Thomas Petazzoni [Sat, 29 Jul 2017 13:09:05 +0000 (15:09 +0200)]
binutils: switch to use 2.28.x as the default version

Now that binutils 2.29 has been released, it is time to move to
binutils 2.28.x as the default binutils version, instead of 2.27.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agogdb: force to use ncurses and not termcap for host-gdb
Thomas Petazzoni [Sat, 29 Jul 2017 20:06:26 +0000 (22:06 +0200)]
gdb: force to use ncurses and not termcap for host-gdb

Both our target and host gdb depend on ncurses (host-ncurses for
host-gdb, of course). However, while for the target we passs
--with-curses, we are not doing this for the host variant. Due to
this, host-gdb default to using the termcap library: if such a library
is available on the build system, it will be used instead of the
host-ncurses we have built. This causes the host gdb binary to depend
on a library that we do not provide in $(HOST_DIR), breaking the
principle of a standalone SDK (which should only depend on the C
library).

To solve this, we simply pass --with-curses in HOST_GDB_CONF_OPTS,
which forces host-gdb to use the host-ncurses library.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoCHANGES: update for 2017.08-rc1
Thomas Petazzoni [Tue, 1 Aug 2017 21:24:26 +0000 (23:24 +0200)]
CHANGES: update for 2017.08-rc1

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopython-hpack: fix build breakage due to UTF-8 formatted file
Yegor Yefremov [Tue, 1 Aug 2017 08:20:13 +0000 (10:20 +0200)]
python-hpack: fix build breakage due to UTF-8 formatted file

UTF-8 formatted file breaks installations on some systems:

Traceback (most recent call last):
  File "setup.py", line 34, in <module>
    long_description=open('README.rst').read() + '\n\n' + open('HISTORY.rst').read(),
  File "/home/peko/autobuild/instance-1/output/target/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 1125: ordinal not in range(128)

This patch replaces '§' with 'S' meaning 'Section' and hence converts file to plain ASCII.

Fixes:

  http://autobuild.buildroot.net/results/4189b2ddcd3d59c629af78e4d455a29c77f8c683/

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
[Thomas: add autobuilder reference.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/skeleton: select it rather than default to y
Yann E. MORIN [Tue, 25 Jul 2017 21:14:24 +0000 (23:14 +0200)]
package/skeleton: select it rather than default to y

Our current skeleton is tailored to sysv-like init systems; it is not
fit for systemd-based systems. So, in upcoming changes, we'll add
another skeleton for systemd.

This means we can no longer have the current skeleton default to 'y', or
it would be enabled also for systemd, which would be incorrect.

So, we remove the default to 'y' but have it selected by the default
skeleton choice.

However, we do not yet have a way to directly build (really, install)
the custom skeleton, it is built (really, installed) as a dependency of
the default skeleton. So we must also forcibly select the default
skeleton when using a custom one.

Until we have the means to do only one or the other; i.e. when we have a
virtual skeleton.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/skeleton: drop dependency on host-mkpasswd
Yann E. MORIN [Tue, 25 Jul 2017 21:14:23 +0000 (23:14 +0200)]
package/skeleton: drop dependency on host-mkpasswd

Setting the root pasword is done in a target-finalize hook, so we do not
need to enforce a dependency from the skeleton onto host-mkpasswd.

Dropping that dependency will simplify making skeleton a virtual
package (in up-coming changes).

Instead, it is now selected as any other package. As such, it is
guaranteed to be built before target-finalize.

This however introduces a slight change in behaviour: previously,
host-mkpasswd would only be built if we needed to hash the root password
from its plain-text value. Now, host-mkpasswd is always built as soon as
the root password is non-empty, even if already pre-hashed.

Since host-mkpasswd is a really tiny weeny package bundled in Buildroot,
with only two C files, built as a single unit with a single gcc call,
the overhead is really minimal. Compared to the simplifications this
will allow in the skeleton packages (plural: common, sysv, systemd,
custom) to come, this overhead is acceptable.

Yet another simplification, even if small, to ease providing multiple
skeletons.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agoqt5declarative: backport 'Fix alignment issue on ARMv7' patch to 5.9.1
Petar Koretic [Mon, 31 Jul 2017 20:32:06 +0000 (22:32 +0200)]
qt5declarative: backport 'Fix alignment issue on ARMv7' patch to 5.9.1

This resolves a QML issues reported in
https://bugreports.qt.io/browse/QTBUG-61522 that will be fixed in the
5.9.2.

Signed-off-by: Petar Koretic <petar.koretic@qaap.io>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/python-web2py: remove admin panel
Angelo Compagnucci [Wed, 28 Jun 2017 08:15:14 +0000 (10:15 +0200)]
package/python-web2py: remove admin panel

This commmit adds an option to remove admin panel to save
speace if not needed.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
[Thomas: fix indentation.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/python-web2py: move password generation
Angelo Compagnucci [Wed, 28 Jun 2017 08:15:13 +0000 (10:15 +0200)]
package/python-web2py: move password generation

This commit moves the password generation as a post build step.
This prepares the option to remove the admin panel from
installation.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agopackage/python-web2py: reduce installation size
Angelo Compagnucci [Wed, 28 Jun 2017 08:15:12 +0000 (10:15 +0200)]
package/python-web2py: reduce installation size

This commit exclude some useless files from standard installation to
save space on embedded systems.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 years agolibcodec2: bump to 0.7, switch to CMake
Olivier Schonken [Wed, 5 Jul 2017 11:42:36 +0000 (13:42 +0200)]
libcodec2: bump to 0.7, switch to CMake

Since version 0.6, libcodec2 switched buildsystem from autotools to
cmake.

The patches in the libcodec2 directory were removed because they were
only relevant to the autotools build, but another patch was added to
fix the codec2.pc file being installed.

For the cmake package unittests are disabled by default. The download
site is changed to http://files.freedv.org/codec2. An option is added
to be able to install examples to target.

Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
[Thomas: switch to 0.7, add patch to fix .pc file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>