From f7eb215016da53bc01006cbfaa5b2d0920470b40 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 31 Dec 2018 02:32:21 +0100 Subject: [PATCH] Build: Update buildroot 2018-11.1 (#300) * Build: Update buildroot 2018-11.1 * Add cli to image --- .../configs/intel_nuc_defconfig | 1 + .../configs/odroid_c2_defconfig | 1 + buildroot-external/configs/ova_defconfig | 1 + buildroot-external/configs/rpi0_w_defconfig | 1 + buildroot-external/configs/rpi2_defconfig | 1 + buildroot-external/configs/rpi3_64_defconfig | 1 + buildroot-external/configs/rpi3_defconfig | 1 + buildroot-external/configs/rpi_defconfig | 1 + buildroot-external/configs/tinker_defconfig | 1 + ...3-docker-engine-add-AppArmor-support.patch | 26 +++ ...03-docker-engine-bump-to-v18.09.0-ce.patch | 123 ------------- .../0010-dt-utils-fix-glibc.patch | 100 ----------- ...=> 0010-tini-make-static-for-docker.patch} | 0 ...-openvmtools-bump-version-to-10.3.5.patch} | 0 buildroot/CHANGES | 23 +++ buildroot/Config.in.legacy | 9 + buildroot/Makefile | 4 +- .../0001-mips-Remove-default-endiannes.patch | 66 +++++++ ...reat-R_X86_64_PLT32-as-R_X86_64_PC32.patch | 74 ++++++++ buildroot/configs/bananapi_m2_ultra_defconfig | 1 + buildroot/configs/ci20_defconfig | 1 + buildroot/docs/manual/manual.html | 20 +-- buildroot/docs/manual/manual.pdf | Bin 533767 -> 533766 bytes buildroot/docs/manual/manual.text | 6 +- buildroot/linux/linux.hash | 6 +- buildroot/linux/linux.mk | 1 + buildroot/package/Config.in | 1 + buildroot/package/asterisk/asterisk.mk | 3 +- buildroot/package/docker-cli/Config.in | 25 +++ buildroot/package/docker-cli/docker-cli.hash | 3 + buildroot/package/docker-cli/docker-cli.mk | 31 ++++ ...low-all-recent-2.x-requests-releases.patch | 34 ++++ buildroot/package/docker-engine/Config.in | 6 - .../package/docker-engine/docker-engine.hash | 3 +- .../package/docker-engine/docker-engine.mk | 57 ++---- buildroot/package/gnutls/gnutls.mk | 7 + buildroot/package/go/go.hash | 2 +- buildroot/package/go/go.mk | 2 +- buildroot/package/libbsd/Config.in | 5 +- buildroot/package/libcurl/libcurl.mk | 3 +- buildroot/package/libgpgme/libgpgme.mk | 1 + buildroot/package/libiscsi/libiscsi.mk | 2 + ...rver.c-fix-stringop-truncation-error.patch | 30 ++++ ...x-build-on-archlinux-missing-include.patch | 24 +++ buildroot/package/libopenssl/libopenssl.mk | 2 +- ...to-make-GCC-s-truncation-check-happy.patch | 31 ++++ ...Fix-compilation-of-tacc.c-with-GCC-8.patch | 39 ++++ buildroot/package/libpjsip/libpjsip.mk | 28 ++- .../package/linux-firmware/linux-firmware.mk | 2 +- .../package/linux-headers/Config.in.host | 6 +- buildroot/package/liquid-dsp/liquid-dsp.mk | 3 + buildroot/package/lua-cqueues/lua-cqueues.mk | 2 +- ...i-executable-needs-to-export-symbols.patch | 53 ++++++ ...ringutils-include-stdarg-for-va_list.patch | 30 ++++ ...ac-fix-build-without-stack-protector.patch | 37 ++++ buildroot/package/lxc/Config.in | 4 +- buildroot/package/lxc/lxc.hash | 2 +- buildroot/package/lxc/lxc.mk | 4 +- buildroot/package/lynx/lynx.mk | 2 +- buildroot/package/minizip/Config.in | 2 - buildroot/package/nginx/nginx.hash | 2 +- buildroot/package/nginx/nginx.mk | 2 +- buildroot/package/nodejs/nodejs.hash | 4 +- buildroot/package/nodejs/nodejs.mk | 2 +- ...-error-in-regards-to-Werror-restrict.patch | 39 ++++ buildroot/package/php/php.hash | 2 +- buildroot/package/php/php.mk | 2 +- buildroot/package/pps-tools/pps-tools.hash | 2 +- buildroot/package/pps-tools/pps-tools.mk | 2 +- buildroot/package/proftpd/Config.in | 4 +- buildroot/package/prosody/Config.in | 5 + buildroot/package/sdl2_net/sdl2_net.mk | 2 +- buildroot/package/squashfs/Config.in | 8 +- buildroot/package/swupdate/swupdate.hash | 3 +- buildroot/package/swupdate/swupdate.mk | 7 +- .../0002-xtensa-add-custom-bits-poll.h.patch | 93 ++++++++++ ...tfs.h-sync-generic-header-with-glibc.patch | 169 ++++++++++++++++++ buildroot/package/vte/Config.in | 6 +- buildroot/package/webkitgtk/webkitgtk.hash | 8 +- buildroot/package/webkitgtk/webkitgtk.mk | 2 +- buildroot/package/wine/wine.mk | 1 + buildroot/package/xen/xen.hash | 2 +- buildroot/package/xen/xen.mk | 2 +- buildroot/support/download/dl-wrapper | 2 +- 84 files changed, 985 insertions(+), 341 deletions(-) create mode 100644 buildroot-patches/0003-docker-engine-add-AppArmor-support.patch delete mode 100644 buildroot-patches/0003-docker-engine-bump-to-v18.09.0-ce.patch delete mode 100644 buildroot-patches/0010-dt-utils-fix-glibc.patch rename buildroot-patches/{0011-tini-make-static-for-docker.patch => 0010-tini-make-static-for-docker.patch} (100%) rename buildroot-patches/{0012-openvmtools-bump-version-to-10.3.5.patch => 0011-openvmtools-bump-version-to-10.3.5.patch} (100%) create mode 100644 buildroot/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch create mode 100644 buildroot/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch create mode 100644 buildroot/package/docker-cli/Config.in create mode 100644 buildroot/package/docker-cli/docker-cli.hash create mode 100644 buildroot/package/docker-cli/docker-cli.mk create mode 100644 buildroot/package/docker-compose/0001-setup.py-allow-all-recent-2.x-requests-releases.patch create mode 100644 buildroot/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch create mode 100644 buildroot/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch create mode 100644 buildroot/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch create mode 100644 buildroot/package/libpam-tacplus/0002-Fix-compilation-of-tacc.c-with-GCC-8.patch create mode 100644 buildroot/package/luvi/0002-luvi-executable-needs-to-export-symbols.patch create mode 100644 buildroot/package/lxc/0001-stringutils-include-stdarg-for-va_list.patch create mode 100644 buildroot/package/lxc/0002-configure.ac-fix-build-without-stack-protector.patch create mode 100644 buildroot/package/openzwave/0004-Fix-compilation-error-in-regards-to-Werror-restrict.patch create mode 100644 buildroot/package/uclibc/0002-xtensa-add-custom-bits-poll.h.patch create mode 100644 buildroot/package/uclibc/0005-statfs.h-sync-generic-header-with-glibc.patch diff --git a/buildroot-external/configs/intel_nuc_defconfig b/buildroot-external/configs/intel_nuc_defconfig index e797576f4..25fa5ff96 100644 --- a/buildroot-external/configs/intel_nuc_defconfig +++ b/buildroot-external/configs/intel_nuc_defconfig @@ -61,6 +61,7 @@ BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_TINI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_OPENVMTOOLS=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_NETWORK=y diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 38ac51c84..959435bee 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -56,6 +56,7 @@ BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_TINI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_NETWORK=y BR2_PACKAGE_RNG_TOOLS=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index bc4209175..222ee1a42 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -51,6 +51,7 @@ BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_TINI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_OPENVMTOOLS=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_NETWORK=y diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index cf8fc6bca..dd5acfa87 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -59,6 +59,7 @@ BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_TINI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_NETWORK=y BR2_PACKAGE_RNG_TOOLS=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 5df5ec5cb..f2dcb99dd 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -58,6 +58,7 @@ BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_TINI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_NETWORK=y BR2_PACKAGE_RNG_TOOLS=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index e9441fd0c..090ca5240 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -59,6 +59,7 @@ BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_TINI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_NETWORK=y BR2_PACKAGE_RNG_TOOLS=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 61a11edf1..96616b2b8 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -59,6 +59,7 @@ BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_TINI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_NETWORK=y BR2_PACKAGE_RNG_TOOLS=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index a0d6be3a6..90bea68d2 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -58,6 +58,7 @@ BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_TINI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_NETWORK=y BR2_PACKAGE_RNG_TOOLS=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 1ebe43d6f..e097f1091 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -59,6 +59,7 @@ BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_TINI=y BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_RAUC=y BR2_PACKAGE_RAUC_NETWORK=y BR2_PACKAGE_RNG_TOOLS=y diff --git a/buildroot-patches/0003-docker-engine-add-AppArmor-support.patch b/buildroot-patches/0003-docker-engine-add-AppArmor-support.patch new file mode 100644 index 000000000..7361877bb --- /dev/null +++ b/buildroot-patches/0003-docker-engine-add-AppArmor-support.patch @@ -0,0 +1,26 @@ +From 4339c40ac56d11069adc4535ed2f220e5be60de5 Mon Sep 17 00:00:00 2001 +From: Pascal Vizeli +Date: Mon, 31 Dec 2018 00:32:24 +0000 +Subject: [PATCH 1/1] docker-engine: add AppArmor support + +Signed-off-by: Pascal Vizeli +--- + package/docker-engine/docker-engine.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk +index f19c1d9..0c6a04a 100644 +--- a/package/docker-engine/docker-engine.mk ++++ b/package/docker-engine/docker-engine.mk +@@ -17,7 +17,7 @@ DOCKER_ENGINE_LDFLAGS = \ + -X main.GitCommit=$(DOCKER_ENGINE_VERSION) \ + -X main.Version=$(DOCKER_ENGINE_VERSION) + +-DOCKER_ENGINE_TAGS = cgo exclude_graphdriver_zfs autogen ++DOCKER_ENGINE_TAGS = cgo exclude_graphdriver_zfs autogen apparmor + DOCKER_ENGINE_BUILD_TARGETS = cmd/dockerd + + ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +-- +2.17.1 + diff --git a/buildroot-patches/0003-docker-engine-bump-to-v18.09.0-ce.patch b/buildroot-patches/0003-docker-engine-bump-to-v18.09.0-ce.patch deleted file mode 100644 index f1cbc72cf..000000000 --- a/buildroot-patches/0003-docker-engine-bump-to-v18.09.0-ce.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 0ae02b1feb46e005a7addd6b5addd43ce6c34d2d Mon Sep 17 00:00:00 2001 -From: Pascal Vizeli -Date: Sun, 25 Nov 2018 16:18:33 +0000 -Subject: [PATCH 1/1] docker-engine: bump to v18.09.0-ce - -Signed-off-by: Pascal Vizeli ---- - package/docker-engine/docker-engine.hash | 2 +- - package/docker-engine/docker-engine.mk | 46 +++++++++++++++++------- - 2 files changed, 34 insertions(+), 14 deletions(-) - -diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash -index 6c0ed33..5ef89cc 100644 ---- a/package/docker-engine/docker-engine.hash -+++ b/package/docker-engine/docker-engine.hash -@@ -1,2 +1,2 @@ - # Locally calculated --sha256 4716df117d867b82ddab2e82395cd40aa3d0925a689eedcec8919729e4c9f121 docker-engine-v17.05.0-ce.tar.gz -+sha256 0f251f04b1973956f070c1d7ee2751a9663da2d9d701fbab7e957f0f5f310478 docker-engine-v18.09.0.tar.gz -diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk -index ba84b4c..0c3ab5b 100644 ---- a/package/docker-engine/docker-engine.mk -+++ b/package/docker-engine/docker-engine.mk -@@ -4,9 +4,8 @@ - # - ################################################################################ - --DOCKER_ENGINE_VERSION = v17.05.0-ce --DOCKER_ENGINE_COMMIT = 89658bed64c2a8fe05a978e5b87dbec409d57a0f --DOCKER_ENGINE_SITE = $(call github,docker,docker,$(DOCKER_ENGINE_VERSION)) -+DOCKER_ENGINE_VERSION = v18.09.0 -+DOCKER_ENGINE_SITE = $(call github,docker,docker-ce,$(DOCKER_ENGINE_VERSION)) - - DOCKER_ENGINE_LICENSE = Apache-2.0 - DOCKER_ENGINE_LICENSE_FILES = LICENSE -@@ -15,14 +14,16 @@ DOCKER_ENGINE_DEPENDENCIES = host-go host-pkgconf - - DOCKER_ENGINE_LDFLAGS = \ - -X main.GitCommit=$(DOCKER_ENGINE_VERSION) \ -- -X main.Version=$(DOCKER_ENGINE_VERSION) -+ -X main.Version=$(DOCKER_ENGINE_VERSION) \ -+ -X github.com/docker/cli/cli.GitCommit=$(DOCKER_ENGINE_VERSION) \ -+ -X github.com/docker/cli/cli.Version=$(DOCKER_ENGINE_VERSION) - - ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT),y) - DOCKER_ENGINE_LDFLAGS += -extldflags '-static' - endif - --DOCKER_ENGINE_TAGS = cgo exclude_graphdriver_zfs autogen --DOCKER_ENGINE_BUILD_TARGETS = cmd/docker -+DOCKER_ENGINE_TAGS = cgo exclude_graphdriver_zfs autogen apparmor -+DOCKER_ENGINE_BUILD_TARGETS = docker - - ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) - DOCKER_ENGINE_TAGS += seccomp -@@ -36,7 +37,7 @@ endif - - ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON),y) - DOCKER_ENGINE_TAGS += daemon --DOCKER_ENGINE_BUILD_TARGETS += cmd/dockerd -+DOCKER_ENGINE_BUILD_TARGETS += dockerd - endif - - ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL),y) -@@ -61,25 +62,26 @@ else - DOCKER_ENGINE_TAGS += exclude_graphdriver_vfs - endif - --DOCKER_ENGINE_INSTALL_BINS = $(notdir $(DOCKER_ENGINE_BUILD_TARGETS)) -- - define DOCKER_ENGINE_RUN_AUTOGEN -- cd $(@D) && \ -- GITCOMMIT="$$(echo $(DOCKER_ENGINE_COMMIT) | head -c7)" \ -+ ln -fs $(@D)/components/engine $(@D)/_gopath/src/github.com/docker/docker -+ ln -fs $(@D)/components/cli $(@D)/_gopath/src/github.com/docker/cli -+ cd $(@D)/components/engine && \ - BUILDTIME="$$(date)" \ -+ IAMSTATIC="true" \ - VERSION="$(patsubst v%,%,$(DOCKER_ENGINE_VERSION))" \ - PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" $(TARGET_MAKE_ENV) \ - bash ./hack/make/.go-autogen - endef - - DOCKER_ENGINE_POST_CONFIGURE_HOOKS += DOCKER_ENGINE_RUN_AUTOGEN -+DOCKER_ENGINE_INSTALL_BINS = $(notdir $(DOCKER_ENGINE_BUILD_TARGETS)) - - ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON),y) - - define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD -- $(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.service \ -+ $(INSTALL) -D -m 0644 $(@D)/components/engine/contrib/init/systemd/docker.service \ - $(TARGET_DIR)/usr/lib/systemd/system/docker.service -- $(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.socket \ -+ $(INSTALL) -D -m 0644 $(@D)/components/engine/contrib/init/systemd/docker.socket \ - $(TARGET_DIR)/usr/lib/systemd/system/docker.socket - mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ - ln -fs ../../../../usr/lib/systemd/system/docker.service \ -@@ -92,4 +94,22 @@ endef - - endif - -+define DOCKER_ENGINE_BUILD_CMDS -+ $(foreach target,$(DOCKER_ENGINE_BUILD_TARGETS), \ -+ cd $(@D)/$(DOCKER_ENGINE_WORKSPACE)/src/github.com/docker/$(if $(filter $(target),dockerd),docker,cli); \ -+ $(GO_TARGET_ENV) \ -+ GOPATH="$(@D)/$(DOCKER_ENGINE_WORKSPACE)" \ -+ $(DOCKER_ENGINE_GO_ENV) \ -+ $(GO_BIN) build -v $(DOCKER_ENGINE_BUILD_OPTS) \ -+ -o $(@D)/bin/$(target) \ -+ ./cmd/$(target) -+ ) -+endef -+ -+define DOCKER_ENGINE_INSTALL_SYMLINKS -+ ln -fs tini $(TARGET_DIR)/usr/bin/docker-init -+endef -+ -+DOCKER_ENGINE_POST_INSTALL_TARGET_HOOKS += DOCKER_ENGINE_INSTALL_SYMLINKS -+ - $(eval $(golang-package)) --- -2.17.1 - diff --git a/buildroot-patches/0010-dt-utils-fix-glibc.patch b/buildroot-patches/0010-dt-utils-fix-glibc.patch deleted file mode 100644 index f4613edd0..000000000 --- a/buildroot-patches/0010-dt-utils-fix-glibc.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 7e5094033df2efc88928071c6e7a2867c396ca68 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 3 Dec 2018 13:38:00 +0100 -Subject: package/dt-utils: fix build with glibc 2.28 - -This commit backports an upstream patch that fixes the build of -dt-utils with glibc 2.28+. - -Fixes bug #11536. - -Signed-off-by: Thomas Petazzoni ---- - ...pilation-for-glibc-version-2.27.9000-36.f.patch | 75 ++++++++++++++++++++++ - 1 file changed, 75 insertions(+) - create mode 100644 package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch - -diff --git a/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch b/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch -new file mode 100644 -index 0000000..8c2f585 ---- /dev/null -+++ b/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch -@@ -0,0 +1,75 @@ -+From 1c80e31872aec9f2ef7eca6a52aa89c0ea759d8f Mon Sep 17 00:00:00 2001 -+From: Enrico Joerns -+Date: Wed, 5 Sep 2018 12:28:28 +0200 -+Subject: [PATCH] src: fix compilation for glibc version 2.27.9000-36.fc29 and -+ newer -+ -+As recent glibc versions (>= 2.27.9000-36.fc29) also define 'struct -+statx' which is also defined in linux/stat.h, compilation fails with -+error: -+ -+| In file included from ../dt-utils-2018.05.0/src/crypto/digest.c:24: -+| [..]/usr/include/linux/stat.h:56:8: error: redefinition of 'struct statx_timestamp' -+| struct statx_timestamp { -+| ^~~~~~~~~~~~~~~ -+| In file included from [..]/usr/include/sys/stat.h:446, -+| from ../dt-utils-2018.05.0/src/dt/common.h:15, -+| from ../dt-utils-2018.05.0/src/crypto/digest.c:19: -+| [..]/usr/include/bits/statx.h:25:8: note: originally defined here -+| struct statx_timestamp -+| ^~~~~~~~~~~~~~~ -+| In file included from ../dt-utils-2018.05.0/src/crypto/digest.c:24: -+| [..]/usr/include/linux/stat.h:99:8: error: redefinition of 'struct statx' -+| struct statx { -+| ^~~~~ -+| In file included from [..]/usr/include/sys/stat.h:446, -+| from ../dt-utils-2018.05.0/src/dt/common.h:15, -+| from ../dt-utils-2018.05.0/src/crypto/digest.c:19: -+| [..]/usr/include/bits/statx.h:36:8: note: originally defined here -+| struct statx -+| ^~~~~ -+ -+The linux/stat.h originates from the code that was copied from barebox -+but is not explicitly required to be linux/stat.h instead of sys/stat.h -+and we do not actually use struct statx. -+ -+Thus it is safe to simply replace occurrences of linux/stat.h by -+sys/stat.h to fix compilation. -+ -+Signed-off-by: Enrico Joerns -+[Thomas: backport from upstream.] -+Signed-off-by: Thomas Petazzoni -+--- -+ src/barebox-state/backend_storage.c | 2 +- -+ src/crypto/digest.c | 2 +- -+ 2 files changed, 2 insertions(+), 2 deletions(-) -+ -+diff --git a/src/barebox-state/backend_storage.c b/src/barebox-state/backend_storage.c -+index 53fe829..1052656 100644 -+--- a/src/barebox-state/backend_storage.c -++++ b/src/barebox-state/backend_storage.c -+@@ -19,7 +19,7 @@ -+ #include -+ #include -+ #include -+-#include -++#include -+ #include -+ #include -+ #include -+diff --git a/src/crypto/digest.c b/src/crypto/digest.c -+index 7a8c3c0..8353412 100644 -+--- a/src/crypto/digest.c -++++ b/src/crypto/digest.c -+@@ -21,7 +21,7 @@ -+ #include -+ #include -+ #include -+-#include -++#include -+ #include -+ #include -+ #include -+-- -+2.19.2 -+ --- -cgit v0.12 - diff --git a/buildroot-patches/0011-tini-make-static-for-docker.patch b/buildroot-patches/0010-tini-make-static-for-docker.patch similarity index 100% rename from buildroot-patches/0011-tini-make-static-for-docker.patch rename to buildroot-patches/0010-tini-make-static-for-docker.patch diff --git a/buildroot-patches/0012-openvmtools-bump-version-to-10.3.5.patch b/buildroot-patches/0011-openvmtools-bump-version-to-10.3.5.patch similarity index 100% rename from buildroot-patches/0012-openvmtools-bump-version-to-10.3.5.patch rename to buildroot-patches/0011-openvmtools-bump-version-to-10.3.5.patch diff --git a/buildroot/CHANGES b/buildroot/CHANGES index edefd4bab..c4ccda92e 100644 --- a/buildroot/CHANGES +++ b/buildroot/CHANGES @@ -1,3 +1,26 @@ +2018.11.1, Released December 20th, 2018 + + Important / security related fixes. + + defconfigs: Fixes for bananapi m2 ultra, ci20 + + Download wrapper: Fix for urlencode handling + + Updated/fixed packages: asterisk, docker-compose, + docker-engine, dt-utils, gnutls, go, grub, libbsd, libcurl, + libpgpme, libiscsi, liblo, libmpd, libopenssl, liboping, + libpam-tacplus, libpjsip, linux-firmware, liquid-dsp, + lua-cqueue, luvi, lxc, lynx, nginx, nodejs, openzwave, php, + pps-tools, proftpd, prosody, sdl2_net, squashfs, swupdate, + uclibc, vtu, webkitgtk, wine, xen + + New packages: docker-cli + + Issues resolved (http://bugs.uclibc.org): + + #11426: pps-tools bash dependency + #11536: dt-utils building fails with glibc 2.28 + 2018.11, Released December 1st, 2018 Minor fixes. diff --git a/buildroot/Config.in.legacy b/buildroot/Config.in.legacy index a5e0c9fe4..02321c88a 100644 --- a/buildroot/Config.in.legacy +++ b/buildroot/Config.in.legacy @@ -241,6 +241,15 @@ config BR2_PACKAGE_LIBNFTNL_XML ############################################################################### comment "Legacy options removed in 2018.08" +config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT + bool "docker-engine static client option renamed" + select BR2_LEGACY + select BR2_PACKAGE_DOCKER_CLI_STATIC + help + BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT has been renamed to + BR2_PACKAGE_DOCKER_CLI_STATIC, following the package split of + docker-engine and docker-cli. + config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 bool "Modular X.org server was updated to version 1.20.0" select BR2_LEGACY diff --git a/buildroot/Makefile b/buildroot/Makefile index c4c34b0ff..dd8cc7a9a 100644 --- a/buildroot/Makefile +++ b/buildroot/Makefile @@ -92,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2018.11 +export BR2_VERSION := 2018.11.1 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1543701000 +BR2_VERSION_EPOCH = 1545257000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) diff --git a/buildroot/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch b/buildroot/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch new file mode 100644 index 000000000..a6191804f --- /dev/null +++ b/buildroot/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch @@ -0,0 +1,66 @@ +From b3a1e97498e7987073775d49a703932c20f2df1d Mon Sep 17 00:00:00 2001 +From: Ezequiel Garcia +Date: Mon, 12 Nov 2018 14:04:46 -0300 +Subject: [PATCH] mips: Remove default endiannes + +Currently, trying to build ci20_mmc fails on little-endian +toolchains. The problem seems to be that some targets don't +have CONFIG_SYS_LITTLE_ENDIAN properly set, and therefore +the default -EB switch is selected. + +Let's get rid of the default switch entirely, and fix this problem. +While this may be a hack, it is a quick solution until +U-Boot gets CI20 proper support. + +make ARCH=mips CROSS_COMPILE=mips-linux-gnu- ci20_mmc +Configuring for ci20_mmc - Board: ci20, Options: SPL_MMC_SUPPORT,ENV_IS_IN_MMC +make +make[1]: Entering directory '/home/zeta/repos/u-boot-ci20' +Generating include/autoconf.mk +Generating include/autoconf.mk.dep +mips-linux-gnu-gcc: error: may not use both -EB and -EL +mips-linux-gnu-gcc: error: may not use both -EB and -EL +Generating include/spl-autoconf.mk +mips-linux-gnu-gcc: error: may not use both -EB and -EL +Generating include/tpl-autoconf.mk +mips-linux-gnu-gcc: error: may not use both -EB and -EL +mips-linux-gnu-gcc -DDO_DEPS_ONLY \ + -g -Os -ffunction-sections -fdata-sections -D__KERNEL__ -I/home/zeta/repos/u-boot-ci20/include -fno-builtin -ffreestanding -nostdinc -isystem /home/zeta/repos/buildroot/mips/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.3.0/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -EB -msoft-float -fpic -mabicalls -march=mips32 -mabi=32 -DCONFIG_32BIT -mno-branch-likely -Wall -Wstrict-prototypes \ + -o lib/asm-offsets.s lib/asm-offsets.c -c -S +if [ -f arch/mips/cpu/xburst/jz4780/asm-offsets.c ];then \ + mips-linux-gnu-gcc -DDO_DEPS_ONLY \ + -g -Os -ffunction-sections -fdata-sections -D__KERNEL__ -I/home/zeta/repos/u-boot-ci20/include -fno-builtin -ffreestanding -nostdinc -isystem /home/zeta/repos/buildroot/mips/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.3.0/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -EB -msoft-float -fpic -mabicalls -march=mips32 -mabi=32 -DCONFIG_32BIT -mno-branch-likely -Wall -Wstrict-prototypes \ + -o arch/mips/cpu/xburst/jz4780/asm-offsets.s arch/mips/cpu/xburst/jz4780/asm-offsets.c -c -S; \ +else \ + touch arch/mips/cpu/xburst/jz4780/asm-offsets.s; \ +fi +mips-linux-gnu-gcc: error: may not use both -EB and -EL +make[1]: *** [Makefile:747: lib/asm-offsets.s] Error 1 +make[1]: *** Waiting for unfinished jobs.... +make[1]: Leaving directory '/home/zeta/repos/u-boot-ci20' +make: *** [.boards.depend:463: ci20_mmc] Error 2 + +Signed-off-by: Ezequiel Garcia +--- +https://github.com/MIPS/CI20_u-boot/pull/19 + + arch/mips/config.mk | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/arch/mips/config.mk b/arch/mips/config.mk +index c89279025507..43560abbc0e1 100644 +--- a/arch/mips/config.mk ++++ b/arch/mips/config.mk +@@ -20,9 +20,6 @@ ifdef CONFIG_SYS_BIG_ENDIAN + ENDIANNESS := -EB + endif + +-# Default to EB if no endianess is configured +-ENDIANNESS ?= -EB +- + PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__ + + # +-- +2.19.1 + diff --git a/buildroot/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch b/buildroot/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch new file mode 100644 index 000000000..cd8b5e73c --- /dev/null +++ b/buildroot/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch @@ -0,0 +1,74 @@ +From 842c390469e2c2e10b5aa36700324cd3bde25875 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Sat, 17 Feb 2018 06:47:28 -0800 +Subject: [PATCH] x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32 + +Starting from binutils commit bd7ab16b4537788ad53521c45469a1bdae84ad4a: + +https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd7ab16b4537788ad53521c45469a1bdae84ad4a + +x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for +32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as +R_X86_64_PC32. + +Signed-off-by: H.J. Lu +Reviewed-by: Daniel Kiper +Signed-off-by: Romain Naour +--- + grub-core/efiemu/i386/loadcore64.c | 1 + + grub-core/kern/x86_64/dl.c | 1 + + util/grub-mkimagexx.c | 1 + + util/grub-module-verifier.c | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c +index e49d0b6..18facf4 100644 +--- a/grub-core/efiemu/i386/loadcore64.c ++++ b/grub-core/efiemu/i386/loadcore64.c +@@ -98,6 +98,7 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs, + break; + + case R_X86_64_PC32: ++ case R_X86_64_PLT32: + err = grub_efiemu_write_value (addr, + *addr32 + rel->r_addend + + sym.off +diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c +index 4406906..3a73e6e 100644 +--- a/grub-core/kern/x86_64/dl.c ++++ b/grub-core/kern/x86_64/dl.c +@@ -70,6 +70,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr, + break; + + case R_X86_64_PC32: ++ case R_X86_64_PLT32: + { + grub_int64_t value; + value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value - +diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c +index a2bb054..39d7efb 100644 +--- a/util/grub-mkimagexx.c ++++ b/util/grub-mkimagexx.c +@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections, + break; + + case R_X86_64_PC32: ++ case R_X86_64_PLT32: + { + grub_uint32_t *t32 = (grub_uint32_t *) target; + *t32 = grub_host_to_target64 (grub_target_to_host32 (*t32) +diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c +index 9179285..a79271f 100644 +--- a/util/grub-module-verifier.c ++++ b/util/grub-module-verifier.c +@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = { + -1 + }, (int[]){ + R_X86_64_PC32, ++ R_X86_64_PLT32, + -1 + } + }, +-- +2.7.4 + diff --git a/buildroot/configs/bananapi_m2_ultra_defconfig b/buildroot/configs/bananapi_m2_ultra_defconfig index 5dd3edd66..bc1d31a60 100644 --- a/buildroot/configs/bananapi_m2_ultra_defconfig +++ b/buildroot/configs/bananapi_m2_ultra_defconfig @@ -1,5 +1,6 @@ BR2_arm=y BR2_cortex_a7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M2 Ultra" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bananapi/bananapi-m2-ultra/genimage.cfg" diff --git a/buildroot/configs/ci20_defconfig b/buildroot/configs/ci20_defconfig index 6e860b1e7..8f2604b07 100644 --- a/buildroot/configs/ci20_defconfig +++ b/buildroot/configs/ci20_defconfig @@ -27,6 +27,7 @@ BR2_TARGET_UBOOT_BOARDNAME="ci20_mmc" BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/MIPS/CI20_u-boot" BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="dd3c1b95dac7d10b2ca5806f65e5c1050d7dd0fa" +BR2_TARGET_UBOOT_PATCH="board/ci20/patches/uboot" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin" diff --git a/buildroot/docs/manual/manual.html b/buildroot/docs/manual/manual.html index f41b4c429..75b70d60a 100644 --- a/buildroot/docs/manual/manual.html +++ b/buildroot/docs/manual/manual.html @@ -1,8 +1,8 @@ -The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Infrastructure for Meson-based packages
17.16. Integration of Cargo-based packages
17.17. Infrastructure for Go packages
17.18. Infrastructure for packages building kernel modules
17.19. Infrastructure for asciidoc documents
17.20. Infrastructure specific to the Linux kernel package
17.21. Hooks available in the various build steps
17.22. Gettext integration and interaction with packages
17.23. Tips and tricks
17.24. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2018.11 manual generated on 2018-12-01 -22:08:55 UTC from git revision 9089a9ff30

The Buildroot manual is written by the Buildroot developers. +The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Infrastructure for Meson-based packages
17.16. Integration of Cargo-based packages
17.17. Infrastructure for Go packages
17.18. Infrastructure for packages building kernel modules
17.19. Infrastructure for asciidoc documents
17.20. Infrastructure specific to the Linux kernel package
17.21. Hooks available in the various build steps
17.22. Gettext integration and interaction with packages
17.23. Tips and tricks
17.24. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2018.11.1 manual generated on 2018-12-19 +22:05:45 UTC from git revision 29675f8e54

The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to the -COPYING +COPYING file in the Buildroot sources for the full text of this license.

Copyright © 2004-2018 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of building a complete Linux system for an embedded system, using cross-compilation.

In order to achieve this, Buildroot is able to generate a @@ -16,8 +16,8 @@ processors everyone is used to having in his PC. They can be PowerPC processors, MIPS processors, ARM processors, etc.

Buildroot supports numerous processors and their variants; it also comes with default configurations for several boards available off-the-shelf. Besides this, a number of third-party projects are based on, -or develop their BSP [1] or -SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the +or develop their BSP [1] or +SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the compilation, certain standard Linux utilities are expected to be already installed on the host system. Below you will find an overview of the mandatory and optional packages (note that package names may vary @@ -272,7 +272,7 @@ processor. Under most Linux systems, the compilation toolchain uses the GNU libc (glibc) as the C standard library. This compilation toolchain is called the "host compilation toolchain". The machine on which it is running, and on which you’re working, is called the "host -system" [3].

The compilation toolchain is provided by your distribution, and +system" [3].

The compilation toolchain is provided by your distribution, and Buildroot has nothing to do with it (other than using it to build a cross-compilation toolchain and other tools that are run on the development host).

As said above, the compilation toolchain that comes with your system @@ -547,7 +547,7 @@ The third solution is systemd. http://www.freedesktop.org/wiki/Software/systemd.

The solution recommended by Buildroot developers is to use the BusyBox init as it is sufficient for most embedded -systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU +systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU configure, where the host is the machine on which the application will run (which is usually the same as target)

Chapter 7. Configuration of other components

Before attempting to modify any of the components below, make sure you have already configured Buildroot itself, and have enabled the @@ -2653,7 +2653,7 @@ flags. The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file name(s) of the shell script(s) needing fixing. All these names are relative to $(STAGING_DIR)/usr/bin and if needed multiple names can be given.

In addition, the scripts listed in LIBFOO_CONFIG_SCRIPTS are removed -from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

Example 17.1. Config script: divine package

Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

So its fixup would be:

DIVINE_CONFIG_SCRIPTS = divine-config

Example 17.2. Config script: imagemagick package:

Package imagemagick installs the following scripts: +from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

Example 17.1. Config script: divine package

Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

So its fixup would be:

DIVINE_CONFIG_SCRIPTS = divine-config

Example 17.2. Config script: imagemagick package:

Package imagemagick installs the following scripts: $(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config

So it’s fixup would be:

IMAGEMAGICK_CONFIG_SCRIPTS = \
    Magick-config Magick++-config \
    MagickCore-config MagickWand-config Wand-config

On line 14, we specify the list of dependencies this package relies @@ -4916,7 +4916,7 @@ large number of commits in the series;

  • deep impact of the changes in the rest of the project;
  • -RFC [4]; +RFC [4];
  • whenever you feel it will help presenting your work, your choices, the review process, etc. @@ -4998,7 +4998,7 @@ pastebin service. Note that not all available pastebin services will preserve Unix-style line terminators when downloading raw pastes. Following pastebin services are known to work correctly: - https://gist.github.com/ -- http://code.bulix.org/



  • [4] RFC: (Request for comments) change proposal

    Chapter 22. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that +- http://code.bulix.org/



    [4] RFC: (Request for comments) change proposal

    Chapter 22. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that lists the developers involved with various areas of Buildroot. Thanks to this file, the get-developer tool allows to: