Commit Graph

27705 Commits

Author SHA1 Message Date
Gary Bisson
38efbf7255 gst1-plugins-bad: add install to staging directory
gst1-imx package links against libgstphotography for its imxv4l2src
plugin.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 21:46:08 +01:00
Gary Bisson
c353a7f763 libfslvpuwrap: bump to version 1.0.61
Changelog:
- Enable resolution change for H.263 and VP8

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/f11936b

This package has been implicitely tested through gstreamer as the
plugins rely on it for vpu decoding:
 # gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm
 # gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
 # gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
   matroskademux ! imxvpudec ! imxipuvideosink

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 21:46:08 +01:00
Gary Bisson
e22f85b180 libfslparser: bump to version 4.0.7
Changelog:
- Add h264 parser version.
- Support wide and 'ms 0x0 0x11' adpcm tag.
- Support hev1 tag for hevc video codec.
- TS segment fault.
- Improve mkv parser's loading time when create parser with large size
file.

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/6406ad4
https://github.com/Freescale/meta-fsl-arm/commit/09a532c
https://github.com/Freescale/meta-fsl-arm/commit/371df94

This package has been implicitely tested through gstreamer as the 0.10
plugin relies on it:
 # gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 21:46:08 +01:00
Gary Bisson
0a368ddef4 libfslcodec: bump to version 4.0.7
Changelog since 4.0.3:
- Add mx7 SoC support.
- Add test binary to release package.
- Fix segmentation fault issue with only standard build.
- Build std only for arm11 and arm12.
- Fix some mp3_dec noise issue of c code for arm11 and arm9.

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/47b2677
https://github.com/Freescale/meta-fsl-arm/commit/c88fd22
https://github.com/Freescale/meta-fsl-arm/commit/3220a4c

This package has been implicitely tested through gstreamer as the 0.10
plugin relies on it:
 # gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 21:46:08 +01:00
Gary Bisson
84be4d4e31 freescale-imx: remove FREESCALE_IMX_VERSION
As all the packages now have a version which doesn't depend on the BSP
version.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 21:46:08 +01:00
Gary Bisson
2a58ad513a imx-lib: bump to version 5.1
Change version to be independent of BSP version.  This limits
confusion on future BSP updates that do not include imx-lib updates.

Changelog since 3.14.28-1.0.0_ga:
- Add i.MX 7D support.
- Change LICENSE file.
- Enable pxp libraries for i.MX 6UltraLite.
- Fix rng and shara2 to exclude the 6UL platform to avoid build breaks

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/b299454
https://github.com/Freescale/meta-fsl-arm/commit/5f28af0

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 21:46:08 +01:00
Gary Bisson
2bd5740421 imx-kobs: bump to version 5.1
Use a different versioning schema based on package versioning
instead of BSP version. This way, if a new BSP version does
not bump this package, we can keep this package unchanged as well.

Changelog since 3.14.28-1.0.0_ga:
- Add fixes for maximum ecc strength for each platform.
- Add mx7 boot config support.
- Add i.MX 6UltraLite support.
- Join the ecc with real FCB data when not byte-aligned.
- Generalize the encode_bch_ecc function for different configurations.

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/8d47a2e
https://github.com/Freescale/meta-fsl-arm/commit/70edf16

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 21:46:08 +01:00
Gary Bisson
923155df19 firmware-imx: bump to version 5.2
Use a different versioning schema based on package versioning
instead of BSP version. This way, if a new BSP version does
not bump this package, we can keep this package unchanged as well.

VPU firmware upgraded to v3.1.1_r46067
- Low Latency fixes for H.264 encoder
- Wrong frame number fix for H.264 decoder
- Decode failure fix for H.264 decoder with multi-SPS/PPS headers

The package adds the EPDC waveforms and the needed changes to properly
install those were done in the firmware-imx.mk file.

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/d869826
https://github.com/Freescale/meta-fsl-arm/commit/075a5b1

