Compare commits

..

80 Commits

Author SHA1 Message Date
Peter Korsgaard
1264adda0e Update for 2012.11.1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-03 21:43:39 +01:00
Mikhail Boiko
d4700be53e dosfstools: fix download link
Signed-off-by: Mikhail Boiko <mikhailboiko85@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-31 16:56:10 +01:00
Frank Hunleth
8d73aa4e51 qt: fix qconfig configure parameter
The Qt configure option for specifying a custom qconfig.h
file changed from -config to -qconfig. This makes the
corresponding change in qt.mk.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-31 16:54:59 +01:00
Chris Zankel
b95825e626 xtensa: add -mlongcalls to CFLAGS for xtensa
The longcalls option allows calls across a greater range of addresses.

This option may degrade both code size and performance, but
the linker can generally optimize away the unnecessary overhead
when a call ends up within range

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-31 16:52:38 +01:00
Peter Korsgaard
4e3dd2f881 toolchain/gcc: also disable largefile for pass 1/2 if needed
Fixes issue with !BR2_LARGEFILE builds on Ubuntu 12.04 and GCC 4.6+

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-31 00:02:03 +01:00
Richard Braun
54d318a27f arch: fix BR2_ARCH for generic target variant
Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-31 00:01:52 +01:00
Peter Korsgaard
d201b95d8c Update for 2012.11
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-02 16:33:09 -08:00
Charles Manning
4f607edffd unexport PKG_CONFIG_SYSROOT_DIR
If this is not done then pkg-config can get confused.

Thomas and Arnout really deserve the credit for this - I just did
the testing.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-02 16:32:28 -08:00
Stephan Hoffmann
4c52ff1acf skeleton: add /etc/nsswitch.conf
Toolchain Linaro 2012_09 and possibly other glibc based ones
rely on the existence of nsswitch.conf. If it's missing names
from /etc/hosts are not resolved and thus "localhost" is not
known.

Signed-off-by: Stephan Hoffmann <sho@relinux.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-02 16:32:16 -08:00
Peter Korsgaard
f619d5ba20 libtool: undeprecate for now
Pulseaudio selects libtool, so get rid of the deprecated annotation so
people don't get warnings about unmet dependencies when exiting menuconfig.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-02 16:31:54 -08:00
Stephan Hoffmann
d1f5fc29ef pkg-download.mk: Fix shallow clone
Some git versions (e.g. 1.7.0) do not treat trying to shallow clone
a non existing branch or tag as a fatal error but report a warning
and clone HEAD instead. Thus the fallback mechanism does not work
in this case.

This patch introduces a check for the presence of the requested
version as a branch or tag before trying the shallow clone. It
also removes the need to do two clones when a sha1 is given as
a packege version.

[Peter: use cut -f2-]
Signed-off-by: Stephan Hoffmann <sho@relinux.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-02 08:07:04 -08:00
Stephan Hoffmann
4a4b0bdd07 qtuio: fix build issue because of missing include
TuioServer.cpp uses usleep but did not include <unistd.h>. This
patch adds the missing #include. This issue has been reported
upstream.

Signed-off-by: Stephan Hoffmann <sho@relinux.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-02 07:48:18 -08:00
Peter Korsgaard
8a46d4bf1f {rand,allyes}packageconfig: ensure legacy test options don't get enabled
The legacy BR2_PACKAGE_* options in Config.in.legacy are not supposed to
be user selectable, so {rand,allyes}packageconfig shouldn't enable them.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-01 18:13:05 -08:00
Peter Korsgaard
1a59dfae0c Update for 2012.11-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 22:59:02 -08:00
Charles Manning
537556b22c libsigc: Don't copy devel documentation onto target
The libsigc++ developer documentation was being copied onto the target.
Add a clean-up to fix that.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 22:08:03 -08:00
Samuel Martin
4b3425c0bb python2: bump to 2.7.3
Pyhton 2.7.3 includes several security fixes.
See: http://www.python.org/download/releases/2.7.3/

Also fixes the patch making sqlite optional and remove the symlink patch
(which has been fixed upstream).

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 14:31:07 -08:00
Samuel Martin
7364f0cb22 matchbox packages: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 14:30:08 -08:00
Samuel Martin
98fa43c417 sylpheed: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 14:30:04 -08:00
Samuel Martin
727ed13234 rrdtool: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 14:29:50 -08:00
Samuel Martin
51eb3be3da owl-linux: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 14:29:44 -08:00
Samuel Martin
805529ed28 imlib2: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 14:29:34 -08:00
Samuel Martin
f19c6948c5 igh-ethercat: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 14:29:03 -08:00
Samuel Martin
c788354145 fluxbox: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 14:28:13 -08:00
Samuel Martin
440c323c97 efl packages: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 14:28:07 -08:00
Peter Korsgaard
d38b25f1be CHANGES: update with recent changes
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 14:27:34 -08:00
Richard Braun
6ae7886f84 Makefile: fix thread libraries stripping
Strip libthread_db the same as any other library, but strip libpthread
with --strip-debug. See the relevant mailing list discussion [1] for
additional details.

[1] http://lists.busybox.net/pipermail/buildroot/2012-October/060126.html

Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 13:59:40 -08:00
Richard Braun
696365f69b toolchain-external: fix installation of libthread_db
Whatever the gdbserver source, as long as it's installed on the target,
assume it requires libthread_db.

Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 13:57:49 -08:00
Richard Braun
b644575579 toolchain-crosstool-ng: install libthread_db if appropriate
Signed-off-by: Richard Braun <rbraun@sceen.net>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 13:56:31 -08:00
Samuel Martin
4b0b177b26 matchbox packages: fix broken urls
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 13:07:43 -08:00
Simon Dawson
8a53d732cd acpid: add license information
[Patch: change to GPLv2+]
Signed-off-by: Simon Dawson <simond@trainfx.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 12:24:52 -08:00
Davide Viti
0435a0913c List the useful hook points available in buildroot
The complete list can be obtained with the following command:
  grep "_HOOKS[ ]\+?=" package/pkg-generic.mk

Signed-off-by: Davide Viti <zinosat@tiscali.it>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 12:21:09 -08:00
Arnout Vandecappelle (Essensium/Mind)
26803e8801 legacy: BR2_PACKAGE_LIBINTL is replaced by gettext
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 12:07:35 -08:00
Arnout Vandecappelle (Essensium/Mind)
c430fab222 legacy: evtest is dropped from input-tools package
We select BR2_PACKAGE_EVTEST automatically. This has only limited use:
when the LEGACY_CHECK menu is disabled in menuconfig (or even oldconfig),
it will also unselect BR2_PACKAGE_EVTEST again. Still, it can serve as a
hint of how to fix things.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 12:07:16 -08:00
Arnout Vandecappelle (Essensium/Mind)
be2460c545 legacy: add error target for host-pkg-config
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 12:07:09 -08:00
Arnout Vandecappelle (Essensium/Mind)
cc1cd3b267 legacy: move old GENTARGETS macros to Makefile.legacy
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 12:06:56 -08:00
Arnout Vandecappelle (Essensium/Mind)
ebcfa987df pkg-infra: introduce errors for legacy API
As discussed in the BR developer days, we want to be more strict about API
changes in buildroot. I.e., we want to make it less likely that a user's
customizations break down after upgrading buildroot.

A first step is to make sure that the user is warned about API changes.
This patch introduces Makefile.legacy and Config.in.legacy, which will
issue clear error messages for such situations.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 12:06:40 -08:00
Markos Chandras
cc6da8b28e matchbox-lib: Append -lX11 to the linker
Fixes building with binutils-2.22
http://autobuild.buildroot.net/results/b4b26dd9c7d7bebe45638ba125fb49a5f5d0cc14/build-end.log

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 11:54:03 -08:00
Gustavo Zacarias
bd72a13a4c flex: fix build for nommu systems
The flex binary uses fork() so it breaks on !MMU builds.
Since we usually don't require flex in the target and the common
scenario is that we just want libfl in staging reverse the options so
that BR2_PACKAGE_FLEX just builds and install libfl.a and change the
LIBFL option to BR2_PACKAGE_FLEX_BINARY to install the binary in the
target.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 11:52:38 -08:00
Simon Dawson
e2af182225 Add /var/www to device table
The /var/www directory is listed in /etc/passwd in the skeleton target
filesystem as the home directory of the www-data user (uid 33).

In the final target filesystem, /var/www should be owned by www-data. This
is important for the lighttpd package, for example.

Signed-off-by: Simon Dawson <spdawson@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 11:48:52 -08:00
Samuel Martin
82583bf4b7 owl-linux: update help text about linux kernel dependencies.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 07:44:53 -08:00
Samuel Martin
5e6d537eb7 imagemagick: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 07:34:39 -08:00
Samuel Martin
75817ecd1e scons: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 07:32:40 -08:00
Samuel Martin
069eccfc71 libmad: add license info
[Peter: license is GPLv2+ as pointed out by Arnout]
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 07:28:18 -08:00
Samuel Martin
1bed3e388a linux-fusion: bump to version 8.10.4
Also fix directfb build avoiding the following error to occur
(since FCEF_FOLLOW has been added in linux-fusion-8.9.0):

libtool: compile:  /opt/br/output/host/usr/bin/ccache /opt/br/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../lib -I../../include -I../../lib -DDATADIR=\"/usr/share/directfb-1.4.17\" -DMODULEDIR=\"/usr/lib/directfb-1.4-6\" -D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -ffast-math -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -g2 -g3 -fno-inline -Wno-inline -D_GNU_SOURCE -finstrument-functions -std=gnu99 -Werror-implicit-function-declaration -MT call.lo -MD -MP -MF .deps/call.Tpo -c call.c  -fPIC -DPIC -o .libs/call.o
call.c: In function 'fusion_call_execute3':
call.c:311:66: error 'FCEF_FOLLOW' undeclared (first use in this function)
call.c:311:66: note: each undeclared identifier is reported only once for each function it appears in
call.c: In function 'fusion_world_flush_calls':
call.c:444:54: error 'FCEF_FOLLOW' undeclared (first use in this function)
make[5]: *** [call.lo] Error 1
make[5]: Leaving directory `/opt/br/output/build/directfb-1.4.17/lib/fusion'

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Simon Dawson <spdawson@gmail.com>
Tested-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 07:21:59 -08:00
Peter Korsgaard
f27ec358ef cramfs.mk: drop invalid -q option
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-29 23:25:09 -08:00
Charles Manning
40f175b37a Change Filesystem utilities heading because it has mtd utils too.
Changing it to Filesystem and flash utilities gives far better navigation
for mtd utils.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-29 23:13:10 -08:00
Peter Korsgaard
2b7be2f1de alsa-lib: fix static linking check
Closes #5732

The symbol for static linking is BR2_PREFER_STATIC_LIB.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-29 23:05:44 -08:00
Peter Korsgaard
0f9bad95a0 CHANGES: update with recent changes
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-29 23:00:40 -08:00
Samuel Martin
ba66de55ff linux-fusion: fix build
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Simon Dawson <spdawson@gmail.com>
Tested-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-29 16:33:52 -08:00
James Hogan
d490bb6c37 strace: remove undef-CTL_PROC patch
This patch is no longer necessary since strace-v4.5.15 which always
defines CTL_PROC. Specifically strace git commit
35a55785ea8ff44d214af52085e3a5ea624730aa.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-29 16:32:38 -08:00
Gustavo Zacarias
7c9549e84f linux: bump 3.6.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-28 13:59:04 -08:00
Gustavo Zacarias
6d58aed1b0 kernel-headers: bump 3.{0, 4, 6}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-28 13:58:50 -08:00
Benoît Thébaudeau
58c72c0046 ccache: Fix URL
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-28 13:58:15 -08:00
Thomas Petazzoni
21a0c11a90 gdb: properly pass the PATH when building gdb for the host
When building gdb for the host, we properly pass the PATH (through
HOST_CONFIGURE_OPTS) during the configure step, but we forget to do so
for the compilation step.

The result of this is that when the Crosstool-NG backend is used, gawk
is built and installed in $(HOST_DIR), as a dependency of the
crosstool-ng package.

Then, the host gdb configure script detects this gawk binary
($(HOST_DIR) is in the PATH), and assumes gawk is
available. Unfortunately, during the compilation step, it fails to
find the expected gawk binary, because $(HOST_DIR) is no longer in the
PATH. This causes the following build failure:

  http://autobuild.buildroot.org/results/067d0c2ea01673ba98ec11de2426f1ab92dac800/build-end.log

In order to fix this, we simply call the compilation step of gdb for
the host with $(HOST_MAKE_ENV), as it should have been done from the
beginning.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-28 11:35:57 -08:00
Thomas Petazzoni
660d16f490 binutils: not available for the target on AArch64
Fixes:

  http://autobuild.buildroot.org/results/74082860f607cbd857654e9504f5f7e7ae47c0ac/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-28 11:35:43 -08:00
Thomas Petazzoni
de75da8b13 libpcap: fix static build
The libpcap package contained some interesting attempts to support a
static-only build, but it was not working:

 http://autobuild.buildroot.org/results/01038d3b970092d894d2bae80679247e65722785/build-end.log

In fact the configure.in of libpcap has provision to support
--enable-shared/--disable-shared, but the generated configure script
in the libpcap package has not been regenerated with the configure.in
changes.

So basically, enabling LIBPCAP_AUTORECONF=YES ensures that the
configure script gets generated, which brings us a working
--enable-shared / --disable-shared.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-28 10:58:46 -08:00
Gustavo Zacarias
9e12a985a1 libdaemon: needs mmu
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-28 10:39:08 -08:00
Gustavo Zacarias
737d92d9c2 hiawatha: needs mmu
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-28 10:39:05 -08:00
Arnout Vandecappelle (Essensium/Mind)
722b82f05b manual: restructure 'Adding packages' chapter
The depends-on-vs-select part of the manual really deserves its own
section title (especially because it is referred to and the xref gets
a 'sinpara' in PDF if the section doesn't have a title). So restructure
the surrounding sections to reduce the section nesting depth.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:08:07 -08:00
Arnout Vandecappelle (Essensium/Mind)
50b32848c2 manual: give example where _INSTALL_TARGET = NO
The tutorial for autotools-package and cmake-package currently gives
the bad example of setting _INSTALL_TARGET to YES, which is the default.
So change this into an example with _INSTALL_TARGET = NO, and explain in
which case this is relevant.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:07:52 -08:00
Arnout Vandecappelle (Essensium/Mind)
13562ddd2a manual: more warnings to not use output/target
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:07:47 -08:00
Arnout Vandecappelle (Essensium/Mind)
65f66c170e manual: various fixes
Various consistency and correctness improvements.

Also removing some sentences that are not or no longer relevant.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:07:42 -08:00
Arnout Vandecappelle (Essensium/Mind)
1d989fafba manual: trivial fixes
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:07:39 -08:00
Gustavo Zacarias
670d60dc91 ocf-linux: tweak kernel patch for newer kernels
Newer kernels had a slight change in the random number API so the OCF
patchset requires a slight tweak to build and run properly.

Affected kernels are, per series:
>=3.0.41, >=3.2.29, >=3.4.9, >=3.5.2 and any newer version.

The fix is applied by detecting the API change rather than guessing the
kernel version.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:05:02 -08:00
Simon Dawson
3bdbe9abb9 lcdproc: fix autobuild errors
The autobuilders are falling over building lcdproc, with failures like the
following.

  http://autobuild.buildroot.net/results/622b7da10be751c725ba25eb40102269790b4b03/build-end.log

As Thomas Petazzoni has pointed out, the compile command lines incorrectly
contain host header and library search paths, such as the following.

  -I/home/peko/scratch/host/usr/include/freetype2
  -L/home/peko/scratch/host/usr/lib -lfreetype

This patch changes the lcdproc package to pass the freetype installation
prefixes on the configure command line.

Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-26 10:16:23 -08:00
Peter Korsgaard
ade0a8a856 directfb: needs threads support
Fixes http://autobuild.buildroot.net/results/237aaf7b036a98867de1df47d39d01ec4137efd3

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-23 22:01:38 +01:00
Peter Korsgaard
bf5d51717b Revert "libhid: disable on avr32"
This reverts commit 2424cc6783.

Now that we have a timerfd fix for libusb, this can be reverted.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-23 10:47:38 +01:00
Maxime Ripard
d15637d171 AVR32: fix libusb build
The libc of the avr32 toolchains seem to lack the timerfd-associated
functions.

Pass --disable-timerfd to libusb configure script when building for
avr32.

Fixes most of the recent avr32 breakages, such as
http://autobuild.buildroot.org/results/f418b6c0b026891c27467f61444b6eac8c105681
or
http://autobuild.buildroot.org/results/1a9e571998bc0a40822dca84267abbdd969bab5e

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-23 10:40:45 +01:00
Samuel Martin
a645383c84 libecore: fix build with glibc >= 2.16
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-23 09:59:23 +01:00
Gustavo Zacarias
8fd4559212 arptables: needs mmu
arptables uses fork() and breaks on !mmu.
Fixes
http://autobuild.buildroot.net/results/fe18dd4a0b0d17404560abf3e4a332b58751f5cb/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-23 09:55:58 +01:00
Gustavo Zacarias
36d36f0de1 linux: bump 3.6.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-22 00:08:05 +01:00
Gustavo Zacarias
1c7f8c45f2 kernel-headers: bump 3.{0, 2, 4, 6}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-22 00:08:02 +01:00
Markos Chandras
e1ebae700a fs/common: Create initial console device
A /dev/console node must be present in rootfs when the Linux kernel
boots otherwise the kernel will print the following warning:
"Warning: unable to open an initial console"

This is because when we use an initramfs the /dev directory is not
populated at this point. This can cause problems when a program
(e.g ldso with early debugging enabled) opens a standard file
descriptor for read/write before these descriptors are actually
created by the init process later on.

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-21 11:31:33 +01:00
Maxime Ripard
8f717d54ba Remove unused barebox 2012.07 string
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-21 11:17:12 +01:00
Chris Zankel
c28e15debf xtensa: fix target gdb build and 64-bit host side gdb
Fix build breakage, use the version of the ptrace header file in asm
instead of sys. Also, fix GDB running on 64 bit hosts. GDB was using
unsigned long for 32-bit registers, but unsigned long is 64 bit on
64-bit hosts.

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-21 11:14:24 +01:00
Chris Zankel
fdd5bc948e xtensa: use uppercase for configurations and modified overlay structure
Except for architecture and processor names, buildroot uses capitalized
configuration names, so change the macro names for xtensa to follow that
standard.
Change the overlay file to have a subdirectory for each component
(gdb, binutils, gcc, etc.) to make it more future-prove.

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-21 11:08:50 +01:00
Arnout Vandecappelle
5e0f1e1fcf busybox: fix link with tirpc
Busybox does partial linking of its modules before linking everything
together into the binary.  Those partial links are done without the
standard libraries, but that also means -ltirpc can't be found.  In
addition, this probably fails horribly with static linking (untested).

The problem is that the LDFLAGS are also used in the partial links.
So instead, use CFLAGS_busybox, which is only used for the busybox
link step.  Also make sure that this is passed through the environment,
not on the command line, so the busybox Makefile can still append to
it.

Fixes e.g.
http://autobuild.buildroot.net/results/e8351e3ba86fdcdb2999548658271a6fde0526a9

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-21 11:07:35 +01:00
Danomi Manchego
cd0f43a2c5 cjson: fix copy/paste error in target installation
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-21 11:05:55 +01:00
Gregory Hermant
4c60854f00 barebox: Add BR2_TARGET_BAREBOX_2012_11
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-21 11:04:22 +01:00
Peter Korsgaard
b40ec0b651 news.html: add 2012.11-rc1 annoucement link
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-19 09:12:23 +01:00
127 changed files with 1690 additions and 446 deletions

39
CHANGES
View File

@@ -1,3 +1,42 @@
2012.11.1, Released January 3rd, 2013:
Toolchain: Fixed non-largefile builds on recent Ubuntu
versions.
Arch: fix missing x86/generic handling, Build for Xtensa with
longcalls option.
Updated/fixed packages: dosfstools, qt
2012.11, Released December 2nd, 2012:
Git shallow clone fix for older git version.
Updated/fixed packages: ctuio, libtool
Issues resolved (http://bugs.uclibc.org):
#5726: List all the available hook points
2012.11-rc2, Released November 30th, 2012:
Minor fixes around the tree.
Various manual updates and fixes.
Add checks for legacy features.
Updated/fixed packages: acpid, alsa-lib, arptables, binutils,
busybox, ccache, cjson, cramfs, directfb, flex, fluxbox, gdb,
hiawatha, igh-ethercat, imagemagick, imlib2, lcdproc,
libdaemon, libecore, libhid, libmad, libpcap, libsigc, libusb,
linux-fusion, matchbox, ocf-linux, owl-linux, python, rrdtool,
scons, strace, sylpheed
Issues resolved (http://bugs.uclibc.org):
#5732: Error : package/alsa-lib/alsa-lib.mk
2012.11-rc1, Released November 17th, 2012
Fixes all over the tree and new features.

View File

@@ -434,3 +434,5 @@ source "fs/Config.in"
source "boot/Config.in"
source "linux/Config.in"
source "Config.in.legacy"

73
Config.in.legacy Normal file
View File

@@ -0,0 +1,73 @@
#
# Config.in.legacy - support for backward compatibility
#
# When an existing Config.in symbol is removed, it should be added again in this
# file, and take appropriate action to approximate backward compatibility. If
# there is an equivalent (set of) new symbols, these can just be select'ed by
# the old symbol. This makes sure that running 'make oldconfig' will make things
# "just work" when upgrading to a new buildroot version. If the change is too
# fundamental and cannot be fixed by a simple select, then the old symbol should
# select BR2_LEGACY. If that symbol is set, the build will issue an error.
#
# When adding legacy symbols to this file, add them to the front. The oldest
# symbols will be removed again after about two years.
#
# The symbol should be copied as-is from the place where it was previously
# defined, but the help text should be removed or replaced with something that
# explains how to fix it.
config BR2_LEGACY
bool
help
This option is selected automatically when your old .config uses an
option that no longer exists in current buildroot. In that case, the
build will fail. Look for config options which are selected in the
menu below: they no longer exist and should be replaced by something
else.
# This comment fits exactly in a 80-column display
comment "Legacy detected: check the content of the menu below"
depends on BR2_LEGACY
# This option should get a new name with every buildroot release, so it defaults
# to y again for people who upgrade.
menuconfig BR2_LEGACY_CHECK_2012_11
bool "Check for legacy config options"
default y
help
Select this option to see the config options that are present in your
current .config but are no longer supported by buildroot. If any of
the options in this menu is selected, they should be replaced with
something else. As long as they stay selected, the build will fail.
Just de-select this option to automatically remove all the legacy
configuration.
if BR2_LEGACY_CHECK_2012_11
#
# Legacy options from 2012.08
#
config BR2_PACKAGE_GETTEXT_STATIC
bool "libgettext.a is now selected by BR2_PREFER_STATIC_LIB"
select BR2_LEGACY
help
To build a static gettext library, select BR2_PREFER_STATIC_LIB.
config BR2_PACKAGE_LIBINTL
bool "libintl"
select BR2_LEGACY
select BR2_PACKAGE_GETTEXT
help
libintl is now installed by selecting BR2_PACKAGE_GETTEXT. This now
only installs the library, not the executables.
config BR2_PACKAGE_INPUT_TOOLS_EVTEST
bool "input-tools evtest is now a separate package evtest"
select BR2_LEGACY
select BR2_PACKAGE_EVTEST
help
The evtest program from input-tools is now a separate package.
endif

View File

@@ -24,7 +24,7 @@
#--------------------------------------------------------------
# Set and export the version string
export BR2_VERSION:=2012.11-rc1
export BR2_VERSION:=2012.11.1
# Check for minimal make version (note: this check will break at make 10.x)
MIN_MAKE_VERSION=3.81
@@ -172,6 +172,7 @@ export HOSTCC_NOCCACHE HOSTCXX_NOCCACHE
# Make sure pkg-config doesn't look outside the buildroot tree
unexport PKG_CONFIG_PATH
unexport PKG_CONFIG_SYSROOT_DIR
# Having DESTDIR set in the environment confuses the installation
# steps of some packages.
@@ -290,6 +291,12 @@ endif
all: world
# Include legacy before the other things, because package .mk files
# may rely on it.
ifneq ($(BR2_DEPRECATED),y)
include Makefile.legacy
endif
include package/Makefile.in
include support/dependencies/dependencies.mk
@@ -419,7 +426,7 @@ ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
endif
STRIP_FIND_CMD += -type f -perm +111
STRIP_FIND_CMD += -not \( $(call findfileclauses,libthread_db*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print
STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print
target-finalize:
ifeq ($(BR2_HAVE_DEVFILES),y)
@@ -450,6 +457,14 @@ endif
find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
xargs -r $(KSTRIPCMD) || true
# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads
# besides the one in which crash occurred; or SIGTRAP kills my program when
# I set a breakpoint"
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
find $(TARGET_DIR)/lib -type f -name 'libpthread*.so*' | \
xargs $(STRIPCMD) $(STRIP_STRIP_DEBUG) || true
endif
mkdir -p $(TARGET_DIR)/etc
# Mandatory configuration file and auxilliary cache directory
# for recent versions of ldconfig
@@ -605,6 +620,9 @@ allnoconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
randpackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
@mkdir -p $(BUILD_DIR)/buildroot-config
@grep -v BR2_PACKAGE_ $(CONFIG_DIR)/.config > $(CONFIG_DIR)/.config.nopkg
@grep '^config BR2_PACKAGE_' Config.in.legacy | \
while read config pkg; do \
echo "# $$pkg is not set" >> $(CONFIG_DIR)/.config.nopkg; done
@$(COMMON_CONFIG_ENV) \
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
$< --randconfig $(CONFIG_CONFIG_IN)
@@ -613,6 +631,9 @@ randpackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
@mkdir -p $(BUILD_DIR)/buildroot-config
@grep -v BR2_PACKAGE_ $(CONFIG_DIR)/.config > $(CONFIG_DIR)/.config.nopkg
@grep '^config BR2_PACKAGE_' Config.in.legacy | \
while read config pkg; do \
echo "# $$pkg is not set" >> $(CONFIG_DIR)/.config.nopkg; done
@$(COMMON_CONFIG_ENV) \
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
$< --allyesconfig $(CONFIG_CONFIG_IN)
@@ -762,4 +783,3 @@ print-version:
include docs/manual/manual.mk
.PHONY: $(noconfig_targets)

30
Makefile.legacy Normal file
View File

@@ -0,0 +1,30 @@
#
# Makefile.legacy - support for backward compatibility
#
# This file contains placeholders to detect backward-compatibility problems.
# When a buildroot "API" feature is being deprecated, a rule should be added
# here that issues an error when the old feature is used.
#
# This file is not included if BR2_DEPRECATED is selected, so it is possible
# to bypass the errors (although that's usually a bad idea).
ifeq ($(BR2_LEGACY),y)
$(error "You have legacy configuration in your .config! Please check your configuration.")
endif
#
# Legacy options from 2012.08
#
host-pkg-config:
@$(call MESSAGE,host-pkg-config is replaced by host-pkgconf)
@$(call MESSAGE,please update your .mk files)
@false
.PHONY: host-pkg-config
#
# Legacy options from 2012.05
#
GENTARGETS = $$(error The GENTARGETS macro no longer exists; use $$$$(eval $$$$(generic-package)) or $$$$(eval $$$$(host-generic-package)))
AUTOTARGETS = $$(error The AUTOTARGETS macro no longer exists; use $$$$(eval $$$$(autotools-package)) or $$$$(eval $$$$(host-autotools-package)))
CMAKETARGETS = $$(error The CMAKETARGETS macro no longer exists; use $$$$(eval $$$$(cmake-package)) or $$$$(eval $$$$(host-cmake-package)))

View File

@@ -173,6 +173,7 @@ config BR2_ARCH
default "i686" if BR2_x86_athlon
default "i686" if BR2_x86_athlon_4
default "x86_64" if BR2_x86_64
default "i386" if BR2_x86_generic
config BR2_ENDIAN
default "LITTLE"

View File

@@ -2,32 +2,36 @@ choice
prompt "Target Architecture Variant"
depends on BR2_xtensa
default BR2_xtensa_fsf
config BR2_xtensa_custom
config BR2_XTENSA_CUSTOM
bool "Custom Xtensa processor configuration"
config BR2_xtensa_fsf
bool "fsf - Default configuration"
endchoice
config BR2_xtensa_custom_name
string "Custom Xtensa processor configuration anme"
depends on BR2_xtensa_custom
config BR2_XTENSA_CUSTOM_NAME
string "Custom Xtensa processor configuration name"
depends on BR2_XTENSA_CUSTOM
default ""
help
Name given to a custom Xtensa processor configuration.
config BR2_xtensa_core_name
config BR2_XTENSA_CORE_NAME
string
default BR2_xtensa_custom_name if BR2_xtensa_custom
default BR2_XTENSA_CUSTOM_NAME if BR2_XTENSA_CUSTOM
default "" if BR2_xtensa_fsf
config BR2_xtensa_overlay_dir
config BR2_XTENSA_OVERLAY_DIR
string "Overlay directory for custom configuration"
depends on BR2_xtensa_custom
depends on BR2_XTENSA_CUSTOM
default ""
help
Provide a directory path that contains the overlay files
for the custom configuration. The path is based on the
buildroot top directory.
Provide the directory path that contains the overlay file
for a custom processor configuration. The path is relative
to the top directory of buildroot.
These overlay files are tar packages with updated configuration
files for various toolchain packages and Xtensa processor
configurations. They are provided by the processor vendor or
directly from Tensilica.
config BR2_ARCH
default "xtensa" if BR2_xtensa

View File

@@ -41,10 +41,10 @@ endif
config BR2_TARGET_BAREBOX_VERSION
string
default "2012.07.0" if BR2_TARGET_BAREBOX_2012_07
default "2012.08.0" if BR2_TARGET_BAREBOX_2012_08
default "2012.09.0" if BR2_TARGET_BAREBOX_2012_09
default "2012.10.0" if BR2_TARGET_BAREBOX_2012_10
default "2012.11.0" if BR2_TARGET_BAREBOX_2012_11
default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL
default $BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT

View File

@@ -6,22 +6,22 @@
<p>
The latest stable release is <b>2012.08</b>, which can be downloaded
The latest stable release is <b>2012.11</b>, which can be downloaded
here:<p>
<a href="/downloads/buildroot-2012.08.tar.gz">buildroot-2012.08.tar.gz</a>
<a href="/downloads/buildroot-2012.11.tar.gz">buildroot-2012.11.tar.gz</a>
or
<a href="/downloads/buildroot-2012.08.tar.bz2">buildroot-2012.08.tar.bz2</a>.
<a href="/downloads/buildroot-2012.11.tar.bz2">buildroot-2012.11.tar.bz2</a>.
<!--
<p>
The latest release candidate is <b>2012.11-rc1</b>, which can be
The latest release candidate is <b>2012.11-rc2</b>, which can be
downloaded here:<p>
<a href="/downloads/buildroot-2012.11-rc1.tar.gz">buildroot-2012.11-rc1.tar.gz</a>
<a href="/downloads/buildroot-2012.11-rc2.tar.gz">buildroot-2012.11-rc2.tar.gz</a>
or
<a href="/downloads/buildroot-2012.11-rc1.tar.bz2">buildroot-2012.11-rc1.tar.bz2</a>.
<a href="/downloads/buildroot-2012.11-rc2.tar.bz2">buildroot-2012.11-rc2.tar.bz2</a>.
<p>
-->
This and earlier releases can always be downloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>.

View File

@@ -21,8 +21,8 @@ package, with an example :
07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
08: LIBFOO_SITE = http://www.foosoftware.org/download
09: LIBFOO_INSTALL_STAGING = YES
10: LIBFOO_INSTALL_TARGET = YES
11: LIBFOO_CONF_OPT = --enable-shared
10: LIBFOO_INSTALL_TARGET = NO
11: LIBFOO_CONF_OPT = --disable-shared
12: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
13:
14: $(eval $(autotools-package))
@@ -44,13 +44,13 @@ other libraries or applications depending on them. Also by default, when
staging installation is enabled, packages are installed in this location
using the +make install+ command.
On line 10, we tell Buildroot to also install the package to the
On line 10, we tell Buildroot to not install the package to the
target directory. This directory contains what will become the root
filesystem running on the target. Usually, we try not to install header
files and to install stripped versions of the binary. By default, target
installation is enabled, so in fact, this line is not strictly
necessary. Also by default, packages are installed in this location
using the +make install+ command.
filesystem running on the target. For purely static libraries, it is
not necessary to install them in the target directory because they will
not be used at runtime. By default, target installation is enabled; setting
this variable to NO is almost never needed. Also by default, packages are
installed in this location using the +make install+ command.
On line 11, we tell Buildroot to pass a custom configure option, that
will be passed to the +./configure+ script before configuring
@@ -133,13 +133,13 @@ cases, typical packages will therefore only use a few of them.
* +LIBFOO_INSTALL_STAGING_OPT+ contains the make options
used to install the package to the staging directory. By default, the
value is +DESTDIR=$$(STAGING_DIR) install+, which is
value is +DESTDIR=$(STAGING_DIR) install+, which is
correct for most autotools packages. It is still possible to override
it.
* +LIBFOO_INSTALL_TARGET_OPT+ contains the make options
used to install the package to the target directory. By default, the
value is +DESTDIR=$$(TARGET_DIR) install+. The default
value is +DESTDIR=$(TARGET_DIR) install+. The default
value is correct for most autotools packages, but it is still possible
to override it if needed.

View File

@@ -21,7 +21,7 @@ with an example :
07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
08: LIBFOO_SITE = http://www.foosoftware.org/download
09: LIBFOO_INSTALL_STAGING = YES
10: LIBFOO_INSTALL_TARGET = YES
10: LIBFOO_INSTALL_TARGET = NO
11: LIBFOO_CONF_OPT = -DBUILD_DEMOS=ON
12: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
13:
@@ -44,13 +44,13 @@ other libraries or applications depending on them. Also by default, when
staging installation is enabled, packages are installed in this location
using the +make install+ command.
On line 10, we tell Buildroot to also install the package to the
On line 10, we tell Buildroot to not install the package to the
target directory. This directory contains what will become the root
filesystem running on the target. Usually, we try not to install header
files and to install stripped versions of the binary. By default, target
installation is enabled, so in fact, this line is not strictly
necessary. Also by default, packages are installed in this location
using the +make install+ command.
filesystem running on the target. For purely static libraries, it is
not necessary to install them in the target directory because they will
not be used at runtime. By default, target installation is enabled; setting
this variable to NO is almost never needed. Also by default, packages are
installed in this location using the +make install+ command.
On line 11, we tell Buildroot to pass custom options to CMake when it is
configuring the package.
@@ -115,12 +115,12 @@ typical packages will therefore only use a few of them.
* +LIBFOO_INSTALL_STAGING_OPT+ contains the make options used to
install the package to the staging directory. By default, the value
is +DESTDIR=$$(STAGING_DIR) install+, which is correct for most
is +DESTDIR=$(STAGING_DIR) install+, which is correct for most
CMake packages. It is still possible to override it.
* +LIBFOO_INSTALL_TARGET_OPT+ contains the make options used to
install the package to the target directory. By default, the value
is +DESTDIR=$$(TARGET_DIR) install+. The default value is correct
is +DESTDIR=$(TARGET_DIR) install+. The default value is correct
for most CMake packages, but it is still possible to override it if
needed.

View File

@@ -8,5 +8,6 @@ matter of writing a Makefile using an existing example and modifying it
according to the compilation process required by the package.
If you package software that might be useful for other people, don't
forget to send a patch to Buildroot developers!
forget to send a patch to the Buildroot mailing list (see
xref:submitting-patches[])!

View File

@@ -7,12 +7,13 @@ First of all, create a directory under the +package+ directory for
your software, for example +libfoo+.
Some packages have been grouped by topic in a sub-directory:
+multimedia+, +java+, +x11r7+, and +games+. If your package fits in
+multimedia+, +x11r7+, +efl+ and +matchbox+. If your package fits in
one of these categories, then create your package directory in these.
New subdirectories are discouraged, however.
+Config.in+ file
^^^^^^^^^^^^^^^^
~~~~~~~~~~~~~~~~
Then, create a file named +Config.in+. This file will contain the
option descriptions related to our +libfoo+ software that will be used
@@ -32,12 +33,12 @@ configuration option must be indented with one tab. The help text
itself should be indented with one tab and two spaces, and it must
mention the upstream URL of the project.
Of course, you can add other sub-options into a +if
You can add other sub-options into a +if
BR2_PACKAGE_LIBFOO...endif+ statement to configure particular things
in your software. You can look at examples in other packages. The
syntax of the +Config.in+ file is the same as the one for the kernel
Kconfig file. The documentation for this syntax is available at
http://lxr.free-electrons.com/source/Documentation/kbuild/kconfig-language.txt[]
http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[]
Finally you have to add your new +libfoo/Config.in+ to
+package/Config.in+ (or in a category subdirectory if you decided to
@@ -50,6 +51,9 @@ source "package/libfoo/Config.in"
--------------------------
[[depends-on-vs-select]]
Choosing +depends on+ or +select+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The +Config.in+ file of your package must also ensure that
dependencies are enabled. Typically, Buildroot uses the following
rules:
@@ -68,9 +72,9 @@ rules:
dependency for dependencies on toolchain options (target
architecture, MMU support, C library, C++ support, large file
support, thread support, RPC support, IPV6 support, WCHAR support),
or for dependencies on "big" things, such as the X.org system. In
some cases, especially dependency on toolchain options, it is
recommended to add a +comment+ displayed when the option is not
or for dependencies on "big" things, such as the X.org system. For
dependencies on toolchain options, there should be a +comment+ that
is displayed when the option is not
enabled, so that the user knows why the package is not available.
The +depends on+ keyword express the dependency with a forward
semantic.
@@ -160,10 +164,10 @@ so, the dependency also needs to be expressed in the +.mk+ file of the
package.
Further formatting details: see xref:writing-rules-config-in[the
writing rules].
coding style].
The +.mk+ file
^^^^^^^^^^^^^^
~~~~~~~~~~~~~~
Finally, here's the hardest part. Create a file named +libfoo.mk+. It
describes how the package should be downloaded, configured, built,

View File

@@ -151,11 +151,11 @@ information is (assuming the package name is +libfoo+) :
* +LIBFOO_PATCH+ may contain the name of a patch, that will be
downloaded from the same location as the tarball indicated in
+LIBFOO_SOURCE+. If +HOST_LIBFOO_PATCH+ is not specified, it
defaults to +LIBFOO_PATCH+. Also note that another mechanism is
available to patch a package: all files of the form
+packagename-packageversion-description.patch+ present in the
package directory inside Buildroot will be applied to the package
after extraction.
defaults to +LIBFOO_PATCH+. Note that patches that are included
in Buildroot itself use a different mechanism: all files of the
form +<packagename>-*.patch+ present in the package directory inside
Buildroot will be applied to the package after extraction (see
xref:patch-policy[patching a package]).
* +LIBFOO_SITE+ provides the location of the package, which can be a
URL or a local filesystem path. HTTP, FTP and SCP are supported URL
@@ -175,8 +175,8 @@ information is (assuming the package name is +libfoo+) :
Examples: +
+LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ +
+LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor/+ +
+LIBFOO_SITE=git://github.com/kergoth/tslib.git+
+LIBFOO_SITE=/opt/software/libfoo.tar.gz+
+LIBFOO_SITE=git://github.com/kergoth/tslib.git+ +
+LIBFOO_SITE=/opt/software/libfoo.tar.gz+ +
+LIBFOO_SITE=$(TOPDIR)/../src/libfoo/+
* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the
@@ -221,7 +221,7 @@ information is (assuming the package name is +libfoo+) :
name) that are required for the current target package to
compile. These dependencies are guaranteed to be compiled and
installed before the configuration of the current package starts. In
a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependency for
a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for
the current host package.
* +LIBFOO_INSTALL_STAGING+ can be set to +YES+ or +NO+ (default). If
@@ -251,9 +251,6 @@ information is (assuming the package name is +libfoo+) :
use the same string to make the manifest file uniform.
Otherwise, describe the license in a precise and concise way, avoiding
ambiguous names such as +BSD+ which actually name a family of licenses.
If the root filesystem you generate contains non-opensource packages, you
can define their license as +PROPRIETARY+: Buildroot will not save any
licensing info or source code for this package.
This variable is optional. If it is not defined, +unknown+ will appear in
the +license+ field of the manifest file for this package.
@@ -265,6 +262,11 @@ information is (assuming the package name is +libfoo+) :
to let you know, and +not saved+ will appear in the +license files+ field
of the manifest file for this package.
* +LIBFOO_REDISTRIBUTE+ can be set to +YES+ (default) or +NO+ to indicate if
the package source code is allowed to be redistributed. Set it to +NO+ for
non-opensource packages: Buildroot will not save the source code for this
package when collecting the +legal-info+.
The recommended way to define these variables is to use the following
syntax:
@@ -275,46 +277,45 @@ LIBFOO_VERSION = 2.32
Now, the variables that define what should be performed at the
different steps of the build process.
* +LIBFOO_CONFIGURE_CMDS+, used to list the actions to be performed to
configure the package before its compilation
* +LIBFOO_CONFIGURE_CMDS+ lists the actions to be performed to
configure the package before its compilation.
* +LIBFOO_BUILD_CMDS+, used to list the actions to be performed to
compile the package
* +LIBFOO_BUILD_CMDS+ lists the actions to be performed to
compile the package.
* +HOST_LIBFOO_INSTALL_CMDS+, used to list the actions to be performed
* +HOST_LIBFOO_INSTALL_CMDS+ lists the actions to be performed
to install the package, when the package is a host package. The
package must install its files to the directory given by
+$(HOST_DIR)+. All files, including development files such as
headers should be installed, since other packages might be compiled
on top of this package.
* +LIBFOO_INSTALL_TARGET_CMDS+, used to list the actions to be
* +LIBFOO_INSTALL_TARGET_CMDS+ lists the actions to be
performed to install the package to the target directory, when the
package is a target package. The package must install its files to
the directory given by +$(TARGET_DIR)+. Only the files required for
'documentation' and 'execution' of the package should be
installed. Header files should not be installed, they will be copied
to the target, if the +development files in target filesystem+
option is selected.
'execution' of the package have to be
installed. Header files, static libraries and documentation will be
removed again when the target filesystem is finalized.
* +LIBFOO_INSTALL_STAGING_CMDS+, used to list the actions to be
* +LIBFOO_INSTALL_STAGING_CMDS+ lists the actions to be
performed to install the package to the staging directory, when the
package is a target package. The package must install its files to
the directory given by +$(STAGING_DIR)+. All development files
should be installed, since they might be needed to compile other
packages.
* +LIBFOO_CLEAN_CMDS+, used to list the actions to perform to clean up
* +LIBFOO_CLEAN_CMDS+, lists the actions to perform to clean up
the build directory of the package.
* +LIBFOO_UNINSTALL_TARGET_CMDS+, used to list the actions to
* +LIBFOO_UNINSTALL_TARGET_CMDS+ lists the actions to
uninstall the package from the target directory +$(TARGET_DIR)+
* +LIBFOO_UNINSTALL_STAGING_CMDS+, used to list the actions to
* +LIBFOO_UNINSTALL_STAGING_CMDS+ lists the actions to
uninstall the package from the staging directory +$(STAGING_DIR)+.
* +LIBFOO_INSTALL_INIT_SYSV+ and +LIBFOO_INSTALL_INIT_SYSTEMD+, used
to install init scripts either for the systemV-like init systems
* +LIBFOO_INSTALL_INIT_SYSV+ and +LIBFOO_INSTALL_INIT_SYSTEMD+ list the
actions to install init scripts either for the systemV-like init systems
(busybox, sysvinit, etc.) or for the systemd units. These commands
will be run only when the relevant init system is installed (i.e. if
systemd is selected as the init system in the configuration, only
@@ -352,11 +353,14 @@ using the autotools infrastructure described below. However, since
they are provided by the generic infrastructure, they are documented
here. The exception is +LIBFOO_POST_PATCH_HOOKS+. Patching the
package and producing legal info are not user definable, so
+LIBFOO_POST_PATCH_HOOKS+ and +LIBFOO_POST_LEGAL_INFO_HOOKS+ will be
userful for generic packages.
+LIBFOO_POST_PATCH_HOOKS+ and +LIBFOO_POST_LEGAL_INFO_HOOKS+ are
useful for generic packages.
The following hook points are available:
* +LIBFOO_POST_DOWNLOAD_HOOKS+
* +LIBFOO_POST_EXTRACT_HOOKS+
* +LIBFOO_PRE_PATCH_HOOKS+
* +LIBFOO_POST_PATCH_HOOKS+
* +LIBFOO_PRE_CONFIGURE_HOOKS+
* +LIBFOO_POST_CONFIGURE_HOOKS+

View File

@@ -27,16 +27,20 @@ Therefore, Buildroot defines two configuration options:
doesn't provide its own gettext implementation and if locale support
is enabled
Therefore, packages that unconditionally need gettext should:
* Use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT+
* Use +$(if $(BR2_NEEDS_GETTEXT),gettext)+ in the package
+DEPENDENCIES+ variable
Packages that need gettext only when locale support is enabled should:
* Use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE+
* use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE+ in the
+Config.in+ file;
* use +$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)+ in the package
+DEPENDENCIES+ variable in the +.mk+ file.
Packages that unconditionally need gettext (which should be very rare)
should:
* use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT+ in the +Config.in+
file;
* use +$(if $(BR2_NEEDS_GETTEXT),gettext)+ in the package
+DEPENDENCIES+ variable in the +.mk+ file.
* Use +$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)+ in the package
+DEPENDENCIES+ variable

View File

@@ -19,7 +19,10 @@ In Buildroot, there is some relationship between:
It is mandatory to maintain consistency between these elements,
using the following rules:
* the _make_ target name will be the _package name_ itself (e.g.:
* the package directory and the +*.mk+ name are the _package name_
itself (e.g.: +package/foo-bar_boo/foo-bar_boo.mk+);
* the _make_ target name is the _package name_ itself (e.g.:
+foo-bar_boo+);
* the config entry is the upper case _package name_ with `.` and `-`
@@ -32,18 +35,12 @@ using the following rules:
[[github-download-url]]
How to add package from github
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
How to add a package from github
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If the package has no release version, or its version cannot be
identified using tag, then the sha1 of the particular commit should be
used to identify the version (the first 7 characters of the sha1 are
enough):
------------------------
FOO_VERSION = 1234567
FOO_SITE = http://github.com/<user>/<package>/tarball/<branch>
------------------------
Packages on github often don't have a download area with release tarballs.
However, it is possible to download tarballs directly from the repository
on github.
If the package version matches a tag, then this tag should be used to
identify the version:
@@ -52,3 +49,16 @@ identify the version:
FOO_VERSION = v1.0
FOO_SITE = http://github.com/<user>/<package>/tarball/$(FOO_VERSION)
------------------------
If the package has no release version, or its version cannot be
identified using tag, then the SHA1 of the particular commit should be
used to identify the version (the first 7 characters of the SHA1 are
enough):
------------------------
FOO_VERSION = 1234567
FOO_SITE = http://github.com/<user>/<package>/tarball/<branch>
------------------------
Note that the name of the tarball is the default +foo-1234567.tar.gz+
so it is not necessary to specify it in the +.mk+ file.

View File

@@ -19,6 +19,8 @@ NFS-root directory:
sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir
-------------------
Remember to add this path to +/etc/exports+.
Then, you can execute a NFS-boot from your target.
Chroot

View File

@@ -21,13 +21,13 @@ selections are highly application-specific.
Once you have a known working configuration, run +make
savedefconfig+. This will generate a minimal +defconfig+ file at the
root of the Buildroot source tree. Move this file into the +configs/+
directory, and rename it +MYBOARD_defconfig+.
directory, and rename it +BOARDNAME_defconfig+.
It is recommended to use upstream versions of the Linux kernel and
bootloaders where possible, and also to use default kernel and bootloader
configurations if possible. If the defaults are incorrect for
your platform, we encourage you to send fixes to the corresponding upstream
projects.
your board, or no default exists, we encourage you to send fixes to the
corresponding upstream projects.
However, in the mean time, you may want to store kernel or bootloader
configuration or patches specific to your target platform. To do so,

View File

@@ -47,7 +47,7 @@ safely run multiple builds in parallel using the same source tree as
long as they use unique output directories.
For ease of use, Buildroot generates a Makefile wrapper in the output
directory - So after the first run, you no longer need to pass +O=..+
directory - so after the first run, you no longer need to pass +O=..+
and +-C ..+, simply run (in the output directory):
--------------------
@@ -69,21 +69,21 @@ to +make+ or set in the environment:
internal toolchain is being built.
+
Note that the uClibc configuration file can also be set from the
configuration interface, so through the Buildroot .config file; this
configuration interface, so through the Buildroot +.config+ file; this
is the recommended way of setting it.
+
* +BUSYBOX_CONFIG_FILE=<path/to/.config>+, path to
the Busybox configuration file.
+
Note that the Busybox configuration file can also be set from the
configuration interface, so through the Buildroot .config file; this
configuration interface, so through the Buildroot +.config+ file; this
is the recommended way of setting it.
+
* +BUILDROOT_DL_DIR+ to override the directory in which
Buildroot stores/retrieves downloaded files
+
Note that the Buildroot download directory can also be set from the
configuration interface, so through the Buildroot .config file; this
configuration interface, so through the Buildroot +.config+ file; this
is the recommended way of setting it.
An example that uses config files located in the toplevel directory and

View File

@@ -5,7 +5,7 @@ Customizing the generated target filesystem
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Besides changing one or another configuration through +make *config+,
there are a few ways to customize the resulting target filesystem:
there are a few ways to customize the resulting target filesystem.
* Customize the target filesystem directly and rebuild the image. The
target filesystem is available under +output/target/+. You can
@@ -13,7 +13,7 @@ there are a few ways to customize the resulting target filesystem:
rebuild the target filesystem image. This method allows you to do
anything to the target filesystem, but if you decide to completely
rebuild your toolchain and tools, these changes will be lost.
_Changes are not resistent to the +make clean+ command_.
_Changes do not survive the +make clean+ command_.
* Create your own 'target skeleton'. You can start with the default
skeleton available under +system/skeleton+ and then customize it to
@@ -30,13 +30,13 @@ there are a few ways to customize the resulting target filesystem:
assembled. The +BR2_ROOTFS_POST_BUILD_SCRIPT+ will allow you to
specify the location of your post-build script. This option can be
found in the +System configuration+ menu. The destination root
filesystem folder *is given as the first argument to this script,
filesystem folder is given as the first argument to this script,
and this script can then be used to copy programs, static data or
any other needed file to your target filesystem. You should,
however, use this feature with care. Whenever you find that a
certain package generates wrong or unneeded files, you should fix
that package rather than work around it with a post-build cleanup
script. _Among these first 3 methods, this one should be prefere_d.
script. _Among these first 3 methods, this one should be preferred_.
* A special package, 'customize', stored in +package/customize+ can be
used. You can put all the files that you want to see in the final

View File

@@ -24,24 +24,23 @@ The internal Buildroot toolchain backend *only* allows to generate
However, it allows to tune major settings, such as:
* Linux header version
* Linux headers version;
* http://www.uclibc.org/[uClibc] configuration (see xref:uclibc-custom[uClibc])
* http://www.uclibc.org/[uClibc] configuration (see xref:uclibc-custom[uClibc]);
* Binutils, GCC, Gdb and toolchain options
* Binutils, GCC, Gdb and toolchain options.
This is directly available after selecting the +Buildroot toolchain+ type in
These settings are available after selecting the +Buildroot toolchain+ type in
the menu +Toolchain+.
Using the Crosstool-NG backend
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather
limited set of settings under the Buildroot +Toolchain+ menu (ie. when invoking
+make menuconfig+); mostly:
limited set of settings under the Buildroot +Toolchain+ menu:
* The http://crosstool-ng.org[crosstool-NG] configuration file
* Gdb and some toolchain options
Then, the toolchain can be finely tuned invoking +make ctng-menuconfig+.
Then, the toolchain can be fine-tuned by invoking +make ctng-menuconfig+.

View File

@@ -18,17 +18,16 @@ follow these steps:
similar to the one used in the Linux kernel or Buildroot,
appears. Make your configuration changes as appropriate.
* Copy the +$(O)/toolchain/uclibc-VERSION/.config+ file to a different
place (like +toolchain/uClibc/uClibc-myconfig.config+, or
+board/mymanufacturer/myboard/uClibc.config+) and adjust the uClibc
configuration (configuration option +BR2_UCLIBC_CONFIG+) to use this
* Copy the +$(O)/toolchain/uClibc-VERSION/.config+ file to a different
place (e.g. +board/MANUFACTURER/BOARDNAME/uClibc.config+) and adjust
the uClibc configuration file option +BR2_UCLIBC_CONFIG+ to refer to this
configuration instead of the default one.
* Run the compilation of Buildroot again.
Otherwise, you can simply change +toolchain/uClibc/uClibc.config+,
Otherwise, you can simply change +toolchain/uClibc/uClibc-VERSION.config+,
without running the configuration assistant.
If you want to use an existing config file for uclibc, then see
If you want to use an existing config file for uClibc, then see
xref:env-vars[].

View File

@@ -3,12 +3,12 @@
Location of downloaded packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It might be useful to know that the various tarballs that are
downloaded by the Makefiles are all stored in +DL_DIR+ which by
default is the +dl+ directory. This is useful, for example, if you want
The various tarballs that are downloaded by Buildroot are all stored in
+DL_DIR+, which by default is the +dl+ directory. If you want
to keep a complete version of Buildroot which is known to be working
with the associated tarballs. This will allow you to regenerate the
toolchain and the target filesystem with exactly the same versions.
with the associated tarballs, you can make a copy of this directory.
This will allow you to regenerate the toolchain and the target filesystem
with exactly the same versions.
If you maintain several Buildroot trees, it might be better to have a
shared download location. This can be accessed by creating a symbolic
@@ -26,3 +26,7 @@ should be added to +<~/.bashrc>+.
-----------------
$ export BUILDROOT_DL_DIR <shared download location>
-----------------
The download location can also be set in the +.config+ file, with the
+BR2_DL_DIR+ option. This value is overridden by the +BUILDROOT_DL_DIR+
environment variable.

View File

@@ -49,7 +49,9 @@ processor. Under most Linux systems, the compilation toolchain uses
the GNU libc (glibc) as the C standard library. This compilation
toolchain is called the "host compilation toolchain". The machine on
which it is running, and on which you're working, is called the "host
system".
system" footnote:[This terminology differs from what is used by GNU
configure, where the host is the machine on which the application will
run (which is usually the same as target)].
The compilation toolchain is provided by your distribution, and
Buildroot has nothing to do with it (other than using it to build a
@@ -82,7 +84,7 @@ interested in Buildroot for two reasons:
You might wonder why such a tool is needed when you can compile +gcc+,
+binutils+, +uClibc+ and all the other tools by hand. Of course doing
so is possible but, dealing with all of the configure options and
so is possible, but dealing with all of the configure options and
problems of every +gcc+ or +binutils+ version is very time-consuming
and uninteresting. Buildroot automates this process through the use
of Makefiles and has a collection of patches for each +gcc+ and

View File

@@ -26,8 +26,8 @@ Then, you have three solutions to use an external toolchain:
* Use a predefined external toolchain profile, and let Buildroot
download, extract and install the toolchain. Buildroot already knows
about a few CodeSourcery toolchains for ARM, PowerPC, MIPS and
SuperH. Just select the toolchain profile in +Toolchain+ through the
about a few CodeSourcery, Linaro, Blackfin and Xilinx toolchains.
Just select the toolchain profile in +Toolchain+ from the
available ones. This is definitely the easiest solution.
* Use a predefined external toolchain profile, but instead of having
@@ -45,7 +45,8 @@ Then, you have three solutions to use an external toolchain:
toolchain C library+ options. Then, you have to tell Buildroot what
your external toolchain supports. If your external toolchain uses
the 'glibc' library, you only have to tell whether your toolchain
supports C++ or not. If your external toolchain uses the 'uclibc'
supports C\+\+ or not and whether it has built-in RPC support. If
your external toolchain uses the 'uClibc'
library, then you have to tell Buildroot if it supports largefile,
IPv6, RPC, wide-char, locale, program invocation, threads and
C++. At the beginning of the execution, Buildroot will tell you if
@@ -53,7 +54,7 @@ Then, you have three solutions to use an external toolchain:
Our external toolchain support has been tested with toolchains from
CodeSourcery, toolchains generated by
CodeSourcery and Linaro, toolchains generated by
http://crosstool-ng.org[crosstool-NG], and toolchains generated by
Buildroot itself. In general, all toolchains that support the
'sysroot' feature should work. If not, do not hesitate to contact the

View File

@@ -98,7 +98,7 @@ deal with expressing the dependencies of this package.
In the +Config.in+ file, dependencies may be expressed following two
semantics.
See xref:depends-on-vs-select[].
See xref:depends-on-vs-select[choosing between _depends_ and _select_].
[[faq-why-not-visible-package]]
Why are some packages not visible in the Buildroot config menu?
@@ -131,4 +131,8 @@ one, among these:
* device nodes are not created in the target directory.
For these reasons, commands run through chroot, using the target
directory as the new root, would fail.
directory as the new root, will most likely fail.
If you want to run the target filesystem inside a chroot, or as an NFS
root, then use the tarball image generated in +images/+ and extract it
as root.

View File

@@ -6,29 +6,38 @@ How Buildroot works
As mentioned above, Buildroot is basically a set of Makefiles that
download, configure, and compile software with the correct options. It
also includes patches for various software packages - mainly the ones
involved in the cross-compilation tool chain (+gcc+, +binutils+ and
involved in the cross-compilation toolchain (+gcc+, +binutils+ and
+uClibc+).
There is basically one Makefile per software package, and they are
named with the +.mk+ extension. Makefiles are split into three main
sections:
named with the +.mk+ extension. Makefiles are split into many different
parts.
* *toolchain* (in the +toolchain/+ directory) contains the Makefiles
* The +toolchain/+ directory contains the Makefiles
and associated files for all software related to the
cross-compilation toolchain: +binutils+, +gcc+, +gdb+,
+kernel-headers+ and +uClibc+.
* *package* (in the +package/+ directory) contains the Makefiles and
associated files for all user-space tools that Buildroot can compile
and add to the target root filesystem. There is one sub-directory
per tool.
* The +arch/+ directory contains the definitions for all the processor
architectures that are supported by Buildroot.
* *target* (in the +target+ directory) contains the Makefiles and
* The +package/+ directory contains the Makefiles and
associated files for all user-space tools and libraries that Buildroot
can compile and add to the target root filesystem. There is one
sub-directory per package.
* The +linux/+ directory contains the Makefiles and associated files for
the Linux kernel.
* The +boot/+ directory contains the Makefiles and associated files for
the bootloaders supported by Buildroot.
* The +system/+ directory contains support for system integration, e.g.
the target filesystem skeleton and the selection of an init system.
* The +fs/+ directory contains the Makefiles and
associated files for software related to the generation of the
target root filesystem image. Four types of filesystems are
supported: ext2, jffs2, cramfs and squashfs. For each of them there
is a sub-directory with the required files. There is also a
+default/+ directory that contains the target filesystem skeleton.
target root filesystem image.
Each directory contains at least 2 files:

View File

@@ -17,5 +17,5 @@ processors, MIPS processors, ARM processors, etc.
Buildroot supports numerous processors and their variants; it also
comes with default configurations for several boards available
off-the-shelf. Besides this, a number of third-party projects are based on,
or develop their BSP footnote:[BSP: Board Software Package] or
SDK footnote:[SDK: Standard Development Kit] on top of Buildroot.
or develop their BSP footnote:[BSP: Board Support Package] or
SDK footnote:[SDK: Software Development Kit] on top of Buildroot.

View File

@@ -5,13 +5,13 @@
Legal notice and licensing
==========================
Complying with opensource licenses
----------------------------------
Complying with open source licenses
-----------------------------------
All of the end products of Buildroot (toolchain, root filesystem, kernel,
bootloaders) contain opensource software, released under various licenses.
bootloaders) contain open source software, released under various licenses.
Using opensource software gives you the freedom to build rich embedded
Using open source software gives you the freedom to build rich embedded
systems, choosing from a wide range of packages, but also imposes some
obligations that you must know and honour.
Some licenses require you to publish the license text in the documentation of
@@ -46,7 +46,7 @@ There you will find:
* A manifest file listing the configured packages, their version, license and
related information.
Some of this information might not be defined in Buildroot; such items are
clearly marked as "unknown" or similar.
marked as "unknown".
* A +licenses/+ subdirectory, which contains the license text of packages.
If the license file(s) are not defined in Buildroot, the file is not produced
and a warning in the +README+ indicates this.
@@ -56,63 +56,73 @@ produce all the material that is somehow relevant for legal compliance with the
package licenses. Buildroot does not try to produce the exact material that
you must somehow make public. Certainly, more material is produced than is
needed for a strict legal compliance. For example, it produces the source code
for packages released under BSD-like licenses, that you might not want to
for packages released under BSD-like licenses, that you are not required to
redistribute in source form.
Moreover, due to technical limitations, Buildroot does not produce some
material that you will or may need, such as the toolchain source code and the
Buildroot source code itself.
Buildroot source code itself (including patches to packages for which source
distribution is required).
When you run +make legal-info+, Buildroot produces warnings in the +README+
file to inform you of relevant material that could not be saved.
[[legal-info-list-licenses]]
License abbreviations
---------------------
Here is a list of the licenses that are most widely used by packages in
Buildroot, with the name used in the manifest file:
* +GPLv2+:
* `GPLv2`:
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[
GNU General Public License, version 2];
* +GPLv2++:
* `GPLv2+`:
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[
GNU General Public License, version 2]
or (at your option) any later version;
* +GPLv3+:
* `GPLv3`:
http://www.gnu.org/licenses/gpl.html[
GNU General Public License, version 3];
* +GPLv3++:
* `GPLv3+`:
http://www.gnu.org/licenses/gpl.html[
GNU General Public License, version 3]
or (at your option) any later version;
* +GPL+:
* `GPL`:
http://www.gnu.org/licenses/gpl.html[
GNU General Public License] (any version);
* +LGPLv2.1+:
* `LGPLv2`:
http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html[
GNU Library General Public License, version 2];
* `LGPLv2+`:
http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html[
GNU Library General Public License, version 2.1]
or (at your option) any later version;
* `LGPLv2.1`:
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html[
GNU Lesser General Public License, version 2.1];
* +LGPLv2.1++:
* `LGPLv2.1+`:
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html[
GNU Lesser General Public License, version 2.1]
or (at your option) any later version;
* +LGPLv3+:
* `LGPLv3`:
http://www.gnu.org/licenses/lgpl.html[
GNU Lesser General Public License, version 3];
* +LGPLv3++:
* `LGPLv3+`:
http://www.gnu.org/licenses/lgpl.html[
GNU Lesser General Public License, version 3]
or (at your option) any later version;
* +LGPL+:
* `LGPL`:
http://www.gnu.org/licenses/lgpl.html[
GNU Lesser General Public License] (any version);
* +BSD-4c+: Original BSD 4-clause license;
* +BSD-3c+: BSD 3-clause license;
* +BSD-2c+: BSD 2-clause license;
* +PROPRIETARY+: marks a non-opensource package;
Buildroot does not save any licensing info or source code for these packages.
* `BSD-4c`: Original BSD 4-clause license;
* `BSD-3c`: BSD 3-clause license;
* `BSD-2c`: BSD 2-clause license;
* `MIT`: MIT-style license.
Complying with the Buildroot license
------------------------------------
Buildroot itself is an opensource software, released under the
Buildroot itself is an open source software, released under the
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General Public
License, version 2] or (at your option) any later version.
However, being a build system, it is not normally part of the end product:

View File

@@ -4,55 +4,61 @@
'make' tips
-----------
Because Buildroot is a set of Makefiles and patches, there are a few
things that are useful to know, such as:
This is a collection of tips that help you make the most of Buildroot.
+make *config+ commands offer a search tool. Read the help message in
.Configuration searches:
The +make *config+ commands offer a search tool. Read the help message in
the different frontend menus to know how to use it:
* in _menuconfig_, search tool is called by pressing +/+;
* in _xconfig_, search tool is called by pressing +ctrl+ + +f+.
* in _menuconfig_, the search tool is called by pressing +/+;
* in _xconfig_, the search tool is called by pressing +Ctrl+ + +f+.
The result of the search shows the help message of the matching items.
Display all commands executed by make:
.Display all commands executed by make:
--------------------
$ make V=0|1 <target>
$ make V=1 <target>
--------------------
Display all available targets:
.Display all available targets:
--------------------
$ make help
--------------------
Note that some settings in the +.config+ file may hide some targets:
.Not all targets are always available,
* +busybox-menuconfig+ depends on whether +busybox+ is enabled or not
in the +Package selection+ menu
* +linux-menuconfig+ and +linux-savedefconfig+ depend on whether
+linux+ is enabled or not
* +uclibc-menuconfig+ depends on whether the toolchain uses the
Buildroot internal toolchain backend or not
* +ctng-menuconfig+ depends on whether the toolchain uses the
crosstool-NG backend or not
* +barebox-menuconfig+ and +barebox-savedefconfig+ depend on whether
+barebox+ bootloader is enabled or not
some settings in the +.config+ file may hide some targets:
Delete all build products (including build directories, host, staging
* +linux-menuconfig+ and +linux-savedefconfig+ only work when
+linux+ is enabled;
* +uclibc-menuconfig+ is only available when the
Buildroot internal toolchain backend is used;
* +ctng-menuconfig+ is only available when the
crosstool-NG backend is used;
* +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the
+barebox+ bootloader is enabled.
.Cleaning:
Explicit cleaning is required when any of the architecture or toolchain
configuration options are changed.
To delete all build products (including build directories, host, staging
and target trees, the images and the toolchain):
--------------------
$ make clean
--------------------
Delete all build products as well as the configuration:
To delete all build products as well as the configuration:
--------------------
$ make distclean
--------------------
Note that if +ccache+ is enabled, running +make clean|distclean+ does
Note that if +ccache+ is enabled, running +make clean+ or +distclean+ does
not empty the compiler cache used by Buildroot. To delete it, refer
to xref:ccache[].

View File

@@ -20,14 +20,15 @@ It takes the form of a line for each file, with the following layout:
There are a few non-trivial blocks here:
- +name+ is the path to the file you want to create/modify
- +type+ is the type of the file, being one of :
- +type+ is the type of the file, being one of:
* f: a regular file
* d: a directory
* c: a character device file
* b: a block device file
* p: a named pipe
- +mode+, +uid+ and +gid+ are the usual permissions settings
- +major+ and +minor+ are here for device files
- +major+ and +minor+ are here for device files - set to - for other
files
- +start+, +inc+ and +count+ are for when you want to create a batch
of files, and can be reduced to a loop, beginning at +start+,
incrementing its counter by +inc+ until it reaches +count+

View File

@@ -2,20 +2,13 @@
[[pkg-build-steps]]
Package make targets
~~~~~~~~~~~~~~~~~~~~
Package-specific _make_ targets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A +make <package>+ call achieves several _make targets_ with, as a
result, this particular package and its dependencies built, installed
in their destination directory (target, staging or host directory).
Running +make <package>+ builds and installs that particular package
and its dependencies.
For packages based on the Buildroot infrastructures (+generic-package+,
+autotools-package+ or +cmake-package+), each of those
actions/steps/commands. For packages relying on other build system,
then there is no other choice than looking at the +.mk+ file (see also
the xref:rebuild-pkg[]).
For packages relying on the Buildroot infrastructures, there are
For packages relying on the Buildroot infrastructure, there are
numerous special make targets that can be called independently like
this:
@@ -23,7 +16,7 @@ this:
make <package>-<target>
------------
In order, the package build commands are:
The package build targets are (in the order they are executed):
[width="90%",cols="^1,4",options="header"]
|===================================================
@@ -38,27 +31,22 @@ build the package
| +extract+ | Put the source in the package build directory
(extract the tarball, copy the source, etc)
| +patch+ | Apply the patches if any
| +patch+ | Apply the patches, if any
| +configure+ | Run the configure command
| +configure+ | Run the configure commands, if any
| +build+ | Compile the source
| +build+ | Run the compilation commands
| +install-staging+ |
*target package:* Run the installation of the package in the
staging directory
*host package:* Does nothing
staging directory, if necessary
| +install-target+ |
*target package:* Run the installation of the package in the
staging directory
*host package:* Does nothing
target directory, if necessary
| +install+ |
*target package:* Run the 2 previous installation commands for the
target packages
*target package:* Run the 2 previous installation commands
*host package:* Run the installation of the package in the host
directory
@@ -74,15 +62,18 @@ Additionally, there are some other useful make targets:
| +show-depends+ | Displays the dependencies required to build the
package
| +clean+ | Clean the package build directory, also
uninstall the package from both the target and the staging directory
| +clean+ | Run the clean command of the package, also
uninstall the package from both the target and the staging directory; _note
that this is not implemented for all packages_
| +dirclean+ | Remove the whole package build directory
| +rebuild+ | Rebuild only necessary binaries and install them
again
| +rebuild+ | Re-run the compilation commands - this only makes
sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file
directly in the build directory
| +reconfigure+ | Re-run the configure command, then rebuild
only necessary binaries, and lastly install them again
| +reconfigure+ | Re-run the configure commands, then rebuild - this only
makes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a
file directly in the build directory
|===================================================

View File

@@ -2,37 +2,38 @@
[[patch-policy]]
Patch Policy
------------
Patching a package
------------------
While integrating a new package or updating an existing one, it may be
necessary to patch the source of the software to get it built within
necessary to patch the source of the software to get it cross-built within
Buildroot.
Buildroot offers an infrastructure to automatically handle this during
the builds. It supports several ways of applying patch sets:
the builds. It supports two ways of applying patch sets: downloaded patches
and patches supplied within buildroot.
Providing patches
~~~~~~~~~~~~~~~~~
Additional tarball
^^^^^^^^^^^^^^^^^^
Downloaded
^^^^^^^^^^
If it is necessary to apply a patch set available as a downloadable
tarball, then add the patch tarball to the +<packagename>_PATCH+
variable.
If it is necessary to apply a patch that is available for download, then it
to the +<packagename>_PATCH+ variable. It is downloaded from the same site
as the package itself. It can be a single patch, or a tarball containing a
patch series.
Note that the patch tarballs are downloaded from the same site as the
sources.
This method is typically used for packages from Debian.
Within Buildroot
^^^^^^^^^^^^^^^^
Most patches are provided within Buildroot, in the package
directory; these typically aim to fix cross-compilation, +libc+ support,
directory; these typically aim to fix cross-compilation, libc support,
or other such issues.
These patch files should have the extension +*.patch+.
These patch files should be named +<packagename>-*.patch+.
A +series+ file, as used by +quilt+, may also be added in the
package directory. In that case, the +series+ file defines the patch
@@ -71,14 +72,15 @@ modified.
A message explaining what the patch does, and why it is needed, should
be added in the header commentary of the patch.
You should add a +signed-off-by+ statement in the header of the each
patch to help with keeping track of the changes.
You should add a +Signed-off-by+ statement in the header of the each
patch to help with keeping track of the changes and to certify that the
patch is released under the same license as the software that is modified.
If the software is under version control, it is recommended to use the
SCM software to generate the patch set.
upstream SCM software to generate the patch set.
Otherwise, concatenate the header with the output of the
+diff -purN source.c.orig source.c+ command.
+diff -purN package-version.orig/ package-version/+ command.
At the end, the patch should look like:

View File

@@ -23,7 +23,7 @@ Mandatory packages
** +which+
** +sed+
** +make+ (version 3.82 or any later)
** +make+ (version 3.81 or any later)
** +binutils+
** +build-essential+ (only for Debian based systems)
** +gcc+ (version 2.95 or any later)
@@ -47,9 +47,6 @@ Mandatory packages
* Source fetching tools:
** +wget+
* Configuration interface dependencies (requires development libraries):
** +ncurses5+
[[requirement-optional]]
Optional packages
@@ -73,6 +70,7 @@ development context (further details: refer to xref:download-infra[]).
** +subversion+
* Configuration interface dependencies (requires development libraries):
** +ncurses5+ to use the 'menuconfig' interface
** +qt4+ to use the 'xconfig' interface
** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface

View File

@@ -14,7 +14,7 @@ In some cases, a full rebuild is mandatory:
* each time the toolchain properties are changed, this includes:
** after changing some toolchain option under the _Toolchain_ menu (if
** after changing any toolchain option under the _Toolchain_ menu (if
the internal Buildroot backend is used);
** after running +make ctng-menuconfig+ (if the crosstool-NG backend
is used);
@@ -25,7 +25,7 @@ In some cases, a full rebuild is mandatory:
In some cases, a full rebuild is recommended:
* after adding some libraries to the package selection (otherwise,
some packages that can be optionally linked against those libraries
packages that can be optionally linked against those libraries
won't be rebuilt, so they won't support those new available
features).
@@ -41,49 +41,37 @@ One of the most common questions asked by Buildroot users is how to
rebuild a given package or how to remove a package without rebuilding
everything from scratch.
Removing a package is currently unsupported by Buildroot without
Removing a package is unsupported by Buildroot without
rebuilding from scratch. This is because Buildroot doesn't keep track
of which package installs what files in the +output/staging+ and
+output/target+ directories. However, implementing clean package
removal is on the TODO-list of Buildroot developers.
+output/target+ directories, or which package would be compiled differently
depending on the availability of another package.
The easiest way to rebuild a single package from scratch is to remove
its build directory in +output/build+. Buildroot will then re-extract,
re-configure, re-compile and re-install this package from scratch.
re-configure, re-compile and re-install this package from scratch. You
can ask buildroot to do this with the +make <package>-dirclean+ command.
For convenience, most packages support the special make targets
<package>-reconfigure and <package>-rebuild to repeat the configure
and build steps.
For convenience, the special make targets
<package>-reconfigure and <package>-rebuild repeat the configure
resp. build steps.
However, if you don't want to rebuild the package completely from
scratch, a better understanding of the Buildroot internals is
needed. Internally, to keep track of which steps have been done and
which steps remain to be done, Buildroot maintains stamp files (empty
files that just tell whether this or that action has been done). The
problem is that these stamp files are not uniformly named and handled
by the different packages, so some understanding of the particular
package is needed.
files that just tell whether this or that action has been done):
For packages relying on Buildroot packages infrastructures (see
xref:adding-packages[this section] for details), the following stamp
files are relevant:
* +output/build/packagename-version/.stamp_configured+. If removed,
* +output/build/<package>-<version>/.stamp_configured+. If removed,
Buildroot will trigger the recompilation of the package from the
configuration step (execution of +./configure+).
* +output/build/packagename-version/.stamp_built+. If removed,
* +output/build/<package>-<version>/.stamp_built+. If removed,
Buildroot will trigger the recompilation of the package from the
compilation step (execution of +make+).
.Notes
- Since the _Buildroot-2012.11_ release, all packages rely on the
Buildroot infrastructures.
- Only toolchain packages remain using custom makefiles (i.e. do not
use any Buildroot infrastructure).
- Most, if not all, packages and toolchain packages will progressively
be ported over to the generic, autotools or CMake infrastructure,
making it much easier to rebuild individual packages.
Note: toolchain packages use custom makefiles. Their stamp files are named
differently.
Further details about package special make target at the
Further details about package special make targets are explained in
xref:pkg-build-steps[].

View File

@@ -31,9 +31,9 @@ to run the Qt or GTK-based configurators.
All of these "make" commands will need to build a configuration
utility (including the interface), so you may need to install
"development" packages for relevant libraries used by the
configuration utilities. Check the xref:requirement[] to know what
Buildroot needs, and specifically the xref:requirement-optional[system requirements]
to get the dependencies of favorite interface.
configuration utilities. Check xref:requirement[] to know what
Buildroot needs, and specifically the xref:requirement-optional[optional requirements]
to get the dependencies of your favorite interface.
For each menu entry in the configuration tool, you can find associated
help that describes the purpose of the entry.
@@ -52,15 +52,15 @@ You *should never* use +make -jN+ with Buildroot: it does not support
'top-level parallel make'. Instead, use the +BR2_JLEVEL+ option to
tell Buildroot to run each package compilation with +make -jN+.
This command will generally perform the following steps:
The `make` command will generally perform the following steps:
* Download source files (as required)
* Configure, build and install the cross-compiling toolchain using the
appropriate toolchain backend, or simply import an external toolchain
* Build/install selected target packages
* Build a kernel image, if selected
* Build a bootloader image, if selected
* Create a root filesystem in selected formats
* download source files (as required);
* configure, build and install the cross-compiling toolchain using the
appropriate toolchain backend, or simply import an external toolchain;
* build/install selected target packages;
* build a kernel image, if selected;
* build a bootloader image, if selected;
* create a root filesystem in selected formats.
Buildroot output is stored in a single directory, +output/+.
This directory contains several subdirectories:
@@ -86,15 +86,16 @@ This directory contains several subdirectories:
* +target/+ which contains 'almost' the complete root filesystem for
the target: everything needed is present except the device files in
+/dev/+ (Buildroot can't create them because Buildroot doesn't run
as root and doesn't want to run as root). Therefore, this directory
as root and doesn't want to run as root). Also, it doesn't have the correct
permissions (e.g. setuid for the busybox binary). Therefore, this directory
*should not be used on your target*. Instead, you should use one of
the images built in the +images/+ directory. If you need an
extracted image of the root filesystem for booting over NFS, then
use the tarball image generated in +images/+ and extract it as
root. Compared to +staging/+, +target/+ contains only the files and
libraries needed to run the selected target applications: the
development files (headers, etc.) are not present, unless the
+development files in target filesystem+ option is selected.
development files (headers, etc.) are not present, the binaries are
stripped.
* +host/+ contains the installation of tools compiled for the host
that are needed for the proper execution of Buildroot, including the

View File

@@ -1,16 +1,18 @@
// -*- mode:doc; -*-
Writing rules
-------------
Coding style
------------
Overall, these writing rules are here to help you add new files in
Overall, these coding style rules are here to help you to add new files in
Buildroot or refactor existing ones.
If you slightly modify some existing file, the important thing is
keeping the consistency of the whole file, so you can:
* either follow the potentially deprecated rules used all over this
file
* or entirely rework it in order to make it comply with those rules.
to keep the consistency of the whole file, so you can:
* either follow the potentially deprecated coding style used in this
file,
* or entirely rework it in order to make it comply with these rules.
[[writing-rules-config-in]]
@@ -39,9 +41,9 @@ config BR2_PACKAGE_LIBFOO
* The help text itself should be indented with one tab and two
spaces.
The configuration system used in Buildroot, so the content of the
+Config.in+ files, is regular _Kconfig_. Further details about
_Kconfig_: refer to
The +Config.in+ files are the input for the configuration tool
used in Buildroot, which is the regular _Kconfig_. For further
details about the _Kconfig_ language, refer to
http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[].
[[writing-rules-mk]]
@@ -55,15 +57,26 @@ The +.mk+ file
LIBFOO_VERSION = 1.0
LIBFOO_CONF_OPT += --without-python-support
---------------------
+
It is also possible to align the +=+ signs:
+
---------------------
LIBFOO_VERSION = 1.0
LIBFOO_SOURCE = foo-$(LIBFOO_VERSION).tar.gz
LIBFOO_CONF_OPT += --without-python-support
---------------------
* Indentation: use tab only:
+
---------------------
define LIBFOO_REMOVE_DOC
$(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \
$(TARGET_DIR)/usr/share/man/man3/libfoo*
$(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \
$(TARGET_DIR)/usr/share/man/man3/libfoo*
endef
---------------------
+
Note that commands inside a +define+ block should always start with a tab,
so _make_ recognizes them as commands.
* Optional dependency:
@@ -121,5 +134,5 @@ The documentation
The documentation uses the
http://www.methods.co.nz/asciidoc/[asciidoc] format.
Further details about the http://www.methods.co.nz/asciidoc/[asciidoc]
syntax: refer to http://www.methods.co.nz/asciidoc/userguide.html[].
For further details about the http://www.methods.co.nz/asciidoc/[asciidoc]
syntax, refer to http://www.methods.co.nz/asciidoc/userguide.html[].

View File

@@ -5,12 +5,34 @@
<p>
<ul>
<li><b>2 December 2012 -- 2012.11 released</b>
<p>The stable 2012.11 release is out - Thanks to everyone
contributing and testing the release candidates. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2012.11">CHANGES</a>
file for more details
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2012.11.tar.bz2">2012.11 release</a>.</p>
<li><b>30 November 2012 -- 2012.11-rc2 released</b>
<p>RC2 is out with more bugfixes - See the <a
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2012.11_rc2">CHANGES</a>
file for details.
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2012.11-rc2.tar.bz2">2012.11-rc2
release candidate</a>, and report any problems found to the <a
href="lists.html">mailing list</a> or <a
href="https://bugs.uclibc.org">bug tracker</a>.</p>
<li><b>17 November 2012 -- 2012.11-rc1 released</b>
<p>We have a new release candidate! Lots of changes all over the
tree, see the <a
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2012.11_rc1">CHANGES</a>
file for details.</p>
file for details, and read the
<a href="http://lists.busybox.net/pipermail/buildroot/2012-November/061995.html">announcement</a>.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2012.11-rc1.tar.bz2">2012.11-rc1

View File

@@ -21,6 +21,8 @@ define ROOTFS_CPIO_ADD_INIT
fi
endef
PACKAGES_PERMISSIONS_TABLE += /dev/console c 622 0 0 5 1 - - -$(sep)
endif # BR2_ROOTFS_DEVICE_CREATION_STATIC
ROOTFS_CPIO_PRE_GEN_HOOKS += ROOTFS_CPIO_ADD_INIT

View File

@@ -10,7 +10,7 @@ CRAMFS_OPTS=-l
endif
define ROOTFS_CRAMFS_CMD
$(HOST_DIR)/usr/bin/mkcramfs -q $(CRAMFS_OPTS) $(TARGET_DIR) $$@
$(HOST_DIR)/usr/bin/mkcramfs $(CRAMFS_OPTS) $(TARGET_DIR) $$@
endef
ROOTFS_CRAMFS_DEPENDENCIES = host-cramfs

View File

@@ -21,7 +21,7 @@ choice
prompt "Kernel version"
config BR2_LINUX_KERNEL_3_6
bool "3.6.6"
bool "3.6.8"
config BR2_LINUX_KERNEL_SAME_AS_HEADERS
bool "Same as toolchain kernel headers"
@@ -76,7 +76,7 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION
config BR2_LINUX_KERNEL_VERSION
string
default "3.6.6" if BR2_LINUX_KERNEL_3_6
default "3.6.8" if BR2_LINUX_KERNEL_3_6
default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE if BR2_LINUX_KERNEL_CUSTOM_VERSION
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL

View File

@@ -15,6 +15,8 @@ LINUX_DEPENDENCIES += ocf-linux
define OCF_LINUX_PREPARE_KERNEL
support/scripts/apply-patches.sh $(LINUX_DIR) \
$(OCF_LINUX_DIR)/patches/ linux-3.2.1-ocf.patch ; \
grep -q __mix_pool_bytes $(LINUX_DIR)/drivers/char/random.c && \
$(SED) 's:wordcount\*4:&, NULL:' $(LINUX_DIR)/drivers/char/random.c ; \
cp -rf $(OCF_LINUX_DIR)/ocf $(LINUX_DIR)/crypto/ocf ;
endef

View File

@@ -177,7 +177,7 @@ source "package/xterm/Config.in"
source "package/xvkbd/Config.in"
endmenu
menu "Filesystem utilities"
menu "Filesystem and flash utilities"
source "package/cifs-utils/Config.in"
source "package/cramfs/Config.in"
source "package/dosfstools/Config.in"

View File

@@ -56,6 +56,15 @@ TARGET_ABI+=-mabi=spe -mfloat-gprs=double -Wa,-me500mc
endif
endif
# Use longcalls option for Xtensa globally.
# The 'longcalls' option allows calls across a greater range of addresses,
# and is required for some packages. While this option can degrade both
# code size and performance, the linker can usually optimize away the
# overhead when a call ends up within a certain range.
ifeq ($(BR2_xtensa),y)
TARGET_ABI += -mlongcalls
endif
STAGING_DIR=$(HOST_DIR)/usr/$(GNU_TARGET_NAME)/sysroot
TARGET_OPTIMIZATION:=$(call qstrip,$(BR2_TARGET_OPTIMIZATION))
@@ -126,6 +135,7 @@ TARGET_CXX := $(CCACHE) $(TARGET_CXX)
endif
ifeq ($(BR2_STRIP_strip),y)
STRIP_STRIP_DEBUG:=--strip-debug
STRIP_STRIP_UNNEEDED:=--strip-unneeded
STRIP_STRIP_ALL:=--strip-all
TARGET_STRIP=$(TARGET_CROSS)strip
@@ -133,6 +143,7 @@ STRIPCMD=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note
KSTRIPCMD=$(STRIPCMD) $(STRIP_STRIP_UNNEEDED)
endif
ifeq ($(BR2_STRIP_sstrip),y)
STRIP_STRIP_DEBUG:=
STRIP_STRIP_UNNEEDED:=
STRIP_STRIP_ALL:=
TARGET_STRIP=$(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-sstrip
@@ -305,12 +316,6 @@ else
SHARED_STATIC_LIBS_OPTS=--enable-static --enable-shared
endif
# Warn if a package uses the deprecated GENTARGETS macros. This can be
# removed again for BR-2012.11.
GENTARGETS = $$(error The GENTARGETS macro no longer exists; use $$$$(eval $$$$(generic-package)) or $$$$(eval $$$$(host-generic-package)))
AUTOTARGETS = $$(error The AUTOTARGETS macro no longer exists; use $$$$(eval $$$$(autotools-package)) or $$$$(eval $$$$(host-autotools-package)))
CMAKETARGETS = $$(error The CMAKETARGETS macro no longer exists; use $$$$(eval $$$$(cmake-package)) or $$$$(eval $$$$(host-cmake-package)))
include package/pkg-utils.mk
include package/pkg-download.mk
include package/pkg-autotools.mk

View File

@@ -6,6 +6,8 @@
ACPID_VERSION = 2.0.11
ACPID_SOURCE = acpid_$(ACPID_VERSION).orig.tar.gz
ACPID_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/a/acpid
ACPID_LICENSE = GPLv2+
ACPID_LICENSE_FILES = COPYING
define ACPID_BUILD_CMDS
$(MAKE) CC="$(TARGET_CC)" -C $(@D)

View File

@@ -17,7 +17,7 @@ ALSA_LIB_CONF_OPT = --with-alsa-devdir=$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_DEVD
--without-versioned
# Can't build with static & shared at the same time (1.0.25+)
ifeq ($(BR2_PREFER_STATIC),y)
ifeq ($(BR2_PREFER_STATIC_LIB),y)
ALSA_LIB_CONF_OPT += --enable-shared=no
else
ALSA_LIB_CONF_OPT += --enable-static=no

View File

@@ -1,5 +1,7 @@
config BR2_PACKAGE_ARPTABLES
bool "arptables"
# needs fork()
depends on BR2_USE_MMU
help
Tool to set up, maintain, and inspect the tables of ARP rules.

View File

@@ -1,5 +1,7 @@
config BR2_PACKAGE_AVAHI
bool "avahi"
# libdaemon uses fork()
depends on BR2_USE_MMU
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
help
Avahi is a system which facilitates service

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_BINUTILS
bool "binutils"
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
depends on !BR2_aarch64
help
Install binutils on the target

View File

@@ -68,11 +68,11 @@ define BINUTILS_INSTALL_TARGET_CMDS
endef
endif
XTENSA_CORE_NAME = $(call qstrip, $(BR2_xtensa_core_name))
XTENSA_CORE_NAME = $(call qstrip, $(BR2_XTENSA_CORE_NAME))
ifneq ($(XTENSA_CORE_NAME),)
define BINUTILS_XTENSA_PRE_PATCH
tar xf $(BR2_xtensa_overlay_dir)/xtensa_$(XTENSA_CORE_NAME).tar \
-C $(@D) bfd include ld
tar xf $(BR2_XTENSA_OVERLAY_DIR)/xtensa_$(XTENSA_CORE_NAME).tar \
-C $(@D) --strip-components=1 binutils
endef
HOST_BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH
endif

View File

@@ -27,12 +27,17 @@ BUSYBOX_LDFLAGS = \
ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
BUSYBOX_DEPENDENCIES += libtirpc
BUSYBOX_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc/
BUSYBOX_LDFLAGS += -ltirpc
# Don't use LDFLAGS for -ltirpc, because LDFLAGS is used for
# the non-final link of modules as well.
BUSYBOX_CFLAGS_busybox += -ltirpc
endif
BUSYBOX_BUILD_CONFIG = $(BUSYBOX_DIR)/.config
# Allows the build system to tweak CFLAGS
BUSYBOX_MAKE_ENV = $(TARGET_MAKE_ENV) CFLAGS="$(BUSYBOX_CFLAGS)"
BUSYBOX_MAKE_ENV = \
$(TARGET_MAKE_ENV) \
CFLAGS="$(BUSYBOX_CFLAGS)" \
CFLAGS_busybox="$(BUSYBOX_CFLAGS_busybox)"
BUSYBOX_MAKE_OPTS = \
CC="$(TARGET_CC)" \
ARCH=$(KERNEL_ARCH) \

View File

@@ -5,5 +5,5 @@ config BR2_PACKAGE_CCACHE
caching previous compilations and detecting when the same
compilation is being done again
http://samba.ccache.org
http://ccache.samba.org

View File

@@ -23,7 +23,7 @@ define CJSON_INSTALL_STAGING_CMDS
endef
define CJSON_INSTALL_TARGET_CMDS
$(INSTALL) -D $(@D)/cJSON/cJSON.h $(STAGING_DIR)/usr/include/cJSON.h
$(INSTALL) -D $(@D)/cJSON/cJSON.h $(TARGET_DIR)/usr/include/cJSON.h
$(INSTALL) -D $(@D)/cJSON/libcJSON.so $(TARGET_DIR)/usr/lib/libcJSON.so
endef

View File

@@ -1,5 +1,6 @@
config BR2_PACKAGE_DIRECTFB
bool "directfb"
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_ZLIB
help
@@ -107,3 +108,6 @@ config BR2_PACKAGE_DIRECTB_TESTS
bool "build directfb tests"
endif # BR2_PACKAGE_DIRECTFB
comment "directfb needs a toolchain with thread support"
depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -5,7 +5,7 @@
#############################################################
DOSFSTOOLS_VERSION = 3.0.12
DOSFSTOOLS_SITE = http://www.daniel-baumann.ch/software/dosfstools
DOSFSTOOLS_SITE = http://fossies.org/linux/misc/
MKDOSFS_BINARY = mkdosfs
DOSFSCK_BINARY = dosfsck
DOSFSLABEL_BINARY = dosfslabel

View File

@@ -6,6 +6,9 @@
EXPEDITE_VERSION = 1.1.0
EXPEDITE_SITE = http://download.enlightenment.org/releases/
EXPEDITE_LICENSE = BSD-2c
EXPEDITE_LICENSE_FILES = COPYING
EXPEDITE_DEPENDENCIES = libevas libeina libeet
$(eval $(autotools-package))

View File

@@ -0,0 +1,94 @@
Backported for commit a0df6712b6afcd07facd32e5a66809170277bdf3
Fixed the ChangeLog part.
This patch fix build with glibc >=2.16, avoiding the following error occurs:
Making all in ecore
make[6]: Entering directory `/opt/buildroot/output/build/host-libecore-1.1.0/src/lib/ecore'
CC ecore.lo
CC ecore_anim.lo
CC ecore_app.lo
CC ecore_events.lo
CC ecore_getopt.lo
CC ecore_idle_enterer.lo
CC ecore_idle_exiter.lo
CC ecore_idler.lo
CC ecore_job.lo
CC ecore_main.lo
CC ecore_pipe.lo
CC ecore_poll.lo
CC ecore_time.lo
CC ecore_timer.lo
CC ecore_thread.lo
CC ecore_glib.lo
CC ecore_throttle.lo
CC ecore_signal.lo
CC ecore_exe.lo
ecore_exe.c: In function ecore_exe_pipe_run:
ecore_exe.c:486:15: warning: implicit declaration of function setpriority [-Wimplicit-function-declaration]
ecore_exe.c:486:27: error PRIO_PROCESS undeclared (first use in this function)
ecore_exe.c:486:27: note: each undeclared identifier is reported only once for each function it appears in
make[6]: *** [ecore_exe.lo] Error 1
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
From a0df6712b6afcd07facd32e5a66809170277bdf3 Mon Sep 17 00:00:00 2001
From: caro <caro>
Date: Fri, 22 Jun 2012 05:36:00 +0000
Subject: [PATCH] ecore_exe: fix compilation on fedora 18.
setpriority needs sys/resource.h. See:
http://linux.die.net/man/2/setpriority
I let sys/time.h, it does not hurt on linux and is anyway needed for BSD systems.
git-svn-id: http://svn.enlightenment.org/svn/e@72684 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
---
ChangeLog | 4 ++++
src/lib/ecore/ecore_exe.c | 7 ++-----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a306f75..549ad19 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -763,3 +763,7 @@
2011-11-29 Mike McCormack
* Allow quitting before entering the glib version of the main loop
+
+2012-06-22 Vincent Torri
+
+ * ecore_exe: fix compilation on fedora 18.
diff --git a/src/lib/ecore/ecore_exe.c b/src/lib/ecore/ecore_exe.c
index 7931a96..6db32a9 100644
--- a/src/lib/ecore/ecore_exe.c
+++ b/src/lib/ecore/ecore_exe.c
@@ -2,11 +2,6 @@
# include <config.h>
#endif
-#if defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__)
-# include <sys/time.h>
-# include <sys/resource.h>
-#endif
-
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -14,6 +9,8 @@
#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
+#include <sys/time.h>
+#include <sys/resource.h>
#ifdef HAVE_SYS_PRCTL_H
# include <sys/prctl.h>
--
1.7.12.2

View File

@@ -7,6 +7,9 @@
LIBECORE_VERSION = 1.1.0
LIBECORE_SOURCE = ecore-$(LIBECORE_VERSION).tar.bz2
LIBECORE_SITE = http://download.enlightenment.org/releases/
LIBECORE_LICENSE = BSD-2c
LIBECORE_LICENSE_FILES = COPYING
LIBECORE_INSTALL_STAGING = YES
LIBECORE_DEPENDENCIES = host-pkgconf libeina

View File

@@ -7,6 +7,9 @@
LIBEDBUS_VERSION = 1.1.0
LIBEDBUS_SOURCE = e_dbus-$(LIBEDBUS_VERSION).tar.bz2
LIBEDBUS_SITE = http://download.enlightenment.org/releases/
LIBEDBUS_LICENSE = BSD-2c
LIBEDBUS_LICENSE_FILES = COPYING
LIBEDBUS_INSTALL_STAGING = YES
LIBEDBUS_DEPENDENCIES = host-pkgconf dbus libeina libecore

View File

@@ -7,6 +7,9 @@
LIBEDJE_VERSION = 1.1.0
LIBEDJE_SOURCE = edje-$(LIBEDJE_VERSION).tar.bz2
LIBEDJE_SITE = http://download.enlightenment.org/releases/
LIBEDJE_LICENSE = GPLv2+ (epp binary), BSD-2c (everything else)
LIBEDJE_LICENSE_FILES = COPYING
LIBEDJE_INSTALL_STAGING = YES
LIBEDJE_DEPENDENCIES = host-pkgconf lua libeina libeet libecore libevas \

