Compare commits
153 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6cfaea44e | ||
|
|
132cf723ec | ||
|
|
929f371cb0 | ||
|
|
020047730b | ||
|
|
1ddf44a3ab | ||
|
|
1f5f26be95 | ||
|
|
66a70b62b0 | ||
|
|
5f623e4696 | ||
|
|
e7bc24338a | ||
|
|
a957e1b265 | ||
|
|
de62a1ab61 | ||
|
|
40089283e9 | ||
|
|
d1284c5022 | ||
|
|
29e583388f | ||
|
|
5bdc76ee23 | ||
|
|
179266d292 | ||
|
|
0127a1cc5a | ||
|
|
666addf1bc | ||
|
|
a2842c7136 | ||
|
|
6e048ce0c7 | ||
|
|
e33019aaa0 | ||
|
|
5263aa681a | ||
|
|
bd7b402fb1 | ||
|
|
78c3a32c75 | ||
|
|
88b76e2649 | ||
|
|
3324f4e8b6 | ||
|
|
3b38a1e6bb | ||
|
|
8c5156cce0 | ||
|
|
7e50574965 | ||
|
|
e722f7cc23 | ||
|
|
98f7e12c50 | ||
|
|
744c215a0a | ||
|
|
de4f1bb8fc | ||
|
|
51b387b99b | ||
|
|
70d534262c | ||
|
|
8ae7838c70 | ||
|
|
4d1216901f | ||
|
|
63d8bb3994 | ||
|
|
ed73d1d2e3 | ||
|
|
b7740b32f6 | ||
|
|
4a270de1e3 | ||
|
|
a42efd0859 | ||
|
|
ec7c940a3b | ||
|
|
da02c35278 | ||
|
|
a8da3cd61a | ||
|
|
848c5b9480 | ||
|
|
46831ea58a | ||
|
|
fc82f8df85 | ||
|
|
7cbb476661 | ||
|
|
02b14d55ab | ||
|
|
6d2071a2b7 | ||
|
|
5e26da4673 | ||
|
|
3883823614 | ||
|
|
08ad8a7c04 | ||
|
|
ba4146c37c | ||
|
|
43f25ee055 | ||
|
|
e78cc3af51 | ||
|
|
2f886ee34a | ||
|
|
9ea28e8a43 | ||
|
|
9cab58b69e | ||
|
|
0b100de2cf | ||
|
|
f4b54ed184 | ||
|
|
8bb561444b | ||
|
|
088ed8dcbb | ||
|
|
5b1edc6490 | ||
|
|
108952af0a | ||
|
|
6c1ee14b29 | ||
|
|
39a0fa4b0d | ||
|
|
87d6d0d0f3 | ||
|
|
c3bb6e0b43 | ||
|
|
5e986624b2 | ||
|
|
9520a56810 | ||
|
|
ffd7a00aef | ||
|
|
8d911f9b7b | ||
|
|
f895a67968 | ||
|
|
cb7c12f58c | ||
|
|
70ee9fcdfc | ||
|
|
a9baea4345 | ||
|
|
ff6000507a | ||
|
|
0a2850104b | ||
|
|
5ddfe76889 | ||
|
|
4a9eb20de8 | ||
|
|
50c33ad125 | ||
|
|
35787b822d | ||
|
|
a524731012 | ||
|
|
1de64ec8c0 | ||
|
|
5f5e5f2919 | ||
|
|
f0862592b3 | ||
|
|
5155a8bd1c | ||
|
|
8d44671866 | ||
|
|
eda5dd1cee | ||
|
|
060623cfed | ||
|
|
1963bc815d | ||
|
|
a1451719df | ||
|
|
b57b69cd65 | ||
|
|
6080b2228c | ||
|
|
1889207631 | ||
|
|
f7d43f93bb | ||
|
|
b88f2f6159 | ||
|
|
1fd1fe744e | ||
|
|
0cb2b158d4 | ||
|
|
c2d4af6e03 | ||
|
|
faed40cf1d | ||
|
|
045651e253 | ||
|
|
777f3b56be | ||
|
|
ffeda5e429 | ||
|
|
b536ee6069 | ||
|
|
5010bdcd11 | ||
|
|
d8d164b52b | ||
|
|
52eeb04c76 | ||
|
|
8797a8cb58 | ||
|
|
085d4f0270 | ||
|
|
b614b25156 | ||
|
|
3c150f893d | ||
|
|
6eb425891e | ||
|
|
cc5b999cf6 | ||
|
|
171fb7aa0c | ||
|
|
ac99683578 | ||
|
|
a8b2e42623 | ||
|
|
fdbd7418fb | ||
|
|
615d65d3c6 | ||
|
|
209b48ae2a | ||
|
|
551c4ca7a5 | ||
|
|
c3d539b53f | ||
|
|
a423ec1519 | ||
|
|
3a0776b9d6 | ||
|
|
31d212b3e1 | ||
|
|
8e63d54e2a | ||
|
|
52aef8aebc | ||
|
|
c72cb08cb1 | ||
|
|
e78d357551 | ||
|
|
40f7068f11 | ||
|
|
e158dbf0bd | ||
|
|
a6892c69e8 | ||
|
|
7341eb8276 | ||
|
|
4b9a294e1c | ||
|
|
a25df76b39 | ||
|
|
eedfc7121c | ||
|
|
4ea812ea48 | ||
|
|
b0a3ad646e | ||
|
|
66c4d32f7c | ||
|
|
55ad3cfd3f | ||
|
|
2f78767bb8 | ||
|
|
1358a2e802 | ||
|
|
15ec3de799 | ||
|
|
e00ee4c835 | ||
|
|
48c9548ce7 | ||
|
|
dd1c4f65b1 | ||
|
|
a728e2fe35 | ||
|
|
ae3298d7d4 | ||
|
|
06b53255cf | ||
|
|
41ca57cb74 | ||
|
|
a37930a5ba |
59
CHANGES
59
CHANGES
@@ -1,3 +1,62 @@
|
||||
2014.02, Released February 27th, 2014
|
||||
|
||||
Minor fixes.
|
||||
|
||||
Updated/fixed packages: cegui06, cppdb, e2fsprogs, gcc, gdb,
|
||||
gst1-plugins-bad, gstreamer, gstreamer1, haserl, imagemagick,
|
||||
libpng, libxml2, lua, luajit, luarock, ncftp, openswan,
|
||||
pcsc-lite, qt5connectivity, ramsmp, strongswan, vlc
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#6938: mkuser script generates wrong password for new user in..
|
||||
|
||||
2014.02-rc3, Released February 25th, 2014
|
||||
|
||||
Minor fixes.
|
||||
|
||||
Updated/fixed packages: aiccu, ala-lib, alsa-utils, binutils,
|
||||
cairo, coreutils, dhcpcd, distcc, efl, evas, iputils, gdb,
|
||||
gpsd, gst-fsl-plugins, icu, libcec, libcgi, libplayer,
|
||||
libsecret, libsepol, libsigsegv, libtool, libv4l,
|
||||
linux-headers, matchbox-lib, mpg123, ncftp, opencv, pcmanfm,
|
||||
pixman, pv, qt, rt-tests, sawman, sconeserver, sdl, thrift,
|
||||
tvheadend, util-linux, webkit, xscreensaver
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#4706: Removing .stamp_target_installed does not trigger...
|
||||
#5030: busybox built fails if we use an override src dir...
|
||||
#5420: Dbus and /var/run management
|
||||
#5768: Not able to build ALSA-Lib for static build
|
||||
#5774: Not able to build ALSA-Utils for static build
|
||||
#6542: external python modules fail to compile to pyc if...
|
||||
#6764: Support for kernel signed modules
|
||||
#6794: Busybox compiled from buildroot hangs on pass from...
|
||||
|
||||
2014.02-rc2, Released February 20th, 2014
|
||||
|
||||
Fixes all over the tree. Static linking / nommu fixes and
|
||||
annotations for several packages.
|
||||
|
||||
Updated/fixed packages: boost, busybox, collectd, coreutils,
|
||||
dropbear, elfutils, feh, gcc, gst1-libav, imagemagick, iozone,
|
||||
jimtcl, kexec, libvncserver, lvm2, lxc, mplayer, netsnmp, nut,
|
||||
opencv, python, python3, qtuio, systemd, thrift, transmission,
|
||||
uclibc, vlc, webkit
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#5450: AT91SAM9260 Bootstrap compilation problem
|
||||
#5582: libiconv 1.14 failed to build
|
||||
#5624: When building directfb, BR2_TARGET_LDFLAGS not used by..
|
||||
#5852: [2012.11] usb_modeswitch should depends of "BR2_PACK..
|
||||
#6218: binutils-2.23.2/gas fails with undefined reference to..
|
||||
#6236: binutils-2.23.2/bfd fails with undefined reference to..
|
||||
#6470: If the build directory is a child of /usr, the build..
|
||||
#6776: systemd error: static declaration of 'execvpe' follows..
|
||||
#6818: toolchainfile.cmake has absolut path references
|
||||
|
||||
2014.02-rc1, Released February 11th, 2014
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
22
Config.in
22
Config.in
@@ -18,11 +18,6 @@ config BR2_EXTERNAL
|
||||
string
|
||||
option env="BR2_EXTERNAL"
|
||||
|
||||
# Hidden boolean selected by packages in need of Java in order to build
|
||||
# (example: xbmc)
|
||||
config BR2_NEEDS_HOST_JAVA
|
||||
bool
|
||||
|
||||
# Hidden boolean selected by pre-built packages for x86, when they
|
||||
# need to run on x86-64 machines (example: pre-built external
|
||||
# toolchains, binary tools like SAM-BA, etc.).
|
||||
@@ -178,7 +173,7 @@ if !BR2_PRIMARY_SITE_ONLY
|
||||
|
||||
config BR2_BACKUP_SITE
|
||||
string "Backup download site"
|
||||
default "http://sources.buildroot.net/"
|
||||
default "http://sources.buildroot.net"
|
||||
help
|
||||
Backup site to download from. If this option is set then buildroot
|
||||
will fall back to download package sources from here if the
|
||||
@@ -186,7 +181,7 @@ config BR2_BACKUP_SITE
|
||||
|
||||
config BR2_KERNEL_MIRROR
|
||||
string "Kernel.org mirror"
|
||||
default "http://www.kernel.org/pub/"
|
||||
default "http://www.kernel.org/pub"
|
||||
help
|
||||
kernel.org is mirrored on a number of servers around the world.
|
||||
The following allows you to select your preferred mirror.
|
||||
@@ -230,17 +225,6 @@ config BR2_LUAROCKS_MIRROR
|
||||
|
||||
See http://luarocks.org
|
||||
|
||||
config BR2_CPAN_MIRROR
|
||||
string "CPAN mirror (Perl packages)"
|
||||
default "http://search.cpan.org/CPAN"
|
||||
help
|
||||
CPAN (Comprehensive Perl Archive Network) is a repository
|
||||
of Perl packages. It has multiple software mirrors scattered
|
||||
around the world. This option allows you to select a mirror.
|
||||
|
||||
The list of mirrors is available at:
|
||||
http://search.cpan.org/mirror
|
||||
|
||||
endmenu
|
||||
|
||||
config BR2_JLEVEL
|
||||
@@ -486,7 +470,7 @@ config BR2_PREFER_STATIC_LIB
|
||||
|
||||
config BR2_PACKAGE_OVERRIDE_FILE
|
||||
string "location of a package override file"
|
||||
default "$(CONFIG_DIR)/local.mk"
|
||||
default "$(TOPDIR)/local.mk"
|
||||
help
|
||||
A package override file is a short makefile that contains
|
||||
variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
|
||||
|
||||
@@ -98,73 +98,6 @@ comment "build, or run, in unpredictable ways. "
|
||||
comment "----------------------------------------------------"
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2014.05"
|
||||
|
||||
config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
|
||||
bool "/dev management by udev removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The 'udev' package has been converted to a virtual package.
|
||||
The providers for this feature are: 'eudev', 'systemd'.
|
||||
|
||||
Therefore, if you are not using 'systemd' as init system, you
|
||||
must choose 'Dynamic using eudev' in the '/dev management'
|
||||
menu to get the same behaviour as in your old configuration.
|
||||
|
||||
If you are using 'systemd', its internal implementation of
|
||||
'udev' will be used automatically.
|
||||
|
||||
You must also check the packages depending on 'udev' are still
|
||||
selected.
|
||||
|
||||
config BR2_PACKAGE_UDEV
|
||||
bool "udev is now a virtual package"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_HAS_UDEV
|
||||
help
|
||||
The 'udev' package has been converted to a virtual package.
|
||||
The providers for this feature are: 'eudev', 'systemd'.
|
||||
|
||||
Your old configuration refers to packages depending on 'udev',
|
||||
either for build or at runtime.
|
||||
|
||||
Check that a 'udev' provider is selected. If you are not using
|
||||
'systemd' as init system, 'eudev' should be selected, which is
|
||||
the case if '/dev management' is set to 'Dynamic using eudev'.
|
||||
|
||||
If you are using 'systemd', its internal implementation of 'udev'
|
||||
is used.
|
||||
|
||||
config BR2_PACKAGE_UDEV_RULES_GEN
|
||||
bool "udev rules generation handled by provider"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_EUDEV if !BR2_INIT_SYSTEMD
|
||||
select BR2_PACKAGE_EUDEV_RULES_GEN if !BR2_INIT_SYSTEMD
|
||||
help
|
||||
The 'udev' package has been converted to a virtual package.
|
||||
The providers for this feature are: 'eudev', 'systemd'.
|
||||
|
||||
If you are not using 'systemd' as init system, udev rules
|
||||
generation will be handled by 'eudev'. Check that
|
||||
'/dev management' is set to 'Dynamic using eudev' to get
|
||||
the same behaviour as in your old configuration.
|
||||
|
||||
If you are using 'systemd', it internal implementation of 'udev'
|
||||
will generate the rules.
|
||||
|
||||
config BR2_PACKAGE_UDEV_ALL_EXTRAS
|
||||
bool "udev extras removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The 'udev' package has been converted to a virtual package.
|
||||
The providers for this feature are: 'eudev', 'systemd'.
|
||||
|
||||
The option to enable the extra features of 'udev' (gudev, ...)
|
||||
has been removed. These features are automatically enabled in
|
||||
the 'udev' providers if the dependencies are selected. For
|
||||
example, selecting 'libglib2' will trigger the build of gudev.
|
||||
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2014.02"
|
||||
|
||||
|
||||
64
Makefile
64
Makefile
@@ -2,6 +2,7 @@
|
||||
#
|
||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||
# Copyright (C) 2006-2014 by the Buildroot developers <buildroot@uclibc.org>
|
||||
# Copyright (C) 2014 by the Buildroot developers <buildroot@buildroot.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -24,7 +25,7 @@
|
||||
#--------------------------------------------------------------
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION:=2014.05-git
|
||||
export BR2_VERSION:=2014.02
|
||||
|
||||
# Check for minimal make version (note: this check will break at make 10.x)
|
||||
MIN_MAKE_VERSION=3.81
|
||||
@@ -42,20 +43,7 @@ export HOSTARCH := $(shell uname -m | \
|
||||
-e s/macppc/powerpc/\
|
||||
-e s/sh.*/sh/)
|
||||
|
||||
# Parallel execution of this Makefile is disabled because it changes
|
||||
# the packages building order, that can be a problem for two reasons:
|
||||
# - If a package has an unspecified optional dependency and that
|
||||
# dependency is present when the package is built, it is used,
|
||||
# otherwise it isn't (but compilation happily proceeds) so the end
|
||||
# result will differ if the order is swapped due to parallel
|
||||
# building.
|
||||
# - Also changing the building order can be a problem if two packages
|
||||
# manipulate the same file in the target directory.
|
||||
#
|
||||
# Taking into account the above considerations, if you still want to execute
|
||||
# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and
|
||||
# build using the following command:
|
||||
# make BR2_JLEVEL= -j$((`getconf _NPROCESSORS_ONLN`+1))
|
||||
# This top-level Makefile can *not* be executed in parallel
|
||||
.NOTPARALLEL:
|
||||
|
||||
# absolute path
|
||||
@@ -131,6 +119,11 @@ ifeq ($(BR2_EXTERNAL),)
|
||||
override BR2_EXTERNAL = support/dummy-external
|
||||
$(shell rm -f $(BR2_EXTERNAL_FILE))
|
||||
else
|
||||
_BR2_EXTERNAL = $(shell cd $(BR2_EXTERNAL) >/dev/null 2>&1 && pwd)
|
||||
ifeq ($(_BR2_EXTERNAL),)
|
||||
$(error BR2_EXTERNAL='$(BR2_EXTERNAL)' does not exist, relative to $(TOPDIR))
|
||||
endif
|
||||
override BR2_EXTERNAL := $(_BR2_EXTERNAL)
|
||||
$(shell echo BR2_EXTERNAL ?= $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE))
|
||||
endif
|
||||
|
||||
@@ -143,7 +136,7 @@ endif
|
||||
|
||||
# Need that early, before we scan packages
|
||||
# Avoids doing the $(or...) everytime
|
||||
BR2_GRAPH_OUT := $(or $(GRAPH_OUT),pdf)
|
||||
_BR2_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf)
|
||||
|
||||
BUILD_DIR:=$(BASE_DIR)/build
|
||||
STAMP_DIR:=$(BASE_DIR)/stamps
|
||||
@@ -390,6 +383,8 @@ include system/system.mk
|
||||
|
||||
include $(BR2_EXTERNAL)/external.mk
|
||||
|
||||
TARGETS+=target-finalize
|
||||
|
||||
ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)
|
||||
TARGETS+=target-purgelocales
|
||||
endif
|
||||
@@ -406,8 +401,11 @@ endif
|
||||
|
||||
include fs/common.mk
|
||||
|
||||
TARGETS+=target-post-image
|
||||
|
||||
TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS) $(BASE_TARGETS))
|
||||
TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS))
|
||||
TARGETS_ALL:=$(patsubst %,__real_tgt_%,$(TARGETS))
|
||||
|
||||
# host-* dependencies have to be handled specially, as those aren't
|
||||
# visible in Kconfig and hence not added to a variable like TARGETS.
|
||||
@@ -430,6 +428,9 @@ HOST_SOURCE += $(addsuffix -source,$(sort $(TARGETS_HOST_DEPS) $(HOST_DEPS)))
|
||||
TARGETS_LEGAL_INFO:=$(patsubst %,%-legal-info,\
|
||||
$(TARGETS) $(BASE_TARGETS) $(TARGETS_HOST_DEPS) $(HOST_DEPS))))
|
||||
|
||||
# all targets depend on the crosscompiler and it's prerequisites
|
||||
$(TARGETS_ALL): __real_tgt_%: $(BASE_TARGETS) %
|
||||
|
||||
dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR)
|
||||
|
||||
@@ -438,16 +439,11 @@ $(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG)
|
||||
|
||||
prepare: $(BUILD_DIR)/buildroot-config/auto.conf
|
||||
|
||||
# Add base dependencies to all targets even on those not based on the
|
||||
# package framework.
|
||||
$(TARGETS): dirs prepare dependencies
|
||||
|
||||
world: target-post-image
|
||||
world: $(BASE_TARGETS) $(TARGETS_ALL)
|
||||
|
||||
.PHONY: all world toolchain dirs clean distclean source outputmakefile \
|
||||
legal-info legal-info-prepare legal-info-clean printvars \
|
||||
target-finalize target-post-image \
|
||||
$(BASE_TARGETS) $(TARGETS) $(TARGETS_ROOTFS) \
|
||||
$(BASE_TARGETS) $(TARGETS) $(TARGETS_ALL) \
|
||||
$(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO) \
|
||||
$(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR)
|
||||
@@ -507,9 +503,7 @@ endif
|
||||
STRIP_FIND_CMD += -type f \( -perm /111 -o -name '*.so*' \)
|
||||
STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print
|
||||
|
||||
$(TARGETS_ROOTFS): target-finalize
|
||||
|
||||
target-finalize: $(TARGETS)
|
||||
target-finalize:
|
||||
rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \
|
||||
$(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/pkgconfig \
|
||||
$(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake
|
||||
@@ -524,10 +518,10 @@ endif
|
||||
rm -rf $(TARGET_DIR)/usr/doc $(TARGET_DIR)/usr/share/doc
|
||||
rm -rf $(TARGET_DIR)/usr/share/gtk-doc
|
||||
-rmdir $(TARGET_DIR)/usr/share 2>/dev/null
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_PY_ONLY)$(BR2_PACKAGE_PYTHON3_PY_ONLY),y)
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_PY_ONLY),y)
|
||||
find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -print0 | xargs -0 rm -f
|
||||
endif
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY)$(BR2_PACKAGE_PYTHON3_PYC_ONLY),y)
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
|
||||
find $(TARGET_DIR)/usr/lib/ -name '*.py' -print0 | xargs -0 rm -f
|
||||
endif
|
||||
rm -rf $(TARGET_DIR)/usr/lib/luarocks
|
||||
@@ -614,7 +608,7 @@ target-generatelocales: host-localedef
|
||||
done
|
||||
endif
|
||||
|
||||
target-post-image: $(TARGETS_ROOTFS)
|
||||
target-post-image:
|
||||
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
|
||||
$(call MESSAGE,"Executing post-image script $(s)"); \
|
||||
$(USER_HOOKS_EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
|
||||
@@ -651,24 +645,24 @@ legal-info: dirs legal-info-clean legal-info-prepare $(TARGETS_LEGAL_INFO) \
|
||||
@rm -f $(LEGAL_WARNINGS)
|
||||
|
||||
show-targets:
|
||||
@echo $(TARGETS) $(TARGETS_ROOTFS)
|
||||
@echo $(TARGETS)
|
||||
|
||||
graph-build: $(O)/build/build-time.log
|
||||
@install -d $(O)/graphs
|
||||
$(foreach o,name build duration,./support/scripts/graph-build-time \
|
||||
--type=histogram --order=$(o) --input=$(<) \
|
||||
--output=$(O)/graphs/build.hist-$(o).$(BR2_GRAPH_OUT) \
|
||||
$(if $(GRAPH_ALT),--alternate-colors)$(sep))
|
||||
--output=$(O)/graphs/build.hist-$(o).$(_BR2_GRAPH_OUT) \
|
||||
$(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep))
|
||||
$(foreach t,packages steps,./support/scripts/graph-build-time \
|
||||
--type=pie-$(t) --input=$(<) \
|
||||
--output=$(O)/graphs/build.pie-$(t).$(BR2_GRAPH_OUT) \
|
||||
$(if $(GRAPH_ALT),--alternate-colors)$(sep))
|
||||
--output=$(O)/graphs/build.pie-$(t).$(_BR2_GRAPH_OUT) \
|
||||
$(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep))
|
||||
|
||||
graph-depends:
|
||||
@$(INSTALL) -d $(O)/graphs
|
||||
@cd "$(CONFIG_DIR)"; \
|
||||
$(TOPDIR)/support/scripts/graph-depends \
|
||||
|dot -T$(BR2_GRAPH_OUT) -o $(O)/graphs/$(@).$(BR2_GRAPH_OUT)
|
||||
|dot -T$(_BR2_GRAPH_OUT) -o $(O)/graphs/$(@).$(_BR2_GRAPH_OUT)
|
||||
|
||||
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /bzImage root=/dev/mmcblk0p2 rootwait console=ttyPCH0,115200
|
||||
}
|
||||
@@ -1,172 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||
CONFIG_RCU_FANOUT=32
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_CGROUP_DEBUG=y
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CGROUP_DEVICE=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_RESOURCE_COUNTERS=y
|
||||
CONFIG_MEMCG=y
|
||||
CONFIG_MEMCG_SWAP=y
|
||||
CONFIG_MEMCG_KMEM=y
|
||||
CONFIG_CGROUP_SCHED=y
|
||||
CONFIG_RT_GROUP_SCHED=y
|
||||
CONFIG_BLK_CGROUP=y
|
||||
CONFIG_NAMESPACES=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_MATOM=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
|
||||
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
|
||||
# CONFIG_MTRR_SANITIZER is not set
|
||||
CONFIG_EFI=y
|
||||
CONFIG_EFI_STUB=y
|
||||
CONFIG_HZ_1000=y
|
||||
CONFIG_PM_RUNTIME=y
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_PM_ADVANCED_DEBUG=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
CONFIG_X86_ACPI_CPUFREQ=y
|
||||
CONFIG_INTEL_IDLE=y
|
||||
CONFIG_PCI_MMCONFIG=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_SUB_POLICY=y
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_FW_LOADER=m
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_CRYPTOLOOP=m
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_PCH_PHUB=m
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_AHCI=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=m
|
||||
CONFIG_NETCONSOLE=y
|
||||
CONFIG_TUN=m
|
||||
CONFIG_PCH_GBE=m
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO_POLLED=y
|
||||
# CONFIG_MOUSE_PS2 is not set
|
||||
# CONFIG_SERIO_I8042 is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_PCH_UART=y
|
||||
CONFIG_SERIAL_PCH_UART_CONSOLE=y
|
||||
CONFIG_GEN_RTC=y
|
||||
CONFIG_GEN_RTC_X=y
|
||||
CONFIG_HPET=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=m
|
||||
CONFIG_I2C_EG20T=m
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_GPIO=m
|
||||
CONFIG_SPI_TOPCLIFF_PCH=m
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_DEBUG_GPIO=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
CONFIG_GPIO_SCH=y
|
||||
CONFIG_GPIO_PCH=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_SOFT_WATCHDOG=m
|
||||
CONFIG_AGP=m
|
||||
CONFIG_DRM=m
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_EFI=y
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||
CONFIG_SOUND=m
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_HDA_INTEL=m
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_SUSPEND=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_GADGET=m
|
||||
CONFIG_USB_EG20T=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PCI=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_PCH_DMA=y
|
||||
CONFIG_MINNOWBOARD=y
|
||||
CONFIG_MINNOWBOARD_GPIO=m
|
||||
CONFIG_MINNOWBOARD_KEYS=m
|
||||
CONFIG_EFI_VARS=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_EXT4_FS_POSIX_ACL=y
|
||||
CONFIG_EXT4_FS_SECURITY=y
|
||||
CONFIG_FANOTIFY=y
|
||||
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
|
||||
CONFIG_ISO9660_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_CONFIGFS_FS=m
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_FRAME_WARN=1024
|
||||
CONFIG_TIMER_STATS=y
|
||||
CONFIG_LATENCYTOP=y
|
||||
CONFIG_BLK_DEV_IO_TRACE=y
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
cp board/minnowboard/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
|
||||
@@ -1,40 +0,0 @@
|
||||
Prepare the SD card for the Minnow Board
|
||||
========================================
|
||||
|
||||
1. Partition the SD card with a GPT partition table
|
||||
|
||||
sudo cgdisk /dev/mmcblk0
|
||||
|
||||
Create two partitions:
|
||||
|
||||
a) First partition of a few dozens of megabytes, which will be
|
||||
used to store the bootloader and the kernel image. Type must
|
||||
be EF00 (EFI partition).
|
||||
|
||||
b) Second partition of any size, which will be used to store the
|
||||
root filesystem. Type must be 8300 (Linux filesystem)
|
||||
|
||||
2. Prepare the boot partition
|
||||
|
||||
We will format it, mount it, copy the EFI data generated by
|
||||
Buildroot, and the kernel image.
|
||||
|
||||
sudo mkfs.vfat -F 32 -n boot /dev/mmcblk0p1
|
||||
sudo mount /dev/mmcblk0p1 /mnt
|
||||
sudo cp -a output/images/efi-part/* /mnt/
|
||||
sudo cp output/images/bzImage /mnt/
|
||||
sudo umount /mnt
|
||||
|
||||
3. Prepare the root partition
|
||||
|
||||
We will format it, mount it, and extract the root filesystem.
|
||||
|
||||
sudo mkfs.ext3 -L root /dev/mmcblk0p2
|
||||
sudo mount /dev/mmcblk0p2 /mnt
|
||||
sudo tar -C /mnt -xf output/images/rootfs.tar
|
||||
sudo umount /mnt
|
||||
|
||||
4. Enjoy
|
||||
|
||||
Additional informations about this board can be found at
|
||||
http://www.minnowboard.org/.
|
||||
@@ -6,8 +6,6 @@ source "boot/at91dataflashboot/Config.in"
|
||||
source "boot/barebox/Config.in"
|
||||
source "boot/boot-wrapper-aarch64/Config.in"
|
||||
source "boot/grub/Config.in"
|
||||
source "boot/grub2/Config.in"
|
||||
source "boot/gummiboot/Config.in"
|
||||
source "boot/lpc32xxcdl/Config.in"
|
||||
source "boot/mxs-bootlets/Config.in"
|
||||
source "boot/syslinux/Config.in"
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
config BR2_TARGET_GRUB2
|
||||
bool "grub2"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
help
|
||||
GNU GRUB is a Multiboot boot loader. It was derived from
|
||||
GRUB, the GRand Unified Bootloader, which was originally
|
||||
designed and implemented by Erich Stefan Boleyn. GRUB 2 has
|
||||
replaced what was formerly known as GRUB (i.e. version
|
||||
0.9x), which has, in turn, become GRUB Legacy.
|
||||
|
||||
Amongst others, GRUB2 offers EFI support, which GRUB Legacy
|
||||
doesn't provide.
|
||||
|
||||
Notes on using Grub2 for BIOS-based platforms
|
||||
=============================================
|
||||
|
||||
1. Create a disk image
|
||||
dd if=/dev/zero of=disk.img bs=1M count=32
|
||||
2. Partition it (either legacy or GPT style partitions work)
|
||||
cfdisk disk.img
|
||||
- Create one partition, type Linux, for the root
|
||||
filesystem. The only constraint is to make sure there
|
||||
is enough free space *before* the first partition to
|
||||
store Grub2. Leaving 1 MB of free space is safe.
|
||||
3. Setup loop device and loop partitions
|
||||
sudo losetup -f disk.img
|
||||
sudo partx -a disk.img
|
||||
4. Prepare the root partition
|
||||
sudo mkfs.ext3 -L root /dev/loop0p1
|
||||
sudo mount /dev/loop0p1 /mnt
|
||||
sudo tar -C /mnt -xf output/images/rootfs.tar
|
||||
sudo umount /mnt
|
||||
5. Install Grub2
|
||||
./output/host/usr/sbin/grub-bios-setup \
|
||||
-b ./output/host/usr/lib/grub/i386-pc/boot.img \
|
||||
-c ./output/images/grub.img -d . /dev/loop0
|
||||
6. Your disk.img is ready!
|
||||
|
||||
To test your BIOS image in Qemu:
|
||||
|
||||
qemu-system-{i386,x86-64} -hda disk.img
|
||||
|
||||
Notes on using Grub2 for EFI-based platforms
|
||||
============================================
|
||||
|
||||
1. Create a disk image
|
||||
dd if=/dev/zero of=disk.img bs=1M count=32
|
||||
2. Partition it with GPT partitions
|
||||
cgdisk disk.img
|
||||
- Create a first partition, type EF00, for the
|
||||
bootloader and kernel image
|
||||
- Create a second partition, type 8300, for the root
|
||||
filesystem.
|
||||
3. Setup loop device and loop partitions
|
||||
sudo losetup -f disk.img
|
||||
sudo partx -a /dev/loop0
|
||||
4. Prepare the boot partition
|
||||
sudo mkfs.vfat -n boot /dev/loop0p1
|
||||
sudo mount /dev/loop0p1 /mnt
|
||||
sudo cp -a output/images/efi-part/* /mnt/
|
||||
sudo cp output/images/bzImage /mnt/
|
||||
sudo umount /mnt
|
||||
5. Prepare the root partition
|
||||
sudo mkfs.ext3 -L root /dev/loop0p2
|
||||
sudo mount /dev/loop0p2 /mnt
|
||||
sudo tar -C /mnt -xf output/images/rootfs.tar
|
||||
sudo umount /mnt
|
||||
6 Cleanup loop device
|
||||
sudo partx -d /dev/loop0
|
||||
sudo losetup -d /dev/loop0
|
||||
7. Your disk.img is ready!
|
||||
|
||||
To test your EFI image in Qemu:
|
||||
|
||||
1. Download the EFI BIOS for Qemu
|
||||
Version IA32 or X64 depending on the chosen Grub2
|
||||
platform (i386-efi vs. x86-64-efi)
|
||||
http://sourceforge.net/projects/edk2/files/OVMF/
|
||||
2. Extract, and rename OVMF.fd to bios.bin and
|
||||
CirrusLogic5446.rom to vgabios-cirrus.bin.
|
||||
3. qemu-system-{i386,x86-64} -L ovmf-dir/ -hda disk.img
|
||||
4. Make sure to pass pci=nocrs to the kernel command line,
|
||||
to workaround a bug in the EFI BIOS regarding the
|
||||
EFI framebuffer.
|
||||
|
||||
http://www.gnu.org/software/grub/
|
||||
|
||||
if BR2_TARGET_GRUB2
|
||||
|
||||
choice
|
||||
prompt "Platform"
|
||||
|
||||
config BR2_TARGET_GRUB2_I386_PC
|
||||
bool "i386-pc"
|
||||
help
|
||||
Select this option if the platform you're targetting is a
|
||||
x86 or x86-64 legacy BIOS based platform.
|
||||
|
||||
config BR2_TARGET_GRUB2_I386_EFI
|
||||
bool "i386-efi"
|
||||
help
|
||||
Select this option if the platform you're targetting has a
|
||||
32 bits EFI BIOS. Note that some x86-64 platforms use a 32
|
||||
bits EFI BIOS, and this option should be used in this case.
|
||||
|
||||
config BR2_TARGET_GRUB2_X86_64_EFI
|
||||
bool "x86-64-efi"
|
||||
help
|
||||
Select this option if the platform you're targetting has a
|
||||
64 bits EFI BIOS.
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_GRUB2_BUILTIN_MODULES
|
||||
string "builtin modules"
|
||||
default "boot linux ext2 fat part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC
|
||||
default "boot linux ext2 fat part_msdos part_gpt normal efi_gop" \
|
||||
if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI
|
||||
|
||||
endif # BR2_TARGET_GRUB2
|
||||
@@ -1,6 +0,0 @@
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /bzImage root=/dev/sda1 console=tty1
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
Index: grub-1.99/grub-core/gnulib/stdio.in.h
|
||||
===================================================================
|
||||
--- grub-1.99.orig/grub-core/gnulib/stdio.in.h 2010-12-01 06:45:43.000000000 -0800
|
||||
+++ grub-1.99/grub-core/gnulib/stdio.in.h 2012-07-04 12:25:02.057099107 -0700
|
||||
@@ -140,8 +140,10 @@
|
||||
/* It is very rare that the developer ever has full control of stdin,
|
||||
so any use of gets warrants an unconditional warning. Assume it is
|
||||
always declared, since it is required by C89. */
|
||||
+#if defined gets
|
||||
#undef gets
|
||||
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
|
||||
+#endif
|
||||
|
||||
#if @GNULIB_FOPEN@
|
||||
# if @REPLACE_FOPEN@
|
||||
@@ -1,88 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# grub2
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GRUB2_VERSION = 2.00
|
||||
GRUB2_SITE = $(BR2_GNU_MIRROR)/grub/
|
||||
GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz
|
||||
GRUB2_LICENSE = GPLv3+
|
||||
GRUB2_LICENSE_FILES = COPYING
|
||||
GRUB2_DEPENDENCIES = host-bison host-flex
|
||||
|
||||
ifeq ($(BR2_TARGET_GRUB2_I386_PC),y)
|
||||
GRUB2_IMAGE = $(BINARIES_DIR)/grub.img
|
||||
GRUB2_CFG = $(TARGET_DIR)/boot/grub/grub.cfg
|
||||
GRUB2_TUPLE = i386-pc
|
||||
GRUB2_TARGET = i386
|
||||
GRUB2_PLATFORM = pc
|
||||
else ifeq ($(BR2_TARGET_GRUB2_I386_EFI),y)
|
||||
GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootia32.efi
|
||||
GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg
|
||||
GRUB2_PREFIX = /EFI/BOOT
|
||||
GRUB2_TUPLE = i386-efi
|
||||
GRUB2_TARGET = i386
|
||||
GRUB2_PLATFORM = efi
|
||||
else ifeq ($(BR2_TARGET_GRUB2_X86_64_EFI),y)
|
||||
GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi
|
||||
GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg
|
||||
GRUB2_PREFIX = /EFI/BOOT
|
||||
GRUB2_TUPLE = x86_64-efi
|
||||
GRUB2_TARGET = x86_64
|
||||
GRUB2_PLATFORM = efi
|
||||
endif
|
||||
|
||||
GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES))
|
||||
|
||||
# Grub2 is kind of special: it considers CC, LD and so on to be the
|
||||
# tools to build the native tools (i.e to be executed on the build
|
||||
# machine), and uses TARGET_CC, TARGET_CFLAGS, TARGET_CPPFLAGS to
|
||||
# build the bootloader itself.
|
||||
|
||||
GRUB2_CONF_ENV = \
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
CPP="$(HOSTCC) -E" \
|
||||
TARGET_CC="$(TARGET_CC)" \
|
||||
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
|
||||
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)"
|
||||
|
||||
GRUB2_CONF_OPT = \
|
||||
--target=$(GRUB2_TARGET) \
|
||||
--with-platform=$(GRUB2_PLATFORM) \
|
||||
--disable-grub-mkfont \
|
||||
--enable-efiemu=no \
|
||||
--enable-liblzma=no \
|
||||
--enable-device-mapper=no \
|
||||
--enable-libzfs=no \
|
||||
--disable-werror
|
||||
|
||||
# We don't want all the native tools and Grub2 modules to be installed
|
||||
# in the target. So we in fact install everything into the host
|
||||
# directory, and the image generation process (below) will use the
|
||||
# grub-mkimage tool and Grub2 modules from the host directory.
|
||||
|
||||
GRUB2_INSTALL_TARGET_OPT = DESTDIR=$(HOST_DIR) install
|
||||
|
||||
define GRUB2_IMAGE_INSTALLATION
|
||||
mkdir -p $(dir $(GRUB2_IMAGE))
|
||||
$(HOST_DIR)/usr/bin/grub-mkimage \
|
||||
-d $(HOST_DIR)/usr/lib/grub/$(GRUB2_TUPLE) \
|
||||
-O $(GRUB2_TUPLE) \
|
||||
-o $(GRUB2_IMAGE) \
|
||||
$(if $(GRUB2_PREFIX),-p $(GRUB2_PREFIX)) \
|
||||
$(GRUB2_BUILTIN_MODULES)
|
||||
mkdir -p $(dir $(GRUB2_CFG))
|
||||
$(INSTALL) -D -m 0644 boot/grub2/grub.cfg $(GRUB2_CFG)
|
||||
endef
|
||||
GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_IMAGE_INSTALLATION
|
||||
|
||||
ifeq ($(GRUB2_PLATFORM),efi)
|
||||
define GRUB2_EFI_STARTUP_NSH
|
||||
echo $(notdir $(GRUB2_IMAGE)) > \
|
||||
$(BINARIES_DIR)/efi-part/startup.nsh
|
||||
endef
|
||||
GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_EFI_STARTUP_NSH
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
@@ -1,28 +0,0 @@
|
||||
config BR2_TARGET_GUMMIBOOT
|
||||
bool "gummiboot"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
select BR2_PACKAGE_GNU_EFI
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
|
||||
depends on BR2_LARGEFILE # util-linux
|
||||
depends on BR2_USE_WCHAR # util-linux
|
||||
help
|
||||
gummiboot is a simple UEFI boot manager which executes
|
||||
configured EFI images. The default entry is selected by a
|
||||
configured pattern (glob) or an on-screen menu.
|
||||
|
||||
gummiboot operates on the EFI System Partition (ESP)
|
||||
only. Configuration file fragments, kernels, initrds, other
|
||||
EFI images need to reside on the ESP. Linux kernels need to
|
||||
be built with CONFIG_EFI_STUB to be able to be directly
|
||||
executed as an EFI image.
|
||||
|
||||
See the Grub2 help text for details on preparing an EFI
|
||||
capable disk image using Gummiboot: the instructions are
|
||||
exactly the same, except that the Gummiboot configuration
|
||||
files will be located in /loader/ inside the EFI partition.
|
||||
|
||||
http://freedesktop.org/wiki/Software/gummiboot/
|
||||
|
||||
comment "gummiboot needs a toolchain w/ largefile, wchar"
|
||||
depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
|
||||
@@ -1,4 +0,0 @@
|
||||
title Buildroot
|
||||
version 1
|
||||
linux /bzImage
|
||||
options console=ttyS0 root=/dev/sda2
|
||||
@@ -1,42 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# gummiboot
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GUMMIBOOT_SITE = git://anongit.freedesktop.org/gummiboot
|
||||
GUMMIBOOT_VERSION = 43
|
||||
GUMMIBOOT_LICENSE = LGPLv2.1+
|
||||
GUMMIBOOT_LICENSE_FILES = LICENSE
|
||||
|
||||
# The git archive does not have the autoconf/automake stuff generated.
|
||||
GUMMIBOOT_AUTORECONF = YES
|
||||
GUMMIBOOT_DEPENDENCIES = gnu-efi host-pkgconf util-linux
|
||||
GUMMIBOOT_INSTALL_TARGET = NO
|
||||
GUMMIBOOT_INSTALL_IMAGES = YES
|
||||
|
||||
ifeq ($(BR2_i386),y)
|
||||
GUMMIBOOT_IMGARCH = ia32
|
||||
else ifeq ($(BR2_x86_64),y)
|
||||
GUMMIBOOT_IMGARCH = x64
|
||||
endif
|
||||
|
||||
GUMMIBOOT_CONF_OPT = \
|
||||
--host=$(BR2_ARCH) \
|
||||
--with-efi-libdir=$(STAGING_DIR)/usr/lib \
|
||||
--with-efi-ldsdir=$(STAGING_DIR)/usr/lib \
|
||||
--with-efi-includedir=$(STAGING_DIR)/usr/include \
|
||||
--disable-manpages
|
||||
|
||||
define GUMMIBOOT_INSTALL_IMAGES_CMDS
|
||||
$(INSTALL) -D -m 0644 $(@D)/gummiboot$(GUMMIBOOT_IMGARCH).efi \
|
||||
$(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(GUMMIBOOT_IMGARCH).efi
|
||||
echo "boot$(GUMMIBOOT_IMGARCH).efi" > \
|
||||
$(BINARIES_DIR)/efi-part/startup.nsh
|
||||
$(INSTALL) -D -m 0644 boot/gummiboot/loader.conf \
|
||||
$(BINARIES_DIR)/efi-part/loader/loader.conf
|
||||
$(INSTALL) -D -m 0644 boot/gummiboot/buildroot.conf \
|
||||
$(BINARIES_DIR)/efi-part/loader/entries/buildroot.conf
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
||||
@@ -1,2 +0,0 @@
|
||||
timeout 3
|
||||
default buildroot
|
||||
@@ -36,4 +36,4 @@ BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/beaglebone/linux-3.12.config"
|
||||
BR2_LINUX_KERNEL_ZIMAGE=y
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-bone"
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-bone am335x-boneblack"
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
# Architecture
|
||||
BR2_x86_64=y
|
||||
BR2_x86_atom=y
|
||||
|
||||
# Misc
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyPCH0"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard/post-build.sh"
|
||||
|
||||
# Lock to 3.8 headers
|
||||
BR2_KERNEL_HEADERS_VERSION=y
|
||||
BR2_DEFAULT_KERNEL_VERSION="3.8"
|
||||
|
||||
# Linux kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.yoctoproject.org/linux-yocto-3.8"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="ba1587b9b62c801d161897303aa6d22809485f9b"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard/linux-3.8.config"
|
||||
|
||||
# Bootloader
|
||||
BR2_TARGET_GRUB2=y
|
||||
BR2_TARGET_GRUB2_I386_EFI=y
|
||||
@@ -56,4 +56,4 @@ $ make HOSTCC=gcc-4.3 uclibc-menuconfig
|
||||
$ make HOSTCC=gcc-4.3 busybox-menuconfig
|
||||
|
||||
Please feed suggestions, bug reports, insults, and bribes back to the
|
||||
buildroot mailing list: buildroot@uclibc.org
|
||||
buildroot mailing list: buildroot@buildroot.org
|
||||
|
||||
@@ -25,6 +25,6 @@ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
You have been warned.
|
||||
|
||||
You can contact the webmaster at <buildroot@uclibc.org> if you have some sort
|
||||
You can contact the webmaster at <buildroot@buildroot.org> if you have some sort
|
||||
of problem with this.
|
||||
|
||||
|
||||
@@ -6,27 +6,27 @@
|
||||
|
||||
<p>
|
||||
|
||||
The latest stable release is <b>2013.11</b>, which can be downloaded
|
||||
The latest stable release is <b>2014.02</b>, which can be downloaded
|
||||
here:<p>
|
||||
|
||||
<a href="/downloads/buildroot-2013.11.tar.gz">buildroot-2013.11.tar.gz</a>
|
||||
(<a href="/downloads/buildroot-2013.11.tar.gz.sign">PGP signature</a>)
|
||||
<a href="/downloads/buildroot-2014.02.tar.gz">buildroot-2014.02.tar.gz</a>
|
||||
(<a href="/downloads/buildroot-2014.02.tar.gz.sign">PGP signature</a>)
|
||||
or
|
||||
<a href="/downloads/buildroot-2013.11.tar.bz2">buildroot-2013.11.tar.bz2</a>
|
||||
(<a href="/downloads/buildroot-2013.11.tar.bz2.sign">PGP signature</a>).
|
||||
<a href="/downloads/buildroot-2014.02.tar.bz2">buildroot-2014.02.tar.bz2</a>
|
||||
(<a href="/downloads/buildroot-2014.02.tar.bz2.sign">PGP signature</a>).
|
||||
|
||||
<p>
|
||||
|
||||
The latest release candidate is <b>2014.02-rc1</b>, which can be
|
||||
<!--
|
||||
The latest release candidate is <b>2014.02-rc3</b>, which can be
|
||||
downloaded here:<p>
|
||||
|
||||
<a href="/downloads/buildroot-2014.02-rc1.tar.gz">buildroot-2014.02-rc1.tar.gz</a>
|
||||
(<a href="/downloads/buildroot-2014.02-rc1.tar.gz.sign">PGP signature</a>)
|
||||
<a href="/downloads/buildroot-2014.02-rc3.tar.gz">buildroot-2014.02-rc3.tar.gz</a>
|
||||
(<a href="/downloads/buildroot-2014.02-rc3.tar.gz.sign">PGP signature</a>)
|
||||
or
|
||||
<a href="/downloads/buildroot-2014.02-rc1.tar.bz2">buildroot-2014.02-rc1.tar.bz2</a>
|
||||
(<a href="/downloads/buildroot-2014.02-rc1.tar.bz2.sign">PGP signature</a>).
|
||||
<a href="/downloads/buildroot-2014.02-rc3.tar.bz2">buildroot-2014.02-rc3.tar.bz2</a>
|
||||
(<a href="/downloads/buildroot-2014.02-rc3.tar.bz2.sign">PGP signature</a>).
|
||||
<p>
|
||||
|
||||
-->
|
||||
This and earlier releases (and their PGP signatures) can always be downloaded from
|
||||
<a href="/downloads/">http://buildroot.net/downloads/</a>.
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<br>
|
||||
Mail all comments, insults, suggestions and bribes to
|
||||
<br>
|
||||
The Buildroot developers <A HREF="mailto:buildroot@uclibc.org">buildroot@uclibc.org</A><BR>
|
||||
The Buildroot developers <A HREF="mailto:buildroot@buildroot.org">buildroot@buildroot.org</A><BR>
|
||||
</font>
|
||||
|
||||
</body>
|
||||
|
||||
@@ -57,7 +57,9 @@
|
||||
<br><a href="http://autobuild.buildroot.org">Autobuilder</a>
|
||||
<br><a href="http://patchwork.buildroot.org">Patchwork</a>
|
||||
<br><a href="/sponsors.html">Sponsors</a>
|
||||
|
||||
<br><a href="https://plus.google.com/100084591154899263420?prsrc=3" rel="publisher" target="_top" style="text-decoration:none;">
|
||||
<img src="https://ssl.gstatic.com/images/icons/gplus-32.png" alt="Google+" style="border:0;width:32px;height:32px;"/>
|
||||
</a>
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
@@ -235,12 +235,7 @@ use in the comment.
|
||||
|
||||
* thread support
|
||||
** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS+
|
||||
** Comment string: +threads+ (unless +BR2_TOOLCHAIN_HAS_THREADS_NPTL+
|
||||
is also needed, in which case, specifying only +NPTL+ is sufficient)
|
||||
|
||||
* NPTL thread support
|
||||
** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS_NPTL+
|
||||
** Comment string: +NPTL+
|
||||
** Comment string: +threads+
|
||||
|
||||
* RPC support
|
||||
** Dependency symbol: +BR2_TOOLCHAIN_HAS_NATIVE_RPC+
|
||||
@@ -278,7 +273,8 @@ foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built
|
||||
Dependencies on udev /dev management
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
If a package needs udev /dev management, it should depend on symbol
|
||||
+BR2_PACKAGE_HAS_UDEV+, and the following comment should be added:
|
||||
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV+, and the following comment
|
||||
should be added:
|
||||
|
||||
--------------------------
|
||||
foo needs udev /dev management
|
||||
@@ -327,5 +323,16 @@ different way, using different infrastructures:
|
||||
CMake. We cover them through a xref:cmake-package-tutorial[tutorial]
|
||||
and xref:cmake-package-reference[reference].
|
||||
|
||||
* *Makefiles for Python modules*: We have a dedicated infrastructure
|
||||
for Python modules that use either the +distutils+ or the
|
||||
+setuptools+ mechanism. We cover them through a
|
||||
xref:python-package-tutorial[tutorial] and a
|
||||
xref:python-package-reference[reference].
|
||||
|
||||
* *Makefiles for Lua modules*: We have a dedicated infrastructure for
|
||||
Lua modules available through the LuaRocks web site. We cover them
|
||||
through a xref:luarocks-package-tutorial[tutorial] and a
|
||||
xref:luarocks-package-reference[reference].
|
||||
|
||||
Further formatting details: see xref:writing-rules-mk[the writing
|
||||
rules].
|
||||
|
||||
@@ -253,7 +253,7 @@ information is (assuming the package name is +libfoo+) :
|
||||
Buildroot should download from +LIBFOO_SITE+ in addition to the main
|
||||
+LIBFOO_SOURCE+ (which usually is a tarball). Buildroot will not do
|
||||
anything with those additional files, except download files: it will
|
||||
be up to the package recipe to use them from +$(DL_DIR)+.
|
||||
be up to the package recipe to use them from +$(BR2_DL_DIR)+.
|
||||
|
||||
* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the
|
||||
package source code. In many cases, Buildroot guesses the method
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
// -*- mode:doc; -*-
|
||||
// vim: set syntax=asciidoc:
|
||||
|
||||
Infrastructure for Perl/CPAN packages
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
[[perl-package-tutorial]]
|
||||
|
||||
+perl-package+ tutorial
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
First, let's see how to write a +.mk+ file for a Perl/CPAN package,
|
||||
with an example :
|
||||
|
||||
------------------------
|
||||
01: ################################################################################
|
||||
02: #
|
||||
03: # perl-foo-bar
|
||||
04: #
|
||||
05: ################################################################################
|
||||
06:
|
||||
07: PERL_FOO_BAR_VERSION = 0.02
|
||||
08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz
|
||||
09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER/
|
||||
10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures
|
||||
11: PERL_FOO_BAR_LICENSE = Artistic or GPLv1+
|
||||
12: PERL_FOO_BAR_LICENSE_FILES = LICENSE
|
||||
13:
|
||||
14: $(eval $(perl-package))
|
||||
------------------------
|
||||
|
||||
On line 7, we declare the version of the package.
|
||||
|
||||
On line 8 and 9, we declare the name of the tarball and the location
|
||||
of the tarball on a CPAN server. Buildroot will automatically download
|
||||
the tarball from this location.
|
||||
|
||||
On line 10, we declare our dependencies, so that they are built
|
||||
before the build process of our package starts.
|
||||
|
||||
On line 11 and 12, we give licensing details about the package (its
|
||||
license on line 11, and the file containing the license text on line
|
||||
12).
|
||||
|
||||
Finally, on line 14, we invoke the +perl-package+ macro that
|
||||
generates all the Makefile rules that actually allow the package to be
|
||||
built.
|
||||
|
||||
Most of these data can be retrieved from https://metacpan.org/.
|
||||
So, this file and the Config.in can be generated by running
|
||||
the script +supports/scripts/scancpan Foo-Bar+ in the Buildroot directory
|
||||
(or in the +BR2_EXTERNAL+ directory).
|
||||
This script creates a Config.in file and foo-bar.mk file for the
|
||||
requested package, and also recursively for all dependencies specified by
|
||||
CPAN. You should still manually edit the result. In particular, the
|
||||
following things should be checked.
|
||||
|
||||
* The +PERL_FOO_BAR_LICENSE_FILES+ variable is not set, because metacpan
|
||||
doesn't have this information. Also, the name of the license file(s)
|
||||
varies between packages, and some don't even have a license file.
|
||||
* If the perl module links with a shared library that is provided by
|
||||
another (non-perl) package, this dependency is not added automatically.
|
||||
It has to be added manually to +PERL_FOO_BAR_DEPENDENCIES+.
|
||||
* The +package/Config.in+ file has to be updated manually to include the
|
||||
generated Config.in files. As a hint, the +scancpan+ script prints out
|
||||
the required +source "..."+ statements, sorted alphabetically.
|
||||
|
||||
[[perl-package-reference]]
|
||||
|
||||
+perl-package+ reference
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
As a policy, packages that provide Perl/CPAN modules should all be
|
||||
named +perl-<something>+ in Buildroot.
|
||||
|
||||
This infrastructure handles various Perl build systems :
|
||||
+ExtUtils-MakeMaker+, +Module-Build+ and +Module-Build-Tiny+.
|
||||
+Build.PL+ is always preferred when a package provides a +Makefile.PL+
|
||||
and a +Build.PL+.
|
||||
|
||||
The main macro of the Perl/CPAN package infrastructure is
|
||||
+perl-package+. It is similar to the +generic-package+ macro. The ability to
|
||||
have target and host packages is also available, with the
|
||||
+host-perl-package+ macro.
|
||||
|
||||
Just like the generic infrastructure, the Perl/CPAN infrastructure
|
||||
works by defining a number of variables before calling the
|
||||
+perl-package+ macro.
|
||||
|
||||
First, all the package metadata information variables that exist in the
|
||||
generic infrastructure also exist in the Perl/CPAN infrastructure:
|
||||
+PERL_FOO_VERSION+, +PERL_FOO_SOURCE+,
|
||||
+PERL_FOO_PATCH+, +PERL_FOO_SITE+,
|
||||
+PERL_FOO_SUBDIR+, +PERL_FOO_DEPENDENCIES+,
|
||||
+PERL_FOO_INSTALL_TARGET+.
|
||||
|
||||
Note that setting +PERL_FOO_INSTALL_STAGING+ to +YES+ has no effect
|
||||
unless a +PERL_FOO_INSTALL_STAGING_CMDS+ variable is defined. The perl
|
||||
infrastructure doesn't define these commands since Perl modules generally
|
||||
don't need to be installed to the +staging+ directory.
|
||||
|
||||
A few additional variables, specific to the Perl/CPAN infrastructure,
|
||||
can also be defined. Many of them are only useful in very specific
|
||||
cases, typical packages will therefore only use a few of them.
|
||||
|
||||
* +PERL_FOO_CONF_OPT+/+HOST_PERL_FOO_CONF_OPT+, to specify additional
|
||||
configure options to pass to the +perl Makefile.PL+ or +perl Build.PL+.
|
||||
By default, empty.
|
||||
|
||||
* +PERL_FOO_BUILD_OPT+/+HOST_PERL_FOO_BUILD_OPT+, to specify additional
|
||||
options to pass to +make pure_all+ or +perl Build build+ in the build step.
|
||||
By default, empty.
|
||||
|
||||
* +PERL_FOO_INSTALL_TARGET_OPT+, to specify additional options to
|
||||
pass to +make pure_install+ or +perl Build install+ in the install step.
|
||||
By default, empty.
|
||||
|
||||
* +HOST_PERL_FOO_INSTALL_OPT+, to specify additional options to
|
||||
pass to +make pure_install+ or +perl Build install+ in the install step.
|
||||
By default, empty.
|
||||
@@ -22,8 +22,6 @@ include::adding-packages-python.txt[]
|
||||
|
||||
include::adding-packages-luarocks.txt[]
|
||||
|
||||
include::adding-packages-perl.txt[]
|
||||
|
||||
include::adding-packages-hooks.txt[]
|
||||
|
||||
include::adding-packages-gettext.txt[]
|
||||
|
||||
@@ -11,3 +11,5 @@ include::ccache-support.txt[]
|
||||
include::download-location.txt[]
|
||||
|
||||
include::package-make-target.txt[]
|
||||
|
||||
include::using-buildroot-development.txt[]
|
||||
|
||||
@@ -40,7 +40,13 @@ Or:
|
||||
$ cd /tmp/build; make O=$PWD -C path/to/buildroot
|
||||
--------------------
|
||||
|
||||
All the output files will be located under +/tmp/build+.
|
||||
All the output files will be located under +/tmp/build+. If the +O+
|
||||
path does not exist, Buildroot will create it.
|
||||
|
||||
*Note:* the +O+ path can be either an absolute or a relative path, but if it's
|
||||
passed as a relative path, it is important to note that it is interpreted
|
||||
relative to the main Buildroot source directory, *not* the current working
|
||||
directory.
|
||||
|
||||
When using out-of-tree builds, the Buildroot +.config+ and temporary
|
||||
files are also stored in the output directory. This means that you can
|
||||
@@ -48,8 +54,8 @@ 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=..+
|
||||
and +-C ..+, simply run (in the output directory):
|
||||
directory - so after the first run, you no longer need to pass +O=<...>+
|
||||
and +-C <...>+, simply run (in the output directory):
|
||||
|
||||
--------------------
|
||||
$ make <target>
|
||||
@@ -86,9 +92,9 @@ to +make+ or set in the environment:
|
||||
Note that the Buildroot download directory can also be set from the
|
||||
configuration interface, so through the Buildroot +.config+ file; this
|
||||
is the recommended way of setting it.
|
||||
* +GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in
|
||||
* +BR2_GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in
|
||||
build-time graphs
|
||||
* +GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the
|
||||
* +BR2_GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the
|
||||
default), or +png+.
|
||||
|
||||
An example that uses config files located in the toplevel directory and
|
||||
@@ -143,3 +149,102 @@ of an ext2 filesystem may be corrupted; or, if you have sparse files in
|
||||
your filesystem, those parts may not be all-zeroes when read back). You
|
||||
should only use sparse files when handling files on the build machine, not
|
||||
when transferring them to an actual device that will be used on the target.
|
||||
|
||||
Graphing the dependencies between packages
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
[[graph-depends]]
|
||||
|
||||
One of Buildroot's jobs is to know the dependencies between packages,
|
||||
and make sure they are built in the right order. These dependencies
|
||||
can sometimes be quite complicated, and for a given system, it is
|
||||
often not easy to understand why such or such package was brought into
|
||||
the build by Buildroot.
|
||||
|
||||
In order to help understanding the dependencies, and therefore better
|
||||
understand what is the role of the different components in your
|
||||
embedded Linux system, Buildroot is capable of generating dependency
|
||||
graphs.
|
||||
|
||||
To generate a dependency graph of the full system you have compiled,
|
||||
simply run:
|
||||
|
||||
------------------------
|
||||
make graph-depends
|
||||
------------------------
|
||||
|
||||
You will find the generated graph in
|
||||
+output/graphs/graph-depends.pdf+.
|
||||
|
||||
If your system is quite large, the dependency graph may be too complex
|
||||
and difficult to read. It is therefore possible to generate the
|
||||
dependency graph just for a given package:
|
||||
|
||||
------------------------
|
||||
make <pkg>-graph-depends
|
||||
------------------------
|
||||
|
||||
You will find the generated graph in
|
||||
+output/graph/<pkg>-graph-depends.pdf+.
|
||||
|
||||
Note that the dependency graphs are generated using the +dot+ tool
|
||||
from the _Graphviz_ project, which you must have installed on your
|
||||
system to use this feature. In most distributions, it is available as
|
||||
the +graphviz+ package.
|
||||
|
||||
By default, the dependency graphs are generated in the PDF
|
||||
format. However, by passing the +BR2_GRAPH_OUT+ environment variable, you
|
||||
can switch to other output formats, such as PNG, PostScript or
|
||||
SVG. All formats supported by the +-T+ option of the +dot+ tool are
|
||||
supported.
|
||||
|
||||
--------------------------------
|
||||
BR2_GRAPH_OUT=svg make graph-depends
|
||||
--------------------------------
|
||||
|
||||
Graphing the build duration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
[[graph-duration]]
|
||||
|
||||
When the build of a system takes a long time, it is sometimes useful
|
||||
to be able to understand which packages are the longest to build, to
|
||||
see if anything can be done to speed up the build. In order to help
|
||||
such build time analysis, Buildroot collects the build time of each
|
||||
step of each package, and allows to generate graphs from this data.
|
||||
|
||||
To generate the build time graph after a build, run:
|
||||
|
||||
----------------
|
||||
make graph-build
|
||||
----------------
|
||||
|
||||
This will generate a set of files in +output/graphs+ :
|
||||
|
||||
* +build.hist-build.pdf+, a histogram of the build time for each
|
||||
package, ordered in the build order.
|
||||
|
||||
* +build.hist-duration.pdf+, a histogram of the build time for each
|
||||
package, ordered by duration (longest first)
|
||||
|
||||
* +build.hist-name.pdf+, a histogram of the build time for each
|
||||
package, order by package name.
|
||||
|
||||
* +build.pie-packages.pdf+, a pie chart of the build time per package
|
||||
|
||||
* +build.pie-steps.pdf+, a pie chart of the global time spent in each
|
||||
step of the packages build process.
|
||||
|
||||
This +graph-build+ target requires the Python Matplotlib and Numpy
|
||||
libraries to be installed (+python-matplotlib+ and +python-numpy+ on
|
||||
most distributions), and also the +argparse+ module if you're using a
|
||||
Python version older than 2.7 (+python-argparse+ on most
|
||||
distributions).
|
||||
|
||||
By default, the output format for the graph is PDF, but a different
|
||||
format can be selected using the +BR2_GRAPH_OUT+ environment variable. The
|
||||
only other format supported is PNG:
|
||||
|
||||
----------------
|
||||
BR2_GRAPH_OUT=png make graph-build
|
||||
----------------
|
||||
|
||||
@@ -68,12 +68,10 @@ The _internal toolchain backend_ is the backend where Buildroot builds
|
||||
by itself a cross-compilation toolchain, before building the userspace
|
||||
applications and libraries for your target embedded system.
|
||||
|
||||
This backend is the historical backend of Buildroot, and has been
|
||||
limited for a long time to the usage of the
|
||||
http://www.uclibc.org[uClibc C library]. Support for the _eglibc_ C
|
||||
library has been added in 2013 and is at this point considered
|
||||
experimental. See the _External toolchain backend_ for another
|
||||
solution to use _glibc_ or _eglibc_.
|
||||
This backend supports several C libraries:
|
||||
http://www.uclibc.org[uClibc], the
|
||||
http://www.gnu.org/software/libc/libc.html[glibc] and
|
||||
http://www.eglibc.org[eglibc].
|
||||
|
||||
Once you have selected this backend, a number of options appear. The
|
||||
most important ones allow to:
|
||||
@@ -96,18 +94,7 @@ most important ones allow to:
|
||||
the C library might be using interfaces that are not provided by
|
||||
your Linux kernel.
|
||||
|
||||
* Change the version and the configuration of the uClibc C library
|
||||
(if uClibc is selected). The default options are usually
|
||||
fine. However, if you really need to specifically customize the
|
||||
configuration of your uClibc C library, you can pass a specific
|
||||
configuration file here. Or alternatively, you can run the +make
|
||||
uclibc-menuconfig+ command to get access to uClibc's configuration
|
||||
interface. Note that all packages in Buildroot are tested against
|
||||
the default uClibc configuration bundled in Buildroot: if you
|
||||
deviate from this configuration by removing features from uClibc,
|
||||
some packages may no longer build.
|
||||
|
||||
* Change the version of the GCC compiler and binutils.
|
||||
* Change the version of the GCC compiler, binutils and the C library.
|
||||
|
||||
* Select a number of toolchain options (uClibc only): whether the
|
||||
toolchain should have largefile support (i.e support for files
|
||||
@@ -118,7 +105,12 @@ most important ones allow to:
|
||||
libraries visible in Buildroot menus will change: many applications
|
||||
and libraries require certain toolchain options to be enabled. Most
|
||||
packages show a comment when a certain toolchain option is required
|
||||
to be able to enable those packages.
|
||||
to be able to enable those packages. If needed, you can further
|
||||
refine the uClibc configuration by running +make
|
||||
uclibc-menuconfig+. Note however that all packages in Buildroot are
|
||||
tested against the default uClibc configuration bundled in
|
||||
Buildroot: if you deviate from this configuration by removing
|
||||
features from uClibc, some packages may no longer build.
|
||||
|
||||
It is worth noting that whenever one of those options is modified,
|
||||
then the entire toolchain and system must be rebuilt. See
|
||||
@@ -146,10 +138,9 @@ http://www.linaro.org[Linaro] for ARM,
|
||||
http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/[Sourcery
|
||||
CodeBench] for ARM, x86, x86-64, PowerPC, MIPS and SuperH,
|
||||
https://blackfin.uclinux.org/gf/project/toolchain[Blackfin toolchains
|
||||
from ADI], http://git.xilinx.com/[Xilinx toolchains for Microblaze],
|
||||
etc.) and is capable of downloading them automatically, or it can be
|
||||
pointed to a custom toolchain, either available for download or
|
||||
installed locally.
|
||||
from Analog Devices], etc.) and is capable of downloading them
|
||||
automatically, or it can be pointed to a custom toolchain, either
|
||||
available for download or installed locally.
|
||||
|
||||
Then, you have three solutions to use an external toolchain:
|
||||
|
||||
@@ -168,14 +159,14 @@ Then, you have three solutions to use an external toolchain:
|
||||
toolchain.
|
||||
|
||||
* Use a completely custom external toolchain. This is particularly
|
||||
useful for toolchains generated using crosstool-NG. To do this,
|
||||
select the +Custom toolchain+ solution in the +Toolchain+ list. You
|
||||
need to fill the +Toolchain path+, +Toolchain prefix+ and +External
|
||||
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 and whether it has built-in RPC support. If
|
||||
your external toolchain uses the 'uClibc'
|
||||
useful for toolchains generated using crosstool-NG or with Buildroot
|
||||
itself. To do this, select the +Custom toolchain+ solution in the
|
||||
+Toolchain+ list. You need to fill the +Toolchain path+, +Toolchain
|
||||
prefix+ and +External 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 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
|
||||
@@ -188,23 +179,13 @@ Buildroot itself. In general, all toolchains that support the
|
||||
'sysroot' feature should work. If not, do not hesitate to contact the
|
||||
developers.
|
||||
|
||||
We do not support toolchains from the
|
||||
http://www.denx.de/wiki/DULG/ELDK[ELDK] of Denx, for two reasons:
|
||||
|
||||
* The ELDK does not contain a pure toolchain (i.e just the compiler,
|
||||
binutils, the C and C++ libraries), but a toolchain that comes with
|
||||
a very large set of pre-compiled libraries and programs. Therefore,
|
||||
Buildroot cannot import the 'sysroot' of the toolchain, as it would
|
||||
contain hundreds of megabytes of pre-compiled libraries that are
|
||||
normally built by Buildroot.
|
||||
|
||||
* The ELDK toolchains have a completely non-standard custom mechanism
|
||||
to handle multiple library variants. Instead of using the standard
|
||||
GCC 'multilib' mechanism, the ARM ELDK uses different symbolic links
|
||||
to the compiler to differentiate between library variants (for ARM
|
||||
soft-float and ARM VFP), and the PowerPC ELDK compiler uses a
|
||||
+CROSS_COMPILE+ environment variable. This non-standard behaviour
|
||||
makes it difficult to support ELDK in Buildroot.
|
||||
We do not support toolchains or SDK generated by OpenEmbedded or
|
||||
Yocto, because these toolchains are not pure toolchains (i.e just the
|
||||
compiler, binutils, the C and C++ libraries). Instead these toolchains
|
||||
come with a very large set of pre-compiled libraries and
|
||||
programs. Therefore, Buildroot cannot import the 'sysroot' of the
|
||||
toolchain, as it would contain hundreds of megabytes of pre-compiled
|
||||
libraries that are normally built by Buildroot.
|
||||
|
||||
We also do not support using the distribution toolchain (i.e the
|
||||
gcc/binutils/C library installed by your distribution) as the
|
||||
@@ -216,7 +197,7 @@ x86_64 target, you have to generate a cross-compilation toolchain with
|
||||
Buildroot or crosstool-NG.
|
||||
|
||||
If you want to generate a custom toolchain for your project, that can
|
||||
be used as an external toolchain in Buildroot, our recommendation is
|
||||
be used as an external toolchain in Buildroot, our recommandation is
|
||||
definitely to build it with http://crosstool-ng.org[crosstool-NG]. We
|
||||
recommend to build the toolchain separately from Buildroot, and then
|
||||
_import_ it in Buildroot using the external toolchain backend.
|
||||
@@ -310,24 +291,22 @@ different solutions to handle the +/dev+ directory :
|
||||
about +mdev+ and the syntax of its configuration file, see
|
||||
http://git.busybox.net/busybox/tree/docs/mdev.txt.
|
||||
|
||||
* The fourth solution is *Dynamic using eudev*. This method also
|
||||
* The fourth solution is *Dynamic using udev*. This method also
|
||||
relies on the _devtmpfs_ virtual filesystem detailed above, but
|
||||
adds the +eudev+ userspace daemon on top of it. +eudev+ is a daemon
|
||||
adds the +udev+ userspace daemon on top of it. +udev+ is a daemon
|
||||
that runs in the background, and gets called by the kernel when a
|
||||
device gets added or removed from the system. It is a more
|
||||
heavyweight solution than +mdev+, but provides higher flexibility.
|
||||
+eudev+ is a standalone version of +udev+, the original userspace
|
||||
daemon used in most desktop Linux distributions, which is now part
|
||||
of Systemd. For more details, see http://en.wikipedia.org/wiki/Udev.
|
||||
heavyweight solution than +mdev+, but provides higher flexibility
|
||||
and is sometimes mandatory for some system components (systemd for
|
||||
example). +udev+ is the mechanism used in most desktop Linux
|
||||
distributions. For more details about +udev+, see
|
||||
http://en.wikipedia.org/wiki/Udev.
|
||||
|
||||
The Buildroot developers recommendation is to start with the *Dynamic
|
||||
The Buildroot developers recommandation is to start with the *Dynamic
|
||||
using devtmpfs only* solution, until you have the need for userspace
|
||||
to be notified when devices are added/removed, or if firmwares are
|
||||
needed, in which case *Dynamic using mdev* is usually a good solution.
|
||||
|
||||
Note that if +systemd+ is chosen as init system, /dev management will
|
||||
be performed by the +udev+ program provided by +systemd+.
|
||||
|
||||
init system
|
||||
~~~~~~~~~~~
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ before submitting them using your favorite text editor.
|
||||
Lastly, send/submit your patch set to the Buildroot mailing list:
|
||||
|
||||
---------------------
|
||||
$ git send-email --to buildroot@busybox.net outgoing/*
|
||||
$ git send-email --to buildroot@buildroot.org outgoing/*
|
||||
---------------------
|
||||
|
||||
Note that +git+ should be configured to use your mail account.
|
||||
|
||||
@@ -30,18 +30,18 @@ there is no need to pass +BR2_EXTERNAL+ at every +make+ invocation. It
|
||||
can however be changed at any time by passing a new value, and can be
|
||||
removed by passing an empty value.
|
||||
|
||||
The +BR2_EXTERNAL+ path can be either an absolute or a relative path,
|
||||
*Note:* the +BR2_EXTERNAL+ path can be either an absolute or a relative path,
|
||||
but if it's passed as a relative path, it is important to note that it
|
||||
is interpreted relatively to the main Buildroot source directory, not
|
||||
is interpreted relative to the main Buildroot source directory, *not*
|
||||
the Buildroot output directory.
|
||||
|
||||
Some examples:
|
||||
|
||||
-----
|
||||
buildroot/ $ make BR2_EXTERNAL=../foobar menuconfig
|
||||
buildroot/ $ make BR2_EXTERNAL=/path/to/foobar menuconfig
|
||||
-----
|
||||
|
||||
Starting from now on, external definitions from the +../foobar+
|
||||
Starting from now on, external definitions from the +/path/to/foobar+
|
||||
directory will be used:
|
||||
|
||||
-----
|
||||
@@ -52,7 +52,7 @@ directory will be used:
|
||||
We can switch to another external definitions directory at any time:
|
||||
|
||||
-----
|
||||
buildroot/ $ make BR2_EXTERNAL=../barfoo xconfig
|
||||
buildroot/ $ make BR2_EXTERNAL=/where/we/have/barfoo xconfig
|
||||
-----
|
||||
|
||||
Or disable the usage of external definitions:
|
||||
|
||||
@@ -111,3 +111,103 @@ 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.
|
||||
|
||||
[[faq-no-binary-packages]]
|
||||
Why doesn't Buildroot generate binary packages (.deb, .ipkg...)?
|
||||
----------------------------------------------------------------
|
||||
|
||||
One feature that is often discussed on the Buildroot list is the
|
||||
the general topic of "package management". To summarize, the idea
|
||||
would be to add some tracking of which Buildroot package installs
|
||||
what files, with the goals of:
|
||||
|
||||
* being able to remove files installed by a package when this package
|
||||
gets unselected from the menuconfig;
|
||||
|
||||
* being able to generate binary packages (ipk or other format) that
|
||||
can be installed on the target without re-generating a new root
|
||||
filesystem image.
|
||||
|
||||
In general, most people think it is easy to do: just track which package
|
||||
installed what and remove it when the package is unselected. However, it
|
||||
is much more complicated than that:
|
||||
|
||||
* It is not only about the +target/+ directory, but also the sysroot in
|
||||
+host/usr/<tuple>/sysroot+ and the +host/+ directory itself. All files
|
||||
installed in those directories by various packages must be tracked.
|
||||
|
||||
* When a package is unselected from the configuration, it is not
|
||||
sufficient to remove just the files it installed. One must also
|
||||
remove all its reverse dependencies (i.e packages relying on it)
|
||||
and rebuild all those packages. For example, package A depends
|
||||
optionally on the OpenSSL library. Both are selected, and Buildroot
|
||||
is built. Package A is built with crypto support using OpenSSL.
|
||||
Later on, OpenSSL gets unselected from the configuration, but
|
||||
package A remains (since OpenSSL is an optional dependency, this
|
||||
is possible.) If only OpenSSL files are removed, then the files
|
||||
installed by package A are broken: they use a library that is no
|
||||
longer present on the target. Although this is technically doable,
|
||||
it adds a lot of complexity to Buildroot, which goes against the
|
||||
simplicity we try to stick to.
|
||||
|
||||
* In addition to the previous problem, there is the case where the
|
||||
optional dependency is not even known to Buildroot. For example,
|
||||
package A in version 1.0 never used OpenSSL, but in version 2.0 it
|
||||
automatically uses OpenSSL if available. If the Buildroot .mk file
|
||||
hasn't been updated to take this into account, then package A will
|
||||
not be part of the reverse dependencies of OpenSSL and will not be
|
||||
removed and rebuilt when OpenSSL is removed. For sure, the .mk file
|
||||
of package A should be fixed to mention this optional dependency,
|
||||
but in the mean time, you can have non-reproducible behaviors.
|
||||
|
||||
* The request is to also allow changes in the menuconfig to be
|
||||
applied on the output directory without having to rebuild
|
||||
everything from scratch. However, this is very difficult to achieve
|
||||
in a reliable way: what happens when the suboptions of a package
|
||||
are changed (we would have to detect this, and rebuild the package
|
||||
from scratch and potentially all its reverse dependencies), what
|
||||
happens if toolchain options are changed, etc. At the moment, what
|
||||
Buildroot does is clear and simple so its behaviour is very
|
||||
reliable and it is easy to support users. If configuration changes
|
||||
done in menuconfig are applied after the next make, then it has to
|
||||
work correctly and properly in all situations, and not have some
|
||||
bizarre corner cases. The risk is to get bug reports like "I have
|
||||
enabled package A, B and C, then ran make, then disabled package
|
||||
C and enabled package D and ran make, then re-enabled package C
|
||||
and enabled package E and then there is a build failure". Or worse
|
||||
"I did some configuration, then built, then did some changes,
|
||||
built, some more changes, built, some more changes, built, and now
|
||||
it fails, but I don't remember all the changes I did and in which
|
||||
order". This will be impossible to support.
|
||||
|
||||
For all these reasons, the conclusion is that adding tracking of
|
||||
installed files to remove them when the package is unselected, or to
|
||||
generate a repository of binary packages, is something that is very
|
||||
hard to achieve reliably and will add a lot of complexity.
|
||||
|
||||
On this matter, the Buildroot developers make this position statement:
|
||||
|
||||
* Buildroot strives to make it easy to generate a root filesystem (hence
|
||||
the name, by the way.) That is what we want to make Buildroot good at:
|
||||
building root filesystems.
|
||||
|
||||
* Buildroot is not meant to be a distribution (or rather, a distribution
|
||||
generator.) It is the opinion of most Buildroot developers that this
|
||||
is not a goal we should pursue. We believe that there are other tools
|
||||
better suited to generate a distro than Buildroot is. For example,
|
||||
http://openembedded.org/[Open Embedded], or https://openwrt.org/[openWRT],
|
||||
are such tools.
|
||||
|
||||
* We prefer to push Buildroot in a direction that makes it easy (or even
|
||||
easier) to generate complete root filesystems. This is what makes
|
||||
Buildroot stands out in the crowd (among other things, of course!)
|
||||
|
||||
* We believe that for most embedded Linux systems, binary packages are
|
||||
not necessary, and potentially harmful. When binary packages are
|
||||
used, it means that the system can be partially upgraded, which
|
||||
creates an enormous number of possible combinations of package
|
||||
versions that should be tested before doing the upgrade on the
|
||||
embedded device. On the other hand, by doing complete system
|
||||
upgrades by upgrading the entire root filesystem image at once,
|
||||
the image deployed to the embedded system is guaranteed to really
|
||||
be the one that has been tested and validated.
|
||||
|
||||
@@ -32,10 +32,12 @@ The result of the search shows the help message of the matching items.
|
||||
Not all targets are always available,
|
||||
some settings in the +.config+ file may hide some targets:
|
||||
|
||||
* +busybox-menuconfig+ and +busybox-savedefconfig+ ony work when
|
||||
+busybox+ is enabled;
|
||||
* +linux-menuconfig+ and +linux-savedefconfig+ only work when
|
||||
+linux+ is enabled;
|
||||
* +uclibc-menuconfig+ is only available when the
|
||||
Buildroot internal toolchain backend is used;
|
||||
* +uclibc-menuconfig+ is only available when the uClibc C library is
|
||||
selected in the internal toolchain backend;
|
||||
* +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the
|
||||
+barebox+ bootloader is enabled.
|
||||
|
||||
|
||||
@@ -63,6 +63,11 @@ Additionally, there are some other useful make targets:
|
||||
| +show-depends+ | Displays the dependencies required to build the
|
||||
package
|
||||
|
||||
| +graph-depends+ | Generate a dependency graph of the package, in the
|
||||
context of the current Buildroot configuration. See
|
||||
xref:graph-depends[this section] for more details about dependency
|
||||
graphs.
|
||||
|
||||
| +dirclean+ | Remove the whole package build directory
|
||||
|
||||
| +rebuild+ | Re-run the compilation commands - this only makes
|
||||
|
||||
@@ -5,33 +5,82 @@
|
||||
Understanding when a full rebuild is necessary
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A full rebuild is achieved by running:
|
||||
Buildroot does not attempt to detect what parts of the system should
|
||||
be rebuilt when the system configuration is changed through +make
|
||||
menuconfig+, +make xconfig+ or one of the other configuration
|
||||
tools. In some cases, Buildroot should rebuild the entire system, in
|
||||
some cases, only a specific subset of packages. But detecting this in
|
||||
a completely reliable manner is very difficult, and therefore the
|
||||
Buildroot developers have decided to simply not attempt to do this.
|
||||
|
||||
Instead, it is the responsibility of the user to know when a full
|
||||
rebuild is necessary. As a hint, here are a few rules of thumb that
|
||||
can help you understand how to work with Buildroot:
|
||||
|
||||
* When the target architecture configuration is changed, a complete
|
||||
rebuild is needed. Changing the architecture variant, the binary
|
||||
format or the floating point strategy for example has an impact on
|
||||
the entire system.
|
||||
|
||||
* When the toolchain configuration is changed, a complete rebuild
|
||||
generally is needed. Changing the toolchain configuration often
|
||||
involves changing the compiler version, the type of C library or
|
||||
its configuration, or some other fundamental configuration item,
|
||||
and these changes have an impact on the entire system.
|
||||
|
||||
* When an additional package is added to the configuration, a full
|
||||
rebuild is not necessarily needed. Buildroot will detect that this
|
||||
package has never been built, and will build it. However, if this
|
||||
package is a library that can optionally be used by packages that
|
||||
have already been built, Buildroot will not automatically rebuild
|
||||
those. Either you know which packages should be rebuilt, and you
|
||||
can rebuild them manually, or you should do a full rebuild. For
|
||||
example, let's suppose you have built a system with the +ctorrent+
|
||||
package, but without +openssl+. Your system works, but you realize
|
||||
you would like to have SSL support in +ctorrent+, so you enable the
|
||||
+openssl+ package in Buildroot configuration and restart the
|
||||
build. Buildroot will detect that +openssl+ should be built and
|
||||
will be build it, but it will not detect that +ctorrent+ should be
|
||||
rebuilt to benefit from +openssl+ to add OpenSSL support. You will
|
||||
either have to do a full rebuild, or rebuild +ctorrent+ itself.
|
||||
|
||||
* When a package is removed from the configuration, Buildroot does
|
||||
not do anything special. It does not remove the files installed by
|
||||
this package from the target root filesystem or from the toolchain
|
||||
_sysroot_. A full rebuild is needed to get rid of this
|
||||
package. However, generally you don't necessarily need this package
|
||||
to be removed right now: you can wait for the next lunch break to
|
||||
restart the build from scratch.
|
||||
|
||||
* When the sub-options of a package are changed, the package is not
|
||||
automatically rebuilt. After making such changes, rebuilding only
|
||||
this package is often sufficient, unless enabling the package
|
||||
sub-option adds some features to the package that are useful for
|
||||
another package which has already been built. Again, Buildroot does
|
||||
not track when a package should be rebuilt: once a package has been
|
||||
built, it is never rebuilt unless explicitly told to do so.
|
||||
|
||||
* When a change to the root filesystem skeleton is made, a full
|
||||
rebuild is needed. However, when changes to the root filesystem
|
||||
overlay, a post-build script or a post-image script are made,
|
||||
there is no need for a full rebuild: a simple +make+ invocation
|
||||
will take the changes into account.
|
||||
|
||||
Generally speaking, when you're facing a build error and you're unsure
|
||||
of the potential consequences of the configuration changes you've
|
||||
made, do a full rebuild. If you get the same build error, then you are
|
||||
sure that the error is not related to partial rebuilds of packages,
|
||||
and if this error occurs with packages from the official Buildroot, do
|
||||
not hesitate to report the problem! As your experience with Buildroot
|
||||
progresses, you will progressively learn when a full rebuild is really
|
||||
necessary, and you will save more and more time.
|
||||
|
||||
For reference, a full rebuild is achieved by running:
|
||||
|
||||
---------------
|
||||
$ make clean all
|
||||
---------------
|
||||
|
||||
In some cases, a full rebuild is mandatory:
|
||||
|
||||
* each time the toolchain properties are changed, this includes:
|
||||
|
||||
** after changing any toolchain option under the _Toolchain_ menu (if
|
||||
the internal Buildroot backend is used);
|
||||
** after running +make uclibc-menuconfig+.
|
||||
|
||||
* after removing some libraries from the package selection.
|
||||
|
||||
In some cases, a full rebuild is recommended:
|
||||
|
||||
* after adding some libraries to the package selection (otherwise,
|
||||
packages that can be optionally linked against those libraries
|
||||
won't be rebuilt, so they won't support those new available
|
||||
features).
|
||||
|
||||
In other cases, it is up to you to decide if you should run a
|
||||
full rebuild, but you should know what is impacted and understand what
|
||||
you are doing anyway.
|
||||
|
||||
[[rebuild-pkg]]
|
||||
Understanding how to rebuild packages
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -51,26 +100,25 @@ its build directory in +output/build+. Buildroot will then re-extract,
|
||||
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, the special make targets
|
||||
<package>-reconfigure and <package>-rebuild repeat the configure
|
||||
resp. build steps.
|
||||
On the other hand, if you only want to restart the build process of a
|
||||
package from its compilation step, you can run +make
|
||||
<package>-rebuild+, followed by +make+ or +make <package>+. It will
|
||||
restart the compilation and installation of the package, but not from
|
||||
scratch: it basically re-executes +make+ and +make install+
|
||||
inside the package, so it will only rebuild files that changed.
|
||||
|
||||
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):
|
||||
If you want to restart the build process of a package from its
|
||||
configuration step, you can run +make <package>-reconfigure+, followed
|
||||
by +make+ or +make <package>+. It will restart the configuration,
|
||||
compilation and installation of the package.
|
||||
|
||||
* +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/<package>-<version>/.stamp_built+. If removed,
|
||||
Buildroot will trigger the recompilation of the package from the
|
||||
compilation step (execution of +make+).
|
||||
|
||||
Note: toolchain packages use custom makefiles. Their stamp files are named
|
||||
differently.
|
||||
Internally, Buildroot creates so-called _stamp files_ to keep track of
|
||||
which build steps have been completed for each package. They are
|
||||
stored in the package build directory,
|
||||
+output/build/<package>-<version>/+ and are named
|
||||
+.stamp_<step-name>+. The commands detailed above simply manipulate
|
||||
these stamp files to force Buildroot to restart a specific set of
|
||||
steps of a package build process.
|
||||
|
||||
Further details about package special make targets are explained in
|
||||
xref:pkg-build-steps[].
|
||||
|
||||
84
docs/manual/using-buildroot-development.txt
Normal file
84
docs/manual/using-buildroot-development.txt
Normal file
@@ -0,0 +1,84 @@
|
||||
// -*- mode:doc; -*-
|
||||
// vim: set syntax=asciidoc:
|
||||
|
||||
Using Buildroot during development
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The normal operation of Buildroot is to download a tarball, extract
|
||||
it, configure, compile and install the software component found inside
|
||||
this tarball. The source code is extracted in
|
||||
+output/build/<package>-<version>+, which is a temporary directory:
|
||||
whenever +make clean+ is used, this directory is entirely removed, and
|
||||
re-recreated at the next +make+ invocation. Even when a Git or
|
||||
Subversion repository is used as the input for the package source
|
||||
code, Buildroot creates a tarball out of it, and then behaves as it
|
||||
normally does with tarballs.
|
||||
|
||||
This behavior is well-suited when Buildroot is used mainly as an
|
||||
integration tool, to build and integrate all the components of an
|
||||
embedded Linux system. However, if one uses Buildroot during the
|
||||
development of certain components of the system, this behavior is not
|
||||
very convenient: one would instead like to make a small change to the
|
||||
source code of one package, and be able to quickly rebuild the system
|
||||
with Buildroot.
|
||||
|
||||
Making changes directly in +output/build/<package>-<version>+ is not
|
||||
an appropriate solution, because this directory is removed on +make
|
||||
clean+.
|
||||
|
||||
Therefore, Buildroot provides a specific mechanism for this use case:
|
||||
the +<pkg>_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_
|
||||
file, which allows the user to tell Buildroot the location of the
|
||||
source for certain packages. By default this _override_ file is named
|
||||
+local.mk+ and located in the top directory of the Buildroot source
|
||||
tree, but a different location can be specified through the
|
||||
+BR2_PACKAGE_OVERRIDE_FILE+ configuration option.
|
||||
|
||||
In this _override_ file, Buildroot expects to find lines of the form:
|
||||
|
||||
------------------
|
||||
<pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources
|
||||
<pkg2>_OVERRIDE_SRCDIR = /path/to/pkg2/sources
|
||||
------------------
|
||||
|
||||
For example:
|
||||
|
||||
------------------
|
||||
LINUX_OVERRIDE_SRCDIR = /home/bob/linux/
|
||||
BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/
|
||||
------------------
|
||||
|
||||
When Buildroot finds that for a given package, an
|
||||
+<pkg>_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to
|
||||
download, extract and patch the package. Instead, it will directly use
|
||||
the source code available in in the specified directory and +make
|
||||
clean+ will not touch this directory. This allows to point Buildroot
|
||||
to your own directories, that can be managed by Git, Subversion, or
|
||||
any other version control system. To achieve this, Buildroot will use
|
||||
_rsync_ to copy the source code of the component from the specified
|
||||
+<pkg>_OVERRIDE_SRCDIR+ to +output/build/<package>-custom/+.
|
||||
|
||||
This mechanism is best used in conjuction with the +make
|
||||
<pkg>-rebuild+ and +make <pkg>-reconfigure+ targets. A +make
|
||||
<pkg>-rebuild all+ sequence will _rsync_ the source code from
|
||||
+<pkg>_OVERRIDE_SRCDIR+ to +output/build/<package>-custom+ (thanks to
|
||||
_rsync_, only the modified files are copied), and restart the build
|
||||
process of just this package.
|
||||
|
||||
In the example of the +linux+ package above, the developer can then
|
||||
make a source code change in +/home/bob/linux+ and then run:
|
||||
|
||||
-----------------------
|
||||
make linux-rebuild all
|
||||
-----------------------
|
||||
|
||||
and in a matter of seconds gets the updated Linux kernel image in
|
||||
+output/images+. Similarly, a change can be made to the Busybox source
|
||||
code in +/home/bob/busybox+, and after:
|
||||
|
||||
-----------------------
|
||||
make busybox-rebuild all
|
||||
-----------------------
|
||||
|
||||
the root filesystem image in +output/images+ contains the updated
|
||||
Busybox.
|
||||
@@ -5,12 +5,47 @@
|
||||
<p>
|
||||
|
||||
<ul>
|
||||
<li><b>27 February 2014 -- 2014.02 released</b>
|
||||
|
||||
<p>The stable 2014.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=2014.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-2014.02.tar.bz2">2014.02 release</a>.</p>
|
||||
|
||||
<li><b>25 February 2014 -- 2014.02-rc3 released</b>
|
||||
|
||||
<p>Release candidate 3 is out with more cleanups and build fixes. See the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02-rc3">CHANGES</a>
|
||||
file for details.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2014.02-rc3.tar.bz2">2014.02-rc3
|
||||
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>20 February 2014 -- 2014.02-rc2 released</b>
|
||||
|
||||
<p>Another week, another release candidate with more cleanups and
|
||||
build fixes. See the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02-rc2">CHANGES</a>
|
||||
file for details.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2014.02-rc2.tar.bz2">2014.02-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>11 February 2014 -- 2014.02-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=2014.02-rc1">CHANGES</a>
|
||||
file for details.</p>
|
||||
file for details, and read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2014-February/089055.html">announcement</a>.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2014.02-rc1.tar.bz2">2014.02-rc1
|
||||
|
||||
@@ -64,7 +64,7 @@ ROOTFS_$(2)_COMPRESS_EXT = .xz
|
||||
ROOTFS_$(2)_COMPRESS_CMD = $$(XZ) -9 -C crc32 -c
|
||||
endif
|
||||
|
||||
$$(BINARIES_DIR)/rootfs.$(1): target-finalize $$(ROOTFS_$(2)_DEPENDENCIES)
|
||||
$$(BINARIES_DIR)/rootfs.$(1): $$(ROOTFS_$(2)_DEPENDENCIES)
|
||||
@$$(call MESSAGE,"Generating root filesystem image rootfs.$(1)")
|
||||
$$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),$$(call $$(hook))$$(sep))
|
||||
rm -f $$(FAKEROOT_SCRIPT)
|
||||
@@ -95,7 +95,7 @@ rootfs-$(1)-show-depends:
|
||||
rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1) $$(ROOTFS_$(2)_POST_TARGETS)
|
||||
|
||||
ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y)
|
||||
TARGETS_ROOTFS += rootfs-$(1)
|
||||
TARGETS += rootfs-$(1)
|
||||
endif
|
||||
endef
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ choice
|
||||
prompt "Kernel version"
|
||||
|
||||
config BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
bool "3.13.2"
|
||||
bool "3.13.5"
|
||||
|
||||
config BR2_LINUX_KERNEL_SAME_AS_HEADERS
|
||||
bool "Same as toolchain kernel headers"
|
||||
@@ -104,7 +104,7 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
|
||||
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "3.13.2" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "3.13.5" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
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
|
||||
|
||||
@@ -186,7 +186,7 @@ define LINUX_CONFIGURE_CMDS
|
||||
$(if $(BR2_ROOTFS_DEVICE_CREATION_STATIC),,
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config))
|
||||
$(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV),
|
||||
$(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
|
||||
$(if $(BR2_PACKAGE_KTAP),
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config)
|
||||
@@ -194,12 +194,7 @@ define LINUX_CONFIGURE_CMDS
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config))
|
||||
$(if $(BR2_PACKAGE_SYSTEMD),
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_FHANDLE,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS4_FS,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_ACL,$(@D)/.config)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_XATTR,$(@D)/.config))
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config))
|
||||
$(if $(BR2_LINUX_KERNEL_APPENDED_DTB),
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config))
|
||||
yes '' | $(TARGET_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) oldconfig
|
||||
|
||||
@@ -156,8 +156,6 @@ source "package/doom-wad/Config.in"
|
||||
source "package/gnuchess/Config.in"
|
||||
source "package/lbreakout2/Config.in"
|
||||
source "package/ltris/Config.in"
|
||||
source "package/opentyrian/Config.in"
|
||||
source "package/opentyrian-data/Config.in"
|
||||
source "package/prboom/Config.in"
|
||||
source "package/rubix/Config.in"
|
||||
endmenu
|
||||
@@ -278,7 +276,6 @@ source "package/dmraid/Config.in"
|
||||
source "package/dvb-apps/Config.in"
|
||||
source "package/dvbsnoop/Config.in"
|
||||
source "package/eeprog/Config.in"
|
||||
source "package/eudev/Config.in"
|
||||
source "package/evemu/Config.in"
|
||||
source "package/evtest/Config.in"
|
||||
source "package/fan-ctrl/Config.in"
|
||||
@@ -365,7 +362,8 @@ source "package/jimtcl/Config.in"
|
||||
source "package/lua/Config.in"
|
||||
source "package/luainterpreter/Config.in"
|
||||
source "package/luajit/Config.in"
|
||||
if BR2_PACKAGE_HAS_LUA_INTERPRETER
|
||||
if BR2_PACKAGE_HAS_LUA_INTERPRETER && !BR2_PREFER_STATIC_LIB
|
||||
# lua modules are dynamically loaded, so not available on static builds
|
||||
menu "Lua libraries/modules"
|
||||
source "package/cgilua/Config.in"
|
||||
source "package/copas/Config.in"
|
||||
@@ -397,23 +395,8 @@ menu "Perl libraries/modules"
|
||||
endmenu
|
||||
endif
|
||||
source "package/php/Config.in"
|
||||
if BR2_PACKAGE_PHP
|
||||
if !BR2_PREFER_STATIC_LIB
|
||||
menu "External php extensions"
|
||||
source "package/php-gnupg/Config.in"
|
||||
source "package/php-imagick/Config.in"
|
||||
source "package/php-ssh2/Config.in"
|
||||
source "package/php-yaml/Config.in"
|
||||
source "package/php-zmq/Config.in"
|
||||
endmenu
|
||||
endif
|
||||
if BR2_PREFER_STATIC_LIB
|
||||
comment "External PHP extensions need a toolchain w/ dynamic library"
|
||||
endif
|
||||
endif
|
||||
source "package/python/Config.in"
|
||||
source "package/python3/Config.in"
|
||||
if BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
|
||||
if BR2_PACKAGE_PYTHON
|
||||
menu "external python modules"
|
||||
source "package/python-bottle/Config.in"
|
||||
source "package/python-configobj/Config.in"
|
||||
@@ -449,6 +432,7 @@ source "package/python-tornado/Config.in"
|
||||
source "package/python-versiontools/Config.in"
|
||||
endmenu
|
||||
endif
|
||||
source "package/python3/Config.in"
|
||||
source "package/ruby/Config.in"
|
||||
source "package/tcl/Config.in"
|
||||
if BR2_PACKAGE_TCL
|
||||
@@ -484,7 +468,6 @@ source "package/portaudio/Config.in"
|
||||
source "package/speex/Config.in"
|
||||
source "package/taglib/Config.in"
|
||||
source "package/tremor/Config.in"
|
||||
source "package/vo-aacenc/Config.in"
|
||||
source "package/webrtc-audio-processing/Config.in"
|
||||
endmenu
|
||||
|
||||
@@ -585,7 +568,6 @@ endmenu
|
||||
menu "Hardware handling"
|
||||
source "package/ccid/Config.in"
|
||||
source "package/dtc/Config.in"
|
||||
source "package/gnu-efi/Config.in"
|
||||
source "package/lcdapi/Config.in"
|
||||
source "package/libaio/Config.in"
|
||||
source "package/libatasmart/Config.in"
|
||||
@@ -635,6 +617,7 @@ source "package/json-c/Config.in"
|
||||
source "package/json-glib/Config.in"
|
||||
source "package/libjson/Config.in"
|
||||
source "package/libroxml/Config.in"
|
||||
source "package/libxml-parser-perl/Config.in"
|
||||
source "package/libxml2/Config.in"
|
||||
source "package/libxmlpp/Config.in"
|
||||
source "package/libxslt/Config.in"
|
||||
|
||||
@@ -206,8 +206,7 @@ HOST_PATH=$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(PATH)
|
||||
HOSTCC_VERSION:=$(shell $(HOSTCC_NOCCACHE) --version | \
|
||||
sed -n 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)[ ]*.*$$/\1\2\3/p')
|
||||
|
||||
HOST_PERL_ARCHNAME := $(shell perl -MConfig -e "print Config->{archname}")
|
||||
export PERL5LIB := $(HOST_DIR)/usr/lib/perl5/$(HOST_PERL_ARCHNAME):$(HOST_DIR)/usr/lib/perl5
|
||||
export PERL5LIB := $(HOST_DIR)/usr/lib/perl
|
||||
|
||||
TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
|
||||
AR="$(TARGET_AR)" \
|
||||
@@ -360,6 +359,5 @@ include package/pkg-download.mk
|
||||
include package/pkg-autotools.mk
|
||||
include package/pkg-cmake.mk
|
||||
include package/pkg-luarocks.mk
|
||||
include package/pkg-perl.mk
|
||||
include package/pkg-python.mk
|
||||
include package/pkg-generic.mk
|
||||
|
||||
@@ -7,6 +7,10 @@ config BR2_PACKAGE_AICCU
|
||||
# Uses dn_skipname(), only available since 0.9.33
|
||||
depends on !BR2_UCLIBC_VERSION_0_9_31 && \
|
||||
!BR2_UCLIBC_VERSION_0_9_32
|
||||
# AVR32 only has uClibc 0.9.31, so there's no way it can build
|
||||
# due to the lack of dn_skipname(), even with external
|
||||
# toolchains.
|
||||
depends on !BR2_avr32
|
||||
select BR2_PACKAGE_GNUTLS
|
||||
help
|
||||
SixXS Automatic IPv6 Connectivity Client Utility
|
||||
|
||||
57
package/alsa-lib/alsa-lib-0003-dlmisc.patch
Normal file
57
package/alsa-lib/alsa-lib-0003-dlmisc.patch
Normal file
@@ -0,0 +1,57 @@
|
||||
alsa-lib: provide dummy definitions of RTLD_* if necessary
|
||||
|
||||
The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header
|
||||
file, so we need to guard that include. Additionally, provide dummy
|
||||
definitions for parameters RTLD_GLOBAL / RTLD_NOW which are normally
|
||||
provided by dlfcn.h.
|
||||
|
||||
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
|
||||
[Thomas: don't add separate dlmisc.h, move dummy defs to global.h]
|
||||
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
|
||||
|
||||
diff --git a/include/global.h b/include/global.h
|
||||
--- a/include/global.h
|
||||
+++ b/include/global.h
|
||||
@@ -97,6 +97,16 @@ extern struct snd_dlsym_link *snd_dlsym_
|
||||
/** \brief Returns the version of a dynamic symbol as a string. */
|
||||
#define SND_DLSYM_VERSION(version) __STRING(version)
|
||||
|
||||
+/* RTLD_NOW and RTLD_GLOBAL (used for 'mode' in snd_dlopen) are not defined
|
||||
+ * on all arches (e.g. blackfin), so provide a dummy definition here. */
|
||||
+#ifndef RTLD_NOW
|
||||
+#define RTLD_NOW 0
|
||||
+#endif
|
||||
+
|
||||
+#ifndef RTLD_GLOBAL
|
||||
+#define RTLD_GLOBAL 0
|
||||
+#endif
|
||||
+
|
||||
void *snd_dlopen(const char *file, int mode);
|
||||
void *snd_dlsym(void *handle, const char *name, const char *version);
|
||||
int snd_dlclose(void *handle);
|
||||
diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c
|
||||
--- a/modules/mixer/simple/sbasedl.c
|
||||
+++ b/modules/mixer/simple/sbasedl.c
|
||||
@@ -27,7 +27,9 @@
|
||||
#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <math.h>
|
||||
+#ifdef HAVE_LIBDL
|
||||
#include <dlfcn.h>
|
||||
+#endif
|
||||
#include "config.h"
|
||||
#include "asoundlib.h"
|
||||
#include "mixer_abst.h"
|
||||
diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c
|
||||
--- a/src/mixer/simple_abst.c
|
||||
+++ b/src/mixer/simple_abst.c
|
||||
@@ -34,7 +34,9 @@
|
||||
#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <math.h>
|
||||
+#ifdef HAVE_LIBDL
|
||||
#include <dlfcn.h>
|
||||
+#endif
|
||||
#include "config.h"
|
||||
#include "asoundlib.h"
|
||||
#include "mixer_simple.h"
|
||||
@@ -0,0 +1,35 @@
|
||||
alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro
|
||||
|
||||
The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This
|
||||
breaks compilation of alsa-utils (and probably other packages using this
|
||||
macro) for targets that do not support dynamic loading, such as for
|
||||
Blackfin FLAT binaries.
|
||||
|
||||
This patch updates the macro to check if dlopen is available, and use that
|
||||
result to conditionally add -ldl to the list of libraries.
|
||||
|
||||
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
|
||||
|
||||
---
|
||||
|
||||
diff --git a/utils/alsa.m4 b/utils/alsa.m4
|
||||
--- a/utils/alsa.m4
|
||||
+++ b/utils/alsa.m4
|
||||
@@ -44,6 +44,8 @@ if test "$alsa_inc_prefix" != "" ; then
|
||||
fi
|
||||
AC_MSG_RESULT($ALSA_CFLAGS)
|
||||
|
||||
+AC_CHECK_LIB(c, dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")])
|
||||
+
|
||||
dnl add any special lib dirs
|
||||
AC_MSG_CHECKING(for ALSA LDFLAGS)
|
||||
if test "$alsa_prefix" != "" ; then
|
||||
@@ -52,7 +54,7 @@ if test "$alsa_prefix" != "" ; then
|
||||
fi
|
||||
|
||||
dnl add the alsa library
|
||||
-ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread"
|
||||
+ALSA_LIBS="$ALSA_LIBS -lasound -lm $LIBDL -lpthread"
|
||||
LIBS="$ALSA_LIBS $LIBS"
|
||||
AC_MSG_RESULT($ALSA_LIBS)
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
comment "alsa-utils needs a toolchain w/ largefile, threads"
|
||||
depends on BR2_USE_MMU # fork
|
||||
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
config BR2_PACKAGE_ALSA_UTILS
|
||||
bool "alsa-utils"
|
||||
depends on BR2_USE_MMU # fork
|
||||
depends on BR2_LARGEFILE
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
|
||||
select BR2_PACKAGE_ALSA_LIB
|
||||
@@ -9,9 +14,6 @@ config BR2_PACKAGE_ALSA_UTILS
|
||||
|
||||
http://www.alsa-project.org/
|
||||
|
||||
comment "alsa-utils needs a toolchain w/ largefile, threads"
|
||||
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
if BR2_PACKAGE_ALSA_UTILS
|
||||
menu "ALSA utils selection"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ config BR2_PACKAGE_BEECRYPT
|
||||
bool "beecrypt"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
select BR2_PACKAGE_ICU if BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && \
|
||||
!BR2_arc
|
||||
!BR2_arc && !BR2_BINFMT_FLAT
|
||||
help
|
||||
Beecrypt is a general-purpose cryptography library.
|
||||
|
||||
@@ -13,4 +13,5 @@ comment "beecrypt needs a toolchain w/ threads"
|
||||
|
||||
comment "beecrypt C++ support needs a toolchain w/ wchar"
|
||||
depends on !BR2_arc
|
||||
depends on !BR2_BINFMT_FLAT
|
||||
depends on BR2_INSTALL_LIBSTDCPP && !BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
From 369be6981b26787b2685e3b8c6da779dae8ce35f Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Mon, 6 Jan 2014 18:15:31 +0000
|
||||
Subject: [PATCH] libiberty: fix --enable-install-libiberty flag [PR 56780]
|
||||
|
||||
Commit 199570 fixed the --disable-install-libiberty behavior, but it also
|
||||
added a bug where the enable path never works because the initial clear
|
||||
of target_header_dir wasn't deleted. So we end up initializing properly
|
||||
at the top only to reset it at the end all the time.
|
||||
|
||||
[Arnout: adapt to match 2.24 tarball]
|
||||
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
---
|
||||
libiberty/configure | 1 -
|
||||
libiberty/configure.ac | 1 -
|
||||
3 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libiberty/configure b/libiberty/configure
|
||||
index 8ea54da..7bde9b3 100755
|
||||
--- a/libiberty/configure
|
||||
+++ b/libiberty/configure
|
||||
@@ -5507,7 +5507,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
|
||||
index 4ad88a9..d6180bc 100644
|
||||
--- a/libiberty/configure.ac
|
||||
+++ b/libiberty/configure.ac
|
||||
@@ -405,7 +405,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
--
|
||||
1.7.1
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
From 369be6981b26787b2685e3b8c6da779dae8ce35f Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Mon, 6 Jan 2014 18:15:31 +0000
|
||||
Subject: [PATCH] libiberty: fix --enable-install-libiberty flag [PR 56780]
|
||||
|
||||
Commit 199570 fixed the --disable-install-libiberty behavior, but it also
|
||||
added a bug where the enable path never works because the initial clear
|
||||
of target_header_dir wasn't deleted. So we end up initializing properly
|
||||
at the top only to reset it at the end all the time.
|
||||
|
||||
[Arnout: adapt to match 2.24 tarball]
|
||||
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
---
|
||||
libiberty/configure | 1 -
|
||||
libiberty/configure.ac | 1 -
|
||||
3 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libiberty/configure b/libiberty/configure
|
||||
index 8ea54da..7bde9b3 100755
|
||||
--- a/libiberty/configure
|
||||
+++ b/libiberty/configure
|
||||
@@ -5507,7 +5507,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
|
||||
index 4ad88a9..d6180bc 100644
|
||||
--- a/libiberty/configure.ac
|
||||
+++ b/libiberty/configure.ac
|
||||
@@ -405,7 +405,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
--
|
||||
1.7.1
|
||||
|
||||
@@ -49,7 +49,7 @@ endchoice
|
||||
config BR2_BINUTILS_VERSION
|
||||
string
|
||||
default "2.18-avr32-1.0.1" if BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1
|
||||
default "a934fe50786aa0dc0fb5da4754e7e07591c9cd8e" if BR2_arc
|
||||
default "0c824ba511fa9b028220eb3c39b566af89ac9dda" if BR2_arc
|
||||
default "8351467c933d277ebea0c8d99ad2b65b5f7b6bc2" if BR2_microblaze
|
||||
default "2.20.1" if BR2_BINUTILS_VERSION_2_20_1
|
||||
default "2.21" if BR2_BINUTILS_VERSION_2_21
|
||||
|
||||
@@ -51,6 +51,7 @@ endif
|
||||
BINUTILS_CONF_OPT = --disable-multilib --disable-werror \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--enable-install-libiberty \
|
||||
$(BINUTILS_EXTRA_CONFIG_OPTIONS)
|
||||
|
||||
# Install binutils after busybox to prefer full-blown utilities
|
||||
|
||||
@@ -77,6 +77,7 @@ config BR2_PACKAGE_BOOST_SYSTEM
|
||||
|
||||
config BR2_PACKAGE_BOOST_TEST
|
||||
bool "boost-test"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
|
||||
config BR2_PACKAGE_BOOST_THREAD
|
||||
bool "boost-thread"
|
||||
|
||||
@@ -75,6 +75,13 @@ define BUSYBOX_SET_MDEV
|
||||
endef
|
||||
endif
|
||||
|
||||
# sha passwords need USE_BB_CRYPT_SHA
|
||||
ifeq ($(BR2_TARGET_GENERIC_PASSWD_SHA256)$(BR2_TARGET_GENERIC_PASSWD_SHA512),y)
|
||||
define BUSYBOX_SET_CRYPT_SHA
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_USE_BB_CRYPT_SHA,$(BUSYBOX_BUILD_CONFIG))
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_USE_MMU),y)
|
||||
define BUSYBOX_SET_MMU
|
||||
$(call KCONFIG_DISABLE_OPT,CONFIG_NOMMU,$(BUSYBOX_BUILD_CONFIG))
|
||||
@@ -173,15 +180,14 @@ define BUSYBOX_INSTALL_WATCHDOG_SCRIPT
|
||||
endef
|
||||
endif
|
||||
|
||||
# We do this here to avoid busting a modified .config in configure
|
||||
BUSYBOX_POST_EXTRACT_HOOKS += BUSYBOX_COPY_CONFIG
|
||||
|
||||
define BUSYBOX_CONFIGURE_CMDS
|
||||
$(BUSYBOX_COPY_CONFIG)
|
||||
$(BUSYBOX_SET_MMU)
|
||||
$(BUSYBOX_SET_LARGEFILE)
|
||||
$(BUSYBOX_SET_IPV6)
|
||||
$(BUSYBOX_PREFER_STATIC)
|
||||
$(BUSYBOX_SET_MDEV)
|
||||
$(BUSYBOX_SET_CRYPT_SHA)
|
||||
$(BUSYBOX_NETKITBASE)
|
||||
$(BUSYBOX_NETKITTELNET)
|
||||
$(BUSYBOX_INTERNAL_SHADOW_PASSWORDS)
|
||||
|
||||
@@ -34,3 +34,22 @@ Index: b/src/cairo-compiler-private.h
|
||||
#else
|
||||
# define slim_hidden_proto(name) int _cairo_dummy_prototype(void)
|
||||
# define slim_hidden_proto_no_warn(name) int _cairo_dummy_prototype(void)
|
||||
Index: b/util/cairo-script/cairo-script-private.h
|
||||
===================================================================
|
||||
--- a/util/cairo-script/cairo-script-private.h
|
||||
+++ b/util/cairo-script/cairo-script-private.h
|
||||
@@ -109,12 +109,13 @@
|
||||
__asm__ (slim_hidden_asmname (internal))
|
||||
# define slim_hidden_def1(name, internal) \
|
||||
extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \
|
||||
- __attribute__((__alias__(slim_hidden_asmname(internal))))
|
||||
+ __attribute__((__alias__(slim_hidden_realname(internal))))
|
||||
# define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__)
|
||||
# define slim_hidden_ulp1(x) slim_hidden_ulp2(x)
|
||||
# define slim_hidden_ulp2(x) #x
|
||||
# define slim_hidden_asmname(name) slim_hidden_asmname1(name)
|
||||
# define slim_hidden_asmname1(name) slim_hidden_ulp #name
|
||||
+# define slim_hidden_realname(name) #name
|
||||
#else
|
||||
# define slim_hidden_proto(name) int _csi_dummy_prototype(void)
|
||||
# define slim_hidden_proto_no_warn(name) int _csi_dummy_prototype(void)
|
||||
|
||||
29
package/cairo/cairo-003-fix-nofork-build.patch
Normal file
29
package/cairo/cairo-003-fix-nofork-build.patch
Normal file
@@ -0,0 +1,29 @@
|
||||
test: fix build when SHOULD_FORK is false
|
||||
|
||||
The code in test/cairo-test-runner.c properly takes into account
|
||||
platforms that do have fork() support, and uses the SHOULD_FORK define
|
||||
to know whether fork is available or not.
|
||||
|
||||
However, this SHOULD_FORK macro is used to guard the inclusion of
|
||||
<unistd.h>, which is needed to get the prototype of other functions
|
||||
(namely readlink and getppid), that are used in portions of this file
|
||||
not guarded by SHOULD_FORK.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/test/cairo-test-runner.c
|
||||
===================================================================
|
||||
--- a/test/cairo-test-runner.c
|
||||
+++ b/test/cairo-test-runner.c
|
||||
@@ -36,10 +36,10 @@
|
||||
#include <pixman.h> /* for version information */
|
||||
|
||||
#define SHOULD_FORK HAVE_FORK && HAVE_WAITPID
|
||||
-#if SHOULD_FORK
|
||||
#if HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
+#if SHOULD_FORK
|
||||
#if HAVE_SIGNAL_H
|
||||
#include <signal.h>
|
||||
#endif
|
||||
@@ -12,7 +12,7 @@ CCID_LICENSE_FILES = COPYING
|
||||
CCID_INSTALL_STAGING = YES
|
||||
CCID_DEPENDENCIES = pcsc-lite host-pkgconf libusb
|
||||
|
||||
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
|
||||
ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)
|
||||
define CCID_INSTALL_UDEV_RULES
|
||||
if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \
|
||||
cp $(@D)/src/92_pcscd_ccid.rules $(TARGET_DIR)/etc/udev/rules.d/ ; \
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
comment "cegui06 needs a toolchain w/ C++, threads"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
|
||||
comment "cegui06 needs a toolchain w/ C++, threads, dynamic library"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || BR2_PREFER_STATIC_LIB
|
||||
|
||||
config BR2_PACKAGE_CEGUI06
|
||||
bool "cegui06"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_PREFER_STATIC_LIB
|
||||
select BR2_PACKAGE_EXPAT
|
||||
select BR2_PACKAGE_FREETYPE
|
||||
select BR2_PACKAGE_PCRE
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
COLLECTD_VERSION = 5.4.1
|
||||
COLLECTD_SITE = http://collectd.org/files
|
||||
COLLECTD_MAKE_OPT = LDFLAGS="$(TARGET_LDFLAGS) -lm"
|
||||
COLLECTD_CONF_ENV = ac_cv_lib_yajl_yajl_alloc=yes
|
||||
COLLECTD_INSTALL_STAGING = YES
|
||||
COLLECTD_LICENSE = GPLv2 LGPLv2.1
|
||||
@@ -22,6 +21,16 @@ COLLECTD_PLUGINS_DISABLE = amqp apple_sensors aquaero ascent dbi email \
|
||||
tokyotyrant uuid varnish vserver write_mongodb write_redis \
|
||||
xmms zfs_arc
|
||||
|
||||
COLLECTD_LDFLAGS = $(TARGET_LDFLAGS) -lm
|
||||
|
||||
ifeq ($(BR2_PREFER_STATIC_LIB),y)
|
||||
# collectd-tg indirectly needs pthread but doesn't link with -pthread,
|
||||
# causing static linker errors
|
||||
COLLECTD_LDFLAGS += -lpthread
|
||||
endif
|
||||
|
||||
COLLECTD_CONF_ENV += LDFLAGS="$(COLLECTD_LDFLAGS)"
|
||||
|
||||
COLLECTD_CONF_OPT += --with-nan-emulation --with-fp-layout=nothing \
|
||||
--localstatedir=/var --with-perl-bindings=no \
|
||||
$(foreach p, $(COLLECTD_PLUGINS_DISABLE), --disable-$(p)) \
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CONNMAN_VERSION = 1.21
|
||||
CONNMAN_VERSION = 1.19
|
||||
CONNMAN_SOURCE = connman-$(CONNMAN_VERSION).tar.xz
|
||||
CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman/
|
||||
CONNMAN_DEPENDENCIES = libglib2 dbus iptables gnutls
|
||||
|
||||
43
package/coreutils/coreutils-01-spawn-uclibc.patch
Normal file
43
package/coreutils/coreutils-01-spawn-uclibc.patch
Normal file
@@ -0,0 +1,43 @@
|
||||
From 71cf16e435bf5db64abcf81a9dc6dc36ce37d58d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
|
||||
Date: Tue, 14 Jan 2014 16:59:07 +0000
|
||||
Subject: [PATCH] spawn: fix link error on uclibc
|
||||
|
||||
* m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
|
||||
to incorporate -lrt if needed (on uclibc for example).
|
||||
* modules/posix_spawn: Reference the substituted LIB.
|
||||
|
||||
Patch status: suggested by gnulib maintainer
|
||||
(http://article.gmane.org/gmane.comp.lib.gnulib.bugs/33610), not in upstream
|
||||
gnulib yet
|
||||
|
||||
This issue should be fixed in coreutils version 8.23.
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
|
||||
diff --git a/m4/spawn_h.m4 b/m4/spawn_h.m4
|
||||
index 87fe122..3eb835c 100644
|
||||
--- a/m4/spawn_h.m4
|
||||
+++ b/m4/spawn_h.m4
|
||||
@@ -64,7 +64,15 @@ AC_DEFUN([gl_HAVE_POSIX_SPAWN],
|
||||
dnl once only, before all statements that occur in other macros.
|
||||
AC_REQUIRE([gl_SPAWN_H_DEFAULTS])
|
||||
|
||||
- AC_CHECK_FUNCS_ONCE([posix_spawn])
|
||||
+ LIB_POSIX_SPAWN=
|
||||
+ AC_SUBST([LIB_POSIX_SPAWN])
|
||||
+ gl_saved_libs=$LIBS
|
||||
+ AC_SEARCH_LIBS([posix_spawn], [rt],
|
||||
+ [test "$ac_cv_search_posix_spawn" = "none required" ||
|
||||
+ LIB_POSIX_SPAWN=$ac_cv_search_posix_spawn])
|
||||
+ AC_CHECK_FUNCS([posix_spawn])
|
||||
+ LIBS=$gl_saved_libs
|
||||
+
|
||||
if test $ac_cv_func_posix_spawn != yes; then
|
||||
HAVE_POSIX_SPAWN=0
|
||||
fi
|
||||
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
36
package/coreutils/coreutils-02-fix-timer-time-m4.patch
Normal file
36
package/coreutils/coreutils-02-fix-timer-time-m4.patch
Normal file
@@ -0,0 +1,36 @@
|
||||
Fix thread detection with uClibc in timer_time.m4
|
||||
|
||||
The timer_time.m4 gl_TIMER_TIME function determines which libraries
|
||||
need to be linked to get access to the timer function, generally -lrt
|
||||
for Linux systems. On platforms where threads are used, librt
|
||||
typically uses thread functions from libpthread.
|
||||
|
||||
However, the test to determine whether the platform has thread or not
|
||||
is incorrect: it assumes that if the C library is uClibc, then threads
|
||||
are not available. This is actually not true: uClibc has configurable
|
||||
thread support, and when thread support is available, librt calls
|
||||
libpthread functions.
|
||||
|
||||
This is important when static linking is used, because otherwise only
|
||||
-lrt is used at link time, which fails because librt calls undefined
|
||||
thread functions. Both -lrt and -lpthread must be passed.
|
||||
|
||||
This problem is fixed by making the uClibc thread detection a bit
|
||||
smarter, thanks to the usage of the __HAS_NO_THREADS__ macro defined
|
||||
in <bits/uClibc_config.h>, which itself is included by <features.h>.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/m4/timer_time.m4
|
||||
===================================================================
|
||||
--- a/m4/timer_time.m4
|
||||
+++ b/m4/timer_time.m4
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <features.h>
|
||||
#ifdef __GNU_LIBRARY__
|
||||
#if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || (__GLIBC__ > 2)) \
|
||||
- && !defined __UCLIBC__
|
||||
+ && !(__UCLIBC__ && __HAS_NO_THREADS__)
|
||||
Thread emulation available
|
||||
#endif
|
||||
#endif
|
||||
@@ -10,6 +10,9 @@ COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz
|
||||
COREUTILS_LICENSE = GPLv3+
|
||||
COREUTILS_LICENSE_FILES = COPYING
|
||||
|
||||
# patching gnulib .m4 file
|
||||
COREUTILS_AUTORECONF = YES
|
||||
|
||||
# If both coreutils and busybox are selected, make certain coreutils
|
||||
# wins the fight over who gets to have their utils actually installed.
|
||||
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
|
||||
|
||||
@@ -25,6 +25,7 @@ if BR2_PACKAGE_CPPCMS
|
||||
config BR2_PACKAGE_CPPCMS_ICU
|
||||
bool "enable icu support"
|
||||
depends on !BR2_arc # icu -> atomic builtins
|
||||
depends on !BR2_BINFMT_FLAT # icu
|
||||
select BR2_PACKAGE_ICU
|
||||
help
|
||||
Using ICU allows advanced localization features into CppCMS,
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
config BR2_PACKAGE_CPPDB
|
||||
bool "cppdb"
|
||||
# dlfcn.h
|
||||
depends on !BR2_PREFER_STATIC_LIB
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
# Can be built without them but it's useless
|
||||
@@ -11,6 +13,7 @@ config BR2_PACKAGE_CPPDB
|
||||
|
||||
http://cppcms.com/sql/cppdb/
|
||||
|
||||
comment "cppdb needs a toolchain w/ C++, threads"
|
||||
comment "cppdb needs a toolchain w/ C++, threads, dynamic library"
|
||||
depends on BR2_PACKAGE_MYSQL || BR2_PACKAGE_SQLITE
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
BR2_PREFER_STATIC_LIB
|
||||
|
||||
@@ -6,7 +6,8 @@ config BR2_PACKAGE_CRYPTSETUP
|
||||
select BR2_PACKAGE_E2FSPROGS
|
||||
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
|
||||
depends on BR2_LARGEFILE # lvm2, util-linux
|
||||
depends on BR2_USE_MMU # lvm2
|
||||
depends on BR2_USE_MMU # lvm2, e2fsprogs
|
||||
depends on !BR2_PREFER_STATIC_LIB # lvm2
|
||||
depends on BR2_USE_WCHAR # util-linux
|
||||
help
|
||||
This tool helps manipulate dm-crypt and luks partitions for
|
||||
@@ -14,6 +15,6 @@ config BR2_PACKAGE_CRYPTSETUP
|
||||
|
||||
https://code.google.com/p/cryptsetup/
|
||||
|
||||
comment "cryptsetup needs a toolchain w/ largefile, wchar"
|
||||
comment "cryptsetup needs a toolchain w/ largefile, wchar, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR
|
||||
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DBUS_VERSION = 1.6.8
|
||||
DBUS_VERSION = 1.4.26
|
||||
DBUS_SITE = http://dbus.freedesktop.org/releases/dbus
|
||||
DBUS_LICENSE = AFLv2.1 GPLv2+
|
||||
DBUS_LICENSE_FILES = COPYING
|
||||
@@ -30,10 +30,6 @@ DBUS_CONF_OPT = --with-dbus-user=dbus \
|
||||
--with-system-socket=/var/run/dbus/system_bus_socket \
|
||||
--with-system-pid-file=/var/run/messagebus.pid
|
||||
|
||||
define DBUS_USERS
|
||||
dbus -1 dbus -1 * /var/run/dbus - dbus DBus messagebus user
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_PREFER_STATIC_LIB),y)
|
||||
DBUS_CONF_OPT += LIBS='-lpthread'
|
||||
endif
|
||||
|
||||
@@ -3,7 +3,13 @@ config BR2_PACKAGE_DHCPCD
|
||||
# No support for AI_ADDRCONFIG
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && \
|
||||
!BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
|
||||
depends on !BR2_PREFER_STATIC_LIB
|
||||
help
|
||||
An RFC2131 compliant DHCP client
|
||||
|
||||
http://roy.marples.name/downloads/dhcpcd
|
||||
|
||||
comment "dhcpcd needs a toolchain w/ dynamic library"
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && \
|
||||
!BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
|
||||
depends on BR2_PREFER_STATIC_LIB
|
||||
|
||||
@@ -2,6 +2,7 @@ config BR2_PACKAGE_DISTCC
|
||||
bool "distcc"
|
||||
# needs fork()
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_DEPRECATED_SINCE_2014_02
|
||||
help
|
||||
Distributed compiler client and server. Allows you to
|
||||
distribute compilation of C code across several machines
|
||||
|
||||
@@ -2,6 +2,9 @@ config BR2_PACKAGE_DMRAID
|
||||
bool "dmraid"
|
||||
depends on BR2_LARGEFILE
|
||||
depends on BR2_USE_MMU # lvm2
|
||||
depends on !BR2_PREFER_STATIC_LIB # lvm2
|
||||
# triggers gcc ice
|
||||
depends on !BR2_arc
|
||||
select BR2_PACKAGE_LVM2
|
||||
help
|
||||
dmraid discovers, activates, deactivates and displays properties
|
||||
@@ -10,6 +13,7 @@ config BR2_PACKAGE_DMRAID
|
||||
dmraid uses the Linux device-mapper to create devices with
|
||||
respective mappings for the ATARAID sets discovered.
|
||||
|
||||
comment "dmraid needs a toolchain w/ largefile"
|
||||
comment "dmraid needs a toolchain w/ largefile, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_LARGEFILE
|
||||
depends on !BR2_LARGEFILE || BR2_PREFER_STATIC_LIB
|
||||
depends on !BR2_arc
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
diff -ur dropbear-0.48/includes.h dropbear-0.48-patched/includes.h
|
||||
--- dropbear-0.48/includes.h 2006-03-09 09:06:02.000000000 -0600
|
||||
+++ dropbear-0.48-patched/includes.h 2006-03-15 22:36:12.000000000 -0600
|
||||
@@ -35,6 +35,7 @@
|
||||
#include <sys/param.h> /* required for BSD4_4 define */
|
||||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
+#define _GNU_SOURCE
|
||||
#include <sys/time.h>
|
||||
#include <sys/un.h>
|
||||
#include <sys/wait.h>
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DROPBEAR_VERSION = 2013.62
|
||||
DROPBEAR_VERSION = 2014.63
|
||||
DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases
|
||||
DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2
|
||||
DROPBEAR_TARGET_BINS = dbclient dropbearkey dropbearconvert scp ssh
|
||||
|
||||
@@ -3,6 +3,7 @@ config BR2_PACKAGE_E2FSPROGS
|
||||
bool "e2fsprogs"
|
||||
depends on BR2_LARGEFILE
|
||||
depends on BR2_USE_WCHAR # util-linux
|
||||
depends on BR2_USE_MMU # util-linux/libblkid
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
|
||||
@@ -49,7 +50,7 @@ config BR2_PACKAGE_E2FSPROGS_E2UNDO
|
||||
|
||||
config BR2_PACKAGE_E2FSPROGS_E4DEFRAG
|
||||
bool "e4defrag"
|
||||
depends on !BR2_avr32 # fallocate not implemented
|
||||
depends on !BR2_avr32 && !BR2_nios2 # fallocate not implemented
|
||||
|
||||
config BR2_PACKAGE_E2FSPROGS_FILEFRAG
|
||||
bool "filefrag"
|
||||
|
||||
@@ -25,6 +25,10 @@ E2FSPROGS_CONF_OPT = \
|
||||
--disable-e2initrd-helper \
|
||||
--disable-testio-debug
|
||||
|
||||
ifeq ($(BR2_nios2),y)
|
||||
E2FSPROGS_CONF_ENV += ac_cv_func_fallocate=no
|
||||
endif
|
||||
|
||||
E2FSPROGS_DEPENDENCIES = host-pkgconf util-linux
|
||||
|
||||
E2FSPROGS_MAKE_OPT = \
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
menuconfig BR2_PACKAGE_EFL
|
||||
bool "Enlightenment Foundation Libraries"
|
||||
depends on BR2_USE_WCHAR
|
||||
# libeina uses madvise(). To revisit when bumping EFL to 1.8
|
||||
depends on BR2_USE_MMU
|
||||
help
|
||||
Enlightenment Foundation Libraries
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ config BR2_PACKAGE_EXPEDITE
|
||||
select BR2_PACKAGE_LIBEVAS
|
||||
select BR2_PACKAGE_LIBEET
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
|
||||
depends on !BR2_avr32 # libevas
|
||||
help
|
||||
Expedite is the official Evas benchmark tool. It can test different
|
||||
@@ -11,6 +12,7 @@ config BR2_PACKAGE_EXPEDITE
|
||||
DirectFB and so on. Its tests are quite extensive, trying to
|
||||
reproduce real world usage cases.
|
||||
|
||||
comment "expedite needs a toolchain w/ C++"
|
||||
comment "expedite needs a toolchain w/ C++, threads"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_avr32
|
||||
|
||||
@@ -38,6 +38,11 @@ config BR2_PACKAGE_LIBECORE_X_XCB
|
||||
config BR2_PACKAGE_LIBECORE_EVAS
|
||||
bool "libecore Evas support"
|
||||
select BR2_PACKAGE_LIBEVAS
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_avr32 # libevas
|
||||
|
||||
comment "evas support needs a toolchain w/ threads"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_avr32 # libevas
|
||||
|
||||
endif # BR2_PACKAGE_LIBECORE
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
comment "libedje needs a toolchain w/ threads"
|
||||
depends on !BR2_avr32
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
config BR2_PACKAGE_LIBEDJE
|
||||
bool "libedje"
|
||||
select BR2_PACKAGE_LIBEINA
|
||||
@@ -8,6 +12,7 @@ config BR2_PACKAGE_LIBEDJE
|
||||
select BR2_PACKAGE_LIBEVAS
|
||||
select BR2_PACKAGE_LUA
|
||||
depends on !BR2_avr32 # libevas
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
|
||||
help
|
||||
A graphical layout and animation library for animated
|
||||
resizable, compressed and scalable themes.
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
comment "libelementary needs a toolchain w/ threads"
|
||||
depends on !BR2_avr32
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
config BR2_PACKAGE_LIBELEMENTARY
|
||||
bool "libelementary"
|
||||
select BR2_PACKAGE_LIBEINA
|
||||
@@ -5,6 +9,7 @@ config BR2_PACKAGE_LIBELEMENTARY
|
||||
select BR2_PACKAGE_LIBECORE
|
||||
select BR2_PACKAGE_LIBEDJE
|
||||
depends on !BR2_avr32 # libevas
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
|
||||
help
|
||||
Elementary is a widget toolkit and EFL wrapper and convenience
|
||||
library to make it easy to build applications and tools with UIs
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
comment "libethumb needs a toolchain w/ threads"
|
||||
depends on !BR2_avr32
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
config BR2_PACKAGE_LIBETHUMB
|
||||
bool "libethumb"
|
||||
select BR2_PACKAGE_LIBEINA
|
||||
@@ -6,6 +10,7 @@ config BR2_PACKAGE_LIBETHUMB
|
||||
select BR2_PACKAGE_LIBECORE_EVAS
|
||||
select BR2_PACKAGE_LIBEDJE
|
||||
depends on !BR2_avr32 # libevas
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
|
||||
help
|
||||
Ethumb is a library for generating thumbnail images of documents.
|
||||
|
||||
|
||||
@@ -1,6 +1,16 @@
|
||||
comment "libevas needs a toolchain w/ threads"
|
||||
depends on !BR2_avr32
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
config BR2_PACKAGE_LIBEVAS
|
||||
bool "libevas"
|
||||
depends on !BR2_avr32 # no epoll_create1 or inotify_init1
|
||||
# libevas should normally build without threads, but due to a
|
||||
# build issue when the async preloader is disabled, which is
|
||||
# needed when no threads are available, we don't allow evas to
|
||||
# be built without threads. This should be revisited when efl
|
||||
# is bumped to 1.8.
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
select BR2_PACKAGE_FREETYPE
|
||||
select BR2_PACKAGE_LIBEINA
|
||||
# required to build so far
|
||||
|
||||
@@ -203,11 +203,6 @@ else
|
||||
LIBEVAS_CONF_OPT += --disable-font-loader-eet
|
||||
endif
|
||||
|
||||
# async image preload support needs threads support in toolchain
|
||||
ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
||||
LIBEVAS_CONF_OPT += --disable-async-preload
|
||||
endif
|
||||
|
||||
# libevas installs the source code of examples on the target, which
|
||||
# are generally not useful.
|
||||
define LIBEVAS_REMOVE_EXAMPLES
|
||||
|
||||
@@ -7,6 +7,9 @@ config BR2_PACKAGE_ELFUTILS
|
||||
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
|
||||
depends on BR2_LARGEFILE
|
||||
depends on BR2_USE_WCHAR
|
||||
# canonicalize_file_name() not available on uClibc 0.9.31, used
|
||||
# only for AVR32
|
||||
depends on !BR2_avr32
|
||||
help
|
||||
Libraries/utilities to handle ELF objects (drop in
|
||||
replacement for libelf).
|
||||
|
||||
@@ -21,9 +21,9 @@ config BR2_PACKAGE_ENLIGHTENMENT
|
||||
depends on BR2_USE_WCHAR
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
# libedbus -> dbus
|
||||
# libedbus -> glib2
|
||||
# libedbus -> glib2, libevas
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
# libedbus -> dbus
|
||||
# libedbus -> dbus, efl libraries
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
depends on !BR2_avr32 # libevas
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
config BR2_PACKAGE_EUDEV
|
||||
bool "eudev"
|
||||
depends on !BR2_avr32 # no epoll_create1
|
||||
depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
|
||||
depends on BR2_USE_MMU # uses fork()
|
||||
depends on BR2_LARGEFILE # util-linux
|
||||
depends on BR2_USE_WCHAR # util-linux
|
||||
depends on !BR2_PREFER_STATIC_LIB # kmod
|
||||
select BR2_PACKAGE_HAS_UDEV
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
|
||||
select BR2_PACKAGE_KMOD
|
||||
help
|
||||
Userspace device daemon. This is a standalone version,
|
||||
independent of systemd. It is a fork maintained by Gentoo.
|
||||
|
||||
eudev requires a Linux kernel >= 2.6.34: it relies on devtmpfs
|
||||
and inotify.
|
||||
|
||||
http://github.com/gentoo/eudev/
|
||||
|
||||
if BR2_PACKAGE_EUDEV
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_UDEV
|
||||
default "eudev"
|
||||
|
||||
config BR2_PACKAGE_EUDEV_RULES_GEN
|
||||
bool "enable rules generator"
|
||||
help
|
||||
Enable persistent rules generator
|
||||
|
||||
endif
|
||||
|
||||
comment "eudev needs eudev /dev management"
|
||||
depends on !BR2_avr32
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
|
||||
|
||||
comment "eudev needs a toolchain w/ largefile, wchar, dynamic library"
|
||||
depends on !BR2_avr32
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
|
||||
@@ -1,48 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# udev This is a minimal non-LSB version of a UDEV startup script. It
|
||||
# was derived by stripping down the udev-058 LSB version for use
|
||||
# with buildroot on embedded hardware using Linux 2.6.34+ kernels.
|
||||
#
|
||||
# You may need to customize this for your system's resource limits
|
||||
# (including startup time!) and administration. For example, if
|
||||
# your early userspace has a custom initramfs or initrd you might
|
||||
# need /dev much earlier; or without hotpluggable busses (like USB,
|
||||
# PCMCIA, MMC/SD, and so on) your /dev might be static after boot.
|
||||
#
|
||||
# This script assumes your system boots right into the eventual root
|
||||
# filesystem, and that init runs this udev script before any programs
|
||||
# needing more device nodes than the bare-bones set -- /dev/console,
|
||||
# /dev/zero, /dev/null -- that's needed to boot and run this script.
|
||||
#
|
||||
|
||||
# Check for missing binaries
|
||||
UDEV_BIN=/sbin/udevd
|
||||
test -x $UDEV_BIN || exit 5
|
||||
|
||||
# Check for config file and read it
|
||||
UDEV_CONFIG=/etc/udev/udev.conf
|
||||
test -r $UDEV_CONFIG || exit 6
|
||||
. $UDEV_CONFIG
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Populating ${udev_root:-/dev} using udev: "
|
||||
echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
|
||||
$UDEV_BIN -d || (echo "FAIL" && exit 1)
|
||||
udevadm trigger
|
||||
echo "done"
|
||||
;;
|
||||
stop)
|
||||
# Stop execution of events
|
||||
udevadm control --stop-exec-queue
|
||||
killall udevd
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
exit 0
|
||||
@@ -1,43 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# eudev
|
||||
#
|
||||
################################################################################
|
||||
|
||||
EUDEV_VERSION = 1.3
|
||||
EUDEV_SITE = $(call github,gentoo,eudev,v$(EUDEV_VERSION))
|
||||
EUDEV_LICENSE = GPLv2+ (programs), LGPLv2.1+ (libraries)
|
||||
EUDEV_LICENSE_FILES = COPYING
|
||||
EUDEV_INSTALL_STAGING = YES
|
||||
EUDEV_AUTORECONF = YES
|
||||
|
||||
# mq_getattr is in librt
|
||||
EUDEV_CONF_ENV += LIBS=-lrt
|
||||
|
||||
EUDEV_CONF_OPT = \
|
||||
--sbindir=/sbin \
|
||||
--with-rootlibdir=/lib \
|
||||
--libexecdir=/lib \
|
||||
--with-firmware-path=/lib/firmware \
|
||||
--disable-introspection \
|
||||
--enable-split-usr \
|
||||
--enable-libkmod
|
||||
|
||||
EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod
|
||||
|
||||
ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y)
|
||||
EUDEV_CONF_OPT += --enable-rule_generator
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
|
||||
EUDEV_CONF_OPT += --enable-gudev
|
||||
EUDEV_DEPENDENCIES += libglib2
|
||||
else
|
||||
EUDEV_CONF_OPT += --disable-gudev
|
||||
endif
|
||||
|
||||
define EUDEV_INSTALL_INIT_SYSV
|
||||
$(INSTALL) -m 0755 package/eudev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
F2FS_TOOLS_VERSION = 858c4039c85f7c00c57925902985701b1e083555
|
||||
F2FS_TOOLS_VERSION = 576cb469e73b9342f1d10ba5d0428bbce22cbc3b
|
||||
F2FS_TOOLS_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git
|
||||
F2FS_TOOLS_SITE_METHOD = git
|
||||
F2FS_TOOLS_CONF_ENV = ac_cv_file__git=no
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
config BR2_PACKAGE_FEH
|
||||
bool "feh"
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
depends on BR2_USE_MMU # fork()
|
||||
select BR2_PACKAGE_XLIB_LIBXINERAMA
|
||||
select BR2_PACKAGE_XLIB_LIBXT
|
||||
select BR2_PACKAGE_IMLIB2_PNG
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
FIRMWARE_IMX_VERSION = $(FREESCALE_IMX_VERSION)
|
||||
FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE)
|
||||
FIRMWARE_IMX_SITE = $(FREESCALE_IMX_MIRROR_SITE)
|
||||
FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin
|
||||
FIRMWARE_IMX_LICENSE = Freescale Semiconductor Software License Agreement, \
|
||||
Atheros license (ath6k)
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FREESCALE_IMX_VERSION = 3.5.7-1.0.0
|
||||
FREESCALE_IMX_SITE = http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/
|
||||
FREESCALE_IMX_VERSION = 1.1.0
|
||||
|
||||
# No official download site from freescale, just this mirror
|
||||
FREESCALE_IMX_MIRROR_SITE = http://download.ossystems.com.br/bsp/freescale/source
|
||||
|
||||
include $(sort $(wildcard package/freescale-imx/*/*.mk))
|
||||
|
||||
@@ -4,12 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ifeq ($(BR2_ARM_EABIHF),y)
|
||||
GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-hfp
|
||||
else
|
||||
GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-sfp
|
||||
endif
|
||||
GPU_VIV_BIN_MX6Q_SITE = $(FREESCALE_IMX_SITE)
|
||||
GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)
|
||||
GPU_VIV_BIN_MX6Q_SITE = $(FREESCALE_IMX_MIRROR_SITE)
|
||||
GPU_VIV_BIN_MX6Q_SOURCE = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION).bin
|
||||
|
||||
GPU_VIV_BIN_MX6Q_INSTALL_STAGING = YES
|
||||
|
||||
@@ -5,10 +5,9 @@
|
||||
################################################################################
|
||||
|
||||
IMX_LIB_VERSION = $(FREESCALE_IMX_VERSION)
|
||||
IMX_LIB_SITE = $(FREESCALE_IMX_SITE)
|
||||
IMX_LIB_LICENSE = Freescale License (vpu), LGPLv2.1+ (the rest)
|
||||
IMX_LIB_LICENSE_FILES = EULA
|
||||
IMX_LIB_SOURCE = imx-lib-$(IMX_LIB_VERSION).bin
|
||||
IMX_LIB_SITE = $(FREESCALE_IMX_MIRROR_SITE)
|
||||
IMX_LIB_LICENSE = LGPLv2.1+
|
||||
# No license file included
|
||||
|
||||
IMX_LIB_INSTALL_STAGING = YES
|
||||
|
||||
@@ -26,23 +25,6 @@ IMX_LIB_MAKE_ENV = \
|
||||
PLATFORM=$(BR2_PACKAGE_IMX_LIB_PLATFORM) \
|
||||
INCLUDE="$(IMX_LIB_INCLUDE)"
|
||||
|
||||
# The archive is a shell-self-extractor of a bzipped tar. It happens
|
||||
# to extract in the correct directory (imx-lib-x.y.z)
|
||||
# The --force makes sure it doesn't fail if the source dir already exists.
|
||||
# The --auto-accept skips the license check - not needed for us
|
||||
# because we have legal-info
|
||||
# Since there's a EULA in the bin file, extract it to imx-lib-x.y.z/EULA
|
||||
#
|
||||
define IMX_LIB_EXTRACT_CMDS
|
||||
awk 'BEGIN { start=0; } \
|
||||
/^EOEULA/ { start = 0; } \
|
||||
{ if (start) print; } \
|
||||
/<<EOEULA/ { start=1; }'\
|
||||
$(DL_DIR)/$(IMX_LIB_SOURCE) > $(@D)/EULA
|
||||
cd $(BUILD_DIR); \
|
||||
sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept
|
||||
endef
|
||||
|
||||
define IMX_LIB_BUILD_CMDS
|
||||
$(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D)
|
||||
endef
|
||||
|
||||
29
package/gcc/4.7.3/850-xtensa-libgcc-linker-script.patch
Normal file
29
package/gcc/4.7.3/850-xtensa-libgcc-linker-script.patch
Normal file
@@ -0,0 +1,29 @@
|
||||
From a89db366b98fffc61b20074e658c7285fb302776 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <a89db366b98fffc61b20074e658c7285fb302776.1392126646.git.baruch@tkos.co.il>
|
||||
From: sterling <sterling@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Tue, 21 Jan 2014 19:29:23 +0000
|
||||
Subject: [PATCH] 2014-01-21 Baruch Siach <barch@tkos.co.il>
|
||||
|
||||
* config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.
|
||||
|
||||
Patch status: upstream (4.7 branch commit r206898)
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
|
||||
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||
index e18e1d25021d..a6f7c450d702 100644
|
||||
--- a/libgcc/config.host
|
||||
+++ b/libgcc/config.host
|
||||
@@ -1127,7 +1127,7 @@ xtensa*-*-elf*)
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
xtensa*-*-linux*)
|
||||
- tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux"
|
||||
+ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
|
||||
md_unwind_header=xtensa/linux-unwind.h
|
||||
;;
|
||||
am33_2.0-*-linux*)
|
||||
--
|
||||
1.8.5.3
|
||||
|
||||
29
package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch
Normal file
29
package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch
Normal file
@@ -0,0 +1,29 @@
|
||||
From 7c722c07a0781e4279f643650bc528422c80ce5e Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <7c722c07a0781e4279f643650bc528422c80ce5e.1392126765.git.baruch@tkos.co.il>
|
||||
From: sterling <sterling@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Tue, 21 Jan 2014 19:50:02 +0000
|
||||
Subject: [PATCH] 2014-01-21 Baruch Siach <barch@tkos.co.il>
|
||||
|
||||
* config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.
|
||||
|
||||
Patch status: upstream (4.8 branch commit r206905)
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
|
||||
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||
index ee16d60e34a6..302aa6135211 100644
|
||||
--- a/libgcc/config.host
|
||||
+++ b/libgcc/config.host
|
||||
@@ -1102,7 +1102,7 @@ xtensa*-*-elf*)
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
xtensa*-*-linux*)
|
||||
- tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux"
|
||||
+ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
|
||||
md_unwind_header=xtensa/linux-unwind.h
|
||||
;;
|
||||
am33_2.0-*-linux*)
|
||||
--
|
||||
1.8.5.3
|
||||
|
||||
@@ -96,7 +96,7 @@ config BR2_GCC_VERSION
|
||||
default "4.6.4" if BR2_GCC_VERSION_4_6_X
|
||||
default "4.7.3" if BR2_GCC_VERSION_4_7_X
|
||||
default "4.8.2" if BR2_GCC_VERSION_4_8_X
|
||||
default "c6227bc154124e270f15793deddfa3fe18f7db54" if BR2_GCC_VERSION_4_8_ARC
|
||||
default "7466697995233cc3aab5b9427bf843e3c7fabd80" if BR2_GCC_VERSION_4_8_ARC
|
||||
default "b93bb009e021aba64dd4b8cdb0bbc5a176c55543" if BR2_GCC_VERSION_4_9_MICROBLAZE
|
||||
default BR2_GCC_SNAP_DATE if BR2_GCC_VERSION_SNAP
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ HOST_GCC_FINAL_DEPENDENCIES = \
|
||||
HOST_GCC_FINAL_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS)
|
||||
|
||||
ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),)
|
||||
HOST_GCC_FINAL_POST_EXTRACT_CMDS += HOST_GCC_FINAL_XTENSA_OVERLAY_EXTRACT
|
||||
HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
|
||||
endif
|
||||
|
||||
HOST_GCC_FINAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user