This package has been implicitely tested through gstreamer as the
plugins rely on them for vpu decoding for instance:
 # gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
   matroskademux ! imxvpudec ! imxipuvideosink

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
[Thomas:
 - fix typo in commit logs
 - remove ; \ and ; at the end of commands, since they were not
   needed.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 21:46:08 +01:00
Gustavo Zacarias
1dbc3c30a2 configs/raspberrypi: add dtb for compute module
[Peter: describe what 'CM' stands for, update comment]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 21:26:45 +01:00
Gustavo Zacarias
38172747f8 rpi-firmware: version bump
To match the previous kernel version bump.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 21:26:45 +01:00
Gustavo Zacarias
d0e2e6fdaf configs/raspberrypi{,2}: bump to kernel version 4.1.15
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 21:26:45 +01:00
Gustavo Zacarias
c42cb74b02 strongswan: unavailable for static builds
Uses dlopen in plugin_loader (not optional), fixes:
http://autobuild.buildroot.net/results/601/601d8dc1654d8733db49b195139e12437663034c/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:59:55 +01:00
Gustavo Zacarias
093681947f vala: bump to version 0.30.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:59:00 +01:00
Thomas Claveirole
196eb53ac8 package/autoconf-archive: bump to version 2015.09.25
Signed-off-by: Thomas Claveirole <thomas.claveirole@green-communications.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:57:23 +01:00
Gustavo Zacarias
55052ea83f linux-headers: bump 4.{1, 3, 4}.x series
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:56:27 +01:00
Luca Ceresoli
9af3d3f086 Update copyright year
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:51:33 +01:00
Gustavo Zacarias
63d2545475 linux: bump default to version 4.4.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:50:19 +01:00
Romain Naour
2956afbdbc toolchain-external: bump Linaro ARMEB to 2015.11-2
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: only add the symlink with the old 2014.09 Linaro toolchain,
for the newer ones, it is no longer needed.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:38:02 +01:00
Romain Naour
7199d7a9df toolchain-external: bump Linaro ARM to 2015.11-2
Runtime tested with Qemu 2.3.1 using a configuration based on
qemu_arm_vexpress_defconfig with BR2_ARM_ENABLE_VFP and
BR2_ARM_EABIHF selected

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: only add the symlink with the old 2014.09 Linaro toolchain,
for the newer ones, it is no longer needed. This has been runtime
tested in Qemu.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:38:02 +01:00
Waldemar Brodkorb
7bfb215681 uclibc: update uClibc-ng to 1.0.12
New release contains a security fix for the resolver library parts.
It contains exp10(), so some patches in buildroot might be obsolete,
when the buildroot toolchains are rebuilt.
It also contains a fix for the symbol clashing with bind9.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:43 +01:00
Thomas Petazzoni
824e303eab uclibc: remove version selection
Since we now only support uClibc-ng, remove the version selection from
the uclibc package.

Note that the BR2_UCLIBC_VERSION_SUPPORTS_* hidden booleans, which
were only used to allow each uClibc version to specify which thread
implementation they support and on which architecture are removed. Now
such architecture dependencies are directly encoded in the "Thread
library implementation" choice.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:43 +01:00
Thomas Petazzoni
07596f23a2 uclibc: remove support for the snapshot version
The snapshot version points to the original uClibc project, which is
dead. Moreover, we no longer support "snapshot" versions for any other
Buildroot component, so there is no reason to keep it for uClibc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:43 +01:00
Thomas Petazzoni
0a40d0191a uclibc: remove 0.9.33 version
The upstream project is dead, the 0.9.33 version requires tons of
patches, and uclibc-ng has now successfully replaced uclibc. It is
time to get rid of the 0.9.33 version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:43 +01:00
Thomas Petazzoni
1a22254275 samba4: remove dependency on specific C libraries
samba4 relies on the $ORIGIN feature of the dynamic linker, which used
to not be implemented in old uClibc versions. However:

 - this feature is supported by glibc
 - this feature is supported by uClibc-ng, which is the only uClibc
   version we are going to support
 - this feature is supported by musl

Consequently, we can completely remove the dependency of samba4 on
certain C libraries.

Note that despite this commit, samba4 still cannot be chosen when the
musl C library is used, because samba4 requires native RPC support,
which musl doesn't provide.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:42 +01:00
Thomas Petazzoni
0fed01a500 vlc: remove dependency on C library
vlc uses <spawn.h> which was not available in old uClibc
versions. However, since we are removing support for uClibc 0.9.33, we
can get rid of such dependency. In addition, <spawn.h> is provided by
musl, and therefore VLC can be enabled with this C library.

Consequently, this commit completely removes any C library dependency for
the vlc package.  The only special case that needs to be handled is the
Blackfin external toolchain from Analog Devices, which still uses an old
uClibc version that doesn't provide <spawn.h>, but as vlc uses fork() we add
a depends on BR2_USE_MMU (which covers the blackfin toolchain).

[Peter: add BR2_USE_MMU dependency]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:42 +01:00
Thomas Petazzoni
d9c26b1ffc mongrel2: allow using uClibc but only on certain architectures
mongrel2 uses the {get,make,swap}context functions:

 - With glibc, no problem, they are available on all supported
   architectures

 - With uClibc, they are available only on a subset of the
   architectures. Until now, only BR2_UCLIBC_VERSION_SNAPSHOT
   configurations were allowed to select mongrel2, but we are going to
   get rid of the uClibc snapshot version, and uClibc-ng is as capable
   as the uClibc snapshot. However, only certain architectures have
   the *context() functions.

 - With musl, there is no *context() support.

Since this dependency is quite complicated, we introduce a
BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS hidden boolean to encode which C
libraries are supported.

Also, listing the supported uClibc architectures would be too long in
the comment, so we simply indicate that the package needs uClibc or
glibc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:42 +01:00
Thomas Petazzoni
60a062b74f lttng-babeltrace: make available for all C libraries
Due to posix_fallocate() being unavailable in uClibc 0.9.33,
lttng-babeltrace was marked as available only for uClibc snapshot and
glibc. However:

 - lttng-babeltrace builds fine with musl
 - lttng-babeltrace builds fine with uClibc-ng
 - we're going to get rid of uClibc 0.9.33 support
 - the only toolchain left with an old uClibc version is the Blackfin
   Analog Devices toolchain, and lttng-babeltrace cannot be enabled on
   non-MMU platforms

Conclusion: We can enable lttng-babeltrace on all C libraries, and no
longer require any condition. This commit adjusts the lttng-babeltrace
package accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:42 +01:00
Thomas Petazzoni
1da65232ec libunwind: fix C library dependency
The libunwind package currently dependency on glibc *or* uclibc
snapshot. However, we are going to remove the support for uclibc
snapshot, and uClibc-ng has equivalent functionality as uclibc
snapshot. Moreover, musl is also capable of building libunwind for
certain architectures.

Therefore, this commit reworks the architecture dependencies of
libunwind, to make it available on all architectures for which it is
supported, depending on the capabilities of the different C libraries,
and the implementation of libunwind on each architecture.

On some architectures, libunwind uses the C library *context()
functions, which are not provided by musl at all, and not provided by
uClibc on all architectures. But on some other architectures,
libunwind does not use the C library *context() functions, which
explains why it can be built with musl on such architectures.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:42 +01:00
Romain Naour
711c038715 toolchain-external: bump Linaro AArch64 to 2015.11-2
Runtime tested with Qemu 2.3.1 using qemu_aarch64_virt_defconfig.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: only add the symlink with the old 2014.09 Linaro toolchain,
for the newer ones, it is no longer needed. This has been runtime
tested in Qemu.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:27:29 +01:00
Arnout Vandecappelle
ef2efaff15 website: add reference to submitting-patches to Contribute tab
In the hope of improving the quality of patches send by newcomers,
add a reference to the submitting-patches section of the manual
to the Contribute tab of the website.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:16:45 +01:00
Arnout Vandecappelle
b084eb38be README: add reference to submitting-patches
In the hope of improving the quality of patches sent by newcomers,
add a reference to the submitting-patches section of the manual
to the top-level README file.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:16:08 +01:00
Romain Naour
18b3481f4d configs: qemu_arm_nuri: enable vfp
In order to be abble to select BR2_ARM_FPU_VFPV3D16, BR2_ARM_ENABLE_VFP
must be selected first.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:15:21 +01:00
Romain Naour
ec66f6d9e2 configs: qemu_arm_vexpress: enable vfp
In order to be abble to select BR2_ARM_FPU_VFPV3D16, BR2_ARM_ENABLE_VFP
must be selected first.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:15:10 +01:00
Peter Korsgaard
c3779afc11 package/Makefile.in: fix typo
Commit dc95d50fe3 (correct gettext handling for musl) introduced a last
minute typo, fix that.

Thanks to Thomas Petazzoni for noticing.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 17:19:36 +01:00
Peter Korsgaard
28fc73efaf Revert "madplay: fix musl gettext support detection"
This reverts commit a0a244d26d.

As this is now handled globally in TARGET_CONFIGURE_ARGS, this can be
reverted here.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 17:07:37 +01:00
Peter Korsgaard
dc95d50fe3 package/Makefile.in: correct gettext handling for musl
Based on a patch by Bernd Kuhls.

The AM_GNU_GETTEXT autotools macro misdetects musl gettext support as it
checks for internal glibc symbols.  Work around it by forcing libc gettext
support when musl is used for the supported gettext api levels.

As this is a generic issue for any package using AM_GNU_GETTEXT, add it to
the global TARGET_CONFIGURE_ARGS instead of for each affected package.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 17:02:06 +01:00
Jörg Krause
82fd195a54 package/shairport-sync: bump to version 2.8.0
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 14:44:35 +01:00
Bernd Kuhls
6b65ce4cae package/unionfs: fix musl build
Fixes
http://autobuild.buildroot.net/results/020/020951a32ace3b4bca12a888eaaeb8b6c5633e4f/

[Peter: notice patch is now upstream:
 https://github.com/rpodgorny/unionfs-fuse/commit/f64b094eba93b042a1ed5964]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 14:44:35 +01:00
Thomas De Schampheleire
fcddb9dafe manual: minor fixes in the graph-size documentation
Fix some typos and references to a size-stats 'target' (the script is called
'size-stats' but the make target is 'graph-size').

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 14:25:15 +01:00
Bernd Kuhls
12a7788820 package/squashfs: fix musl build
The build errors were not yet found by the autobuilders:

action.c: In function ‘name_fn’:
action.c:1911:29: error: ‘FNM_EXTMATCH’ undeclared (first use in this function)
     FNM_PATHNAME|FNM_PERIOD|FNM_EXTMATCH) == 0;)
                             ^