View File

@@ -7,6 +7,9 @@
LIBEET_VERSION = 1.5.0
LIBEET_SOURCE = eet-$(LIBEET_VERSION).tar.bz2
LIBEET_SITE = http://download.enlightenment.org/releases/
LIBEET_LICENSE = BSD-2c
LIBEET_LICENSE_FILES = COPYING
LIBEET_INSTALL_STAGING = YES
LIBEET_DEPENDENCIES = host-pkgconf zlib jpeg libeina

View File

@@ -7,6 +7,9 @@
LIBEFREET_VERSION = 1.1.0
LIBEFREET_SOURCE = efreet-$(LIBEFREET_VERSION).tar.bz2
LIBEFREET_SITE = http://download.enlightenment.org/releases/
LIBEFREET_LICENSE = BSD-2c
LIBEFREET_LICENSE_FILES = COPYING
LIBEFREET_INSTALL_STAGING = YES
LIBEFREET_DEPENDENCIES = libeina libeet libecore

View File

@@ -7,6 +7,9 @@
LIBEINA_VERSION = 1.1.0
LIBEINA_SOURCE = eina-$(LIBEINA_VERSION).tar.bz2
LIBEINA_SITE = http://download.enlightenment.org/releases/
LIBEINA_LICENSE = LGPLv2.1+
LIBEINA_LICENSE_FILES = COPYING
LIBEINA_INSTALL_STAGING = YES
LIBEINA_DEPENDENCIES = host-pkgconf

