mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-08 02:09:48 +03:00
Compare commits
15 Commits
2013.02_rc
...
2013.02
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
15ace1a845 | ||
|
|
6dc0596274 | ||
|
|
9bdf69b49d | ||
|
|
0ccfbb5db9 | ||
|
|
7a26f2f663 | ||
|
|
5b02e6cad8 | ||
|
|
0e0e42176d | ||
|
|
e4ee2811e3 | ||
|
|
44efedbec4 | ||
|
|
d8024d2d87 | ||
|
|
bd08eeaffa | ||
|
|
9403f92867 | ||
|
|
ba5ba0a279 | ||
|
|
c264e38fce | ||
|
|
a84432044e |
7
CHANGES
7
CHANGES
@@ -1,3 +1,10 @@
|
||||
2013.02, Released February 28th, 2013:
|
||||
|
||||
Misc manual updates.
|
||||
|
||||
Updated/fixed packages: busybox, collectd, flashbench,
|
||||
libgtk2, libupnp, mii-diag, quota
|
||||
|
||||
2013.02-rc3, Released February 26th, 2013
|
||||
|
||||
Minor fixes.
|
||||
|
||||
2
Makefile
2
Makefile
@@ -24,7 +24,7 @@
|
||||
#--------------------------------------------------------------
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION:=2013.02-rc3
|
||||
export BR2_VERSION:=2013.02
|
||||
|
||||
# Check for minimal make version (note: this check will break at make 10.x)
|
||||
MIN_MAKE_VERSION=3.81
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
<p>
|
||||
|
||||
The latest stable release is <b>2012.11.1</b>, which can be downloaded
|
||||
The latest stable release is <b>2013.02</b>, which can be downloaded
|
||||
here:<p>
|
||||
|
||||
<a href="/downloads/buildroot-2012.11.1.tar.gz">buildroot-2012.11.1.tar.gz</a>
|
||||
<a href="/downloads/buildroot-2013.02.tar.gz">buildroot-2013.02.tar.gz</a>
|
||||
or
|
||||
<a href="/downloads/buildroot-2012.11.1.tar.bz2">buildroot-2012.11.1.tar.bz2</a>.
|
||||
|
||||
<a href="/downloads/buildroot-2013.02.tar.bz2">buildroot-2013.02.tar.bz2</a>.
|
||||
<!--
|
||||
<p>
|
||||
The latest release candidate is <b>2013.02-rc3</b>, which can be
|
||||
downloaded here:<p>
|
||||
@@ -21,7 +21,7 @@ downloaded here:<p>
|
||||
or
|
||||
<a href="/downloads/buildroot-2013.02-rc3.tar.bz2">buildroot-2013.02-rc3.tar.bz2</a>.
|
||||
<p>
|
||||
|
||||
-->
|
||||
This and earlier releases can always be downloaded from
|
||||
<a href="/downloads/">http://buildroot.net/downloads/</a>.
|
||||
|
||||
|
||||
@@ -18,24 +18,25 @@ package, with an example :
|
||||
03: # libfoo
|
||||
04: #
|
||||
05: #############################################################
|
||||
06: LIBFOO_VERSION = 1.0
|
||||
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 = NO
|
||||
11: LIBFOO_CONF_OPT = --disable-shared
|
||||
12: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
|
||||
13:
|
||||
14: $(eval $(autotools-package))
|
||||
06:
|
||||
07: LIBFOO_VERSION = 1.0
|
||||
08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
|
||||
09: LIBFOO_SITE = http://www.foosoftware.org/download
|
||||
10: LIBFOO_INSTALL_STAGING = YES
|
||||
11: LIBFOO_INSTALL_TARGET = NO
|
||||
12: LIBFOO_CONF_OPT = --disable-shared
|
||||
13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
|
||||
14:
|
||||
15: $(eval $(autotools-package))
|
||||
------------------------
|
||||
|
||||
On line 6, we declare the version of the package.
|
||||
On line 7, we declare the version of the package.
|
||||
|
||||
On line 7 and 8, we declare the name of the tarball and the location
|
||||
On line 8 and 9, we declare the name of the tarball and the location
|
||||
of the tarball on the Web. Buildroot will automatically download the
|
||||
tarball from this location.
|
||||
|
||||
On line 9, we tell Buildroot to install the package to the staging
|
||||
On line 10, we tell Buildroot to install the package to the staging
|
||||
directory. The staging directory, located in +output/staging/+
|
||||
is the directory where all the packages are installed, including their
|
||||
development files, etc. By default, packages are not installed to the
|
||||
@@ -45,7 +46,7 @@ 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 not install the package to the
|
||||
On line 11, 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. For purely static libraries, it is
|
||||
not necessary to install them in the target directory because they will
|
||||
@@ -53,14 +54,14 @@ 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
|
||||
On line 12, we tell Buildroot to pass a custom configure option, that
|
||||
will be passed to the +./configure+ script before configuring
|
||||
and building the package.
|
||||
|
||||
On line 12, we declare our dependencies, so that they are built
|
||||
On line 13, we declare our dependencies, so that they are built
|
||||
before the build process of our package starts.
|
||||
|
||||
Finally, on line line 14, we invoke the +autotools-package+
|
||||
Finally, on line line 15, we invoke the +autotools-package+
|
||||
macro that generates all the Makefile rules that actually allows the
|
||||
package to be built.
|
||||
|
||||
|
||||
@@ -18,24 +18,25 @@ with an example :
|
||||
03: # libfoo
|
||||
04: #
|
||||
05: #############################################################
|
||||
06: LIBFOO_VERSION = 1.0
|
||||
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 = NO
|
||||
11: LIBFOO_CONF_OPT = -DBUILD_DEMOS=ON
|
||||
12: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
|
||||
13:
|
||||
14: $(eval $(cmake-package))
|
||||
06:
|
||||
07: LIBFOO_VERSION = 1.0
|
||||
08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
|
||||
09: LIBFOO_SITE = http://www.foosoftware.org/download
|
||||
10: LIBFOO_INSTALL_STAGING = YES
|
||||
11: LIBFOO_INSTALL_TARGET = NO
|
||||
12: LIBFOO_CONF_OPT = -DBUILD_DEMOS=ON
|
||||
13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf
|
||||
14:
|
||||
15: $(eval $(cmake-package))
|
||||
------------------------
|
||||
|
||||
On line 6, we declare the version of the package.
|
||||
On line 7, we declare the version of the package.
|
||||
|
||||
On line 7 and 8, we declare the name of the tarball and the location
|
||||
On line 8 and 9, we declare the name of the tarball and the location
|
||||
of the tarball on the Web. Buildroot will automatically download the
|
||||
tarball from this location.
|
||||
|
||||
On line 9, we tell Buildroot to install the package to the staging
|
||||
On line 10, we tell Buildroot to install the package to the staging
|
||||
directory. The staging directory, located in +output/staging/+
|
||||
is the directory where all the packages are installed, including their
|
||||
development files, etc. By default, packages are not installed to the
|
||||
@@ -45,7 +46,7 @@ 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 not install the package to the
|
||||
On line 11, 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. For purely static libraries, it is
|
||||
not necessary to install them in the target directory because they will
|
||||
@@ -53,13 +54,13 @@ 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
|
||||
On line 12, we tell Buildroot to pass custom options to CMake when it is
|
||||
configuring the package.
|
||||
|
||||
On line 12, we declare our dependencies, so that they are built
|
||||
On line 13, we declare our dependencies, so that they are built
|
||||
before the build process of our package starts.
|
||||
|
||||
Finally, on line line 14, we invoke the +cmake-package+
|
||||
Finally, on line line 15, we invoke the +cmake-package+
|
||||
macro that generates all the Makefile rules that actually allows the
|
||||
package to be built.
|
||||
|
||||
|
||||
@@ -20,42 +20,43 @@ system is based on hand-written Makefiles or shell scripts.
|
||||
03: # libfoo
|
||||
04: #
|
||||
05: #############################################################
|
||||
06: LIBFOO_VERSION = 1.0
|
||||
07: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
|
||||
08: LIBFOO_SITE = http://www.foosoftware.org/download
|
||||
09: LIBFOO_LICENSE = GPLv3+
|
||||
10: LIBFOO_LICENSE_FILES = COPYING
|
||||
11: LIBFOO_INSTALL_STAGING = YES
|
||||
12: LIBFOO_CONFIG_SCRIPTS = libfoo-config
|
||||
13: LIBFOO_DEPENDENCIES = host-libaaa libbbb
|
||||
14:
|
||||
15: define LIBFOO_BUILD_CMDS
|
||||
16: $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
|
||||
17: endef
|
||||
18:
|
||||
19: define LIBFOO_INSTALL_STAGING_CMDS
|
||||
20: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a
|
||||
21: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h
|
||||
22: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib
|
||||
23: endef
|
||||
24:
|
||||
25: define LIBFOO_INSTALL_TARGET_CMDS
|
||||
26: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib
|
||||
27: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d
|
||||
28: endef
|
||||
29:
|
||||
30: define LIBFOO_DEVICES
|
||||
31: /dev/foo c 666 0 0 42 0 - - -
|
||||
32: endef
|
||||
33:
|
||||
34: define LIBFOO_PERMISSIONS
|
||||
35: /bin/foo f 4755 0 0 - - - - -
|
||||
36: endef
|
||||
37:
|
||||
38: $(eval $(generic-package))
|
||||
06:
|
||||
07: LIBFOO_VERSION = 1.0
|
||||
08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
|
||||
09: LIBFOO_SITE = http://www.foosoftware.org/download
|
||||
10: LIBFOO_LICENSE = GPLv3+
|
||||
11: LIBFOO_LICENSE_FILES = COPYING
|
||||
12: LIBFOO_INSTALL_STAGING = YES
|
||||
13: LIBFOO_CONFIG_SCRIPTS = libfoo-config
|
||||
14: LIBFOO_DEPENDENCIES = host-libaaa libbbb
|
||||
15:
|
||||
16: define LIBFOO_BUILD_CMDS
|
||||
17: $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
|
||||
18: endef
|
||||
19:
|
||||
20: define LIBFOO_INSTALL_STAGING_CMDS
|
||||
21: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a
|
||||
22: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h
|
||||
23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib
|
||||
24: endef
|
||||
25:
|
||||
26: define LIBFOO_INSTALL_TARGET_CMDS
|
||||
27: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib
|
||||
28: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d
|
||||
29: endef
|
||||
30:
|
||||
31: define LIBFOO_DEVICES
|
||||
32: /dev/foo c 666 0 0 42 0 - - -
|
||||
33: endef
|
||||
34:
|
||||
35: define LIBFOO_PERMISSIONS
|
||||
36: /bin/foo f 4755 0 0 - - - - -
|
||||
37: endef
|
||||
38:
|
||||
39: $(eval $(generic-package))
|
||||
--------------------------------
|
||||
|
||||
The Makefile begins on line 6 to 10 with metadata information: the
|
||||
The Makefile begins on line 7 to 11 with metadata information: the
|
||||
version of the package (+LIBFOO_VERSION+), the name of the
|
||||
tarball containing the package (+LIBFOO_SOURCE+) the
|
||||
Internet location at which the tarball can be downloaded from
|
||||
@@ -65,13 +66,13 @@ the same prefix, +LIBFOO_+ in this case. This prefix is always the
|
||||
uppercased version of the package name (see below to understand where
|
||||
the package name is defined).
|
||||
|
||||
On line 11, we specify that this package wants to install something to
|
||||
On line 12, we specify that this package wants to install something to
|
||||
the staging space. This is often needed for libraries, since they must
|
||||
install header files and other development files in the staging space.
|
||||
This will ensure that the commands listed in the
|
||||
+LIBFOO_INSTALL_STAGING_CMDS+ variable will be executed.
|
||||
|
||||
On line 12, we specify that there is some fixing to be done to some
|
||||
On line 13, we specify that there is some fixing to be done to some
|
||||
of the 'libfoo-config' files that were installed during
|
||||
+LIBFOO_INSTALL_STAGING_CMDS+ phase.
|
||||
These *-config files are executable shell script files that are
|
||||
@@ -113,14 +114,14 @@ IMAGEMAGICK_CONFIG_SCRIPTS = \
|
||||
Magick-config Magick++-config \
|
||||
MagickCore-config MagickWand-config Wand-config
|
||||
|
||||
On line 13, we specify the list of dependencies this package relies
|
||||
On line 14, we specify the list of dependencies this package relies
|
||||
on. These dependencies are listed in terms of lower-case package names,
|
||||
which can be packages for the target (without the +host-+
|
||||
prefix) or packages for the host (with the +host-+) prefix).
|
||||
Buildroot will ensure that all these packages are built and installed
|
||||
'before' the current package starts its configuration.
|
||||
|
||||
The rest of the Makefile, lines 14..27, defines what should be done
|
||||
The rest of the Makefile, lines 16..29, defines what should be done
|
||||
at the different steps of the package configuration, compilation and
|
||||
installation.
|
||||
+LIBFOO_BUILD_CMDS+ tells what steps should be performed to
|
||||
@@ -133,13 +134,13 @@ All these steps rely on the +$(@D)+ variable, which
|
||||
contains the directory where the source code of the package has been
|
||||
extracted.
|
||||
|
||||
On line 29..31, we define a device-node file used by this package
|
||||
On line 31..33, we define a device-node file used by this package
|
||||
(+LIBFOO_DEVICES+).
|
||||
|
||||
On line 33..35, we define the permissions to set to specific files
|
||||
On line 35..37, we define the permissions to set to specific files
|
||||
installed by this package (+LIBFOO_PERMISSIONS+).
|
||||
|
||||
Finally, on line 37, we call the +generic-package+ function, which
|
||||
Finally, on line 39, we call the +generic-package+ function, which
|
||||
generates, according to the variables defined previously, all the
|
||||
Makefile code necessary to make your package working.
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ Type+ option in the +Toolchain+ menu. Once one solution has been
|
||||
chosen, a number of configuration options appear, they are detailed in
|
||||
the following sections.
|
||||
|
||||
[[internal-toolchain-backend]]
|
||||
Internal toolchain backend
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -138,6 +139,7 @@ Drawbacks of this backend:
|
||||
using the _External toolchain backend_.
|
||||
* Limited to the _uClibc_ C library.
|
||||
|
||||
[[external-toolchain-backend]]
|
||||
External toolchain backend
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -240,6 +242,7 @@ Drawbacks of this backend:
|
||||
fix from the toolchain vendor, unless you build your external
|
||||
toolchain by yourself using Crosstool-NG.
|
||||
|
||||
[[crosstool-ng-toolchain-backend]]
|
||||
Crosstool-NG toolchain backend
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
@@ -25,18 +25,18 @@ there are a few ways to customize the resulting target filesystem.
|
||||
directories, +.empty+ files and files ending with +~+ are excluded.
|
||||
_Among these first 3 methods, this one should be preferred_.
|
||||
|
||||
* In the Buildroot configuration, you can specify the path to a
|
||||
*post-build script*, that gets called 'after' Buildroot builds all the
|
||||
selected software, but 'before' the rootfs packages are
|
||||
assembled. The +BR2_ROOTFS_POST_BUILD_SCRIPT+ will allow you to
|
||||
specify the location of your post-build script. This option can be
|
||||
* In the Buildroot configuration, you can specify the paths to one or
|
||||
more *post-build scripts*. These scripts are called in the given order,
|
||||
'after' Buildroot builds all the selected software, but 'before' the
|
||||
rootfs images are assembled. The +BR2_ROOTFS_POST_BUILD_SCRIPT+ allows
|
||||
you to specify the location of your post-build scripts. This option can be
|
||||
found in the +System configuration+ menu. The destination root
|
||||
filesystem folder is given as the first argument to this script,
|
||||
and this script can then be used to remove or modify any file in your
|
||||
filesystem folder is given as the first argument to these scripts,
|
||||
and these scripts can then be used to remove or modify any file in 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.
|
||||
files, you should fix that package rather than work around it with some
|
||||
post-build cleanup scripts.
|
||||
You may also use these variables in your post-build script:
|
||||
- +BUILDROOT_CONFIG+: the path to the Buildroot .config file
|
||||
- +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see
|
||||
@@ -55,23 +55,25 @@ there are a few ways to customize the resulting target filesystem.
|
||||
installation. Note that this method is *not recommended*, as it
|
||||
duplicates the entire skeleton, which prevents from taking advantage
|
||||
of the fixes or improvements brought to the default Buildroot
|
||||
skeleton. The recommended method is to use the _post-build script_
|
||||
skeleton. The recommended method is to use the _post-build scripts_
|
||||
mechanism described in the previous item.
|
||||
|
||||
Note also that if you want to perform some specific actions *after*
|
||||
all filesystem images have been created (for example to automatically
|
||||
Note also that you can use the *post-image scripts*
|
||||
if you want to perform some specific actions 'after' all
|
||||
filesystem images have been created (for example to automatically
|
||||
extract your root filesystem tarball in a location exported by your
|
||||
NFS server, or to create a special firmware image that bundles your
|
||||
root filesystem and kernel image, or any other custom action), you can
|
||||
specify a space-separated list of scripts in the
|
||||
+BR2_ROOTFS_POST_IMAGE_SCRIPT+ configuration option.
|
||||
+BR2_ROOTFS_POST_IMAGE_SCRIPT+ configuration option. This option can be
|
||||
found in the +System configuration+ menu as well.
|
||||
|
||||
Each of those scripts will be called with the path to the +images+
|
||||
output directory as first and unique argument, and will be executed
|
||||
with the main Buildroot source directory as the current
|
||||
directory. Those scripts will be executed as the user that executes
|
||||
Buildroot, which should normally not be the root user. Therefore, any
|
||||
action requiring root permissions in one of these post-image script
|
||||
action requiring root permissions in one of these _post-image scripts_
|
||||
will require special handling (usage of fakeroot or sudo), which is
|
||||
left to the script developer.
|
||||
|
||||
|
||||
@@ -13,10 +13,13 @@ consists of the buildroot configuration, the configuration files for
|
||||
packages that you use (kernel, busybox, uClibc, ...), and your rootfs
|
||||
modifications.
|
||||
|
||||
|
||||
[[customize-store-basics]]
|
||||
Basics for storing the configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
[[customize-store-basics]]
|
||||
|
||||
|
||||
[[customize-store-buildroot-config]]
|
||||
Buildroot configuration
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -35,6 +38,7 @@ Alternatively, you can copy the file to any other place and rebuild with
|
||||
+make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>+.
|
||||
|
||||
|
||||
[[customize-store-package-config]]
|
||||
Other package configuration
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -71,6 +75,7 @@ configuration files easier.
|
||||
resp. +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+.
|
||||
|
||||
|
||||
[[customize-store-board-support]]
|
||||
Creating your own board support
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ There is no way of tuning an external toolchain since Buildroot does not
|
||||
generate it.
|
||||
|
||||
It also requires to set the Buildroot settings according to the toolchain ones
|
||||
(see xref:external-toolchain[]).
|
||||
(see xref:external-toolchain-backend[]).
|
||||
|
||||
Using the internal Buildroot toolchain backend
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -34,12 +34,18 @@ Most patches are provided within Buildroot, in the package
|
||||
directory; these typically aim to fix cross-compilation, libc support,
|
||||
or other such issues.
|
||||
|
||||
These patch files should be named +<packagename>-<description>.patch+.
|
||||
These patch files should be named +<packagename>-<number>-<description>.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
|
||||
application order.
|
||||
|
||||
.Notes
|
||||
- The patch files coming with Buildroot should not contain any package version
|
||||
reference in their filename.
|
||||
- The field +<number>+ in the patch file name refers to the 'apply order'.
|
||||
|
||||
|
||||
How patches are applied
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -56,8 +62,12 @@ How patches are applied
|
||||
* If a +series+ file exists in the package directory, then patches are
|
||||
applied according to the +series+ file;
|
||||
+
|
||||
* Otherwise, patch files matching `<packagename>-*.patch` are applied
|
||||
following the +ls+ command order.
|
||||
* Otherwise, patch files matching +<packagename>-*.patch+
|
||||
are applied in alphabetical order.
|
||||
So, to ensure they are applied in the right order, it is hightly
|
||||
recommended to named the patch files like this:
|
||||
+<packagename>-<number>-<description>.patch+, where +<number>+
|
||||
refers to the 'apply order'.
|
||||
|
||||
. Run the +<packagename>_POST_PATCH_HOOKS+ commands if defined.
|
||||
|
||||
|
||||
@@ -25,4 +25,5 @@ interested in hacking it to add:
|
||||
|
||||
* new packages: refer to the xref:adding-packages[Developer guide]
|
||||
|
||||
* new board support: refer to the xref:board-support[Developer guide]
|
||||
* new board support: refer to the
|
||||
xref:customize-store-board-support[Developer guide].
|
||||
|
||||
@@ -5,6 +5,15 @@
|
||||
<p>
|
||||
|
||||
<ul>
|
||||
<li><b>28 February 2013 -- 2013.02 released</b>
|
||||
|
||||
<p>The stable 2013.02 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2013.02">CHANGES</a>
|
||||
file for more details
|
||||
and go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2013.02.tar.bz2">2013.02 release</a>.</p>
|
||||
|
||||
<li><b>26 February 2013 -- 2013.02-rc3 released</b>
|
||||
|
||||
<p>Another week, another release candidate with more cleanups and
|
||||
|
||||
24
package/busybox/busybox-1.21.0/busybox-1.21.0-platform.patch
Normal file
24
package/busybox/busybox-1.21.0/busybox-1.21.0-platform.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
--- busybox-1.21.0/archival/libarchive/decompress_unxz.c
|
||||
+++ busybox-1.21.0-platform/archival/libarchive/decompress_unxz.c
|
||||
@@ -30,8 +30,8 @@ static uint32_t xz_crc32(const uint8_t *
|
||||
/* We use arch-optimized unaligned accessors */
|
||||
#define get_unaligned_le32(buf) ({ uint32_t v; move_from_unaligned32(v, buf); SWAP_LE32(v); })
|
||||
#define get_unaligned_be32(buf) ({ uint32_t v; move_from_unaligned32(v, buf); SWAP_BE32(v); })
|
||||
-#define put_unaligned_le32(val, buf) move_to_unaligned16(buf, SWAP_LE32(val))
|
||||
-#define put_unaligned_be32(val, buf) move_to_unaligned16(buf, SWAP_BE32(val))
|
||||
+#define put_unaligned_le32(val, buf) move_to_unaligned32(buf, SWAP_LE32(val))
|
||||
+#define put_unaligned_be32(val, buf) move_to_unaligned32(buf, SWAP_BE32(val))
|
||||
|
||||
#include "unxz/xz_dec_bcj.c"
|
||||
#include "unxz/xz_dec_lzma2.c"
|
||||
--- busybox-1.21.0/include/platform.h
|
||||
+++ busybox-1.21.0-platform/include/platform.h
|
||||
@@ -228,7 +228,7 @@ typedef uint32_t bb__aliased_uint32_t FI
|
||||
# define move_from_unaligned32(v, u32p) (memcpy(&(v), (u32p), 4))
|
||||
# define move_to_unaligned16(u16p, v) do { \
|
||||
uint16_t __t = (v); \
|
||||
- memcpy((u16p), &__t, 4); \
|
||||
+ memcpy((u16p), &__t, 2); \
|
||||
} while (0)
|
||||
# define move_to_unaligned32(u32p, v) do { \
|
||||
uint32_t __t = (v); \
|
||||
84
package/busybox/busybox-1.21.0/busybox-1.21.0-xz.patch
Normal file
84
package/busybox/busybox-1.21.0/busybox-1.21.0-xz.patch
Normal file
@@ -0,0 +1,84 @@
|
||||
--- busybox-1.21.0/archival/libarchive/decompress_unxz.c
|
||||
+++ busybox-1.21.0-xz/archival/libarchive/decompress_unxz.c
|
||||
@@ -40,6 +40,7 @@ static uint32_t xz_crc32(const uint8_t *
|
||||
IF_DESKTOP(long long) int FAST_FUNC
|
||||
unpack_xz_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd)
|
||||
{
|
||||
+ enum xz_ret xz_result;
|
||||
struct xz_buf iobuf;
|
||||
struct xz_dec *state;
|
||||
unsigned char *membuf;
|
||||
@@ -63,9 +64,8 @@ unpack_xz_stream(transformer_aux_data_t
|
||||
/* Limit memory usage to about 64 MiB. */
|
||||
state = xz_dec_init(XZ_DYNALLOC, 64*1024*1024);
|
||||
|
||||
+ xz_result = X_OK;
|
||||
while (1) {
|
||||
- enum xz_ret r;
|
||||
-
|
||||
if (iobuf.in_pos == iobuf.in_size) {
|
||||
int rd = safe_read(src_fd, membuf, BUFSIZ);
|
||||
if (rd < 0) {
|
||||
@@ -73,28 +73,57 @@ unpack_xz_stream(transformer_aux_data_t
|
||||
total = -1;
|
||||
break;
|
||||
}
|
||||
+ if (rd == 0 && xz_result == XZ_STREAM_END)
|
||||
+ break;
|
||||
iobuf.in_size = rd;
|
||||
iobuf.in_pos = 0;
|
||||
}
|
||||
+ if (xz_result == XZ_STREAM_END) {
|
||||
+ /*
|
||||
+ * Try to start decoding next concatenated stream.
|
||||
+ * Stream padding must always be a multiple of four
|
||||
+ * bytes to preserve four-byte alignment. To keep the
|
||||
+ * code slightly smaller, we aren't as strict here as
|
||||
+ * the .xz spec requires. We just skip all zero-bytes
|
||||
+ * without checking the alignment and thus can accept
|
||||
+ * files that aren't valid, e.g. the XZ utils test
|
||||
+ * files bad-0pad-empty.xz and bad-0catpad-empty.xz.
|
||||
+ */
|
||||
+ do {
|
||||
+ if (membuf[iobuf.in_pos] != 0) {
|
||||
+ xz_dec_reset(state);
|
||||
+ goto do_run;
|
||||
+ }
|
||||
+ iobuf.in_pos++;
|
||||
+ } while (iobuf.in_pos < iobuf.in_size);
|
||||
+ }
|
||||
+ do_run:
|
||||
// bb_error_msg(">in pos:%d size:%d out pos:%d size:%d",
|
||||
// iobuf.in_pos, iobuf.in_size, iobuf.out_pos, iobuf.out_size);
|
||||
- r = xz_dec_run(state, &iobuf);
|
||||
+ xz_result = xz_dec_run(state, &iobuf);
|
||||
// bb_error_msg("<in pos:%d size:%d out pos:%d size:%d r:%d",
|
||||
-// iobuf.in_pos, iobuf.in_size, iobuf.out_pos, iobuf.out_size, r);
|
||||
+// iobuf.in_pos, iobuf.in_size, iobuf.out_pos, iobuf.out_size, xz_result);
|
||||
if (iobuf.out_pos) {
|
||||
xwrite(dst_fd, iobuf.out, iobuf.out_pos);
|
||||
IF_DESKTOP(total += iobuf.out_pos;)
|
||||
iobuf.out_pos = 0;
|
||||
}
|
||||
- if (r == XZ_STREAM_END) {
|
||||
- break;
|
||||
+ if (xz_result == XZ_STREAM_END) {
|
||||
+ /*
|
||||
+ * Can just "break;" here, if not for concatenated
|
||||
+ * .xz streams.
|
||||
+ * Checking for padding may require buffer
|
||||
+ * replenishment. Can't do it here.
|
||||
+ */
|
||||
+ continue;
|
||||
}
|
||||
- if (r != XZ_OK && r != XZ_UNSUPPORTED_CHECK) {
|
||||
+ if (xz_result != XZ_OK && xz_result != XZ_UNSUPPORTED_CHECK) {
|
||||
bb_error_msg("corrupted data");
|
||||
total = -1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
+
|
||||
xz_dec_end(state);
|
||||
free(membuf);
|
||||
|
||||
@@ -122,6 +122,14 @@ ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
|
||||
COLLECTD_CONF_OPT += --with-libgcrypt=$(STAGING_DIR)/usr
|
||||
endif
|
||||
|
||||
# released software should not break on minor warnings
|
||||
define COLLECTD_DROP_WERROR
|
||||
$(SED) 's/-Werror//' \
|
||||
$(@D)/src/Makefile.in $(@D)/src/libcollectdclient/Makefile.in
|
||||
endef
|
||||
|
||||
COLLECTD_POST_PATCH_HOOKS += COLLECTD_DROP_WERROR
|
||||
|
||||
define COLLECTD_INSTALL_TARGET_CMDS
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install
|
||||
rm -f $(TARGET_DIR)/usr/bin/collectd-nagios
|
||||
|
||||
@@ -11,8 +11,8 @@ FLASHBENCH_LICENSE_FILES = COPYING
|
||||
|
||||
FLASHBENCH_CFLAGS = $(TARGET_CFLAGS)
|
||||
|
||||
ifeq ($(BR2_microblaze),y)
|
||||
# microblaze toolchain only provides LLONG_MAX when used with gnu99 dialect
|
||||
ifeq ($(BR2_microblaze)$(BR2_sh2a),y)
|
||||
# microblaze and sh2a toolchains only provide LLONG_MAX when used with gnu99 dialect
|
||||
FLASHBENCH_CFLAGS += -std=gnu99
|
||||
endif
|
||||
|
||||
|
||||
@@ -29,3 +29,6 @@ config BR2_PACKAGE_LIBGTK2_DEMO
|
||||
|
||||
comment "libgtk2 requires a toolchain with WCHAR and C++ support"
|
||||
depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP
|
||||
|
||||
comment "WARNING: Libgtk2 directfb backend is deprecated"
|
||||
depends on BR2_PACKAGE_LIBGTK2 && !BR2_PACKAGE_XORG7
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
config BR2_PACKAGE_LIBUPNP
|
||||
bool "libupnp"
|
||||
depends on BR2_LARGEFILE
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
help
|
||||
The portable SDK for UPnP(tm) Devices (libupnp) provides developers
|
||||
with an API and open source code for building control points,
|
||||
@@ -9,5 +10,5 @@ config BR2_PACKAGE_LIBUPNP
|
||||
|
||||
http://pupnp.sourceforge.net/
|
||||
|
||||
comment "libupnp requires a toolchain with LARGEFILE support"
|
||||
depends on !BR2_LARGEFILE
|
||||
comment "libupnp requires a toolchain with LARGEFILE and thread support"
|
||||
depends on !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_THREADS)
|
||||
|
||||
@@ -21,11 +21,11 @@ endef
|
||||
MII_DIAG_POST_PATCH_HOOKS = MII_DIAG_DEBIAN_PATCHES
|
||||
|
||||
define MII_DIAG_BUILD_CMDS
|
||||
$(MAKE) $(MII_DIAG_MAKE_OPT) -C $(@D)
|
||||
$(MAKE) $(MII_DIAG_MAKE_OPT) -C $(@D) mii-diag
|
||||
endef
|
||||
|
||||
define MII_DIAG_INSTALL_TARGET_CMDS
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install-mii-diag
|
||||
endef
|
||||
|
||||
define MII_DIAG_UNINSTALL_TARGET_CMDS
|
||||
|
||||
@@ -2,6 +2,7 @@ config BR2_PACKAGE_QUOTA
|
||||
bool "quota"
|
||||
depends on BR2_LARGEFILE
|
||||
depends on BR2_USE_WCHAR
|
||||
depends on BR2_USE_MMU # fork()
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
select BR2_PACKAGE_UTIL_LINUX_MOUNT
|
||||
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
config BR2_PACKAGE_USHARE
|
||||
bool "ushare"
|
||||
depends on BR2_LARGEFILE
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libupnp
|
||||
select BR2_PACKAGE_LIBUPNP
|
||||
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
|
||||
help
|
||||
@@ -10,5 +11,5 @@ config BR2_PACKAGE_USHARE
|
||||
|
||||
http://ushare.geexbox.org/
|
||||
|
||||
comment "ushare requires a toolchain with LARGEFILE support"
|
||||
depends on !BR2_LARGEFILE
|
||||
comment "ushare requires a toolchain with LARGEFILE and thread support"
|
||||
depends on !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_THREADS)
|
||||
|
||||
Reference in New Issue
Block a user