pseudo.c: In function ‘read_pseudo_def’:
pseudo.c:435:11: error: ‘S_IFBLK’ undeclared (first use in this function)
   mode |= S_IFBLK;
           ^

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 14:23:57 +01:00
Thomas De Schampheleire
cef3cd40b7 toolchain-external: create symlink ARCH_LIB_DIR->lib
Currently, following symbolic links are created in both target and
staging directories:
- lib(32|64) --> lib
- usr/lib(32|64) --> lib

The decision for lib32 or lib64 is based on the target architecture
configuration in buildroot (BR2_ARCH_IS_64).

In at least one case this is not correct: when building for a Cavium Octeon
III processor using the toolchain from the Cavium Networks SDK, and
specifying -march=octeon3 in BR2_TARGET_OPTIMIZATION, libraries are expected
in directory 'lib32-fp' rather than 'lib32' (ABI=n32; likewise for
lib64-fp in case of ABI=n64)

More generally the correct symbolic link is from (usr/)${ARCH_LIB_DIR}->lib.
However, feedback from Arnout Vandecappelle is that there are packages that
do depend on the lib32/lib64 symlink, even if ARCH_LIB_DIR is different.
Hence, these links must be kept.

Fix the problem as follows:
- For internal toolchains: no change
- For external toolchains: create a symlink ARCH_LIB_DIR->lib if
  (usr/)ARCH_LIB_DIR does not exist yet.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: "Yann E. Morin" <yann.morin.1998@free.fr>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Tested-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 14:20:10 +01:00