View File

@@ -7,6 +7,9 @@
LIBELEMENTARY_VERSION = 0.8.0.65643
LIBELEMENTARY_SOURCE = elementary-$(LIBELEMENTARY_VERSION).tar.bz2
LIBELEMENTARY_SITE = http://download.enlightenment.org/snapshots/2011-11-28
LIBELEMENTARY_LICENSE = LGPLv2.1
LIBELEMENTARY_LICENSE_FILES = COPYING
LIBELEMENTARY_INSTALL_STAGING = YES
LIBELEMENTARY_DEPENDENCIES = libeina libevas libecore libedje host-libedje \

View File

@@ -7,6 +7,9 @@
LIBEMBRYO_VERSION = 1.1.0
LIBEMBRYO_SOURCE = embryo-$(LIBEMBRYO_VERSION).tar.bz2
LIBEMBRYO_SITE = http://download.enlightenment.org/releases/
LIBEMBRYO_LICENSE = BSD-2c, Embryo license
LIBEMBRYO_LICENSE_FILES = COPYING
LIBEMBRYO_INSTALL_STAGING = YES
LIBEMBRYO_DEPENDENCIES = host-pkgconf libeina

View File

@@ -7,6 +7,9 @@
LIBETHUMB_VERSION = 0.1.1.65643
LIBETHUMB_SOURCE = ethumb-$(LIBETHUMB_VERSION).tar.bz2
LIBETHUMB_SITE = http://download.enlightenment.org/snapshots/2011-11-28
LIBETHUMB_LICENSE = LGPLv2.1+
LIBETHUMB_LICENSE_FILES = COPYING
LIBETHUMB_INSTALL_STAGING = YES
LIBETHUMB_DEPENDENCIES = libeina libevas libecore libedje host-libedje

