linux-firmware has gained a few firmware files for Broadcom WiFi
chipsets. Installing all of them takes a lot of place, when usually only
one is really needed.
Split the Broadcom BRCM drivers in two categories: bcm43xx and bcm43xxx,
when they were previously a single config option, so as to reclaim a bit
of space.
python, python3: add patch to prevent distutils from adjusting the shebang
The copy_scripts() method in distutils copies the scripts listed
in the setup file and adjusts the first line to refer to the
current Python interpreter. When cross-compiling, this means that
the adjusted shebang refers to the host Python interpreter.
As a consequence, we add a patch for python and python3 that
force copy_scripts() to preserve the shebang when
cross-compilation is detected.
manual/user guide/customization: add section on layered customization
Inspired by some text in the 'project-specific patches' section, this patch
adds a separate section on layering customizations by providing multiple
post-build scripts, multiple rootfs overlays, etc.
This patch reworks the section 'Step-by-step instructions for storing
configuration' as follows:
- rename into 'Quick guide to storing your project-specific customizations'
and hence make it serve as a summary to the chapter
- change the introduction to make this clear
- update paths to line-up with section 'recommended directory structure'
- recommend BR2_GLOBAL_PATCH_DIR, as is done in the section on adding
patches.
- mention how to add packages in a project-specific directory (to be
expanded in another patch)
- minor rewording
- rename file into customize-quick-guide.txt
manual/user guide/customization: refer to dir structure from rootfs section
This small patch adds references to the section on 'recommended directory
structure' from sections explaining the post-build script and rootfs
overlay.
manual/user guide/customization: add section on project-specific packages
This patch adds a new section to chapter 'Project-specific customization' to
describe how to add project-specific packages from a project-specific
directory. The principle was already described in the presentation 'Using
Buildroot for real projects' but was never documented in official Buildroot
documentation.
manual/user guide/customization: change recommendation for package paths
The Buildroot manual was recommending following paths for project-specific
packages:
package/<company>/<boardname>/foo/
$BR2_EXTERNAL/package/<boardname>/foo/
However, if a company has several boards, it is often the case that some
packages are common for different boards. Therefore, introducing a
<boardname> path component is not ideal.
This patch changes the recommendation to:
package/<company>/foo/
$BR2_EXTERNAL/package/foo/
This small patch renames the section 'Customizing packages' to 'Adding
project-specific patches'. Additionally, a minor change is done to the
introduction of this section.
To better reflect the contents, the source file is renamed.
This patch re-orders the enumeration of typical project customization
actions:
- move the 'patching packages' section downwards.
- group the entries on post-build scripts and rootfs-overlays to match the
actual section text.
Since indented enumerations use asterixes, update the top-level entries with
asterixes too for consistency.
manual/user guide/customization: rework section on storing configuration
This patch promotes the sections on Buildroot configuration and the
configuration of other components to top-level sections, to match the
overview in the introduction of the chapter. The introduction of the
original section is removed as it does not bring additional info anymore.
manual/user guide/customization: move section on storing configuration
This patch moves the section 'Basics for storing the configuration' to a
separate file and upwards in the manual section order, to line up with the
listing of customization actions in the introduction of the chapter. The
text itself is currently unchanged, this will be handled in the next patch.
manual/developer guide: minor rework of 'adding board support' section
Minor rework of the section 'Creating your own board support', as follows:
- Rename section into 'Adding support for a particular board'
- Modify introduction
- Refer to Project-specific customizations chapter
manual: move 'Creating your own board support' from User to Developer guide
Section 'Creating your own board support' is seemingly written in the
mindset of adding support for public boards. Therefore, it is more suited in
the Developer guide, rather than in the User guide.
Adding support for custom non-public boards falls under the
'Project-specific customizations' category and will be described in that
section.
This patch moves the unchanged text into a separate file, included from the
Developer guide. The next patch will make some minor changes to the text
itself.
Also add hashes, kill some whitespace and correct the license type
(ICS->ISC).
Enable $EDITOR to point to the right editor for visudo since it normally
expects /usr/bin/vi which in busybox-world is /bin/vi (and some people
might want to use other editors like the operating system sized one).
We should use positive logic (show things that are otherwise hidden...)
for the help since it's what it does.
It also applies to more options than just packages alone, for example
the AVR32 architecture so add an "options" label to it.
Thomas Petazzoni [Mon, 15 Sep 2014 21:01:57 +0000 (23:01 +0200)]
arch: remove BR2_arm10t
The BR2_arm10t option is not correct as it references an ARM family,
while other options indicate a specific ARM core. The ARM cores in
ARM10 family are ARM1020E, ARM1022E and ARM1026EJ-S according to
Wikipedia. However, those are clearly very rare, and Wikipedia only
indicates two Conexant ADSL-related SoC as being part of this family
of ARM cores. Therefore, this commit removes this ARM family.
[Peter: remove nettle.mk reference as pointed out by Yann] Signed-off-by: Thomas Petazzoni <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
Fixes following build failure:
--->---
self_smpl_multi.c: In function 'my_thread':
self_smpl_multi.c:354:2: error: implicit declaration of function 'pthread_barrier_wait' [-Werror=implicit-function-declaration]
pthread_barrier_wait(&barrier);
^
self_smpl_multi.c: In function 'main':
self_smpl_multi.c:450:2: error: implicit declaration of function 'pthread_barrier_init' [-Werror=implicit-function-declaration]
pthread_barrier_init(&barrier, 0, max_thr+1);
^
cc1: all warnings being treated as errors
--->---
And since xtensa, avr32 and bfin don't support NPTL we may remove arch
dependencies as well.
strace: Apply an upstream patch to fix sa_restorer problems
Wrap sa_restorer member definitions in #ifdef SA_RESTORER to be
consistent with their use.
If an architecture does not provide sa_restorer members but still
defines SA_RESTORER macro, the latter has to be explicitly undefined.
This change fixes compilation failures like this one:
signal.c: In function 'decode_old_sigaction':
signal.c:631:21: error: 'struct old_sigaction' has no member named
'sa_restorer'
signal.c: In function 'decode_new_sigaction':
signal.c:1224:21: error: 'struct new_sigaction' has no member named
'sa_restorer'
* signal.c (struct old_sigaction, struct old_sigaction32,
struct new_sigaction, struct new_sigaction32):
Wrap sa_restorer member in #ifdef SA_RESTORER.
(decode_old_sigaction, decode_new_sigaction):
Wrap use of sa32.sa_restorer in #ifdef SA_RESTORER.
Point the build to the proper (which BTW was broken since it pointed to
the wrong directory) ncurses config by using $(NCURSES_CONFIG_SCRIPTS)
from the ncurses package directly.
Also select the proper variant (widec/non-widec) in configure.
Enable support for ncurses widechar by specifying the proper
ncursesw-config when it's enabled, otherwise keep the old trick in place
when it's not to avoid automatically picking up the host/distro one.
As stated on the list we need to copy static libraries when doing static
targets so add the logic for that.
Also exclude the wide option for blackfin flat since there seem to be
toolchain issues with that combination - since it's a new feature option
someone interested might look into it later.
Jeremy Kerr [Wed, 17 Sep 2014 13:08:16 +0000 (10:08 -0300)]
package/ncurses: Allow building wide char support
Allow ncurses to be configured with wide char support; this causes the
libraries to be built with the 'w' suffix (eg libncursesw.so,
libmenuw.so, etc), so we need to create a few symlinks.
Fixes:
CVE-2014-3635 - Buffer access with incorrect length value
CVE-2014-3636 - Allocation of file descriptors or handles
without limits or throttling
CVE-2014-3637 - Missing release of file descriptor or handle after
effective lifetime
CVE-2014-3638 - Algorithmic complexity
CVE-2014-3639 - Allocation of file descriptors or handles without
limits or throttling
ARC: gcc - Fix SIZE_TYPE to be "unsigned int" instead of "long unsigned int"
This makes size_t to be "unsigned" ssize_t which makes happy compiler on data
type checks.
Fix is taken from current development branch of GCC for ARC and will be a
part of the next release of ARC tools, so at that point patch should be dropped.
It uses openssl which for buildroot mandates libz, but doesn't link
against it so it fails. Fixes:
http://autobuild.buildroot.net/results/514/5145617f7c3cece933c845da3c9836d80d062bb6/
Peter Korsgaard [Tue, 16 Sep 2014 21:05:12 +0000 (23:05 +0200)]
gst1-plugins-bad: fix sndfile comment
The package is not called gst-plugins-bad, and the other comments in the
file are of the "foo plugin needs a toolchain w/.." form, so use that for
sndfile as well.
Thomas Petazzoni [Mon, 15 Sep 2014 20:50:10 +0000 (22:50 +0200)]
gdb: add support for Python in target gdb
This commit adds a new option BR2_PACKAGE_GDB_PYTHON to enable Python
support in the target gdb. Since we can assume that the user will be
aware that Python is needed to get Python support in gdb, we chose to
use a "depends on" dependency instead of a "select" dependency.
The other weird thing is the need for a wrapper shell script to
replace gdb's provided python-config.py script. See the shell script
comment itself for all the details.
Thomas Petazzoni [Mon, 15 Sep 2014 20:50:08 +0000 (22:50 +0200)]
gdb: reword prompt for host TUI option
There is no need to name the option "GDB TUI support", since this
option is already visible "below" GDB in menuconfig/xconfig. Naming it
"TUI support" is therefore sufficient.
Vincent Stehlé [Mon, 15 Sep 2014 20:50:07 +0000 (22:50 +0200)]
gdb: enable tui support for target package
Add a configuration option to compile the gdb target package with the
--enable-tui switch.
This is done pretty much in the same way as in commit 2474fb0bf1a7 ("host-gdb:
enable terminal user interface support"), but for the gdb package on target.
This makes sense only when a full debugger is installed on target,
not for a gdbserver.
[Thomas: remove "default n" since this is the default, adjust the
prompt of the option, and rewrap the help text.]
Thomas Petazzoni [Mon, 15 Sep 2014 20:50:06 +0000 (22:50 +0200)]
gdb: needs host-ncurses on the host
Commit 2474fb0bf1a786f3a170631f3dbce8b38092f986 ("host-gdb: enable
terminal user interface support") has added TUI support to host gdb,
and therefore added a dependency on host-ncurses when TUI support is
enabled.
However, host-ncurses is not only needed for TUI support, it is needed
for gdb in all cases as well, so this commit adds a dependency of
host-gdb to host-ncurses.
Thomas Petazzoni [Mon, 15 Sep 2014 20:50:03 +0000 (22:50 +0200)]
gdb: add version 7.8
This commit adds support for the 7.8 version of gdb. Note that the
tarball of this version is not available as a .tar.bz2, so we have to
add a special case and download the .tar.xz for this version.
Eric Le Bihan [Mon, 15 Sep 2014 21:06:22 +0000 (23:06 +0200)]
systemd: bump to version 216
Bump systemd to version 216. This new version provides two new tools to
manage the journal (systemd-journal-upload and systemd-journal-remote)
which resulted in the addition of new users.
Do the edit of conf-* files only when 'cc' appears at the beginning of line,
i.e. the files has not been edited. Otherwise, the 'cc' part of the cross
toolchain gets expanded, leading to the following error on 'make
memtester-rebuild':
./compile: line 3: /home/baruch/git/buildroot/output/host/usr/bin/i686-pc-linux-gnu-g/home/baruch/git/buildroot/output/host/usr/bin/i686-pc-linux-gnu-gcc: No such file or directory
Makefile:82: recipe for target 'memtester.o' failed
make[1]: *** [memtester.o] Error 127
Peter Korsgaard [Mon, 15 Sep 2014 11:29:02 +0000 (13:29 +0200)]
qwt: add optional opengl support
qwt should only build the opengl support code if Qt is configured with
opengl support, so add a suboption for it similar to svg/mathml with the
needed dependencies.
Andrew Ruder [Wed, 20 Aug 2014 21:02:46 +0000 (16:02 -0500)]
hostname: fix conflicting installs of /bin/hostname
Surprisingly long-standing issue with conflicting /bin/hostname
installs. Reported as early as November 2005 by Joseph Dupre.
All together at one point or another there are at least 4 possible
sources of /bin/hostname:
busybox
util-linux
coreutils
net-tools
Buildroot depends on the -F flag being available in the default
/etc/inittab. Out of the 4 listed projects only net-tools and buildroot
for sure support the -F flag. I'm a little unclear on util-linux as it
has been removed entirely (in favor of net-tools) for some time.
As of coreutils 6.9.90 (2007-12-01), coreutils does not install its
/bin/hostname by default. The following commit reenabled its build:
disabled the help2man functionality entirely but left hostname being
installed.
On a very related note, net-tools now contains an obsolete check to add
util-linux as a dependency to force it to build first (so that net-tools
ends up with /bin/hostname).
This patch fixes both of these issues so that hostname always comes from
one of two places:
Romain Naour [Fri, 22 Aug 2014 09:12:53 +0000 (11:12 +0200)]
package/pkg-autotools: don't use config.site when cross-compiling
On fedora 20 64bits host, the file /usr/share/config.site contains
a fix for installing libraries into /lib/lib64 on 64bits systems
that redefine libdir in the generated Makefile
For safety and avoid the bug #7262 [1], disable loading this file
when running the configure script for the target and the host.
Note: configure scripts generated with autoconf < 2.65 will source
the /dev/null and print this line:
"configure: loading site script /dev/null"
Frank Hunleth [Fri, 12 Sep 2014 00:39:48 +0000 (20:39 -0400)]
google-breakpad: bump to version r1373
This version adds support for installing important header files to
<staging>/usr/include/breakpad. It's no longer necessary to include the
whole breakpad source tree when building applications using libbreakpad.a.
Thomas Petazzoni [Sun, 14 Sep 2014 09:50:03 +0000 (11:50 +0200)]
uclibc: two-stage gcc simplifications
After switching to a two stage gcc solution, there is no longer a need
to do weird things in the uclibc build. We can greatly simplify
UCLIBC_CONFIGURE_CMDS to only do the configuration, and let the
existing UCLIBC_BUILD_CMDS do the build. Note that we have to build
the headers before starting the C library build, otherwise there is a
build failure (probably a uClibc bug).
Thomas Petazzoni [Sun, 14 Sep 2014 09:50:02 +0000 (11:50 +0200)]
glibc: two-stage gcc simplifications
After switching to a two stage gcc solution, there is no longer a need
to do weird things in the glibc build. We can greatly simplify
GLIBC_CONFIGURE_CMDS to only do the configuration, and let the
existing GLIBC_BUILD_CMDS do the build.
Thomas Petazzoni [Sun, 14 Sep 2014 09:50:01 +0000 (11:50 +0200)]
musl: two-stage gcc simplifications
After switching to a two stage gcc solution, there is no longer a need
to do weird things in the musl build, with certain things being done
twice (MUSL_CONFIGURE_CALL). Now the MUSL_CONFIGURE_CMDS variable only
does the configuration, and the MUSL_BUILD_CMDS only does the build,
as it should be.