Commit Graph

33065 Commits

Author SHA1 Message Date
Andy Shevchenko
3ae07b4746 efibootmrg: Allow build with uClibc
Details at https://github.com/rhinstaller/efibootmgr/issues/61.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
[Thomas: efivar still doesn't build on musl, so same for efibootmgr.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-27 16:43:27 +01:00
Andy Shevchenko
64551a8f5f efivar: allow build with uClibc
Details at https://github.com/rhinstaller/efivar/issues/76.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
[Thomas: tweak the dependency, efivar still doesn't build with musl.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-27 16:43:27 +01:00
Andy Shevchenko
7497818be7 efivar: bump to version 30
Use newest release.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-27 16:30:52 +01:00
Fabio Estevam
c111562706 linux: bump default to version 4.8.11
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-26 15:30:50 +01:00
Fabio Estevam
d764abd1b9 linux-headers: bump 4.{4, 8}.x series
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-26 15:30:41 +01:00
Sam bobroff
ac6785f12c package/qemu: add option to include tools
Add an option to QEMU to include the "tools" (configure option:
--enable-tools) in the target. This adds a dependency on pixman, but
that's already present.

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-26 15:27:44 +01:00
Arnout Vandecappelle
16a4241cb7 gcc: backport upstream patch for sync_8 in !glibc
gcc 4.7 introduced the sync_8 builtin functions for ARM. For ARM < v7,
this requires calling into the kernel. However, the failure path of
that call reports an error with the __write() function, which is a
glibc internal function. Therefore, it fails to link with uClibc or
musl. This was fixed in gcc 5.2.0, by replacing the __write() with
a plain write().

For sync_8 itself we have solved this with the conditions on
BR2_TOOLCHAIN_ARM_HAS_SYNC_8. However, the same function is also used
for the implementation of atomics.

For the internal toolchain, we can fix this by backporting the patch
to 4.9.4 and 4.8.5.

Fixes:
http://autobuild.buildroot.net/results/1db64b4830f499621e44523e0ef68191505e2ce9

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-26 15:17:09 +01:00
Vicente Olivert Riera
21a0ca235d package/{mesa3d, mesa3d-headers}: bump version to 13.0.1
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-26 15:07:47 +01:00
Romain Naour
9cf9f1e349 package/efl: bump to 1.18.3
Bug fixes release:
https://www.enlightenment.org/news/efl-1.18.3

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-26 15:01:16 +01:00
Waldemar Brodkorb
1938ad4efa qemu-ppc: fixup wrong startup example, use either -hda or -drive
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-26 15:00:19 +01:00
James Knight
40a60b7545 chrony: enable pps support
Chrony has the ability to support PPS. Its enablement is determined
primarily from the existence of `sys/timepps.h`. This file is provided
from the pps-tools package. Adjusting Chrony's Makefile to depend on the
pps-tools package if a developer has included pps-tools as part of a
build. Relates to 2cfc966f43.

Signed-off-by: James Knight <james.knight@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-26 14:59:36 +01:00
Vicente Olivert Riera
1ffcf364b6 cmake: bump version to 3.7.0
libuv is now a required dependency.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 23:49:52 +01:00
Thomas Petazzoni
83e207d7bc taskd: fix static linking issue with libuuid/libintl
libuuid depends on libintl in specific scenarios, but since taskd wasn't
using pkg-config to detect libuuid, this dependency on libintl was not
taken into account. This commit adds a patch to taskd that uses
pkg-config to detect libuuid.

Fixes:

  http://autobuild.buildroot.net/results/cb5ea871812651025722d42508d4f37702088800/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 23:45:00 +01:00
Nicolas Cavallari
fa62773826 python3: do not use the system OpenSSL in the host variant
host-python3 currently detect if there is an usable OpenSSL installation
and conditionnaly compiles the 'ssl', '_ssl' and '_hashlib' modules.
This may break compilation if the system's OpenSSL has been updated to
1.1.0 because of a bug in python, see https://bugs.python.org/issue26470
for details.

Unlike Python 2.7, Python 3 unconditionnaly compiles fallbacks for
common hash algorithm, so disabling OpenSSL will still leave Python 3
with implementations of common hash algorithm.

This adds a patch to configure.ac patch to implement a --disable-openssl
option.

Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 23:13:00 +01:00
Arnout Vandecappelle
311bc137da toolchain: kill ADI Blackfin toolchain
This toolchain has many problems which are fixed in contemporary gcc
and uClibc-ng. In addition, several hacks are needed to be able to
work with this toolchain. All these hacks are removed as well.  Also
the package exceptions for this toolchain are removed.

The BR2_BFIN_INSTALL_FDPIC_SHARED and BR2_BFIN_INSTALL_FLAT_SHARED
options don't get a legacy entry. For the ADI toolchain, there already
is a legacy entry, so it doesn't make sense to add it twice. For other
external toolchains, these options didn't actually work, because they
rely on the specific layout of the ADI toolchain.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 23:00:01 +01:00
Arnout Vandecappelle
006ba68a30 toolchain-external: support gcc < 4.3
We currently support gcc as old as 4.3. However, Buildroot works
perfectly well with even older gcc versions (tested with 4.1). So we
can add an option BR2_TOOLCHAIN_EXTERNAL_GCC_OLD to support that. The
help text of this option is written with plenty of discouragement.

We use _OLD and not something like _PRE_4_3, because at some point we
will likely remove the 4.3 option and what would then require a name
change.

We don't set any _AT_LEAST option in this case because it's no use -
there is no lower bound on the version in this case. We therefore leave
BR2_TOOLCHAIN_GCC_AT_LEAST empty (the implicit default). When it is
empty, we don't do a version check at all in check_gcc_version
(previously we errored out when it was empty).

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:59:10 +01:00
Vicente Olivert Riera
abeab9ce93 libatomic_ops: bump version to 7.4.4
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:53:31 +01:00
Vicente Olivert Riera
8fa73e6bd6 libatomic_ops: add support for MIPS architecture
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:53:26 +01:00
Vicente Olivert Riera
507025a933 moarvm: select libffi when building for MIPS
Otherwise the compilation will fail like this:

./libmoar.so: undefined reference to `dcCallbackThunkEntry'

See: https://github.com/MoarVM/MoarVM/issues/222

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:52:55 +01:00
Vicente Olivert Riera
a8981b3785 moarvm: enable optional support for libffi
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:52:19 +01:00
Vicente Olivert Riera
40cbdf6de0 moarvm: use pkgconfig to find libraries and headers
MoarVM's Configure.pl script uses pkgconfig to find libraries and
headers, but it uses the one installed in the host machine which is
wrong and can lead to errors of unsafe include paths.

Instead, make it depend on the host-pkgconf package and specify the path
to our pkgconfig binary by using the --pkgconfig configure option.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:41:58 +01:00
Vicente Olivert Riera
23b949fdb0 moarvm: bump version to 2016.11
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:41:47 +01:00
Thomas Petazzoni
72dcc7c252 qextserialport: fix line endings in patch 0002
Fixes:

  http://autobuild.buildroot.net/results/074d379e4d491dd454726bed666a7e1028333ef7/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:40:59 +01:00
Sam bobroff
d2ff457e88 package/qemu: fixup enable host QEMU for powerpc64/powerpc64le
Fixes next commit d634d9dda7, which itself
fixes:

  http://autobuild.buildroot.net/results/f58ec73d906a5da49a88ed78492e3b5bf8cecdd4/

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:16:08 +01:00
Sam bobroff
5a8d3f83b5 package/qemu: enable host QEMU for powerpc64/powerpc64le
Needed to fix:

  http://autobuild.buildroot.net/results/f58ec73d906a5da49a88ed78492e3b5bf8cecdd4/

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:15:54 +01:00
Sam bobroff
9d49e3c0e9 package/qemu: fixup enable host QEMU for powerpc64/powerpc64le
Fixes next commit d634d9dda7, which itself
fixes:

  http://autobuild.buildroot.net/results/f58ec73d906a5da49a88ed78492e3b5bf8cecdd4/

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:12:16 +01:00
Sam Mendoza-Jonas
f36dccef81 package/kexec-lite: Update to latest version
Upstream kexec-lite now has support for kexec on POWER9 based machines.
Update so this works in simulators and is ready for when real machines
are available.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Acked-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:11:33 +01:00
Dagg Stompler
df6788e72b odroid-scripts: bump version to cfd289b1d69136b8bfd725d90cd648da4654f2bd
- add support for new monitor modes.
- fix cvbs modes

Signed-off-by: Dagg Stompler <daggs@gmx.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:02:08 +01:00
Dagg Stompler
3fdb3af631 odroid-scripts: init display as early as possible
this commit will init the display as early as possible so the user can
see on screen the boot process.
the displey init will be called after the logging init to provide some
logging of the init.

Signed-off-by: Dagg Stompler <daggs@gmx.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 22:02:02 +01:00
Thomas Petazzoni
0c029a7acc quagga: fix typo s/BPG/BGP/
Fixes bug #9431.

Reported-by: xichaoli <xichao@sina.cn>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 21:55:03 +01:00
Jörg Krause
1683c91c12 package/ola: fix missing numpy
OLAs RDM test option needs NumPy.

Note that we need to pass `ac_cv_have_pymod_numpy=yes` as NumPy builds some
shared libraries and ola checks for NumPy using a host Python test program
which fails with 'wrong ELF class'.

Fixes:
http://autobuild.buildroot.net/results/750/750c9bcc753e2c1b7b05d6c43fabf4c405e15f04/
http://autobuild.buildroot.net/results/24a/24ada1e0ec695cb12028048728a9d1e2bcf75a03/
http://autobuild.buildroot.net/results/111/111c5f3eed6a5931de27a1b0b02be6e2114198e6/
.. and more.

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 17:49:01 +01:00
Arnout Vandecappelle
9d5241615a qextserialport: tell qmake to generate .pc file
Instead of creating our own .pc file with a patch, just tell qmake to
do it by adding create_pc to CONFIG.

This corrects the .pc file for Qt5. Previously, the include directory
was set to /usr/include, while for Qt5 it should be /usr/include/qt5.
This hasn't caused any autobuild failures since no other package uses
qextserialport.

Note, however, that the package is now called Qt5ExtSerialPort in Qt5,
while before it was qextserialport like in the Qt4 case.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 17:47:51 +01:00
Arnout Vandecappelle
ccd49eec60 qextserialport: install QExtSerialPort header with qmake
Instead of manually copying the QExtSerialPort header introduced in
patch 0002, update the patch to include this header in the qmake
project file so it gets properly installed.

While we're at it, convert to a git-formatted patch.

Fixes:
http://autobuild.buildroot.net/results/818b564a6e23bcecf4afc7e53811227b08e5f4eb
http://autobuild.buildroot.net/results/0b6c2d7c63329f5e790f02ccd29f14a317eadc71
http://autobuild.buildroot.net/results/ac552b63c6fb099a136066cda421f68e639808fa

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 17:47:32 +01:00
Alexey Brodkin
b4c050e9af gpsd: Fix building with gcc 6.x
When building C++ parts of gpsd (for example Qt bindings) with gcc 6.x following
failure happens, see [1]:
------------------------------>8-------------------------------
<command-line>:0:0: warning: "_LARGEFILE_SOURCE" redefined
<command-line>:0:0: note: this is the location of the previous definition
In file included from clock_gettime.c:10:0:
compiler.h: In function 'void memory_barrier()':
compiler.h:93:25: error: 'memory_order_seq_cst' was not declared in this scope
     atomic_thread_fence(memory_order_seq_cst);
                         ^~~~~~~~~~~~~~~~~~~~
compiler.h:93:25: note: suggested alternative:
In file included from .../output/host/usr/arc-buildroot-linux-uclibc/include/c++/6.2.1/atomic:41:0,
                 from compiler.h:75,
                 from clock_gettime.c:10:
.../output/host/usr/arc-buildroot-linux-uclibc/include/c++/6.2.1/bits/atomic_base.h:62:7: note:   'memory_order_seq_cst'
       memory_order_seq_cst
       ^~~~~~~~~~~~~~~~~~~~
In file included from clock_gettime.c:10:0:
compiler.h:93:45: error: 'atomic_thread_fence' was not declared in this scope
     atomic_thread_fence(memory_order_seq_cst);
                                             ^
compiler.h:93:45: note: suggested alternative:
In file included from .../output/host/usr/arc-buildroot-linux-uclibc/include/c++/6.2.1/atomic:41:0,
                 from compiler.h:75,
                 from clock_gettime.c:10:
.../output/host/usr/arc-buildroot-linux-uclibc/include/c++/6.2.1/bits/atomic_base.h:101:3: note:   'std::atomic_thread_fence'
   atomic_thread_fence(memory_order __m) noexcept
   ^~~~~~~~~~~~~~~~~~~
scons: *** [qt-clock_gettime.os] Error 1
scons: building terminated because of errors.
------------------------------>8-------------------------------

As discussed on gpsd mailng list here [2] the only work-around as of today is to
add "-std=gnu++98" to both CFLAGS and CXXFLAGS which we implement here.

Fixes:
http://autobuild.buildroot.net/results/e8593a8ebf2f05cc93235a8129a2ba8b839d6d90
http://autobuild.buildroot.net/results/ff766f4f514c9cb4891873167f4e9b7870051883
http://autobuild.buildroot.net/results/1a4/1a4dbd9ee5e0c7255843228731beab030ca005ca
http://autobuild.buildroot.net/results/1a4/1a4dbd9ee5e0c7255843228731beab030ca005ca
and many others, see http://autobuild.buildroot.net/?reason=gpsd-3.16

[1] http://autobuild.buildroot.net/results/e85/e8593a8ebf2f05cc93235a8129a2ba8b839d6d90/build-end.log
[2] http://lists.nongnu.org/archive/html/gpsd-dev/2016-09/msg00082.html

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Cc: Sergio Prado <sergio.prado@e-labworks.com>
Cc: James Knight <james.knight@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 17:45:26 +01:00
Yann E. MORIN
b14b02698e core/br2-external: restore compatibility with old distros
Currently, the br2-external script uses bash-4's associative arrays.

However, some oldish enterprise-class distros like RHEL5 still use
bash-3.1 which lacks associative arrays.

We restore compatibility with those oldish distros using 'eval' to
emulate associative arrays, as suggested by Arnout.

Reported-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:31:20 +01:00
Zakharov Vlad
f4cd8ceb9c trousers: Pass "-mno-compact-casesi" when building for ARCv1
Compact casesi patterns don't have a reload version. This causes build
failures of "trousers" package for ARC.

Current patch disables compact casesi patterns for ARCv1 (750D and 770D)
via passing "-mno-compact-casesi" option when compiling "trousers".

This change is a temporary workaround and the feature is going to be
fixed in the next ARC toolchain release version.

Fixes:
http://autobuild.buildroot.org/results/d2c/d2c16d8ba022b070c4dbeba5e7ea41f14d706691//

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:30:38 +01:00
Danomi Manchego
171d4103c5 Makefile: fix distclean removal of $(O)
The distclean target no longer removes the "output" directory for
in-tree builds, because $(O) is no longer just "output" in that
case. Change the test to be against "$(CURDIR)/output", to match
the O setting, and a similar test elsewhere in the same Makefile.

Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:29:45 +01:00
Sam bobroff
d634d9dda7 package/qemu: enable host QEMU for powerpc64/powerpc64le
Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:23:46 +01:00
Gaël PORTAY
5b7013c4ae Makefile: fix ignored trace at target-finalize
Make may throw an error (but ignored) trace when cleaning up the
rootfs.

The target-finalize rule intends to remove the folder
`$(TARGET_DIR)/usr/share' but this directory may still contain items
(such as the `udhcpc' helper script) and causes the rmdir to fail.

The stderr output is redirected to /dev/null but it returns and error
which is escaped by the leading `-'; but make reports an ignored-error.

See the log below:
$ make
(...)
rm -rf (...)/target/usr/share/gtk-doc
rmdir (...)/target/usr/share
rmdir: failed to remove '(...)/target/usr/share': Directory not empty
make[1]: [Makefile:650: target-finalize] Error 1 (ignored)
find /(...)/target -type f \( -perm /111 -o -name '*.so*' \) -not \( -name 'libpthread*.so*' -o -name 'ld-*.so*' -o -name '*.ko' \) -print0 | xargs -0 (...)/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-strip --remove-section=.comment --remove-section=.note 2>/dev/null || true

This patch apply the same rule at the instruction immediately after:
* redirecting stderr to /dev/null (already done) and
* executing true if the `rmdir' instruction fails.

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:21:53 +01:00
Waldemar Brodkorb
921c94720b gcc: the special workaround for ARC is no longer required
It seems with the change to gcc 6.x based toolchain this
workaround is no longer required. Tested with an arc hs toolchain.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Acked-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:16:41 +01:00
Arnout Vandecappelle
207294ffa9 makedevs: remove target package
The makedevs package is a fork of the makedevs tool from busybox. It is
part of the Buildroot infrastructure, not something that should be used
on the target. It something like this is needed on the target, upstream
busybox should be used. And if one of the Buildroot-specific features
is needed, then that feature should be upstreamed to busybox.

Besides, there were already two things wrong with the target package:
- it didn't take into account the overlap with busybox (no depends on
  BR2_PACKAGE_BUSYBOX_SHOW_OTHERS, no dependency on busybox);
- it didn't take into account the libcap feature.

The target package was introduced more or less accidentally in 81cd9d45
where the intention was to make it more similar to other packages.

So, kill it with fire.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:12:06 +01:00
Jérôme Pouiller
3111f6a510 Makefile: make exported variable definitions consistent
Use a space before and after the equal sign when defining the TZ, LANG
and LC_ALL variables, as suggested by the Buildroot coding style.

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:01:42 +01:00
Jérôme Pouiller
bedb16105d Config.in: improve BR2_REPRODUCIBLE help text
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:01:25 +01:00
Jérôme Pouiller
68db7210fd fs/common: lock modification times in $TARGET_DIR
Make sure all files in $TARGET_DIR have a defined modification time
before to generate filesystems.

This work was sponsored by `BA Robotic Systems'.

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 22:59:21 +01:00
Gilles Chanteperdrix
a8254d32fd busybox: disable build timestamps for reproducible builds
Busybox includes some information about the build environment in its
binary. For BR2_REPRODUCIBLE, remove that information.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 22:56:53 +01:00
Gilles Chanteperdrix
af109fb444 linux: override build timestamp for reproducible builds
Linux kernel include a few information about build environment in its binary.
This feature is incompatible with BR2_REPRODUCIBLE. This patch overload build
information when BR2_REPRODUCIBLE is enabled.

Note that usage of KBUILD_BUILD_TIMESTAMP is not mandatory since Buildroot
use `fakedate'. However, native solution is prefered when upstream
provide one.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 22:56:49 +01:00
Jérôme Pouiller
59f9c4ca9f fs/tar: make results reproducible
In order to make tar images reproducible, force files order in tarball.

This work was sponsored by `BA Robotic Systems'.

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 22:55:34 +01:00
Jérôme Pouiller
9b91b21dae Makefile: add '-n' to gzip invocations to improve reproducibility
Default invocation to gzip include timestamp in output file. This feature is
incompatible with BR2_REPRODUCIBLE. It is possible to disable it with '-n'.

The environment variable GZIP can hold a set of default options for gzip. So
instead to find all gzip invocation in build process, we just export 'GZIP=-n'.

Notice bzip2, lzma and xz are not impacted by this problem. On the other hand, lzop
does include timestamp and does not provide any way to disable it.

This work was sponsored by `BA Robotic Systems'.

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 22:55:24 +01:00
Gilles Chanteperdrix
9befe94baf Makefile: generate SOURCE_DATE_EPOCH for reproducible builds
When reproducibility is requested, generate a global SOURCE_DATE_EPOCH
environment variable which contains either the date of Buildroot last
commit if running from a git repository, or the latest release date.

This means that all packages embedding build dates will appear to
have the same build date, so in case of new commit or release, all
packages will appear to have been changed, even though some of them
may not have changed in fact.

The meaning of SOURCE_DATE_EPOCH is specified by the following
specification:
  https://reproducible-builds.org/specs/source-date-epoch/

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 22:55:17 +01:00
Arnout Vandecappelle
b5c00f0908 toolchain-external: remove Arago toolchains
The Arago toolchains are no longer maintained and haven't been updated
for a long time.

With this removal, all the legacy toolchain-external support can be
removed as well.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 22:32:14 +01:00