View File

@@ -7,6 +7,9 @@
LIBEVAS_VERSION = 1.1.0
LIBEVAS_SOURCE = evas-$(LIBEVAS_VERSION).tar.bz2
LIBEVAS_SITE = http://download.enlightenment.org/releases/
LIBEVAS_LICENSE = BSD-2c
LIBEVAS_LICENSE_FILES = COPYING
LIBEVAS_INSTALL_STAGING = YES
LIBEVAS_DEPENDENCIES = host-pkgconf zlib libeina freetype

View File

@@ -6,10 +6,10 @@ config BR2_PACKAGE_FLEX
http://www.gnu.org/software/flex/
config BR2_PACKAGE_FLEX_LIBFL
bool "Install libfl.a under staging_dir/usr/lib"
default y
config BR2_PACKAGE_FLEX_BINARY
bool "Install tool in the target"
# needs fork()
depends on BR2_USE_MMU
depends on BR2_PACKAGE_FLEX
help
Install libfl.a under staging_dir/usr/lib for further development
on a host machine.
Install the flex binary tool in the target filesystem.

View File

@@ -16,30 +16,20 @@ FLEX_DEPENDENCIES = \
# we don't have a host-gettext/libintl
HOST_FLEX_DEPENDENCIES =
ifeq ($(BR2_PACKAGE_FLEX_BINARY),y)
# lex -> flex
define FLEX_INSTALL_LEX
cd $(TARGET_DIR)/usr/bin && ln -snf flex lex
endef
define FLEX_UNINSTALL_LEX
-rm $(TARGET_DIR)/usr/bin/lex
endef
FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LEX
FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LEX
# libfl installation
ifeq ($(BR2_PACKAGE_FLEX_LIBFL),y)
define FLEX_INSTALL_LIBFL
install -D $(FLEX_DIR)/libfl.a $(STAGING_DIR)/usr/lib/libfl.a
else
define FLEX_DISABLE_PROGRAM
$(SED) 's/^bin_PROGRAMS.*//' $(@D)/Makefile.in
endef
FLEX_POST_PATCH_HOOKS += FLEX_DISABLE_PROGRAM
define FLEX_UNINSTALL_LIBFL
-rm $(STAGING_DIR)/lib/libfl.a
endef
FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LIBFL
FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LIBFL
endif
$(eval $(autotools-package))