Thomas De Schampheleire
fe23cb5d00 toolchain-external: improve sysroot rsync if ARCH_LIB_DIR != lib/lib32/lib64
The copy_toolchain_sysroot helper in toolchain/helpers.mk performs an
rsync of various directories from the extracted external toolchain to the
corresponding directory in staging.

The relevant (simplified) snippet is:
	for i in etc $${ARCH_LIB_DIR} sbin usr usr/$${ARCH_LIB_DIR}; do \
		rsync -au --chmod=u=rwX,go=rX --exclude 'usr/lib/locale' \
			--exclude '/lib/' --exclude '/lib32/' \
			--exclude '/lib64/' \
			$${ARCH_SYSROOT_DIR}/$$i/ $(STAGING_DIR)/$$i/ ; \
	done ; \

The exclusion logic of lib/lib32/lib64 has originally been added by commit
5628776c4a with the purpose of only copying
the relevant usr/lib* directory from the toolchain to staging, instead of
all. For example, if ARCH_LIB_DIR is 'lib64', then only usr/lib64 would be
copied and usr/lib and usr/lib32 are ignored. It works by ignoring any
lib/lib32/lib64 subdirectory on the rsync of 'usr' and then separately
copying usr/{lib,lib32,lib64} as appropriate. (The exclusion rules only have
impact on the files beneath the main source directory.)

