Commit Graph

37225 Commits

Author SHA1 Message Date
Baruch Siach
73240a5b68 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>
2017-08-09 23:00:57 +02:00
Baruch Siach
8e13f7e11e 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>
2017-08-09 23:00:51 +02:00
Bernd Kuhls
6e6208ea79 package/snappy: remove pthread handling for static builds
Commit 0e2ee0e6e8 (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 d26282b3aa (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>
2017-08-09 22:42:58 +02:00
Peter Seiderer
bb95fef1e0 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>
2017-08-08 20:45:07 +02:00
Bernd Kuhls
50ace0bcc3 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>
2017-08-08 17:52:07 +02:00
Thomas Petazzoni
163b6a5b39 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>
2017-08-08 17:51:02 +02:00
Bernd Kuhls
1291528bde 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>
2017-08-08 17:50:39 +02:00
Bernd Kuhls
2f33e4556b 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>
2017-08-08 17:49:24 +02:00
Bernd Kuhls
a4a6c74171 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>
2017-08-08 17:48:09 +02:00
Bernd Kuhls
d38797edee 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>
2017-08-08 17:48:00 +02:00
Waldemar Brodkorb
5cbfab1c20 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>
2017-08-08 17:47:55 +02:00
Waldemar Brodkorb
8a8800d156 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>
2017-08-08 17:47:55 +02:00
Waldemar Brodkorb
6278263355 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>
2017-08-08 17:47:55 +02:00
Baruch Siach
0cfe1332d8 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>
2017-08-08 17:14:04 +02:00
Baruch Siach
f6756d6915 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>
2017-08-08 17:11:20 +02:00
Peter Seiderer
2d29f050d5 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>
2017-08-08 17:09:14 +02:00
Angelo Compagnucci
03d5dad05f 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>
2017-08-08 17:07:20 +02:00
Joshua Henderson
4d555442b3 DEVELOPERS: add Joshua Henderson for qt5wayland
Add myself and include the qt5/qt5wayland package.

Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-08-04 23:57:02 +02:00
Adam Duskett
eb7a53e5af netatalk: bump to version 3.1.9
This version is compatible with LibreSSL.

Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-08-04 23:28:50 +02:00
Thomas Petazzoni
cf821efbd0 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>
2017-08-04 22:01:48 +02:00
Thomas Petazzoni
dcfdf82e53 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>
2017-08-04 22:01:38 +02:00
Marcus Hoffmann
5a5e76381f dbus: add upstream patch to fix startup hang with with expat >= 2.2.1
After c0ad6ded01 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>
2017-08-04 21:50:24 +02:00
Stefan Becker
9682fcaf46 package/skeleton-common: fix recursive variable
This fixes a recursive variable definition introduced by the refactoring
in commit 120307520f. 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>
2017-08-03 12:31:55 +02:00
RJ Ascani
2fdc07c335 azmq: Add new package
The azmq library provides Boost Asio style bindings for ZeroMQ. This
library is built on top of ZeroMQ's standard C interface and is intended
to work well with C++ applications which use the Boost libraries in
general, and Asio in particular.

Signed-off-by: RJ Ascani <rj.ascani@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-08-03 09:12:13 +02:00
Thomas De Schampheleire
da32b49f00 instrumentation: extend packages-file-list.txt with symlinks and directories
Using the package instrumentation hooks, a file packages-file-list.txt is
created containing the list of files installed by a package with their size.

Due to the use of 'find -type f', symbolic links to files are not included
in this file list. Since the original purpose of this file was to calculate
the total size of a package and symbolic links have file size 0, this was
not a problem.

However, if packages-file-list.txt is reused for other purposes, for example
to get a complete list of files installed by a package regardless of size,
symbolic links to files are important too.

Likewise, to get a complete view of what a package installs, directories
should be included too.

Update the instrumentation hook accordingly.
Although for files an md5sum is taken, we cannot do this for directories.
Instead, mimic the output of md5sum with a fake hash string.

Note: for directories that are used by several packages, e.g. /etc/init.d/,
the package that created the directory will be treated as the 'owner' of
that directory.  This gives a somewhat distorted view of ownership.
Similarly, the package size reported by 'make graph-size' (based on
packages-file-list.txt) will include the 'size' of a directory for that
owner, which is reported as e.g. 4096 bytes.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-08-03 00:16:41 +02:00
Thomas De Schampheleire
a7ec12543f instrumentation: extract duplication to get list of installed files
Before and after the building of each package, the instrumentation hooks are
run. One of these hooks obtains the list of files installed by a package.

The code to obtain this list is currently duplicated in the start and end
part of the hook. While the amount of duplication is currently small, a
subsequent patch will make more changes to this code, increasing the
duplication.

Therefore, split off into a helper function.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-08-03 00:16:41 +02:00
Joshua Henderson
4073fd0377 qt5wayland: new package
QtWayland is a Qt 5 module that wraps the functionality of Wayland.

Cc: Julien Corjon <corjon.j@ecagroup.com>
Cc: Brent Sink <brents_3@hotmail.com>
Cc: Naoki Matsumoto <n-matsumoto@melcoinc.co.jp>
Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
[Arnout:
 - select wayland instead of depending on it;
 - propagate jscore dependency from qt5declarative
 - re-order select/depends statements
 - rewrite comment to only refer to GL backend (jscore is an arch
   dependency)
 - rewrap help text of BR2_PACKAGE_QT5WAYLAND_COMPOSITOR]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-08-03 00:16:41 +02:00
Fabio Estevam
a8480e3b2a imx6q-sabresd: Add a qt5 defconfig variant
Introduce imx6q-sabresd_qt5_defconfig that supports the opensource
Etnaviv graphical stack.

This defconfig provides a way to quickly test some graphical applications,
such as kmscube, qt5, glmark2.

Currently kernel mainline exhibits issues when running cpufreq as ondemand
governor on mx6, so add a linux fragment that disables such option for the
time being.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
[Arnout:
 - Add Fabio to DEVELOPERS
 - Rename linux config fragment to linux_qt5.fragment
 - Add comment to linux_qt5.fragment why it is needed
 - Add explicit CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y to it
 - Reorder defconfig entries to they match imx6q-sabresd_defconfig
 - Remove strace and host-uboot-tools, neither seems to be needed
 - Drop BR2_PACKAGE_QT5BASE_LICENSE_APPROVED, it no longer exists
 - Replace BR2_TARGET_ROOTFS_EXT2_BLOCKS with BR2_TARGET_ROOTFS_EXT2_SIZE
 - Regenerate .gitlab-ci.yml]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-08-03 00:16:41 +02:00
Thomas Petazzoni
b63fdf4714 Update for 2017.08-rc1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-08-02 23:00:13 +02:00
Adam Duskett
cdb1117be0 python-systemd: bump to version 234
Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-08-02 22:53:54 +02:00
Thomas Petazzoni
c472d8a4b9 CHANGES: final update before 2017.08-rc1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-08-02 22:49:54 +02:00
Bernd Kuhls
27db56397b 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>
2017-08-02 22:48:35 +02:00
Thomas Petazzoni
90a1b81931 CHANGES: update with gcc 7.x graphite optimization bug fixed
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-08-02 22:23:00 +02:00
Adam Duskett
333dccb144 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>
2017-08-02 21:49:00 +02:00
Rahul Bedarkar
3edad4614b 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>
2017-08-02 21:46:54 +02:00
Michał Łyszczek
f82bd2c9df 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>
2017-08-02 21:45:26 +02:00
Max Filippov
33ac54cee2 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>
2017-08-02 21:42:22 +02:00
Max Filippov
83f7fb0d5b 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>
2017-08-02 21:42:17 +02:00
Thomas Petazzoni
0a1e508baf CHANGES: update with the cloog removal
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-08-02 21:39:25 +02:00
Thomas Petazzoni
64fdc8c0ff 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>
2017-08-02 21:39:25 +02:00
Andrey Yurovsky
94afc741a0 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>
2017-08-02 21:37:46 +02:00
Andrey Yurovsky
d16b6bf9b9 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>
2017-08-02 21:16:45 +02:00
Thomas Petazzoni
d64d121696 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>
2017-08-02 21:12:43 +02:00
Yann E. MORIN
dd9dfb64ea 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>
2017-08-02 21:00:44 +02:00
Yann E. MORIN
26085bbbd5 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>
2017-08-02 20:59:27 +02:00
Yann E. MORIN
4628b6f3b4 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>
2017-08-02 20:58:27 +02:00
Yann E. MORIN
76fc9275f1 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>
2017-08-02 20:04:29 +02:00
Yann E. MORIN
c0fd0ac655 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>
2017-08-02 19:49:06 +02:00
Yann E. MORIN
175a96c490 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>
2017-08-02 19:31:41 +02:00
Yann E. MORIN
cb09e1c81f 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>
2017-08-02 19:31:09 +02:00