View File

@@ -7,6 +7,8 @@
FLUXBOX_VERSION = 1.3.2
FLUXBOX_SOURCE = fluxbox-$(FLUXBOX_VERSION).tar.bz2
FLUXBOX_SITE = http://downloads.sourceforge.net/project/fluxbox/fluxbox/$(FLUXBOX_VERSION)
FLUXBOX_LICENSE = MIT
FLUXBOX_LICENSE_FILES = COPYING
FLUXBOX_CONF_OPT = --x-includes=$(STAGING_DIR)/usr/include/X11 \
--x-libraries=$(STAGING_DIR)/usr/lib

View File

@@ -1,5 +1,7 @@
config BR2_PACKAGE_HIAWATHA
bool "hiawatha"
# needs fork()
depends on BR2_USE_MMU
help
Hiawatha is a webserver for Unix and has been built with
security in mind. This resulted in a highly secure

View File

@@ -1,5 +1,7 @@
config BR2_PACKAGE_IFPLUGD
bool "ifplugd"
# libdaemon uses fork()
depends on BR2_USE_MMU
select BR2_PACKAGE_LIBDAEMON
help
Ifplugd is a daemon which will automatically configure your

View File

@@ -0,0 +1,645 @@
Fetch from: http://etherlabmaster.hg.sourceforge.net/hgweb/etherlabmaster/etherlabmaster/rev/907948bb2285
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
# HG changeset patch
# User Florian Pose <fp@igh-essen.com>
# Date 1342171132 -7200
# Node ID 907948bb2285cbc30af501729593e4fefa7c20db
# Parent 5d7d2722dfaa0de2c80efb3187d41e434814f783
Fixed COPYING.LESSER to be LGPL 2.1 (like in file headers).
diff -r 5d7d2722dfaa -r 907948bb2285 COPYING.LESSER
--- a/COPYING.LESSER Fri Jul 13 10:42:31 2012 +0200
+++ b/COPYING.LESSER Fri Jul 13 11:18:52 2012 +0200
@@ -1,165 +1,502 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
+ Preamble
- 0. Additional Definitions.
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
- 1. Exception to Section 3 of the GNU GPL.
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
- 2. Conveying Modified Versions.
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
- 3. Object Code Incorporating Material from Library Header Files.
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
- 4. Combined Works.
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
+ a) The modified work must itself be a software library.
- d) Do one of the following:
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
- 5. Combined Libraries.
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
- 6. Revised Versions of the GNU Lesser General Public License.
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!

View File

@@ -1,6 +1,8 @@
IGH_ETHERCAT_VERSION = 1.5.1
IGH_ETHERCAT_SITE = http://etherlab.org/download/ethercat/
IGH_ETHERCAT_SOURCE = ethercat-$(IGH_ETHERCAT_VERSION).tar.bz2
IGH_ETHERCAT_LICENSE = GPLv2 (IgH EtherCAT master), LGPLv2.1 (libraries)
IGH_ETHERCAT_LICENSE_FILES = COPYING COPYING.LESSER
IGH_ETHERCAT_DEPENDENCIES = linux
IGH_ETHERCAT_INSTALL_STAGING = YES

View File

@@ -11,6 +11,9 @@ IMAGEMAGICK_SOURCE = ImageMagick-$(IMAGEMAGICK_VERSION).tar.bz2
# available, which is annoying. Use an alternate site that keeps all
# older versions.
IMAGEMAGICK_SITE = ftp://ftp.nluug.nl/pub/ImageMagick/
IMAGEMAGICK_LICENSE = Apache-v2
IMAGEMAGICK_LICENSE_FILES = LICENSE
IMAGEMAGICK_INSTALL_STAGING = YES
IMAGEMAGICK_AUTORECONF = YES

View File

@@ -6,6 +6,9 @@
IMLIB2_VERSION = 1.4.5
IMLIB2_SOURCE = imlib2-$(IMLIB2_VERSION).tar.bz2
IMLIB2_SITE = http://downloads.sourceforge.net/project/enlightenment/imlib2-src/$(IMLIB2_VERSION)/
IMLIB2_LICENSE = imlib2 license
IMLIB2_LICENSE_FILES = COPYING
IMLIB2_INSTALL_STAGING = YES
IMLIB2_DEPENDENCIES = host-pkgconf freetype
IMLIB2_CONF_OPT = --with-freetype-config=$(STAGING_DIR)/usr/bin/freetype-config
@@ -61,4 +64,3 @@ endef
IMLIB2_POST_INSTALL_STAGING_HOOKS += IMLIB2_FIXUP_IMLIB2_CONFIG
$(eval $(autotools-package))

View File

@@ -10,7 +10,9 @@ LCDPROC_LICENSE = GPLv2+
LCDPROC_LICENSE_FILES = COPYING
LCDPROC_MAKE = $(MAKE1)
LCDPROC_CONF_OPT = --enable-drivers=$(BR2_PACKAGE_LCDPROC_DRIVERS)
LCDPROC_CONF_OPT = --enable-drivers=$(BR2_PACKAGE_LCDPROC_DRIVERS) \
--with-ft-prefix="$(STAGING_DIR)/usr" \
--with-ft-exec-prefix="$(STAGING_DIR)/usr"
ifeq ($(BR2_PACKAGE_LCDPROC_MENUS),y)
LCDPROC_CONF_OPT += --enable-lcdproc-menus

View File

@@ -1,5 +1,7 @@
config BR2_PACKAGE_LIBDAEMON
bool "libdaemon"
# needs fork()
depends on BR2_USE_MMU
help
libdaemon is a lightweight C library that eases the
writing of UNIX daemons.

View File

@@ -1,7 +1,6 @@
config BR2_PACKAGE_LIBHID
bool "libhid"
depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
depends on !BR2_avr32 # timerfd not in uClibc-0.9.31
select BR2_PACKAGE_LIBUSB
select BR2_PACKAGE_LIBUSB_COMPAT
help
@@ -10,4 +9,4 @@ config BR2_PACKAGE_LIBHID
http://libhid.alioth.debian.org
comment "libhid needs a toolchain with thread support"
depends on !BR2_TOOLCHAIN_HAS_THREADS && !BR2_avr32
depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -8,6 +8,8 @@ LIBMAD_VERSION = 0.15.1b
LIBMAD_SITE = http://downloads.sourceforge.net/project/mad/libmad/$(LIBMAD_VERSION)
LIBMAD_INSTALL_STAGING = YES
LIBMAD_LIBTOOL_PATCH = NO
LIBMAD_LICENSE = GPLv2+
LIBMAD_LICENSE_FILES = COPYING
define LIBMAD_PREVENT_AUTOMAKE
# Prevent automake from running.

View File

@@ -10,11 +10,16 @@ LIBPCAP_LICENSE = BSD-3c
LIBPCAP_LICENSE_FILES = LICENSE
LIBPCAP_INSTALL_STAGING = YES
# doesn't have an install-strip
LIBPCAP_INSTALL_TARGET_OPT= DESTDIR="$(TARGET_DIR)" \
$(if $(BR2_PREFER_STATIC_LIB),install,install-shared)
LIBPCAP_INSTALL_STAGING_OPT= DESTDIR="$(STAGING_DIR)" install \
$(if $(BR2_PREFER_STATIC_LIB),,install-shared)
# The configure.in file contains the necessary code to handle
# --enable-shared/--disable-shared properly, but the configure script
# bundled with the libpcap tarball is not up-to-date with the
# configure.in file. In order to get proper handling of
# --enable-shared/--disable-shared, which is needed when doing a
# static library build, we autoreconfigure this package. This can be
# removed when bumping libpcap, after checking that the bundled
# configure script correctly handles --enable-shared/--disable-shared.
LIBPCAP_AUTORECONF = YES
LIBPCAP_DEPENDENCIES = zlib \
$(if $(BR2_PACKAGE_LIBUSB),libusb)
LIBPCAP_CONF_ENV = ac_cv_linux_vers=2 \