However, ARCH_LIB_DIR can take other values than (lib, lib32, lib64), for
example lib32-fp or lib64-fp (Octeon III toolchain with -march=octeon3). In
the existing code, the rsync for 'usr' would then already copy these lib
directories, and the next rsync for 'usr/$${ARCH_LIB_DIR}' does nothing.

By itself, this is not a very big problem: the staging directory simply has
some extra directories. However, a subsequent patch will create a staging
symlink from $${ARCH_LIB_DIR} to lib. The first rsync would then overwrite
that symlink with the real directory usr/$${ARCH_LIB_DIR} from the
toolchain, which is not correct.

Assuming the patch that creates the symlink ARCH_LIB_DIR->lib is applied,
the original situation after 'make clean toolchain' with an
ARCH_LIB_DIR=lib32-fp is:

$ ls -ld output/staging/{,usr/}lib* output/target/{usr/,}lib*
drwxr-xr-x 2  4096 May 26  2015 output/staging/lib
lrwxrwxrwx 1     3 Jan 20 13:47 output/staging/lib32 -> lib
lrwxrwxrwx 1     3 Jan 20 13:47 output/staging/lib32-fp -> lib
drwxr-xr-x 2  4096 Jan 20 13:47 output/staging/usr/lib
lrwxrwxrwx 1     3 Jan 20 13:47 output/staging/usr/lib32 -> lib
drwxr-xr-x 4  4096 May 26  2015 output/staging/usr/lib32-fp
drwxr-xr-x 4  4096 May 26  2015 output/staging/usr/lib64-fp
drwxr-xr-x 4  4096 May 26  2015 output/staging/usr/libexec
drwxr-xr-x 3  4096 May 26  2015 output/staging/usr/libexec32
drwxr-xr-x 3  4096 May 26  2015 output/staging/usr/libexec32-fp
drwxr-xr-x 3  4096 May 26  2015 output/staging/usr/libexec64-fp
drwxr-xr-x 2  4096 Jan 20 13:48 output/target/lib
lrwxrwxrwx 1     3 Jan 20 13:47 output/target/lib32 -> lib
lrwxrwxrwx 1     3 Jan 20 13:47 output/target/lib32-fp -> lib
drwxr-xr-x 2  4096 Jan 20 13:48 output/target/usr/lib
lrwxrwxrwx 1     3 Jan 20 13:47 output/target/usr/lib32 -> lib
lrwxrwxrwx 1     3 Jan 20 13:47 output/target/usr/lib32-fp -> lib

Notice how usr/lib32-fp is not a symlink but a directory, and the presence
of an unnecessary directory usr/lib64-fp.

This patch improves the rsync exclusion rules by excluding any lib*
directory on the first rsync. As this would also exclude any
libexec/libexec32/... directory, explicitly include them first (first match
takes precedence). This (as is already the case today) results in more
usr/libexec* directories than needed, but it is not touched by this patch.

With the fix applied, the situation becomes:

drwxr-xr-x 2 4096 May 26  2015 output/staging/lib
lrwxrwxrwx 1    3 Jan 20 14:27 output/staging/lib32 -> lib
lrwxrwxrwx 1    3 Jan 20 14:27 output/staging/lib32-fp -> lib
drwxr-xr-x 4 4096 May 26  2015 output/staging/usr/lib
lrwxrwxrwx 1    3 Jan 20 14:27 output/staging/usr/lib32 -> lib
lrwxrwxrwx 1    3 Jan 20 14:27 output/staging/usr/lib32-fp -> lib
drwxr-xr-x 4 4096 May 26  2015 output/staging/usr/libexec
drwxr-xr-x 3 4096 May 26  2015 output/staging/usr/libexec32
drwxr-xr-x 3 4096 May 26  2015 output/staging/usr/libexec32-fp
drwxr-xr-x 3 4096 May 26  2015 output/staging/usr/libexec64-fp
drwxr-xr-x 2 4096 Jan 20 14:27 output/target/lib
lrwxrwxrwx 1    3 Jan 20 14:27 output/target/lib32 -> lib
lrwxrwxrwx 1    3 Jan 20 14:27 output/target/lib32-fp -> lib
drwxr-xr-x 2 4096 Jan 20 14:27 output/target/usr/lib
lrwxrwxrwx 1    3 Jan 20 14:27 output/target/usr/lib32 -> lib
lrwxrwxrwx 1    3 Jan 20 14:27 output/target/usr/lib32-fp -> lib