View File

@@ -8,4 +8,10 @@ LIBSIGC_SOURCE = libsigc++-$(LIBSIGC_VERSION).tar.bz2
LIBSIGC_SITE = http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2
LIBSIGC_INSTALL_STAGING = YES
define LIBSIGC_INSTALL_TARGET_FIXUP
rm -rf $(TARGET_DIR)/usr/share/devhelp/books/libsigc++*
endef
LIBSIGC_POST_INSTALL_TARGET_HOOKS += LIBSIGC_INSTALL_TARGET_FIXUP
$(eval $(autotools-package))

View File

@@ -1,7 +1,5 @@
config BR2_PACKAGE_LIBTOOL
bool "libtool"
# We no longer support a toolchain on the target
depends on BR2_DEPRECATED
help
Library that hides the complexity of using shared/static libraries
on different platforms behind a consistent, portable interface.

View File

@@ -11,5 +11,9 @@ LIBUSB_LICENSE_FILES = COPYING
LIBUSB_DEPENDENCIES = host-pkgconf
LIBUSB_INSTALL_STAGING = YES
ifeq ($(BR2_avr32),y)
LIBUSB_CONF_OPT += --disable-timerfd
endif
$(eval $(autotools-package))
$(eval $(host-autotools-package))

View File

@@ -0,0 +1,52 @@
Fix directfb-fusion kernel module build.
This patch avoids the following error occurs:
/usr/bin/make -f scripts/Makefile.build obj=/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion /opt/br/output/host/usr/bin/ccache
/opt/br/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc -Wp,-MD,/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion/single/.fusioncore_impl.o.d
-nostdinc -isystem /opt/br/output/host/usr/lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.6.3/include -I/opt/br/output/build/linux-3.6/arch/arm/include
-Iarch/arm/include/generated -Iinclude -include /opt/br/output/build/linux-3.6/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-versatile/include
-Iarch/arm/plat-versatile/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/opt/br/output/build/linux-fusion-8.8.1/linux/include -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -marm
-fno-dwarf2-cfi-asm -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables -D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=arm9tdmi -msoft-float -Uarm -Wframe-larger-than=1024
-fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DMODULE
-D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(fusioncore_impl)" -D"KBUILD_MODNAME=KBUILD_STR(fusion)" -c -o
/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.o /opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.c
/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.c:25:19: fatal error: debug.h: No such file or directory
compilation terminated.
make[3]: *** [/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.o] Error 1
make[2]: *** [_module_/opt/br/output/build/linux-fusion-8.8.1/linux/drivers/char/fusion] Error 2
make[2]: Leaving directory `/opt/br/output/build/linux-3.6'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/opt/br/output/build/linux-fusion-8.8.1'
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
diff -purN linux-fusion-8.8.1.orig/linux/drivers/char/fusion/fusioncore.h linux-fusion-8.8.1/linux/drivers/char/fusion/fusioncore.h
--- linux-fusion-8.8.1.orig/linux/drivers/char/fusion/fusioncore.h 2012-10-15 21:47:53.881834496 +0200
+++ linux-fusion-8.8.1/linux/drivers/char/fusion/fusioncore.h 2012-10-15 22:05:27.232401023 +0200
@@ -17,7 +17,7 @@
#include <linux/stddef.h>
-#include "fusioncore_impl.h"
+#include "single/fusioncore_impl.h"
typedef enum {
FC_OK,
diff -purN linux-fusion-8.8.1.orig/linux/drivers/char/fusion/single/fusioncore_impl.c linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.c
--- linux-fusion-8.8.1.orig/linux/drivers/char/fusion/single/fusioncore_impl.c 2012-10-15 21:47:53.878501243 +0200
+++ linux-fusion-8.8.1/linux/drivers/char/fusion/single/fusioncore_impl.c 2012-10-15 22:05:38.585511304 +0200
@@ -22,9 +22,9 @@
#include <linux/slab.h>
#include <linux/sched.h>
-#include "debug.h"
+#include "../debug.h"
-#include "fusioncore.h"
+#include "../fusioncore.h"

View File

@@ -3,7 +3,7 @@
# linux-fusion
#
#############################################################
LINUX_FUSION_VERSION = 8.8.1
LINUX_FUSION_VERSION = 8.10.4
LINUX_FUSION_SOURCE = linux-fusion-$(LINUX_FUSION_VERSION).tar.gz
LINUX_FUSION_SITE = http://directfb.org/downloads/Core/linux-fusion
LINUX_FUSION_INSTALL_STAGING = YES

View File

@@ -3,10 +3,12 @@
# MatchBox Common
#
#############################################################
MATCHBOX_COMMON_VERSION = 0.9.1
MATCHBOX_COMMON_VERSION_MAJOR = 0.9
MATCHBOX_COMMON_VERSION = $(MATCHBOX_COMMON_VERSION_MAJOR).1
MATCHBOX_COMMON_SOURCE = matchbox-common-$(MATCHBOX_COMMON_VERSION).tar.bz2
MATCHBOX_COMMON_SITE = http://matchbox-project.org/sources/matchbox-common/$(MATCHBOX_COMMON_VERSION)
MATCHBOX_COMMON_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-common/$(MATCHBOX_COMMON_VERSION_MAJOR)
MATCHBOX_COMMON_LICENSE = GPLv2+
MATCHBOX_COMMON_LICENSE_FILES = COPYING
MATCHBOX_COMMON_DEPENDENCIES = matchbox-lib
ifeq ($(strip $(BR2_PACKAGE_MATCHBOX_COMMON_PDA)),y)

View File

@@ -4,9 +4,12 @@
#
#############################################################
MATCHBOX_DESKTOP_VERSION = 0.9.1
MATCHBOX_DESKTOP_VERSION_MAJOR = 0.9
MATCHBOX_DESKTOP_VERSION = $(MATCHBOX_DESKTOP_VERSION_MAJOR).1
MATCHBOX_DESKTOP_SOURCE = matchbox-desktop-$(MATCHBOX_DESKTOP_VERSION).tar.bz2
MATCHBOX_DESKTOP_SITE = http://matchbox-project.org/sources/matchbox-desktop/$(MATCHBOX_DESKTOP_VERSION)
MATCHBOX_DESKTOP_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-desktop/$(MATCHBOX_DESKTOP_VERSION_MAJOR)
MATCHBOX_DESKTOP_LICENSE = GPLv2+
MATCHBOX_DESKTOP_LICENSE_FILES = COPYING
MATCHBOX_DESKTOP_DEPENDENCIES = matchbox-lib
MATCHBOX_DESKTOP_CONF_OPT = --enable-expat

View File

@@ -6,7 +6,9 @@
MATCHBOX_FAKEKEY_VERSION = 0.1
MATCHBOX_FAKEKEY_SOURCE = libfakekey-$(MATCHBOX_FAKEKEY_VERSION).tar.bz2
MATCHBOX_FAKEKEY_SITE = http://matchbox-project.org/sources/libfakekey/$(MATCHBOX_FAKEKEY_VERSION)
MATCHBOX_FAKEKEY_SITE = http://downloads.yoctoproject.org/releases/matchbox/libfakekey/$(MATCHBOX_FAKEKEY_VERSION)
MATCHBOX_FAKEKEY_LICENSE = GPLv2+
MATCHBOX_FAKEKEY_LICENSE_FILES = COPYING
MATCHBOX_FAKEKEY_INSTALL_STAGING = YES
MATCHBOX_FAKEKEY_DEPENDENCIES = matchbox-lib xlib_libXtst
MATCHBOX_FAKEKEY_CONF_OPT = --enable-expat

View File

@@ -6,7 +6,9 @@
MATCHBOX_KEYBOARD_VERSION = 0.1
MATCHBOX_KEYBOARD_SOURCE = matchbox-keyboard-$(MATCHBOX_KEYBOARD_VERSION).tar.bz2
MATCHBOX_KEYBOARD_SITE = http://matchbox-project.org/sources/matchbox-keyboard/$(MATCHBOX_KEYBOARD_VERSION)
MATCHBOX_KEYBOARD_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-keyboard/$(MATCHBOX_KEYBOARD_VERSION)
MATCHBOX_KEYBOARD_LICENSE = GPLv2+
MATCHBOX_KEYBOARD_LICENSE_FILES = COPYING
MATCHBOX_KEYBOARD_DEPENDENCIES = matchbox-lib matchbox-fakekey
# Workaround bug in configure script

View File

@@ -6,10 +6,13 @@
MATCHBOX_LIB_VERSION = 1.9
MATCHBOX_LIB_SOURCE = libmatchbox-$(MATCHBOX_LIB_VERSION).tar.bz2
MATCHBOX_LIB_SITE = http://matchbox-project.org/sources/libmatchbox/$(MATCHBOX_LIB_VERSION)
MATCHBOX_LIB_SITE = http://downloads.yoctoproject.org/releases/matchbox/libmatchbox/$(MATCHBOX_LIB_VERSION)
MATCHBOX_LIB_LICENSE = LGPLv2.1
MATCHBOX_LIB_LICENSE_FILES = COPYING
MATCHBOX_LIB_INSTALL_STAGING = YES
MATCHBOX_LIB_DEPENDENCIES = host-pkgconf expat xlib_libXext
MATCHBOX_LIB_CONF_OPT = --enable-expat --disable-doxygen-docs
MATCHBOX_LIB_CONF_ENV = LIBS="-lX11"
define MATCHBOX_LIB_POST_INSTALL_FIXES
$(SED) 's:-I[^$$].*/usr/include/freetype2:-I/usr/include/freetype2:' $(STAGING_DIR)/usr/lib/pkgconfig/libmb.pc

View File

@@ -3,10 +3,12 @@
# MatchBox Panel
#
#############################################################
MATCHBOX_PANEL_VERSION = 0.9.3
MATCHBOX_PANEL_VERSION_MAJOR = 0.9
MATCHBOX_PANEL_VERSION = $(MATCHBOX_PANEL_VERSION_MAJOR).3
MATCHBOX_PANEL_SOURCE = matchbox-panel-$(MATCHBOX_PANEL_VERSION).tar.bz2
MATCHBOX_PANEL_SITE = http://matchbox-project.org/sources/matchbox-panel/$(MATCHBOX_PANEL_VERSION)
MATCHBOX_PANEL_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-panel/$(MATCHBOX_PANEL_VERSION_MAJOR)
MATCHBOX_PANEL_LICENSE = GPLv2+
MATCHBOX_PANEL_LICENSE_FILES = COPYING
MATCHBOX_PANEL_DEPENDENCIES = matchbox-lib
MATCHBOX_PANEL_CONF_OPT = --enable-expat

View File

@@ -6,7 +6,9 @@
MATCHBOX_STARTUP_MONITOR_VERSION = 0.1
MATCHBOX_STARTUP_MONITOR_SOURCE = mb-applet-startup-monitor-$(MATCHBOX_STARTUP_MONITOR_VERSION).tar.bz2
MATCHBOX_STARTUP_MONITOR_SITE = http://matchbox-project.org/sources/mb-applet-startup-monitor/$(MATCHBOX_STARTUP_MONITOR_VERSION)
MATCHBOX_STARTUP_MONITOR_SITE = http://downloads.yoctoproject.org/releases/matchbox/mb-applet-startup-monitor/$(MATCHBOX_STARTUP_MONITOR_VERSION)
MATCHBOX_STARTUP_MONITOR_LICENSE = GPLv2+
MATCHBOX_STARTUP_MONITOR_LICENSE_FILES = COPYING
MATCHBOX_STARTUP_MONITOR_DEPENDENCIES = matchbox-lib startup-notification
MATCHBOX_STARTUP_MONITOR_CONF_OPT =

View File

@@ -6,7 +6,10 @@
MATCHBOX_WM_VERSION = 1.2
MATCHBOX_WM_SOURCE = matchbox-window-manager-$(MATCHBOX_WM_VERSION).tar.bz2
MATCHBOX_WM_SITE = http://matchbox-project.org/sources/matchbox-window-manager/$(MATCHBOX_WM_VERSION)
MATCHBOX_WM_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-window-manager/$(MATCHBOX_WM_VERSION)
MATCHBOX_WM_LICENSE = GPLv2+
MATCHBOX_WM_LICENSE_FILES = COPYING
MATCHBOX_WM_DEPENDENCIES = matchbox-lib
MATCHBOX_WM_CONF_OPT = --enable-expat

View File

@@ -262,6 +262,7 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_CURL
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DIRECTFB
bool "directfb"
select BR2_PACKAGE_DIRECTFB
depends on BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_DVB
bool "dvb"

View File

@@ -1,5 +1,7 @@
config BR2_PACKAGE_NSS_MDNS
bool "nss-mdns"
# libdaemon->avahi uses fork()
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc
depends on BR2_PACKAGE_AVAHI_DAEMON
help

View File

@@ -3,6 +3,7 @@ config BR2_PACKAGE_OPROFILE
select BR2_PACKAGE_POPT
select BR2_PACKAGE_BINUTILS
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_aarch64 # binutils
help
OProfile is a system-wide profiler for Linux systems,
capable of profiling all running code at low overhead.

View File

@@ -6,6 +6,8 @@ config BR2_PACKAGE_OWL_LINUX
help
Linux kernel driver for the H&D Wireless SPB104 SD-card WiFi SIP.
owl-linux requires the hidden kernel option WIRELESS_EXT enabled.
http://linux.hd-wireless.se/bin/view/Linux/GettingStarted
comment "owl-linux requires a Linux kernel"

View File

@@ -5,6 +5,9 @@
#############################################################
OWL_LINUX_VERSION = 1.0.7
OWL_LINUX_SITE = http://linux.hd-wireless.se/pub/Linux/DownloadDrivers
OWL_LINUX_LICENSE = PROPRIETARY
OWL_LINUX_LICENSE_FILES = LICENSE
OWL_LINUX_REDISTRIBUTE = NO
OWL_LINUX_DEPENDENCIES = linux

View File

@@ -74,12 +74,19 @@ domainseparator=$(if $(1),$(1),/)
################################################################################
# Try a shallow clone - but that only works if the version is a ref (tag or
# branch). Fall back on a full clone if it's a generic sha1.
# branch). Before trying to do a shallow clone we check if $($(PKG)_DL_VERSION)
# is in the list provided by git ls-remote. If not we fall back on a full clone.
#
# Messages for the type of clone used are provided to ease debugging in case of
# problems
define DOWNLOAD_GIT
test -e $(DL_DIR)/$($(PKG)_SOURCE) || \
(pushd $(DL_DIR) > /dev/null && \
($(GIT) clone --depth 1 -b $($(PKG)_DL_VERSION) --bare $($(PKG)_SITE) $($(PKG)_BASE_NAME) || \
$(GIT) clone --bare $($(PKG)_SITE) $($(PKG)_BASE_NAME)) && \
((test `git ls-remote $($(PKG)_SITE) | cut -f 2- | grep $($(PKG)_DL_VERSION)` && \
echo "Doing shallow clone" && \
$(GIT) clone --depth 1 -b $($(PKG)_DL_VERSION) --bare $($(PKG)_SITE) $($(PKG)_BASE_NAME)) || \
(echo "Doing full clone" && \
$(GIT) clone --bare $($(PKG)_SITE) $($(PKG)_BASE_NAME))) && \
pushd $($(PKG)_BASE_NAME) > /dev/null && \
$(GIT) archive --format=tar --prefix=$($(PKG)_BASE_NAME)/ $($(PKG)_DL_VERSION) | \
gzip -c > $(DL_DIR)/$($(PKG)_SOURCE) && \

Some files were not shown because too many files have changed in this diff Show More