For cases where ARCH_LIB_DIR is one of lib, lib32 or lib64 this fix
makes no difference, and likewise for internal toolchains.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 14:20:05 +01:00
Thomas De Schampheleire
beddd71c57 toolchain-external: don't exclude too much lib in sysroot rsync
The copy_toolchain_sysroot helper in toolchain/helpers.mk performs an
rsync of various directories from the extracted external toolchain to the
corresponding directory in staging.

The relevant (simplified) snippet is:
    for i in etc $${ARCH_LIB_DIR} sbin usr usr/$${ARCH_LIB_DIR}; do \
            rsync -au --chmod=u=rwX,go=rX --exclude 'usr/lib/locale' \
                    --exclude lib --exclude lib32 --exclude lib64 \
                    $${ARCH_SYSROOT_DIR}/$$i/ $(STAGING_DIR)/$$i/ ; \
    done ; \

The exclusion logic of lib/lib32/lib64 has been added by commit
5628776c4a with the purpose of only copying
the relevant usr/lib* directory from the toolchain to staging, instead of
all. For example, if ARCH_LIB_DIR is 'lib64', then only usr/lib64 would be
copied and usr/lib and usr/lib32 are ignored. It works by ignoring any
lib/lib32/lib64 subdirectory on the rsync of 'usr' and then separately
copying usr/{lib,lib32,lib64} as appropriate. (The exclusion rules only have
impact on the files beneath the main source directory.)

However, on the rsync of 'usr', ANY of the following directories AND files
would be excluded:
    lib/
    lib
    lib32/
    foobar/something/lib/
    something-else/lib64/

while it is only the intention to skip directories directly under usr.

Therefore, add a leading (to restrict the scope to first-level) and trailing
(to restrict to directories) slash to the exclude pattern. From 'man rsync':

    - if the pattern starts with a / then it is anchored to [..] the root of
      the transfer.
    - if the pattern ends with a / then it will only match a directory, not
      a regular file, symlink, or device.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 14:19:34 +01:00
Bernd Kuhls
e143c2f4d6 package/libseccomp: fix musl build
Fixes
http://autobuild.buildroot.net/results/0cd/0cd47d7e6a49c268b57981ae8bb9abe4c4a183c7/
http://autobuild.buildroot.net/results/34b/34b0bea52bd7e65a927142dc0e1f28f85629c634/

[Thomas: adjust patch format.]

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 14:11:33 +01:00
Bernd Kuhls
1a57adb237 package/libseccomp: bump version to 2.2.3
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 14:11:33 +01:00
Peter Korsgaard
53703ee67a support/scripts: drop ancient build-ext3-img script
It hasn't been updated since it was added in 2008, and nowadays things kind
of stuff should be handled with genimage.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 11:51:08 +01:00
Bernd Kuhls
37b45dbcc7 package/gstreamer/gst-plugins-ugly: Fix cdio-related build errors
Fixes
http://autobuild.buildroot.net/results/530/53003be0dc2cb76d497a167023c5c45666fd00b4/
http://autobuild.buildroot.net/results/b23/b2393cd50c20da919d6111e15b78d12cc784841f/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 08:17:01 +01:00
Yann E. MORIN
1ad97d1ff1 docs/manual: makedev syntax accepts usernames and group names
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 08:02:38 +01:00
Yann E. MORIN
95dda394d9 package/makedevs: use the rooted /etc/passwd and /etc/group
Currently, makedevs will query the host's /etc/passwd and /etc/group to
resolve usernames and group names. This is inherently flawed, as we can
never guarantee that the UIDs will be the same on the target as on the
host, or even whether a particular user does exist on the host.

This is because getpwnam() and getgrnam() will forcibly read the
system's /etc/passwd and /etc/group, and there is no way to tell them to
look anywhere else.

However, we can use fgetpwent() and fgetgrent() instead, for which
we can pass a FILE* stream to read from to get the entries. This means
we must implement the scanning-loop ourselves, but fortunately, that's
pretty trivial to do.

[Peter: swap errno / return value check, use bb_perror_msg_and_die, code style]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 08:02:00 +01:00
Yann E. MORIN
3f28a38e1a fs/common: generate users before setting permissions
We will need the users and groups to get defined before we can use them
from makedevs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 07:25:36 +01:00