diff --git a/firmware/buildroot/CHANGES b/firmware/buildroot/CHANGES index 347fa756..c8b63521 100644 --- a/firmware/buildroot/CHANGES +++ b/firmware/buildroot/CHANGES @@ -1,3 +1,45 @@ +2016.02, Released March 1st, 2016 + + Minor fixes, mostly security related. + + Circular dependency issue with same-as-kernel linux-headers + option fixed. + + Updated/fixed packages: bluez5_utils, heirloom-mailx, + imx-gpu-viv, kodi-pvr-argustv, kodi-pvr-mediaportal-tvserver, + kodi-pvr-nextpvr, libfcgi, openssl, pifmrds, powerpc-utils, + python-m2crypto, slang, sox, squid, tn5250, xerces, zsh + +2016.02-rc3, Released February 27th, 2016 + + Fixes all over the tree. + + Defconfigs: Ensure EABIhf is correctly enabled for ARM cores + where VFP is optional (but present on the specific hw). Fix + ARM variant selection for freescale_imx31_3stack_defconfig. + + Ensure tarballs of downloaded git trees do not contain a + timestamp. + + Clarify license of patches in COPYING. + + Updated/fixed package: avahi, binutils, cairo, can-festival, + chrony, cifs-utils, dnsmasq, dvdauthor, e2fsprogs, efl, + erlang-rebar, eudev, fbterm, gawk, gnupg2, gnuradio, gpm, + gst1-plugins-good, hostapd, imagemagick, iproute2, iputils, + jack2, kexec, kismet, lftp, libarchive, libeXosip2, libfm, + libglib2, libsoil, libssh, libssh2, libuci, links, lshw, lxc, + mediastreamer, mono, mraa, mutt, nfs-utils, numactl, ofono, + omniorb, openipmi, openobex, patch, pax-utils, perf, + pulseaudio, pure-ftp, qhull, qt, quagga, quota, sdl_sound, + shairport-sync, spice, sysklogd, syslog-ng, trace-cmd, + trousers, tvheadend, util-linux, vim, webkitgtk24, wireshark, + wpa_supplicant, xerces, zsh + + Issues resolved (http://bugs.uclibc.org): + + #8651: libMonoPosixHelper.so wrong link reference in buildroot.. + 2016.02-rc2, Released February 18th, 2016 Fixes all over the tree. @@ -37,6 +79,11 @@ A number of defconfigs have been extended to generate complete system images using genimage. + Linux: Automatically patch timeconst.pl for <3.9 kernels, + which isn't compatible with modern perl versions, breaking the + build when building on recent (Fedora 23, Debian + Testing/Unstable, ..) distributions. + Makedevs utility now accepts textual (non-numerical) user and group names. diff --git a/firmware/buildroot/COPYING b/firmware/buildroot/COPYING index d511905c..0c018b03 100644 --- a/firmware/buildroot/COPYING +++ b/firmware/buildroot/COPYING @@ -1,3 +1,19 @@ +With the exceptions below, Buildroot is distributed under the terms of +the GNU General Public License, reproduced below; either version 2 of +the License, or (at your option) any later version. + +Some files in Buildroot contain a different license statement. Those +files are licensed under the license contained in the file itself. + +Buildroot also bundles patch files, which are applied to the sources +of the various packages. Those patches are not covered by the license +of Buildroot. Instead, they are covered by the license of the software +to which the patches are applied. When said software is available +under multiple licenses, the Buildroot patches are only provided under +the publicly accessible licenses. + +----------------------------------------------------------------- + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 diff --git a/firmware/buildroot/Makefile b/firmware/buildroot/Makefile index 90018b4f..63502d04 100644 --- a/firmware/buildroot/Makefile +++ b/firmware/buildroot/Makefile @@ -41,7 +41,7 @@ else # umask all: # Set and export the version string -export BR2_VERSION := 2016.02-rc2 +export BR2_VERSION := 2016.02 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -94,7 +94,7 @@ noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconf # something else than one of the nobuild_targets. nobuild_targets := source source-check \ legal-info external-deps _external-deps \ - clean distclean + clean distclean help ifeq ($(MAKECMDGOALS),) BR_BUILDING = y else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),) diff --git a/firmware/buildroot/board/calao/snowball/linux-3.4.patch b/firmware/buildroot/board/calao/snowball/linux-3.4.patch deleted file mode 100644 index 4e6fb518..00000000 --- a/firmware/buildroot/board/calao/snowball/linux-3.4.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 3d1a9b44b9dcd2c0f5d54c09596c96c0524d8340 Mon Sep 17 00:00:00 2001 -From: Gregory Hermant -Date: Tue, 13 Nov 2012 11:47:41 +0100 -Subject: [PATCH] trace-debug[stm]: Fix for BT/WLAN instability - -Pins under mop500_ske_pins array are used for different -functionalities in snowball. Ex: GPIO161 pin configured -for keypad here must stay configured as GPIO alternate -function for operating PMU_EN pin of BT/WLAN chip in snowball. -So forbid configuring these pins, for snowball - -Signed-off-by: Rajanikanth H.V -Signed-off-by: Gregory Hermant ---- - arch/arm/mach-ux500/board-mop500-stm.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/mach-ux500/board-mop500-stm.c b/arch/arm/mach-ux500/board-mop500-stm.c -index 1bef2a0..532fb9e 100644 ---- a/arch/arm/mach-ux500/board-mop500-stm.c -+++ b/arch/arm/mach-ux500/board-mop500-stm.c -@@ -121,7 +121,9 @@ static int stm_ste_disable_ape_on_mipi60(void) - if (retval) - STM_ERR("Failed to disable MIPI60\n"); - else { -- retval = nmk_config_pins(ARRAY_AND_SIZE(mop500_ske_pins)); -+ if (!machine_is_snowball()) -+ retval = nmk_config_pins( -+ ARRAY_AND_SIZE(mop500_ske_pins)); - if (retval) - STM_ERR("Failed to enable SKE gpio\n"); - } -@@ -314,7 +316,8 @@ static int stm_ste_connection(enum stm_connection_type con_type) - /* Enable altC3 on GPIO70-74 (STMMOD) and GPIO75-76 (UARTMOD) */ - prcmu_enable_stm_mod_uart(); - /* Enable APE on MIPI60 */ -- retval = nmk_config_pins_sleep(ARRAY_AND_SIZE(mop500_ske_pins)); -+ if (!machine_is_snowball()) -+ retval = nmk_config_pins_sleep(ARRAY_AND_SIZE(mop500_ske_pins)); - if (retval) - STM_ERR("Failed to disable SKE GPIO\n"); - else { --- -1.7.9.5 - diff --git a/firmware/buildroot/build/docs/.gitignore b/firmware/buildroot/build/docs/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/firmware/buildroot/configs/altera_socdk_defconfig b/firmware/buildroot/configs/altera_socdk_defconfig index f1916df1..6b05a270 100644 --- a/firmware/buildroot/configs/altera_socdk_defconfig +++ b/firmware/buildroot/configs/altera_socdk_defconfig @@ -1,7 +1,7 @@ BR2_arm=y BR2_cortex_a9=y -BR2_ARM_EABIHF=y +BR2_ARM_ENABLE_VFP=y BR2_ARM_ENABLE_NEON=y BR2_ARM_FPU_NEON=y BR2_ARM_INSTRUCTIONS_THUMB2=y diff --git a/firmware/buildroot/configs/altera_sockit_defconfig b/firmware/buildroot/configs/altera_sockit_defconfig index d2f219fd..6bd3a715 100644 --- a/firmware/buildroot/configs/altera_sockit_defconfig +++ b/firmware/buildroot/configs/altera_sockit_defconfig @@ -1,7 +1,7 @@ BR2_arm=y BR2_cortex_a9=y -BR2_ARM_EABIHF=y +BR2_ARM_ENABLE_VFP=y BR2_ARM_ENABLE_NEON=y BR2_ARM_FPU_NEON=y BR2_ARM_INSTRUCTIONS_THUMB2=y diff --git a/firmware/buildroot/configs/atmel_sama5d3_xplained_defconfig b/firmware/buildroot/configs/atmel_sama5d3_xplained_defconfig index 74f613c5..665a3d7c 100644 --- a/firmware/buildroot/configs/atmel_sama5d3_xplained_defconfig +++ b/firmware/buildroot/configs/atmel_sama5d3_xplained_defconfig @@ -1,7 +1,6 @@ BR2_arm=y BR2_cortex_a5=y -BR2_ARM_EABIHF=y -BR2_ARM_FPU_VFPV4D16=y +BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y # Linux headers same as kernel, a 3.18 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y diff --git a/firmware/buildroot/configs/atmel_sama5d3_xplained_mmc_defconfig b/firmware/buildroot/configs/atmel_sama5d3_xplained_mmc_defconfig index a0c13298..1a757675 100644 --- a/firmware/buildroot/configs/atmel_sama5d3_xplained_mmc_defconfig +++ b/firmware/buildroot/configs/atmel_sama5d3_xplained_mmc_defconfig @@ -1,7 +1,7 @@ # Architecture BR2_arm=y BR2_cortex_a5=y -BR2_ARM_EABIHF=y +BR2_ARM_ENABLE_VFP=y # Linux headers same as kernel, a 3.18 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y diff --git a/firmware/buildroot/configs/atmel_sama5d3xek_defconfig b/firmware/buildroot/configs/atmel_sama5d3xek_defconfig index 64eabe81..193fa136 100644 --- a/firmware/buildroot/configs/atmel_sama5d3xek_defconfig +++ b/firmware/buildroot/configs/atmel_sama5d3xek_defconfig @@ -1,7 +1,6 @@ BR2_arm=y BR2_cortex_a5=y -BR2_ARM_EABIHF=y -BR2_ARM_FPU_VFPV4D16=y +BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y # Linux headers same as kernel, a 3.18 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y diff --git a/firmware/buildroot/configs/atmel_sama5d4_xplained_defconfig b/firmware/buildroot/configs/atmel_sama5d4_xplained_defconfig index 67e2eb2f..0991f86f 100644 --- a/firmware/buildroot/configs/atmel_sama5d4_xplained_defconfig +++ b/firmware/buildroot/configs/atmel_sama5d4_xplained_defconfig @@ -1,8 +1,7 @@ BR2_arm=y BR2_cortex_a5=y -BR2_ARM_EABIHF=y BR2_ARM_ENABLE_NEON=y -BR2_ARM_FPU_VFPV4D16=y +BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y # Linux headers same as kernel, a 3.18 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y diff --git a/firmware/buildroot/configs/atmel_sama5d4ek_defconfig b/firmware/buildroot/configs/atmel_sama5d4ek_defconfig index 73d0a185..92b08400 100644 --- a/firmware/buildroot/configs/atmel_sama5d4ek_defconfig +++ b/firmware/buildroot/configs/atmel_sama5d4ek_defconfig @@ -1,8 +1,7 @@ BR2_arm=y BR2_cortex_a5=y -BR2_ARM_EABIHF=y BR2_ARM_ENABLE_NEON=y -BR2_ARM_FPU_VFPV4D16=y +BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y # Linux headers same as kernel, a 3.18 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y diff --git a/firmware/buildroot/configs/freescale_imx31_3stack_defconfig b/firmware/buildroot/configs/freescale_imx31_3stack_defconfig index df8c00d2..ead520ae 100644 --- a/firmware/buildroot/configs/freescale_imx31_3stack_defconfig +++ b/firmware/buildroot/configs/freescale_imx31_3stack_defconfig @@ -1,6 +1,6 @@ # architecture BR2_arm=y -BR2_arm1136jf_s_r0=y +BR2_arm1136jf_s=y BR2_ARM_EABIHF=y # Linux headers same as kernel, a 3.15 series diff --git a/firmware/buildroot/configs/riotboard_defconfig b/firmware/buildroot/configs/riotboard_defconfig index b6d69a80..73677c7c 100644 --- a/firmware/buildroot/configs/riotboard_defconfig +++ b/firmware/buildroot/configs/riotboard_defconfig @@ -1,7 +1,7 @@ # architecture BR2_arm=y BR2_cortex_a9=y -BR2_ARM_EABIHF=y +BR2_ARM_ENABLE_VFP=y # system BR2_TARGET_GENERIC_GETTY=y diff --git a/firmware/buildroot/configs/udoo_quad_defconfig b/firmware/buildroot/configs/udoo_quad_defconfig index bcc19231..6cb05be3 100644 --- a/firmware/buildroot/configs/udoo_quad_defconfig +++ b/firmware/buildroot/configs/udoo_quad_defconfig @@ -1,8 +1,7 @@ # Architceture BR2_arm=y BR2_cortex_a9=y -BR2_ARM_EABIHF=y -BR2_ARM_FPU_VFPV3=y +BR2_ARM_ENABLE_VFP=y # Linux headers same as kernel, a 3.0 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y diff --git a/firmware/buildroot/configs/via_imx6_vab820_defconfig b/firmware/buildroot/configs/via_imx6_vab820_defconfig index 268b96e5..d2f62c54 100644 --- a/firmware/buildroot/configs/via_imx6_vab820_defconfig +++ b/firmware/buildroot/configs/via_imx6_vab820_defconfig @@ -1,8 +1,7 @@ # Architecture BR2_arm=y BR2_cortex_a9=y -BR2_ARM_EABIHF=y -BR2_ARM_FPU_VFPV3=y +BR2_ARM_ENABLE_VFP=y # Linux headers same as kernel, a 3.10 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y diff --git a/firmware/buildroot/configs/xilinx_zc706_defconfig b/firmware/buildroot/configs/xilinx_zc706_defconfig index 5563dc88..d1a46ca1 100644 --- a/firmware/buildroot/configs/xilinx_zc706_defconfig +++ b/firmware/buildroot/configs/xilinx_zc706_defconfig @@ -1,6 +1,6 @@ BR2_arm=y BR2_cortex_a9=y -BR2_ARM_EABIHF=y +BR2_ARM_ENABLE_VFP=y BR2_ARM_ENABLE_NEON=y # Linux headers same as kernel, a 3.14 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y diff --git a/firmware/buildroot/docs/manual/contribute.txt b/firmware/buildroot/docs/manual/contribute.txt index b74897d2..1b1f4de1 100644 --- a/firmware/buildroot/docs/manual/contribute.txt +++ b/firmware/buildroot/docs/manual/contribute.txt @@ -182,10 +182,87 @@ _Please, do not attach patches to bugs, send them to the mailing list instead_. If you made some changes to Buildroot and you would like to contribute -them to the Buildroot project, proceed as follows. Starting from the -changes committed in your local git view, _rebase_ your development -branch on top of the upstream tree before generating a patch set. To do -so, run: +them to the Buildroot project, proceed as follows. + +==== The formatting of a patch + +We expect patches to be formatted in a specific way. This is necessary +to make it easy to review patches, to be able to apply them easily to +the git repository, to make it easy to find back in the history how +and why things have changed, and to make it possible to use +git +bisect+ to locate the origin of a problem. + +First of all, it is essential that the patch has a good commit +message. The commit message should start with a separate line with a +brief summary of the change, starting with the name of the affected +package. The body of the commit message should describe _why_ this +change is needed, and if necessary also give details about _how_ it +was done. When writing the commit message, think of how the reviewers +will read it, but also think about how you will read it when you look +at this change again a few years down the line. + +Second, the patch itself should do only one change, but do it +completely. Two unrelated or weakly related changes should usually be +done in two separate patches. This usually means that a patch affects +only a single package. If several changes are related, it is often +still possible to split them up in small patches and apply them in a +specific order. Small patches make it easier to review, and often +make it easier to understand afterwards why a change was done. +However, each patch must be complete. It is not allowed that the +build is broken when only the first but not the second patch is +applied. This is necessary to be able to use +git bisect+ afterwards. + +Of course, while you're doing your development, you're probably going +back and forth between packages, and certainly not committing things +immediately in a way that is clean enough for submission. So most +developers rewrite the history of commits to produce a clean set of +commits that is appropriate for submission. To do this, you need to +use _interactive rebasing_. You can learn about it +https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History[in the Pro +Git book]. Sometimes, it is even easier to discard you history with ++git reset --soft origin/master+ and select individual changes with ++git add -i+ or +git add -p+. + +Finally, the patch should be signed off. This is done by adding ++Signed-off-by: Your Real Name + at the end of the +commit message. +git commit -s+ does that for you, if configured +properly. The +Signed-off-by+ tag means that you publish the patch +under the Buildroot license (i.e. GPLv2, except for package patches, +which have the upstream license), and that you are allowed to do so. +See http://developercertificate.org/[the Developer Certificate of +Origin] for details. + +When adding new packages, you should submit every package in a +separate patch. This patch should have the update to ++package/Config.in+, the package +Config.in+ file, the +.mk+ file, the ++.hash+ file, any init script, and all package patches. If the package +has many sub-options, these are sometimes better added as separate +follow-up patches. The summary line should be something like ++: new package+. The body of the commit message can be +empty for simple packages, or it can contain the description of the +package (like the Config.in help text). If anything special has to be +done to build the package, this should also be explained explicitly in +the commit message body. + +When you bump a package to a new version, you should also submit a +separate patch for each package. Don't forget to update the +.hash+ +file, or add it if it doesn't exist yet. Also don't forget to check if +the +_LICENSE+ and +_LICENSE_FILES+ are still valid. The summary line +should be something like +: bump to version +. If the new version only contains security updates compared +to the existing one, the summary should be +: security +bump to version + and the commit message body should show +the CVE numbers that are fixed. If some package patches can be removed +in the new version, it should be explained explicitly why they can be +removed, preferably with the upstream commit ID. Also any other +required changes should be explained explicitly, like configure +options that no longer exist or are no longer needed. + +==== Preparing a patch series + +Starting from the changes committed in your local git view, _rebase_ +your development branch on top of the upstream tree before generating +a patch set. To do so, run: --------------------- $ git fetch --all --tags diff --git a/firmware/buildroot/docs/manual/legal-notice.txt b/firmware/buildroot/docs/manual/legal-notice.txt index 58952243..0572daee 100644 --- a/firmware/buildroot/docs/manual/legal-notice.txt +++ b/firmware/buildroot/docs/manual/legal-notice.txt @@ -74,6 +74,9 @@ file to inform you of relevant material that could not be saved. Here is a list of the licenses that are most widely used by packages in Buildroot, with the name used in the manifest files: +* `AGPLv3`: + http://www.gnu.org/licenses/agpl-3.0.en.html[ + GNU Affero General Public License, version 3]; * `GPLv2`: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[ GNU General Public License, version 2]; @@ -131,11 +134,13 @@ Buildroot, with the name used in the manifest files: http://apache.org/licenses/LICENSE-2.0.html[ Apache License, version 2.0]; +[[legal-info-buildroot]] === Complying with the Buildroot license Buildroot itself is an open source software, released under the -http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General Public -License, version 2] or (at your option) any later version. +http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General +Public License, version 2] or (at your option) any later version, with +the exception of the package patches detailed below. However, being a build system, it is not normally part of the end product: if you develop the root filesystem, kernel, bootloader or toolchain for a device, the code of Buildroot is only present on the development machine, not @@ -156,3 +161,14 @@ material that must be redistributed. Keep in mind that this is only the Buildroot developers' opinion, and you should consult your legal department or lawyer in case of any doubt. + +==== Patches to packages + +Buildroot also bundles patch files, which are applied to the sources +of the various packages. Those patches are not covered by the license +of Buildroot. Instead, they are covered by the license of the software +to which the patches are applied. When said software is available +under multiple licenses, the Buildroot patches are only provided under +the publicly accessible licenses. + +See xref:patch-policy[] for the technical details. diff --git a/firmware/buildroot/docs/manual/manual.html b/firmware/buildroot/docs/manual/manual.html index 9cb70956..8f36fd99 100644 --- a/firmware/buildroot/docs/manual/manual.html +++ b/firmware/buildroot/docs/manual/manual.html @@ -1,6 +1,6 @@ -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. License abbreviations
12.3. 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
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 packages building kernel modules
17.15. Infrastructure for asciidoc documents
17.16. Infrastructure specific to the Linux kernel package
17.17. Hooks available in the various build steps
17.18. Gettext integration and interaction with packages
17.19. Tips and tricks
17.20. 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
IV. Appendix
22. Makedev syntax documentation
23. Makeusers syntax documentation
24. List of target packages available in Buildroot
25. List of virtual packages
26. List of host utilities available in Buildroot
27. Deprecated features

Buildroot 2016.02-rc2 manual generated on 2016-02-18 -14:38:13 UTC from git revision 6cd8cbc

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. License abbreviations
12.3. 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
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 packages building kernel modules
17.15. Infrastructure for asciidoc documents
17.16. Infrastructure specific to the Linux kernel package
17.17. Hooks available in the various build steps
17.18. Gettext integration and interaction with packages
17.19. Tips and tricks
17.20. 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
IV. Appendix
22. Makedev syntax documentation
23. Makeusers syntax documentation
24. List of target packages available in Buildroot
25. List of virtual packages
26. List of host utilities available in Buildroot
27. Deprecated features

Buildroot 2016.02 manual generated on 2016-03-01 +20:52:58 UTC from git revision aaf6c28

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

Copyright © 2004-2014 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of @@ -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 @@ -268,7 +268,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 @@ -1779,6 +1779,10 @@ distribution is required). When you run make legal-info, Buildroot produces warnings in the README file to inform you of relevant material that could not be saved.

12.2. License abbreviations

Here is a list of the licenses that are most widely used by packages in Buildroot, with the name used in the manifest files:

12.3. Complying with the Buildroot license

Buildroot itself is an open source software, released under the -GNU General Public -License, version 2 or (at your option) any later version. +

12.3. Complying with the Buildroot license

Buildroot itself is an open source software, released under the +GNU General +Public License, version 2 or (at your option) any later version, with +the exception of the package patches detailed below. However, being a build system, it is not normally part of the end product: if you develop the root filesystem, kernel, bootloader or toolchain for a device, the code of Buildroot is only present on the development machine, not @@ -1869,7 +1874,12 @@ of the executable". Buildroot is part of the scripts used to control compilation and installation of the executable, and as such it is considered part of the material that must be redistributed.

Keep in mind that this is only the Buildroot developers' opinion, and you -should consult your legal department or lawyer in case of any doubt.

Chapter 13. Beyond Buildroot

13.1. Boot the generated images

13.1.1. NFS boot

To achieve NFS-boot, enable tar root filesystem in the Filesystem +should consult your legal department or lawyer in case of any doubt.

12.3.1. Patches to packages

Buildroot also bundles patch files, which are applied to the sources +of the various packages. Those patches are not covered by the license +of Buildroot. Instead, they are covered by the license of the software +to which the patches are applied. When said software is available +under multiple licenses, the Buildroot patches are only provided under +the publicly accessible licenses.

See Chapter 18, Patching a package for the technical details.

Chapter 13. Beyond Buildroot

13.1. Boot the generated images

13.1.1. NFS boot

To achieve NFS-boot, enable tar root filesystem in the Filesystem images menu.

After a complete build, just run the following commands to setup the NFS-root directory:

sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir

Remember to add this path to /etc/exports.

Then, you can execute a NFS-boot from your target.

13.1.2. Live CD

To build a live CD image, enable the iso image option in the Filesystem images menu. Note that this option is only available on @@ -2490,7 +2500,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 @@ -4000,8 +4010,8 @@ If BR2_GLOBAL_PATCH_DIR is defined, the directories as described in the previous step.

  • Run the <packagename>_POST_PATCH_HOOKS commands if defined. -
  • If something goes wrong in the steps 3 or 4, then the build fails.

    18.3. Format and licensing of the package patches

    Patches are released under the same license as the software that is -modified.

    A message explaining what the patch does, and why it is needed, should +

    If something goes wrong in the steps 3 or 4, then the build fails.

    18.3. Format and licensing of the package patches

    Patches are released under the same license as the software they apply +to (see Section 12.3, “Complying with the Buildroot license”).

    A message explaining what the patch does, and why it is needed, should be added in the header commentary of the patch.

    You should add a Signed-off-by statement in the header of the each patch to help with keeping track of the changes and to certify that the patch is released under the same license as the software that is modified.

    If the software is under version control, it is recommended to use the @@ -4196,16 +4206,73 @@ Don’t hesitate to discuss an item first on the mailing list or on IRC. Do edit the wiki to indicate when you start working on an item, so we avoid duplicate efforts.

    21.5. Submitting patches

    Note

    Please, do not attach patches to bugs, send them to the mailing list instead.

    If you made some changes to Buildroot and you would like to contribute -them to the Buildroot project, proceed as follows. Starting from the -changes committed in your local git view, rebase your development -branch on top of the upstream tree before generating a patch set. To do -so, run:

    $ git fetch --all --tags
    +them to the Buildroot project, proceed as follows.

    21.5.1. The formatting of a patch

    We expect patches to be formatted in a specific way. This is necessary +to make it easy to review patches, to be able to apply them easily to +the git repository, to make it easy to find back in the history how +and why things have changed, and to make it possible to use git +bisect to locate the origin of a problem.

    First of all, it is essential that the patch has a good commit +message. The commit message should start with a separate line with a +brief summary of the change, starting with the name of the affected +package. The body of the commit message should describe why this +change is needed, and if necessary also give details about how it +was done. When writing the commit message, think of how the reviewers +will read it, but also think about how you will read it when you look +at this change again a few years down the line.

    Second, the patch itself should do only one change, but do it +completely. Two unrelated or weakly related changes should usually be +done in two separate patches. This usually means that a patch affects +only a single package. If several changes are related, it is often +still possible to split them up in small patches and apply them in a +specific order. Small patches make it easier to review, and often +make it easier to understand afterwards why a change was done. +However, each patch must be complete. It is not allowed that the +build is broken when only the first but not the second patch is +applied. This is necessary to be able to use git bisect afterwards.

    Of course, while you’re doing your development, you’re probably going +back and forth between packages, and certainly not committing things +immediately in a way that is clean enough for submission. So most +developers rewrite the history of commits to produce a clean set of +commits that is appropriate for submission. To do this, you need to +use interactive rebasing. You can learn about it +in the Pro +Git book. Sometimes, it is even easier to discard you history with +git reset --soft origin/master and select individual changes with +git add -i or git add -p.

    Finally, the patch should be signed off. This is done by adding +Signed-off-by: Your Real Name <your@email.address> at the end of the +commit message. git commit -s does that for you, if configured +properly. The Signed-off-by tag means that you publish the patch +under the Buildroot license (i.e. GPLv2, except for package patches, +which have the upstream license), and that you are allowed to do so. +See the Developer Certificate of +Origin for details.

    When adding new packages, you should submit every package in a +separate patch. This patch should have the update to +package/Config.in, the package Config.in file, the .mk file, the +.hash file, any init script, and all package patches. If the package +has many sub-options, these are sometimes better added as separate +follow-up patches. The summary line should be something like +<packagename>: new package. The body of the commit message can be +empty for simple packages, or it can contain the description of the +package (like the Config.in help text). If anything special has to be +done to build the package, this should also be explained explicitly in +the commit message body.

    When you bump a package to a new version, you should also submit a +separate patch for each package. Don’t forget to update the .hash +file, or add it if it doesn’t exist yet. Also don’t forget to check if +the _LICENSE and _LICENSE_FILES are still valid. The summary line +should be something like <packagename>: bump to version <new +version>. If the new version only contains security updates compared +to the existing one, the summary should be <packagename>: security +bump to version <new version> and the commit message body should show +the CVE numbers that are fixed. If some package patches can be removed +in the new version, it should be explained explicitly why they can be +removed, preferably with the upstream commit ID. Also any other +required changes should be explained explicitly, like configure +options that no longer exist or are no longer needed.

    21.5.2. Preparing a patch series

    Starting from the changes committed in your local git view, rebase +your development branch on top of the upstream tree before generating +a patch set. To do so, run:

    $ git fetch --all --tags
     $ git rebase origin/master

    Now, you are ready to generate then submit your patch set.

    To generate it, run:

    $ git format-patch -M -n -s -o outgoing origin/master

    This will generate patch files in the outgoing subdirectory, automatically adding the Signed-off-by line.

    Once patch files are generated, you can review/edit the commit message before submitting them, using your favorite text editor.

    Lastly, send/submit your patch set to the Buildroot mailing list:

    $ git send-email --to buildroot@buildroot.org outgoing/*

    Note that git should be configured to use your mail account. To configure git, see man git-send-email or google it.

    If you do not use git send-email, make sure posted patches are not line-wrapped, otherwise they cannot easily be applied. In such a case, -fix your e-mail client, or better yet, learn to use git send-email.

    21.5.1. Cover letter

    If you want to present the whole patch set in a separate mail, add +fix your e-mail client, or better yet, learn to use git send-email.

    21.5.3. Cover letter

    If you want to present the whole patch set in a separate mail, add --cover-letter to the git format-patch command (see man git-format-patch for further information). This will generate a template for an introduction e-mail to your patch series.

    A cover letter may be useful to introduce the changes you propose @@ -4214,11 +4281,11 @@ 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. -
  • 21.5.2. Patch revision changelog

    When improvements are requested, the new revision of each commit +

    21.5.4. Patch revision changelog

    When improvements are requested, the new revision of each commit should include a changelog of the modifications between each submission. Note that when your patch series is introduced by a cover letter, an overall changelog may be added to the cover letter in @@ -4296,7 +4363,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

    Part IV. Appendix

    Chapter 22. Makedev syntax documentation

    The makedev syntax is used in several places in Buildroot to +- http://code.bulix.org/



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

    Part IV. Appendix

    Chapter 22. Makedev syntax documentation

    The makedev syntax is used in several places in Buildroot to define changes to be made for permissions, or which device files to create and how to create them, in order to avoid calls to mknod.

    This syntax is derived from the makedev utility, and more complete documentation can be found in the package/makedevs/README file.

    It takes the form of a space separated list of fields, one file per diff --git a/firmware/buildroot/docs/manual/manual.pdf b/firmware/buildroot/docs/manual/manual.pdf index bf0c81e6..ef505c07 100644 Binary files a/firmware/buildroot/docs/manual/manual.pdf and b/firmware/buildroot/docs/manual/manual.pdf differ diff --git a/firmware/buildroot/docs/manual/manual.text b/firmware/buildroot/docs/manual/manual.text index a462a0a1..3d74d129 100644 --- a/firmware/buildroot/docs/manual/manual.text +++ b/firmware/buildroot/docs/manual/manual.text @@ -155,8 +155,8 @@ List of Examples --------------------------------------------------------------------- -Buildroot 2016.02-rc2 manual generated on 2016-02-18 14:38:24 UTC -from git revision 6cd8cbc +Buildroot 2016.02 manual generated on 2016-03-01 20:53:10 UTC from +git revision aaf6c28 The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to @@ -2746,6 +2746,8 @@ inform you of relevant material that could not be saved. Here is a list of the licenses that are most widely used by packages in Buildroot, with the name used in the manifest files: + * AGPLv3: GNU Affero General Public License, version 3 [http:// + www.gnu.org/licenses/agpl-3.0.en.html]; * GPLv2: GNU General Public License, version 2 [http://www.gnu.org/ licenses/old-licenses/gpl-2.0.html]; * GPLv2+: GNU General Public License, version 2 [http://www.gnu.org @@ -2789,11 +2791,12 @@ in Buildroot, with the name used in the manifest files: Buildroot itself is an open source software, released under the GNU General Public License, version 2 [http://www.gnu.org/licenses/ -old-licenses/gpl-2.0.html] or (at your option) any later version. -However, being a build system, it is not normally part of the end -product: if you develop the root filesystem, kernel, bootloader or -toolchain for a device, the code of Buildroot is only present on the -development machine, not in the device storage. +old-licenses/gpl-2.0.html] or (at your option) any later version, +with the exception of the package patches detailed below. However, +being a build system, it is not normally part of the end product: if +you develop the root filesystem, kernel, bootloader or toolchain for +a device, the code of Buildroot is only present on the development +machine, not in the device storage. Nevertheless, the general view of the Buildroot developers is that you should release the Buildroot source code along with the source @@ -2811,6 +2814,17 @@ Keep in mind that this is only the Buildroot developers' opinion, and you should consult your legal department or lawyer in case of any doubt. +12.3.1. Patches to packages + +Buildroot also bundles patch files, which are applied to the sources +of the various packages. Those patches are not covered by the license +of Buildroot. Instead, they are covered by the license of the +software to which the patches are applied. When said software is +available under multiple licenses, the Buildroot patches are only +provided under the publicly accessible licenses. + +See Chapter 18, Patching a package for the technical details. + Chapter 13. Beyond Buildroot 13.1. Boot the generated images @@ -5688,8 +5702,8 @@ If something goes wrong in the steps 3 or 4, then the build fails. 18.3. Format and licensing of the package patches -Patches are released under the same license as the software that is -modified. +Patches are released under the same license as the software they +apply to (see Section 12.3, “Complying with the Buildroot license”). A message explaining what the patch does, and why it is needed, should be added in the header commentary of the patch. @@ -5977,6 +5991,83 @@ instead. If you made some changes to Buildroot and you would like to contribute them to the Buildroot project, proceed as follows. + +21.5.1. The formatting of a patch + +We expect patches to be formatted in a specific way. This is +necessary to make it easy to review patches, to be able to apply them +easily to the git repository, to make it easy to find back in the +history how and why things have changed, and to make it possible to +use git bisect to locate the origin of a problem. + +First of all, it is essential that the patch has a good commit +message. The commit message should start with a separate line with a +brief summary of the change, starting with the name of the affected +package. The body of the commit message should describe why this +change is needed, and if necessary also give details about how it was +done. When writing the commit message, think of how the reviewers +will read it, but also think about how you will read it when you look +at this change again a few years down the line. + +Second, the patch itself should do only one change, but do it +completely. Two unrelated or weakly related changes should usually be +done in two separate patches. This usually means that a patch affects +only a single package. If several changes are related, it is often +still possible to split them up in small patches and apply them in a +specific order. Small patches make it easier to review, and often +make it easier to understand afterwards why a change was done. +However, each patch must be complete. It is not allowed that the +build is broken when only the first but not the second patch is +applied. This is necessary to be able to use git bisect afterwards. + +Of course, while you’re doing your development, you’re probably going +back and forth between packages, and certainly not committing things +immediately in a way that is clean enough for submission. So most +developers rewrite the history of commits to produce a clean set of +commits that is appropriate for submission. To do this, you need to +use interactive rebasing. You can learn about it in the Pro Git book +[https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History]. +Sometimes, it is even easier to discard you history with git reset +--soft origin/master and select individual changes with git add -i or +git add -p. + +Finally, the patch should be signed off. This is done by adding +Signed-off-by: Your Real Name <> at the end of the commit message. +git commit -s does that for you, if configured properly. The +Signed-off-by tag means that you publish the patch under the +Buildroot license (i.e. GPLv2, except for package patches, which have +the upstream license), and that you are allowed to do so. See the +Developer Certificate of Origin [http://developercertificate.org/] +for details. + +When adding new packages, you should submit every package in a +separate patch. This patch should have the update to package/ +Config.in, the package Config.in file, the .mk file, the .hash file, +any init script, and all package patches. If the package has many +sub-options, these are sometimes better added as separate follow-up +patches. The summary line should be something like : new +package. The body of the commit message can be empty for simple +packages, or it can contain the description of the package (like the +Config.in help text). If anything special has to be done to build the +package, this should also be explained explicitly in the commit +message body. + +When you bump a package to a new version, you should also submit a +separate patch for each package. Don’t forget to update the .hash +file, or add it if it doesn’t exist yet. Also don’t forget to check +if the _LICENSE and _LICENSE_FILES are still valid. The summary line +should be something like : bump to version . If the new version only contains security updates compared +to the existing one, the summary should be : security +bump to version and the commit message body should show +the CVE numbers that are fixed. If some package patches can be +removed in the new version, it should be explained explicitly why +they can be removed, preferably with the upstream commit ID. Also any +other required changes should be explained explicitly, like configure +options that no longer exist or are no longer needed. + +21.5.2. Preparing a patch series + Starting from the changes committed in your local git view, rebase your development branch on top of the upstream tree before generating a patch set. To do so, run: @@ -6008,7 +6099,7 @@ line-wrapped, otherwise they cannot easily be applied. In such a case, fix your e-mail client, or better yet, learn to use git send-email. -21.5.1. Cover letter +21.5.3. Cover letter If you want to present the whole patch set in a separate mail, add --cover-letter to the git format-patch command (see man @@ -6024,7 +6115,7 @@ the following cases: * whenever you feel it will help presenting your work, your choices, the review process, etc. -21.5.2. Patch revision changelog +21.5.4. Patch revision changelog When improvements are requested, the new revision of each commit should include a changelog of the modifications between each diff --git a/firmware/buildroot/docs/manual/patch-policy.txt b/firmware/buildroot/docs/manual/patch-policy.txt index 0b4604e5..5a1fe4f4 100644 --- a/firmware/buildroot/docs/manual/patch-policy.txt +++ b/firmware/buildroot/docs/manual/patch-policy.txt @@ -90,8 +90,8 @@ If something goes wrong in the steps _3_ or _4_, then the build fails. === Format and licensing of the package patches -Patches are released under the same license as the software that is -modified. +Patches are released under the same license as the software they apply +to (see xref:legal-info-buildroot[]). A message explaining what the patch does, and why it is needed, should be added in the header commentary of the patch. diff --git a/firmware/buildroot/docs/website/download.html b/firmware/buildroot/docs/website/download.html index ce515403..9e1642b3 100644 --- a/firmware/buildroot/docs/website/download.html +++ b/firmware/buildroot/docs/website/download.html @@ -8,74 +8,74 @@

    Download
    -

    Latest stable release: 2015.11.1

    +

    Latest stable release: 2016.02

    - -

    Latest release candidate: 2016.02-rc2

    + This and earlier releases (and their PGP signatures) can always be downloaded from http://buildroot.net/downloads/.
    diff --git a/firmware/buildroot/docs/website/news.html b/firmware/buildroot/docs/website/news.html index e7252df6..62f1b5dc 100644 --- a/firmware/buildroot/docs/website/news.html +++ b/firmware/buildroot/docs/website/news.html @@ -9,6 +9,46 @@

    News

      +
    • +
      +
      +
      +

      2016.02 released

      +

      1 March 2016

      +
      +
      +

      The stable 2016.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details + and go to the downloads page to pick up the + 2016.02 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2016.02-rc3 released

      +

      27 February 2016

      +
      +
      +

      Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

      +

      Head to the downloads page to + pick up + the 2016.02-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

      +
      +
      +
    • +
    • diff --git a/firmware/buildroot/linux/Config.in b/firmware/buildroot/linux/Config.in index e7df42cb..4d009052 100644 --- a/firmware/buildroot/linux/Config.in +++ b/firmware/buildroot/linux/Config.in @@ -27,7 +27,7 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "4.4.2" + bool "4.4.3" config BR2_LINUX_KERNEL_CUSTOM_VERSION bool "Custom version" @@ -104,7 +104,7 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH config BR2_LINUX_KERNEL_VERSION string - default "4.4.2" if BR2_LINUX_KERNEL_LATEST_VERSION + default "4.4.3" if BR2_LINUX_KERNEL_LATEST_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL diff --git a/firmware/buildroot/linux/linux-tool-perf.mk b/firmware/buildroot/linux/linux-tool-perf.mk index 07c35143..1070a1c0 100644 --- a/firmware/buildroot/linux/linux-tool-perf.mk +++ b/firmware/buildroot/linux/linux-tool-perf.mk @@ -27,6 +27,19 @@ PERF_MAKE_FLAGS = \ WERROR=0 \ ASCIIDOC= +# We need to pass an argument to ld for setting the endianness when +# building it for MIPS architecture, otherwise the default one will +# always be used (which is big endian) and the compilation for little +# endian will always fail showing an error like this one: +# LD foo.o +# mips-linux-gnu-ld: foo.o: compiled for a little endian system and +# target is big endian +ifeq ($(BR2_mips)$(BR2_mips64),y) +PERF_MAKE_FLAGS += LD="$(TARGET_LD) -EB" +else ifeq ($(BR2_mipsel)$(BR2_mips64el),y) +PERF_MAKE_FLAGS += LD="$(TARGET_LD) -EL" +endif + # The call to backtrace() function fails for ARC, because for some # reason the unwinder from libgcc returns early. Thus the usage of # backtrace() should be disabled in perf explicitly: at build time diff --git a/firmware/buildroot/package/avahi/avahi.mk b/firmware/buildroot/package/avahi/avahi.mk index 5d6e6a81..b7ad81dc 100644 --- a/firmware/buildroot/package/avahi/avahi.mk +++ b/firmware/buildroot/package/avahi/avahi.mk @@ -115,6 +115,10 @@ else AVAHI_CONF_OPTS += --disable-libdaemon endif +ifeq ($(BR2_PACKAGE_LIBCAP),y) +AVAHI_DEPENDENCIES += libcap +endif + ifeq ($(BR2_PACKAGE_AVAHI_DAEMON),y) AVAHI_DEPENDENCIES += expat AVAHI_CONF_OPTS += --with-xml=expat diff --git a/firmware/buildroot/package/binutils/binutils.mk b/firmware/buildroot/package/binutils/binutils.mk index a96a9a8a..0f75c1d9 100644 --- a/firmware/buildroot/package/binutils/binutils.mk +++ b/firmware/buildroot/package/binutils/binutils.mk @@ -61,6 +61,10 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) BINUTILS_DEPENDENCIES += busybox endif +ifeq ($(BR2_PACKAGE_ZLIB),y) +BINUTILS_DEPENDENCIES += zlib +endif + # "host" binutils should actually be "cross" # We just keep the convention of "host utility" for now HOST_BINUTILS_CONF_OPTS = \ diff --git a/firmware/buildroot/package/bluez5_utils/0001-tools-avinfo-Fix-big-endian-build.patch b/firmware/buildroot/package/bluez5_utils/0001-tools-avinfo-Fix-big-endian-build.patch new file mode 100644 index 00000000..06c368d8 --- /dev/null +++ b/firmware/buildroot/package/bluez5_utils/0001-tools-avinfo-Fix-big-endian-build.patch @@ -0,0 +1,39 @@ +From 01d85fdf6a45150e82143803be3373d779d18522 Mon Sep 17 00:00:00 2001 +From: John Keeping +Date: Wed, 24 Feb 2016 13:57:38 +0000 +Subject: [PATCH] tools/avinfo: Fix big endian build + +Commit 101b439 (tools/avinfo: Add partial support for Sony LDAC) added a +new a2dp_ldac_t structure but only inside a little endian ifdef. Add +the same structure in the big endian code. + +The structure definition doesn't differ for the big/little endian cases +but if the unknown fields are discovered in the future it might, so a +copy is added rather than pulling the existing definition below the +endif. + +[John: backport from upstream commit 01d85fdf6a45150e82143803be3373d779d18522.] +Signed-off-by: John Keeping +--- + profiles/audio/a2dp-codecs.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/profiles/audio/a2dp-codecs.h b/profiles/audio/a2dp-codecs.h +index e9da0bf..4fb5c0c 100644 +--- a/profiles/audio/a2dp-codecs.h ++++ b/profiles/audio/a2dp-codecs.h +@@ -234,6 +234,11 @@ typedef struct { + uint8_t channel_mode:4; + } __attribute__ ((packed)) a2dp_aptx_t; + ++typedef struct { ++ a2dp_vendor_codec_t info; ++ uint8_t unknown[2]; ++} __attribute__ ((packed)) a2dp_ldac_t; ++ + #else + #error "Unknown byte order" + #endif +-- +2.7.0.226.gfe986fe + diff --git a/firmware/buildroot/package/cairo/cairo.mk b/firmware/buildroot/package/cairo/cairo.mk index 205250d9..6b54b286 100644 --- a/firmware/buildroot/package/cairo/cairo.mk +++ b/firmware/buildroot/package/cairo/cairo.mk @@ -93,6 +93,10 @@ else CAIRO_CONF_OPTS += --disable-vg endif +ifeq ($(BR2_PACKAGE_LZO),y) +CAIRO_DEPENDENCIES += lzo +endif + ifeq ($(BR2_PACKAGE_XORG7),y) CAIRO_CONF_OPTS += --enable-xlib --enable-xcb --with-x CAIRO_DEPENDENCIES += xlib_libX11 xlib_libXext diff --git a/firmware/buildroot/package/canfestival/Config.in b/firmware/buildroot/package/canfestival/Config.in index 7c7b370d..4e734964 100644 --- a/firmware/buildroot/package/canfestival/Config.in +++ b/firmware/buildroot/package/canfestival/Config.in @@ -2,13 +2,16 @@ config BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS bool default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_arm -comment "canfestival needs a toolchain w/ threads and dynamic library" +comment "canfestival needs a (e)glibc or uClibc toolchain w/ threads and dynamic library" depends on BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_USES_MUSL || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS config BR2_PACKAGE_CANFESTIVAL bool "canfestival" depends on BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_USES_MUSL depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS help diff --git a/firmware/buildroot/package/chrony/chrony.mk b/firmware/buildroot/package/chrony/chrony.mk index 369d7eb3..59faa10d 100644 --- a/firmware/buildroot/package/chrony/chrony.mk +++ b/firmware/buildroot/package/chrony/chrony.mk @@ -16,6 +16,12 @@ CHRONY_CONF_OPTS = \ --without-seccomp \ --without-tomcrypt +ifeq ($(BR2_PACKAGE_LIBCAP),y) +CHRONY_DEPENDENCIES += libcap +else +CHRONY_CONF_OPTS += --without-libcap +endif + ifeq ($(BR2_PACKAGE_LIBNSS),y) CHRONY_DEPENDENCIES += host-pkgconf libnss else diff --git a/firmware/buildroot/package/cifs-utils/cifs-utils.mk b/firmware/buildroot/package/cifs-utils/cifs-utils.mk index e668b08c..89358b1f 100644 --- a/firmware/buildroot/package/cifs-utils/cifs-utils.mk +++ b/firmware/buildroot/package/cifs-utils/cifs-utils.mk @@ -14,6 +14,10 @@ ifeq ($(BR2_STATIC_LIBS),y) CIFS_UTILS_CONF_OPTS += --disable-pie endif +ifeq ($(BR2_PACKAGE_KEYUTILS),y) +CIFS_UTILS_DEPENDENCIES += keyutils +endif + define CIFS_UTILS_NO_WERROR $(SED) 's/-Werror//' $(@D)/Makefile.in endef diff --git a/firmware/buildroot/package/connman/Config.in b/firmware/buildroot/package/connman/Config.in index 556de488..26406c8c 100644 --- a/firmware/buildroot/package/connman/Config.in +++ b/firmware/buildroot/package/connman/Config.in @@ -55,6 +55,7 @@ config BR2_PACKAGE_CONNMAN_NEARD config BR2_PACKAGE_CONNMAN_OFONO bool "enable ofono support" depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # libcap-ng + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # ofono select BR2_PACKAGE_OFONO config BR2_PACKAGE_CONNMAN_DEBUG diff --git a/firmware/buildroot/package/dnsmasq/dnsmasq.mk b/firmware/buildroot/package/dnsmasq/dnsmasq.mk index a0db81bb..b3e8c4c4 100644 --- a/firmware/buildroot/package/dnsmasq/dnsmasq.mk +++ b/firmware/buildroot/package/dnsmasq/dnsmasq.mk @@ -11,7 +11,7 @@ DNSMASQ_MAKE_ENV = $(TARGET_MAKE_ENV) CC="$(TARGET_CC)" DNSMASQ_MAKE_OPTS = COPTS="$(DNSMASQ_COPTS)" PREFIX=/usr CFLAGS="$(TARGET_CFLAGS)" DNSMASQ_MAKE_OPTS += DESTDIR=$(TARGET_DIR) LDFLAGS="$(TARGET_LDFLAGS)" DNSMASQ_DEPENDENCIES = host-pkgconf -DNSMASQ_LICENSE = Dual GPLv2/GPLv3 +DNSMASQ_LICENSE = GPLv2 or GPLv3 DNSMASQ_LICENSE_FILES = COPYING COPYING-v3 ifneq ($(BR2_PACKAGE_DNSMASQ_DHCP),y) diff --git a/firmware/buildroot/package/dvdauthor/dvdauthor.mk b/firmware/buildroot/package/dvdauthor/dvdauthor.mk index be006f10..6b90c43c 100644 --- a/firmware/buildroot/package/dvdauthor/dvdauthor.mk +++ b/firmware/buildroot/package/dvdauthor/dvdauthor.mk @@ -34,6 +34,10 @@ ifeq ($(BR2_PACKAGE_FONTCONFIG),y) DVDAUTHOR_DEPENDENCIES += fontconfig endif +ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y) +DVDAUTHOR_DEPENDENCIES += libfribidi +endif + ifeq ($(BR2_PACKAGE_DVDAUTHOR_DVDUNAUTHOR),y) DVDAUTHOR_DEPENDENCIES += libdvdread DVDAUTHOR_CONF_OPTS += --enable-dvdunauthor diff --git a/firmware/buildroot/package/e2fsprogs/Config.in b/firmware/buildroot/package/e2fsprogs/Config.in index ac3eae71..e540337d 100644 --- a/firmware/buildroot/package/e2fsprogs/Config.in +++ b/firmware/buildroot/package/e2fsprogs/Config.in @@ -1,4 +1,3 @@ - config BR2_PACKAGE_E2FSPROGS bool "e2fsprogs" depends on BR2_USE_WCHAR # util-linux diff --git a/firmware/buildroot/package/efl/Config.in b/firmware/buildroot/package/efl/Config.in index 418f41e3..88e2c360 100644 --- a/firmware/buildroot/package/efl/Config.in +++ b/firmware/buildroot/package/efl/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_EFL bool "efl" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_HAS_UDEV # libudev - depends on BR2_PACKAGE_LUA # lua 5.1 or better + # https://phab.enlightenment.org/T2728 + depends on BR2_PACKAGE_LUA_5_1 # needs lua 5.1, broken with 5.2+ depends on BR2_TOOLCHAIN_HAS_THREADS # untested without threads depends on BR2_USE_MMU depends on BR2_USE_WCHAR # use wchar_t @@ -185,6 +186,6 @@ comment "efl needs udev /dev management and a toolchain w/ C++, dynamic library, || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR depends on BR2_USE_MMU -comment "efl needs lua" - depends on !BR2_PACKAGE_LUA +comment "efl needs lua 5.1" + depends on !BR2_PACKAGE_LUA_5_1 depends on BR2_USE_MMU diff --git a/firmware/buildroot/package/erlang-rebar/erlang-rebar.mk b/firmware/buildroot/package/erlang-rebar/erlang-rebar.mk index f29eb756..d2189e1f 100644 --- a/firmware/buildroot/package/erlang-rebar/erlang-rebar.mk +++ b/firmware/buildroot/package/erlang-rebar/erlang-rebar.mk @@ -13,8 +13,8 @@ ERLANG_REBAR_SITE = $(call github,rebar,rebar,$(ERLANG_REBAR_VERSION)) # Although the file LICENSE state Apache-2.0, a lot (if not all) the files # in src/ bear the MIT licence. -ERLANG_LICENSE = Apache-2.0, MIT -ERLANG_LICENSE_FILES = LICENSE +ERLANG_REBAR_LICENSE = Apache-2.0, MIT +ERLANG_REBAR_LICENSE_FILES = LICENSE # We do not have a target variant, so just define the dependencies, # configure and build commands for the host variant. diff --git a/firmware/buildroot/package/eudev/eudev.mk b/firmware/buildroot/package/eudev/eudev.mk index fecd37ce..942770c4 100644 --- a/firmware/buildroot/package/eudev/eudev.mk +++ b/firmware/buildroot/package/eudev/eudev.mk @@ -30,7 +30,7 @@ EUDEV_CONF_OPTS += --with-rootlibdir=/lib --enable-split-usr endif ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y) -EUDEV_CONF_OPTS += --enable-rule_generator +EUDEV_CONF_OPTS += --enable-rule-generator endif ifeq ($(BR2_PACKAGE_EUDEV_ENABLE_HWDB),y) diff --git a/firmware/buildroot/package/fbterm/0002-mouse.cpp-fix-musl-compile.patch b/firmware/buildroot/package/fbterm/0002-mouse.cpp-fix-musl-compile.patch new file mode 100644 index 00000000..5182d8ba --- /dev/null +++ b/firmware/buildroot/package/fbterm/0002-mouse.cpp-fix-musl-compile.patch @@ -0,0 +1,30 @@ +From a34dba99aff2994269ee347da67feb7ede9b1a67 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 18 Feb 2016 22:32:38 +0100 +Subject: [PATCH] mouse.cpp: fix musl compile + +Add missing include, fixes: + + mouse.cpp:58:37: error: 'memset' was not declared in this scope + mouse.cpp:60:64: error: 'strncpy' was not declared in this scope + +Signed-off-by: Peter Seiderer +--- + src/mouse.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/mouse.cpp b/src/mouse.cpp +index 0435dd9..f173137 100644 +--- a/src/mouse.cpp ++++ b/src/mouse.cpp +@@ -27,6 +27,7 @@ DEFINE_INSTANCE(Mouse) + #include + #include + #include ++#include + #include + #include + #include +-- +2.1.4 + diff --git a/firmware/buildroot/package/fbterm/fbterm.mk b/firmware/buildroot/package/fbterm/fbterm.mk index d78d6b75..7a424a5e 100644 --- a/firmware/buildroot/package/fbterm/fbterm.mk +++ b/firmware/buildroot/package/fbterm/fbterm.mk @@ -16,4 +16,11 @@ ifeq ($(BR2_STATIC_LIBS)$(BR2_TOOLCHAIN_HAS_THREADS),yy) FBTERM_CONF_ENV += LIBS='-lpthread' endif +ifeq ($(BR2_PACKAGE_GPM),y) +FBTERM_DEPENDENCIES += gpm +FBTERM_CONF_OPTS += --enable-gpm +else +FBTERM_CONF_OPTS += --disable-gpm +endif + $(eval $(autotools-package)) diff --git a/firmware/buildroot/package/freescale-imx/imx-gpu-viv/Config.in b/firmware/buildroot/package/freescale-imx/imx-gpu-viv/Config.in index 1c00eaa8..c3867653 100644 --- a/firmware/buildroot/package/freescale-imx/imx-gpu-viv/Config.in +++ b/firmware/buildroot/package/freescale-imx/imx-gpu-viv/Config.in @@ -33,8 +33,9 @@ choice config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 bool "X11" depends on BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XLIB_LIBXDAMAGE # Runtime dependency - select BR2_PACKAGE_XLIB_LIBXEXT # Runtime dependency + select BR2_PACKAGE_XLIB_LIBXDAMAGE + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXFIXES comment "X11 backend needs Xorg package" depends on !BR2_PACKAGE_XORG7 diff --git a/firmware/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk b/firmware/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk index 133632b4..61710804 100644 --- a/firmware/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk +++ b/firmware/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk @@ -22,6 +22,14 @@ IMX_GPU_VIV_REDISTRIBUTE = NO IMX_GPU_VIV_PROVIDES = libegl libgles libopenvg IMX_GPU_VIV_LIB_TARGET = $(call qstrip,$(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT)) +ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11) +# The libGAL.so library provided by imx-gpu-viv uses X functions. Packages +# may want to link against libGAL.so (QT5 Base with OpenGL and X support +# does so). For this to work we need build dependencies to libXdamage, +# libXext and libXfixes so that X functions used in libGAL.so are referenced. +IMX_GPU_VIV_DEPENDENCIES += xlib_libXdamage xlib_libXext xlib_libXfixes +endif + define IMX_GPU_VIV_EXTRACT_CMDS $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_GPU_VIV_SOURCE)) endef diff --git a/firmware/buildroot/package/gawk/gawk.mk b/firmware/buildroot/package/gawk/gawk.mk index 507ea6de..da9be95c 100644 --- a/firmware/buildroot/package/gawk/gawk.mk +++ b/firmware/buildroot/package/gawk/gawk.mk @@ -16,6 +16,10 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) GAWK_DEPENDENCIES += busybox endif +ifeq ($(BR2_PACKAGE_LIBSIGSEGV),y) +GAWK_DEPENDENCIES += libsigsegv +endif + # --with-mpfr requires an argument so just let # configure find it automatically ifeq ($(BR2_PACKAGE_MPFR),y) diff --git a/firmware/buildroot/package/gnupg2/gnupg2.mk b/firmware/buildroot/package/gnupg2/gnupg2.mk index 2e1f067b..8d4f3737 100644 --- a/firmware/buildroot/package/gnupg2/gnupg2.mk +++ b/firmware/buildroot/package/gnupg2/gnupg2.mk @@ -38,6 +38,13 @@ else GNUPG2_CONF_OPTS += --disable-bzip2 endif +ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y) +GNUPG2_CONF_OPTS += --enable-ccid-driver +GNUPG2_DEPENDENCIES += libusb-compat +else +GNUPG2_CONF_OPTS += --disable-ccid-driver +endif + ifeq ($(BR2_PACKAGE_READLINE),y) GNUPG2_CONF_OPTS += --with-readline=$(STAGING_DIR) GNUPG2_DEPENDENCIES += readline diff --git a/firmware/buildroot/package/gnuradio/gnuradio.mk b/firmware/buildroot/package/gnuradio/gnuradio.mk index fc5cd1fa..b7dbcb9f 100644 --- a/firmware/buildroot/package/gnuradio/gnuradio.mk +++ b/firmware/buildroot/package/gnuradio/gnuradio.mk @@ -17,6 +17,10 @@ GNURADIO_DEPENDENCIES = \ host-swig \ boost +ifeq ($(BR2_PACKAGE_ORC),y) +GNURADIO_DEPENDENCIES += orc +endif + GNURADIO_CONF_OPTS = \ -DENABLE_DEFAULT=OFF \ -DENABLE_VOLK=ON \ diff --git a/firmware/buildroot/package/gpm/0002-Install-unversioned-solibrary.patch b/firmware/buildroot/package/gpm/0002-Install-unversioned-solibrary.patch new file mode 100644 index 00000000..27e97acb --- /dev/null +++ b/firmware/buildroot/package/gpm/0002-Install-unversioned-solibrary.patch @@ -0,0 +1,41 @@ +From 06b00d53d8bd513ad5d262dc94a016c6fbf2d3aa Mon Sep 17 00:00:00 2001 +From: Kamil Rytarowski +Date: Sat, 4 May 2013 01:30:17 +0200 +Subject: [PATCH] Install unversioned solibrary + +Unversioned solibraries are shipped with -devel packages in Linux +distros. Generate and install it for the consistency. + +[Upstream patch backported from the github repository, +https://github.com/telmich/gpm/commit/06b00d53d8bd513ad5d262dc94a016c6fbf2d3aa] + +Signed-off-by: Bernd Kuhls +--- + src/Makefile.in | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/src/Makefile.in b/src/Makefile.in +index 6b60ad3..7e9e2ef 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -79,7 +79,7 @@ prog/%: prog/%.o + # | $(SED) '\''s/\($*\)\.o\([ :]*\)/\1.o \1.lo\2/g'\'' > $(DEPDIR)/$@' + + # Do it all! +-all: gpm lib/libgpm.so.@abi_lev@ @LIBGPM_A@ $(PROG) ++all: gpm lib/libgpm.so.@abi_lev@ lib/libgpm.so @LIBGPM_A@ $(PROG) + + gpm: $(GOBJ) + $(CC) @LDFLAGS@ $(LDFLAGS) -o $@ $(GOBJ) @LIBS@ $(LIBS) -lm +@@ -168,9 +168,8 @@ lib/libgpm.so.@abi_full@: $(PICS) + @LDFLAGS@ $(LDFLAGS) -o lib/libgpm.so.@abi_full@ $^ @LIBS@ @SHARED_LIBS@ $(LIBS) + lib/libgpm.so.@abi_lev@: lib/libgpm.so.@abi_full@ + $(LN_S) -f libgpm.so.@abi_full@ lib/libgpm.so.@abi_lev@ +-# unneeded, isn't it? +-#lib/libgpm.so: lib/libgpm.so.@abi_full@ +-# $(LN_S) -f libgpm.so.@abi_full@ lib/libgpm.so ++lib/libgpm.so: lib/libgpm.so.@abi_full@ ++ $(LN_S) -f libgpm.so.@abi_full@ lib/libgpm.so + + include $(DEPFILE) + diff --git a/firmware/buildroot/package/gpm/0003-src-Makefile.in-Really-install-unversioned-solibrary.patch b/firmware/buildroot/package/gpm/0003-src-Makefile.in-Really-install-unversioned-solibrary.patch new file mode 100644 index 00000000..58b260ce --- /dev/null +++ b/firmware/buildroot/package/gpm/0003-src-Makefile.in-Really-install-unversioned-solibrary.patch @@ -0,0 +1,31 @@ +From 445be05fba32c512fd87a0c98b4e9936629ef95e Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 20 Feb 2016 17:59:52 +0100 +Subject: [PATCH 1/1] src/Makefile.in: Really install unversioned solibrary + +This commit is a follow-up to +https://github.com/telmich/gpm/commit/06b00d53d8bd513ad5d262dc94a016c6fbf2d3aa +which created libgpm.so but failed to include it in the install target. + +Patch sent upstream: https://github.com/telmich/gpm/pull/11 + +Signed-off-by: Bernd Kuhls +--- + src/Makefile.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Makefile.in b/src/Makefile.in +index 7e9e2ef..bca226f 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -115,6 +115,7 @@ install: check + if test "x@SHLIB@" != "x" ; then \ + $(INSTALL_DATA) -m 755 lib/libgpm.so.@abi_full@ $(libdir)/libgpm.so.@abi_full@ ; \ + cd $(libdir) && $(LN_S) -f libgpm.so.@abi_full@ libgpm.so.@abi_lev@ ; \ ++ cd $(libdir) && $(LN_S) -f libgpm.so.@abi_full@ libgpm.so ; \ + echo "WARNING: We installed a lib, you should now call ldconfig" ; \ + echo "f.i.: ldconfig -n -l $(libdir)/libgpm.so.@abi_full@" ; \ + echo "Or to update everything just type ldconfig" ; \ +-- +2.7.0 + diff --git a/firmware/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/firmware/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index 92ce0292..6bf17c06 100644 --- a/firmware/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/firmware/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -35,6 +35,13 @@ GST1_PLUGINS_GOOD_CONF_OPTS += \ GST1_PLUGINS_GOOD_DEPENDENCIES = gstreamer1 gst1-plugins-base +ifeq ($(BR2_PACKAGE_LIBV4L),y) +GST1_PLUGINS_GOOD_CONF_OPTS += --with-libv4l2 +GST1_PLUGINS_GOOD_DEPENDENCIES += libv4l +else +GST1_PLUGINS_GOOD_CONF_OPTS += --without-libv4l2 +endif + ifeq ($(BR2_PACKAGE_ORC),y) GST1_PLUGINS_GOOD_CONF_OPTS += --enable-orc GST1_PLUGINS_GOOD_DEPENDENCIES += orc diff --git a/firmware/buildroot/package/heirloom-mailx/0001-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch b/firmware/buildroot/package/heirloom-mailx/0001-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch new file mode 100644 index 00000000..db5b19ee --- /dev/null +++ b/firmware/buildroot/package/heirloom-mailx/0001-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch @@ -0,0 +1,42 @@ +From: Hilko Bengen +Date: Wed, 27 Apr 2011 00:18:42 +0200 +Subject: Patched out SSL2 support since it is no longer supported by OpenSSL. + +Now that openssl has dropped SSLv2 support we need to patch it out. +Patch picked up from debian patchseries 5. + +Signed-off-by: Gustavo Zacarias + +--- + mailx.1 | 2 +- + openssl.c | 4 +--- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/mailx.1 b/mailx.1 +index 417ea04..a02e430 100644 +--- a/mailx.1 ++++ b/mailx.1 +@@ -3575,7 +3575,7 @@ Only applicable if SSL/TLS support is built using OpenSSL. + .TP + .B ssl-method + Selects a SSL/TLS protocol version; +-valid values are `ssl2', `ssl3', and `tls1'. ++valid values are `ssl3', and `tls1'. + If unset, the method is selected automatically, + if possible. + .TP +diff --git a/openssl.c b/openssl.c +index b4e33fc..44fe4e5 100644 +--- a/openssl.c ++++ b/openssl.c +@@ -216,9 +216,7 @@ ssl_select_method(const char *uhp) + + cp = ssl_method_string(uhp); + if (cp != NULL) { +- if (equal(cp, "ssl2")) +- method = SSLv2_client_method(); +- else if (equal(cp, "ssl3")) ++ if (equal(cp, "ssl3")) + method = SSLv3_client_method(); + else if (equal(cp, "tls1")) + method = TLSv1_client_method(); diff --git a/firmware/buildroot/package/hostapd/hostapd.mk b/firmware/buildroot/package/hostapd/hostapd.mk index 88867e6d..dca07c1b 100644 --- a/firmware/buildroot/package/hostapd/hostapd.mk +++ b/firmware/buildroot/package/hostapd/hostapd.mk @@ -10,7 +10,7 @@ HOSTAPD_SUBDIR = hostapd HOSTAPD_CONFIG = $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/.config HOSTAPD_DEPENDENCIES = host-pkgconf libnl HOSTAPD_CFLAGS = $(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/libnl3/ -HOSTAPD_LICENSE = GPLv2/BSD-3c +HOSTAPD_LICENSE = BSD-3c HOSTAPD_LICENSE_FILES = README HOSTAPD_CONFIG_SET = diff --git a/firmware/buildroot/package/imagemagick/imagemagick.mk b/firmware/buildroot/package/imagemagick/imagemagick.mk index eee567ec..639b0e85 100644 --- a/firmware/buildroot/package/imagemagick/imagemagick.mk +++ b/firmware/buildroot/package/imagemagick/imagemagick.mk @@ -60,6 +60,13 @@ else IMAGEMAGICK_CONF_OPTS += --without-jpeg endif +ifeq ($(BR2_PACKAGE_LCMS2),y) +IMAGEMAGICK_CONF_OPTS += --with-lcms +IMAGEMAGICK_DEPENDENCIES += lcms2 +else +IMAGEMAGICK_CONF_OPTS += --without-lcms +endif + ifeq ($(BR2_PACKAGE_LIBPNG),y) IMAGEMAGICK_CONF_OPTS += --with-png IMAGEMAGICK_DEPENDENCIES += libpng @@ -98,6 +105,13 @@ else IMAGEMAGICK_CONF_OPTS += --without-fftw endif +ifeq ($(BR2_PACKAGE_WEBP),y) +IMAGEMAGICK_CONF_OPTS += --with-webp +IMAGEMAGICK_DEPENDENCIES += webp +else +IMAGEMAGICK_CONF_OPTS += --without-webp +endif + ifeq ($(BR2_PACKAGE_ZLIB),y) IMAGEMAGICK_CONF_OPTS += --with-zlib IMAGEMAGICK_DEPENDENCIES += zlib diff --git a/firmware/buildroot/package/iproute2/iproute2.mk b/firmware/buildroot/package/iproute2/iproute2.mk index 6789c528..6fa68c2c 100644 --- a/firmware/buildroot/package/iproute2/iproute2.mk +++ b/firmware/buildroot/package/iproute2/iproute2.mk @@ -18,6 +18,10 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) IPROUTE2_DEPENDENCIES += busybox endif +ifeq ($(BR2_PACKAGE_ELFUTILS),y) +IPROUTE2_DEPENDENCIES += elfutils +endif + # If we've got iptables enable xtables support for tc ifeq ($(BR2_PACKAGE_IPTABLES)x$(BR2_STATIC_LIBS),yx) IPROUTE2_DEPENDENCIES += iptables diff --git a/firmware/buildroot/package/iputils/0001-ping-link-against-libm.patch b/firmware/buildroot/package/iputils/0001-ping-link-against-libm.patch new file mode 100644 index 00000000..d151c5bf --- /dev/null +++ b/firmware/buildroot/package/iputils/0001-ping-link-against-libm.patch @@ -0,0 +1,29 @@ +From 8d189e73e660a637ae3f5a604448103ea42e397d Mon Sep 17 00:00:00 2001 +From: Martin Bark +Date: Fri, 12 Feb 2016 16:52:19 +0000 +Subject: [PATCH] ping: link against libm + +This commit links ping against libm because ping.c calls the math library +function finite(). + +Signed-off-by: Martin Bark +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 8b37c42..fb80f6f 100644 +--- a/Makefile ++++ b/Makefile +@@ -156,7 +156,7 @@ LIB_clockdiff = $(LIB_CAP) + DEF_ping_common = $(DEF_CAP) $(DEF_IDN) + DEF_ping6_common = $(DEF_CAP) $(DEF_IDN) + DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) +-LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV) ++LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV) -lm + + ping: ping_common.o ping6_common.o + ping.o ping_common.o ping6_common.o: ping.h in6_flowlabel.h +-- +2.7.0 + diff --git a/firmware/buildroot/package/jack2/jack2.mk b/firmware/buildroot/package/jack2/jack2.mk index 73328d3f..81508da7 100644 --- a/firmware/buildroot/package/jack2/jack2.mk +++ b/firmware/buildroot/package/jack2/jack2.mk @@ -10,6 +10,14 @@ JACK2_LICENSE = GPLv2+ (jack server), LGPLv2.1+ (jack library) JACK2_DEPENDENCIES = libsamplerate libsndfile alsa-lib host-python JACK2_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_OPUS),y) +JACK2_DEPENDENCIES += opus +endif + +ifeq ($(BR2_PACKAGE_READLINE),y) +JACK2_DEPENDENCIES += readline +endif + define JACK2_CONFIGURE_CMDS (cd $(@D); \ $(TARGET_CONFIGURE_OPTS) \ diff --git a/firmware/buildroot/package/kexec/kexec.hash b/firmware/buildroot/package/kexec/kexec.hash index fa2d8be8..24a71e7a 100644 --- a/firmware/buildroot/package/kexec/kexec.hash +++ b/firmware/buildroot/package/kexec/kexec.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kexec/sha256sums.asc -sha256 8ae34a9ceb76350954e1e1e3ca9ab51da15862bd5f2fd14392208e60fb454f71 kexec-tools-2.0.9.tar.xz +sha256 b1097986ffdb928cf41a94e8a5dfddc981a8fa710cccf13298e7f8dd939a2ee3 kexec-tools-2.0.11.tar.xz diff --git a/firmware/buildroot/package/kexec/kexec.mk b/firmware/buildroot/package/kexec/kexec.mk index d1584069..0e64c0d4 100644 --- a/firmware/buildroot/package/kexec/kexec.mk +++ b/firmware/buildroot/package/kexec/kexec.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEXEC_VERSION = 2.0.9 +KEXEC_VERSION = 2.0.11 KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.xz KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kexec KEXEC_LICENSE = GPLv2 @@ -17,6 +17,13 @@ else KEXEC_CONF_OPTS += --without-zlib endif +ifeq ($(BR2_PACKAGE_XZ),y) +KEXEC_CONF_OPTS += --with-lzma +KEXEC_DEPENDENCIES += xz +else +KEXEC_CONF_OPTS += --without-lzma +endif + define KEXEC_REMOVE_LIB_TOOLS rm -rf $(TARGET_DIR)/usr/lib/kexec-tools endef diff --git a/firmware/buildroot/package/kismet/kismet.mk b/firmware/buildroot/package/kismet/kismet.mk index 64a0ab27..f4a28b86 100644 --- a/firmware/buildroot/package/kismet/kismet.mk +++ b/firmware/buildroot/package/kismet/kismet.mk @@ -15,6 +15,10 @@ KISMET_LICENSE_FILES = debian/copyright # We touch configure.in: KISMET_AUTORECONF = YES +ifeq ($(BR2_PACKAGE_LIBCAP),y) +KISMET_DEPENDENCIES += libcap +endif + ifeq ($(BR2_PACKAGE_PCRE),y) KISMET_DEPENDENCIES += pcre endif diff --git a/firmware/buildroot/package/kodi-pvr-argustv/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch b/firmware/buildroot/package/kodi-pvr-argustv/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch new file mode 100644 index 00000000..596be616 --- /dev/null +++ b/firmware/buildroot/package/kodi-pvr-argustv/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch @@ -0,0 +1,45 @@ +From 2c15b3931410669f281cd7e183c81e550b7e7221 Mon Sep 17 00:00:00 2001 +From: Balint Reczey +Date: Wed, 23 Dec 2015 12:55:00 +0100 +Subject: [PATCH 01/19] Sync enum representation of char_class_e in struct + traits with definition + +Signed-off-by: Bernd Kuhls +[backport of upstream patch from master branch: + https://github.com/kodi-pvr/pvr.argustv/commit/2c15b3931410669f281cd7e183c81e550b7e7221] +--- + src/uri.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/uri.h b/src/uri.h +index 0b2afcd..c20600f 100644 +--- a/src/uri.h ++++ b/src/uri.h +@@ -21,13 +21,13 @@ + namespace uri + { + /// Char class. +- enum char_class_e ++ typedef enum char_class_e : signed char + { + CINV = -2, ///< invalid + CEND = -1, ///< end delimitor + CVAL = 0, ///< valid any position + CVA2 = 1, ///< valid anywhere but 1st position +- }; ++ } char_class_e_type; + + /// Traits used for parsing and encoding components. + struct traits +@@ -35,7 +35,7 @@ namespace uri + char* begin_cstring; ///< begin cstring (or 0 if none) + char begin_char; ///< begin char (or 0 if none) + char end_char; ///< end char (or 0 if none) +- char char_class[256]; ///< map of char to class ++ char_class_e_type char_class[256]; ///< map of char to class + }; + + /** +-- +2.7.0 + diff --git a/firmware/buildroot/package/kodi-pvr-mediaportal-tvserver/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch b/firmware/buildroot/package/kodi-pvr-mediaportal-tvserver/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch new file mode 100644 index 00000000..890c1510 --- /dev/null +++ b/firmware/buildroot/package/kodi-pvr-mediaportal-tvserver/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch @@ -0,0 +1,42 @@ +From 7b14e0657a1308e8e133991b778e2fdcb2eb6b9c Mon Sep 17 00:00:00 2001 +From: Balint Reczey +Date: Wed, 23 Dec 2015 12:55:00 +0100 +Subject: [PATCH] Sync enum representation of char_class_e in struct traits + with definition + +Signed-off-by: Bernd Kuhls +[backport of upstream patch from master branch: + https://github.com/kodi-pvr/pvr.mediaportal.tvserver/commit/7b14e0657a1308e8e133991b778e2fdcb2eb6b9c] +--- + src/uri.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/uri.h b/src/uri.h +index d2cc949..415e917 100644 +--- a/src/uri.h ++++ b/src/uri.h +@@ -21,13 +21,13 @@ + namespace uri + { + /// Char class. +- enum char_class_e ++ typedef enum char_class_e : signed char + { + CINV = -2, ///< invalid + CEND = -1, ///< end delimitor + CVAL = 0, ///< valid any position + CVA2 = 1, ///< valid anywhere but 1st position +- }; ++ } char_class_e_type; + + /// Traits used for parsing and encoding components. + struct traits +@@ -35,7 +35,7 @@ namespace uri + const char* begin_cstring; ///< begin cstring (or 0 if none) + const char begin_char; ///< begin char (or 0 if none) + const char end_char; ///< end char (or 0 if none) +- const char char_class[256]; ///< map of char to class ++ const char_class_e_type char_class[256]; ///< map of char to class + }; + + /** diff --git a/firmware/buildroot/package/kodi-pvr-nextpvr/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch b/firmware/buildroot/package/kodi-pvr-nextpvr/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch new file mode 100644 index 00000000..18e59951 --- /dev/null +++ b/firmware/buildroot/package/kodi-pvr-nextpvr/0001-Sync-enum-representation-of-char_class_e-in-struct-t.patch @@ -0,0 +1,48 @@ +From 2698ac4eeca3a82967ff83386460c070ce387ead Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 28 Feb 2016 01:07:52 +0100 +Subject: [PATCH] Sync enum representation of char_class_e in struct traits + with definition + +Copied from +https://github.com/kodi-pvr/pvr.mediaportal.tvserver/pull/28 +https://github.com/kodi-pvr/pvr.mediaportal.tvserver/pull/35 + +Signed-off-by: Bernd Kuhls +[Patch sent upstream: https://github.com/kodi-pvr/pvr.nextpvr/pull/42] +--- + src/uri.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/uri.h b/src/uri.h +index 2757cf0..3dbca88 100644 +--- a/src/uri.h ++++ b/src/uri.h +@@ -21,13 +21,13 @@ + namespace uri + { + /// Char class. +- enum char_class_e ++ typedef enum char_class_e : signed char + { + CINV = -2, ///< invalid + CEND = -1, ///< end delimitor + CVAL = 0, ///< valid any position + CVA2 = 1, ///< valid anywhere but 1st position +- }; ++ } char_class_e_type; + + /// Traits used for parsing and encoding components. + struct traits +@@ -35,7 +35,7 @@ namespace uri + const char* begin_cstring; ///< begin cstring (or 0 if none) + const char begin_char; ///< begin char (or 0 if none) + const char end_char; ///< end char (or 0 if none) +- char char_class[256]; ///< map of char to class ++ const char_class_e_type char_class[256]; ///< map of char to class + }; + + /** +-- +2.7.0 + diff --git a/firmware/buildroot/package/lftp/lftp.mk b/firmware/buildroot/package/lftp/lftp.mk index d2d58fd9..5051f707 100644 --- a/firmware/buildroot/package/lftp/lftp.mk +++ b/firmware/buildroot/package/lftp/lftp.mk @@ -17,6 +17,10 @@ ifneq ($(BR2_STATIC_LIBS),y) LFTP_CONF_OPTS += --with-modules endif +ifeq ($(BR2_PACKAGE_EXPAT)$(BR2_PACKAGE_LFTP_PROTO_HTTP),yy) +LFTP_DEPENDENCIES += expat +endif + ifeq ($(BR2_PACKAGE_GNUTLS),y) LFTP_DEPENDENCIES += gnutls LFTP_CONF_OPTS += --with-gnutls diff --git a/firmware/buildroot/package/libarchive/libarchive.mk b/firmware/buildroot/package/libarchive/libarchive.mk index 206de3f5..726142b2 100644 --- a/firmware/buildroot/package/libarchive/libarchive.mk +++ b/firmware/buildroot/package/libarchive/libarchive.mk @@ -42,6 +42,13 @@ else LIBARCHIVE_CONF_OPTS += --disable-xattr endif +ifeq ($(BR2_PACKAGE_BZIP2),y) +LIBARCHIVE_CONF_OPTS += --with-bz2lib +LIBARCHIVE_DEPENDENCIES += bzip2 +else +LIBARCHIVE_CONF_OPTS += --without-bz2lib +endif + ifeq ($(BR2_PACKAGE_EXPAT),y) LIBARCHIVE_DEPENDENCIES += expat else diff --git a/firmware/buildroot/package/libeXosip2/libeXosip2.mk b/firmware/buildroot/package/libeXosip2/libeXosip2.mk index d7d0af81..d101f954 100644 --- a/firmware/buildroot/package/libeXosip2/libeXosip2.mk +++ b/firmware/buildroot/package/libeXosip2/libeXosip2.mk @@ -20,6 +20,10 @@ ifeq ($(BR2_arc),y) LIBEXOSIP2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -U__arc__" endif +ifeq ($(BR2_PACKAGE_C_ARES),y) +LIBEXOSIP2_DEPENDENCIES += c-ares +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBEXOSIP2_DEPENDENCIES += openssl LIBEXOSIP2_CONF_OPTS += --enable-openssl diff --git a/firmware/buildroot/package/libfcgi/0006-fix-CVE-2012-6687.patch b/firmware/buildroot/package/libfcgi/0006-fix-CVE-2012-6687.patch new file mode 100644 index 00000000..10d33ed5 --- /dev/null +++ b/firmware/buildroot/package/libfcgi/0006-fix-CVE-2012-6687.patch @@ -0,0 +1,104 @@ +libfcgi:add security patch for CVE-2012-6687 +CVE-2012-6687 - remote attackers cause a denial of service (crash) via a large number +of connections (http://www.cvedetails.com/cve/CVE-2012-6687/). +Fix:use poll in os_unix.c instead of select to avoid problem with > 1024 connections. +This patch libfcgi_2.4.0-8.3.debian.tar.xz is pulled from the below link: +(https://launchpad.net/ubuntu/+source/libfcgi/2.4.0-8.3) +The next release of libfcgi is 2.4.1 which may have this fix is yet to be released +officially. + +Signed-off-by: Anton Kortunov +Signed-off-by: Niranjan Reddy + +Index: b/libfcgi/os_unix.c +=================================================================== +--- a/libfcgi/os_unix.c ++++ b/libfcgi/os_unix.c +@@ -42,6 +42,7 @@ + #include + #include + #include ++#include + + #ifdef HAVE_NETDB_H + #include +@@ -103,6 +104,9 @@ + static int shutdownPending = FALSE; + static int shutdownNow = FALSE; + ++static int libfcgiOsClosePollTimeout = 2000; ++static int libfcgiIsAfUnixKeeperPollTimeout = 2000; ++ + void OS_ShutdownPending() + { + shutdownPending = TRUE; +@@ -168,6 +172,16 @@ + if(libInitialized) + return 0; + ++ char *libfcgiOsClosePollTimeoutStr = getenv( "LIBFCGI_OS_CLOSE_POLL_TIMEOUT" ); ++ if(libfcgiOsClosePollTimeoutStr) { ++ libfcgiOsClosePollTimeout = atoi(libfcgiOsClosePollTimeoutStr); ++ } ++ ++ char *libfcgiIsAfUnixKeeperPollTimeoutStr = getenv( "LIBFCGI_IS_AF_UNIX_KEEPER_POLL_TIMEOUT" ); ++ if(libfcgiIsAfUnixKeeperPollTimeoutStr) { ++ libfcgiIsAfUnixKeeperPollTimeout = atoi(libfcgiIsAfUnixKeeperPollTimeoutStr); ++ } ++ + asyncIoTable = (AioInfo *)malloc(asyncIoTableSize * sizeof(AioInfo)); + if(asyncIoTable == NULL) { + errno = ENOMEM; +@@ -755,19 +769,16 @@ + + if (shutdown(fd, 1) == 0) + { +- struct timeval tv; +- fd_set rfds; ++ struct pollfd pfd; + int rv; + char trash[1024]; + +- FD_ZERO(&rfds); ++ pfd.fd = fd; ++ pfd.events = POLLIN; + + do + { +- FD_SET(fd, &rfds); +- tv.tv_sec = 2; +- tv.tv_usec = 0; +- rv = select(fd + 1, &rfds, NULL, NULL, &tv); ++ rv = poll(&pfd, 1, libfcgiOsClosePollTimeout); + } + while (rv > 0 && read(fd, trash, sizeof(trash)) > 0); + } +@@ -1116,13 +1127,11 @@ + */ + static int is_af_unix_keeper(const int fd) + { +- struct timeval tval = { READABLE_UNIX_FD_DROP_DEAD_TIMEVAL }; +- fd_set read_fds; +- +- FD_ZERO(&read_fds); +- FD_SET(fd, &read_fds); ++ struct pollfd pfd; ++ pfd.fd = fd; ++ pfd.events = POLLIN; + +- return select(fd + 1, &read_fds, NULL, NULL, &tval) >= 0 && FD_ISSET(fd, &read_fds); ++ return poll(&pfd, 1, libfcgiIsAfUnixKeeperPollTimeout) >= 0 && (pfd.revents & POLLIN); + } + + /* + +Index: b/examples/Makefile.am +=================================================================== +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -34,5 +34,5 @@ threaded_CFLAGS = @PTHREAD_CFLAGS@ + threaded_LDFLAGS = @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ + + echo_cpp_SOURCES = $(INCLUDE_FILES) $(INCLUDEDIR)/fcgio.h echo-cpp.cpp +-echo_cpp_LDADD = $(LIBDIR)/libfcgi++.la ++echo_cpp_LDADD = $(LIBDIR)/libfcgi++.la $(LIBDIR)/libfcgi.la diff --git a/firmware/buildroot/package/libfm/libfm.mk b/firmware/buildroot/package/libfm/libfm.mk index f0888b7e..e8410d02 100644 --- a/firmware/buildroot/package/libfm/libfm.mk +++ b/firmware/buildroot/package/libfm/libfm.mk @@ -12,4 +12,11 @@ LIBFM_LICENSE = GPLv2+, LGPLv2.1+ LIBFM_LICENSE_FILES = COPYING src/extra/fm-xml-file.c LIBFM_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +LIBFM_CONF_OPTS += --enable-exif +LIBFM_DEPENDENCIES += libexif +else +LIBFM_CONF_OPTS += --disable-exif +endif + $(eval $(autotools-package)) diff --git a/firmware/buildroot/package/libglib2/libglib2.mk b/firmware/buildroot/package/libglib2/libglib2.mk index 881c5ced..ea45f4aa 100644 --- a/firmware/buildroot/package/libglib2/libglib2.mk +++ b/firmware/buildroot/package/libglib2/libglib2.mk @@ -107,6 +107,13 @@ ifneq ($(BR2_ENABLE_LOCALE),y) LIBGLIB2_DEPENDENCIES += libiconv endif +ifeq ($(BR2_PACKAGE_ELFUTILS),y) +LIBGLIB2_CONF_OPTS += --enable-libelf +LIBGLIB2_DEPENDENCIES += elfutils +else +LIBGLIB2_CONF_OPTS += --disable-libelf +endif + ifeq ($(BR2_PACKAGE_LIBICONV),y) LIBGLIB2_CONF_OPTS += --with-libiconv=gnu LIBGLIB2_DEPENDENCIES += libiconv diff --git a/firmware/buildroot/package/libsoil/libsoil.mk b/firmware/buildroot/package/libsoil/libsoil.mk index 99a47f6d..efa67d9e 100644 --- a/firmware/buildroot/package/libsoil/libsoil.mk +++ b/firmware/buildroot/package/libsoil/libsoil.mk @@ -18,6 +18,10 @@ define LIBSOIL_EXTRACT_CMDS mv $(@D)/Simple\ OpenGL\ Image\ Library/* $(@D) endef +# gnu patch < v2.5.9 doesn't correctly handle spaces in file names, +# and we want to patch the 'alternate Makefile.txt' file, so rename +# the file (and patch the renamed file) for compatibility with older +# distributions define REMOVE_SPACE_FROM_FILENAME cd $(@D)/projects/makefile/ && \ mv "alternate Makefile.txt" alternate_Makefile.txt diff --git a/firmware/buildroot/package/libssh/libssh.hash b/firmware/buildroot/package/libssh/libssh.hash index 49bf6c95..1eef804e 100644 --- a/firmware/buildroot/package/libssh/libssh.hash +++ b/firmware/buildroot/package/libssh/libssh.hash @@ -1,4 +1,4 @@ # from https://red.libssh.org/projects/libssh/files/ -md5 5d7d468937649a6dfc6186edfff083db libssh-0.7.2.tar.xz -# Locally calculated after checking signature on uncompressed libssh-0.7.2.tar -sha256 a32c45b9674141cab4bde84ded7d53e931076c6b0f10b8fd627f3584faebae62 libssh-0.7.2.tar.xz +md5 05465da8004f3258db946346213209de libssh-0.7.3.tar.xz +# Locally calculated after checking signature on uncompressed libssh-0.7.3.tar +sha256 26ef46be555da21112c01e4b9f5e3abba9194485c8822ab55ba3d6496222af98 libssh-0.7.3.tar.xz diff --git a/firmware/buildroot/package/libssh/libssh.mk b/firmware/buildroot/package/libssh/libssh.mk index d425ff0b..29bbf4e9 100644 --- a/firmware/buildroot/package/libssh/libssh.mk +++ b/firmware/buildroot/package/libssh/libssh.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBSSH_VERSION = 0.7.2 +LIBSSH_VERSION = 0.7.3 LIBSSH_SOURCE = libssh-$(LIBSSH_VERSION).tar.xz -LIBSSH_SITE = https://red.libssh.org/attachments/download/177 +LIBSSH_SITE = https://red.libssh.org/attachments/download/195 LIBSSH_LICENSE = LGPLv2.1 LIBSSH_LICENSE_FILES = COPYING LIBSSH_INSTALL_STAGING = YES diff --git a/firmware/buildroot/package/libssh2/libssh2.hash b/firmware/buildroot/package/libssh2/libssh2.hash index 3bf75620..8f6268f3 100644 --- a/firmware/buildroot/package/libssh2/libssh2.hash +++ b/firmware/buildroot/package/libssh2/libssh2.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 5a202943a34a1d82a1c31f74094f2453c207bf9936093867f41414968c8e8215 libssh2-1.6.0.tar.gz +sha256 e4561fd43a50539a8c2ceb37841691baf03ecb7daf043766da1b112e4280d584 libssh2-1.7.0.tar.gz diff --git a/firmware/buildroot/package/libssh2/libssh2.mk b/firmware/buildroot/package/libssh2/libssh2.mk index 51dcf0e7..221fac47 100644 --- a/firmware/buildroot/package/libssh2/libssh2.mk +++ b/firmware/buildroot/package/libssh2/libssh2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSSH2_VERSION = 1.6.0 +LIBSSH2_VERSION = 1.7.0 LIBSSH2_SITE = http://www.libssh2.org/download LIBSSH2_LICENSE = BSD LIBSSH2_LICENSE_FILES = COPYING diff --git a/firmware/buildroot/package/libuci/libuci.mk b/firmware/buildroot/package/libuci/libuci.mk index a78048dc..8c060d59 100644 --- a/firmware/buildroot/package/libuci/libuci.mk +++ b/firmware/buildroot/package/libuci/libuci.mk @@ -13,7 +13,7 @@ LIBUCI_DEPENDENCIES = libubox ifeq ($(BR2_PACKAGE_LUA_5_1),y) LIBUCI_DEPENDENCIES += lua LIBUCI_CONF_OPTS += -DBUILD_LUA=ON \ - -DLUAPATH=$(STAGING_DIR)/usr/lib/lua/5.1 \ + -DLUAPATH=/usr/lib/lua/5.1 \ -DLUA_CFLAGS=-I$(STAGING_DIR)/usr/include else LIBUCI_CONF_OPTS += -DBUILD_LUA=OFF diff --git a/firmware/buildroot/package/links/links.mk b/firmware/buildroot/package/links/links.mk index 4d2cb2e0..62f91a32 100644 --- a/firmware/buildroot/package/links/links.mk +++ b/firmware/buildroot/package/links/links.mk @@ -28,31 +28,67 @@ else LINKS_CONF_OPTS += --without-directfb endif ifeq ($(BR2_PACKAGE_JPEG),y) +LINKS_CONF_OPTS += --with-libjpeg LINKS_DEPENDENCIES += jpeg +else +LINKS_CONF_OPTS += --without-libjpeg +endif +ifeq ($(BR2_PACKAGE_LIBRSVG),y) +LINKS_CONF_OPTS += --with-librsvg +LINKS_DEPENDENCIES += librsvg +else +LINKS_CONF_OPTS += --without-librsvg endif ifeq ($(BR2_PACKAGE_TIFF),y) +LINKS_CONF_OPTS += --with-libtiff LINKS_DEPENDENCIES += tiff +else +LINKS_CONF_OPTS += --without-libtiff endif +else +LINKS_CONF_OPTS += --disable-graphics endif ifeq ($(BR2_PACKAGE_BZIP2),y) +LINKS_CONF_OPTS += --with-bzip2 LINKS_DEPENDENCIES += bzip2 +else +LINKS_CONF_OPTS += --without-bzip2 +endif + +ifeq ($(BR2_PACKAGE_GPM),y) +LINKS_CONF_OPTS += --with-gpm +LINKS_DEPENDENCIES += gpm +else +LINKS_CONF_OPTS += --without-gpm endif ifeq ($(BR2_PACKAGE_LIBEVENT),y) +LINKS_CONF_OPTS += --with-libevent LINKS_DEPENDENCIES += libevent +else +LINKS_CONF_OPTS += --without-libevent endif ifeq ($(BR2_PACKAGE_OPENSSL),y) +LINKS_CONF_OPTS += --with-ssl --enable-ssl-pkgconfig LINKS_DEPENDENCIES += openssl +else +LINKS_CONF_OPTS += --without-ssl endif ifeq ($(BR2_PACKAGE_XZ),y) +LINKS_CONF_OPTS += --with-lzma LINKS_DEPENDENCIES += xz +else +LINKS_CONF_OPTS += --without-lzma endif ifeq ($(BR2_PACKAGE_ZLIB),y) +LINKS_CONF_OPTS += --with-zlib LINKS_DEPENDENCIES += zlib +else +LINKS_CONF_OPTS += --without-zlib endif $(eval $(autotools-package)) diff --git a/firmware/buildroot/package/linux-headers/Config.in.host b/firmware/buildroot/package/linux-headers/Config.in.host index bdf99f5e..d6cb2383 100644 --- a/firmware/buildroot/package/linux-headers/Config.in.host +++ b/firmware/buildroot/package/linux-headers/Config.in.host @@ -207,17 +207,17 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "3.2.77" if BR2_KERNEL_HEADERS_3_2 + default "3.2.78" if BR2_KERNEL_HEADERS_3_2 default "3.4.110" if BR2_KERNEL_HEADERS_3_4 - default "3.10.96" if BR2_KERNEL_HEADERS_3_10 - default "3.12.54" if BR2_KERNEL_HEADERS_3_12 - default "3.14.61" if BR2_KERNEL_HEADERS_3_14 + default "3.10.98" if BR2_KERNEL_HEADERS_3_10 + default "3.12.55" if BR2_KERNEL_HEADERS_3_12 + default "3.14.62" if BR2_KERNEL_HEADERS_3_14 default "3.17.8" if BR2_KERNEL_HEADERS_3_17 default "3.18.27" if BR2_KERNEL_HEADERS_3_18 default "3.19.8" if BR2_KERNEL_HEADERS_3_19 default "4.0.9" if BR2_KERNEL_HEADERS_4_0 default "4.1.18" if BR2_KERNEL_HEADERS_4_1 default "4.2.8" if BR2_KERNEL_HEADERS_4_2 - default "4.3.5" if BR2_KERNEL_HEADERS_4_3 - default "4.4.2" if BR2_KERNEL_HEADERS_4_4 + default "4.3.6" if BR2_KERNEL_HEADERS_4_3 + default "4.4.3" if BR2_KERNEL_HEADERS_4_4 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/firmware/buildroot/package/linux-headers/linux-headers.mk b/firmware/buildroot/package/linux-headers/linux-headers.mk index 63392803..09007783 100644 --- a/firmware/buildroot/package/linux-headers/linux-headers.mk +++ b/firmware/buildroot/package/linux-headers/linux-headers.mk @@ -9,14 +9,67 @@ ifeq ($(BR2_KERNEL_HEADERS_AS_KERNEL),y) -LINUX_HEADERS_VERSION = none -LINUX_HEADERS_SOURCE = +LINUX_HEADERS_VERSION = $(call qstrip,$(BR2_LINUX_KERNEL_VERSION)) -LINUX_HEADERS_LICENSE = $(LINUX_LICENSE) -LINUX_HEADERS_LICENSE_FILES = $(LINUX_LICENSE_FILES) +# Compute LINUX_HEADERS_SOURCE and LINUX_HEADERS_SITE from the configuration +ifeq ($(BR2_LINUX_KERNEL_CUSTOM_TARBALL),y) +LINUX_HEADERS_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION)) +LINUX_HEADERS_SITE = $(patsubst %/,%,$(dir $(LINUX_HEADERS_TARBALL))) +LINUX_HEADERS_SOURCE = $(notdir $(LINUX_HEADERS_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(LINUX_HEADERS_SOURCE) +else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_LOCAL),y) +LINUX_HEADERS_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH)) +LINUX_HEADERS_SITE_METHOD = local +else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y) +LINUX_HEADERS_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) +LINUX_HEADERS_SITE_METHOD = git +# use same git tarball as linux kernel +LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz +else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_HG),y) +LINUX_HEADERS_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) +LINUX_HEADERS_SITE_METHOD = hg +# use same hg tarball as linux kernel +LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz +else +LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz +ifeq ($(BR2_LINUX_KERNEL_CUSTOM_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(LINUX_HEADERS_SOURCE) +endif +# In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order +# to use the $(word) function. We support versions such as 4.0, 3.1, +# 2.6.32, 2.6.32-rc1, 3.0-rc6, etc. +ifeq ($(findstring x2.6.,x$(LINUX_HEADERS_VERSION)),x2.6.) +LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6 +else ifeq ($(findstring x3.,x$(LINUX_HEADERS_VERSION)),x3.) +LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x +else ifeq ($(findstring x4.,x$(LINUX_HEADERS_VERSION)),x4.) +LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x +endif +# release candidates are in testing/ subdir +ifneq ($(findstring -rc,$(LINUX_HEADERS_VERSION)),) +LINUX_HEADERS_SITE := $(LINUX_HEADERS_SITE)/testing +endif # -rc +endif -LINUX_HEADERS_PATCH_DEPENDENCIES = linux -LINUX_HEADERS_REAL_DIR = $(LINUX_DIR) +LINUX_HEADERS_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH)) + +# We rely on the generic package infrastructure to download and apply +# remote patches (downloaded from ftp, http or https). For local +# patches, we can't rely on that infrastructure, because there might +# be directories in the patch list (unlike for other packages). +LINUX_HEADERS_PATCH = $(filter ftp://% http://% https://%,$(LINUX_HEADERS_PATCHES)) + +define LINUX_HEADERS_APPLY_LOCAL_PATCHES + for p in $(filter-out ftp://% http://% https://%,$(LINUX_HEADERS_PATCHES)) ; do \ + if test -d $$p ; then \ + $(APPLY_PATCHES) $(@D) $$p \*.patch || exit 1 ; \ + else \ + $(APPLY_PATCHES) $(@D) `dirname $$p` `basename $$p` || exit 1; \ + fi \ + done +endef + +LINUX_HEADERS_POST_PATCH_HOOKS += LINUX_HEADERS_APPLY_LOCAL_PATCHES else # ! BR2_KERNEL_HEADERS_AS_KERNEL @@ -30,13 +83,11 @@ LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x endif LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz +endif # ! BR2_KERNEL_HEADERS_AS_KERNEL + LINUX_HEADERS_LICENSE = GPLv2 LINUX_HEADERS_LICENSE_FILES = COPYING -LINUX_HEADERS_REAL_DIR = $(@D) - -endif # ! BR2_KERNEL_HEADERS_AS_KERNEL - LINUX_HEADERS_INSTALL_STAGING = YES # linux-headers is part of the toolchain so disable the toolchain dependency @@ -53,7 +104,7 @@ LINUX_HEADERS_ADD_TOOLCHAIN_DEPENDENCY = NO # uClibc building. This way uClibc doesn't modify linux headers on installation # of "its" headers define LINUX_HEADERS_CONFIGURE_CMDS - (cd $(LINUX_HEADERS_REAL_DIR); \ + (cd $(@D); \ $(TARGET_MAKE_ENV) $(MAKE) \ ARCH=$(KERNEL_ARCH) \ HOSTCC="$(HOSTCC)" \ @@ -64,7 +115,7 @@ define LINUX_HEADERS_CONFIGURE_CMDS endef define LINUX_HEADERS_INSTALL_STAGING_CMDS - (cd $(LINUX_HEADERS_REAL_DIR); \ + (cd $(@D); \ $(TARGET_MAKE_ENV) $(MAKE) \ ARCH=$(KERNEL_ARCH) \ HOSTCC="$(HOSTCC)" \ diff --git a/firmware/buildroot/package/lshw/lshw.hash b/firmware/buildroot/package/lshw/lshw.hash index 416d496a..8dfc7d3e 100644 --- a/firmware/buildroot/package/lshw/lshw.hash +++ b/firmware/buildroot/package/lshw/lshw.hash @@ -2,3 +2,4 @@ sha256 eb9cc053fa0f1e78685cb695596e73931bfb55d2377e3bc3b8b94aff4c5a489c lshw-B.02.17.tar.gz sha256 2e5a3d63da8475db17fd90969bcb1930cf19d2b8da7be41edeea5c2a53878382 no-private-uint.patch sha256 c8365f7ac8fc7a751c78d89ab446111bb1a235bc977a1b21e1b826c2e62361d1 basename-limits-long-bits.patch +sha256 9eba284061574e02a6b162ab20dff07c48693e00f781220ee974ba5c90d1cca9 988f5449791ebf869ab9fa7520463dab4eae3404.patch diff --git a/firmware/buildroot/package/lshw/lshw.mk b/firmware/buildroot/package/lshw/lshw.mk index a4a26035..e8e67e2c 100644 --- a/firmware/buildroot/package/lshw/lshw.mk +++ b/firmware/buildroot/package/lshw/lshw.mk @@ -8,7 +8,8 @@ LSHW_VERSION = B.02.17 LSHW_SITE = http://ezix.org/software/files LSHW_PATCH = \ http://git.alpinelinux.org/cgit/aports/plain/testing/lshw/basename-limits-long-bits.patch \ - http://git.alpinelinux.org/cgit/aports/plain/testing/lshw/no-private-uint.patch + http://git.alpinelinux.org/cgit/aports/plain/testing/lshw/no-private-uint.patch \ + https://github.com/lyonel/lshw/commit/988f5449791ebf869ab9fa7520463dab4eae3404.patch LSHW_LICENSE = GPLv2 LSHW_LICENSE_FILES = COPYING diff --git a/firmware/buildroot/package/lxc/lxc.mk b/firmware/buildroot/package/lxc/lxc.mk index e382f4de..81909695 100644 --- a/firmware/buildroot/package/lxc/lxc.mk +++ b/firmware/buildroot/package/lxc/lxc.mk @@ -15,4 +15,11 @@ LXC_CONF_OPTS = --disable-apparmor --with-distro=buildroot \ --disable-lua --disable-python \ $(if $(BR2_PACKAGE_BASH),,--disable-bash) +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +LXC_CONF_OPTS += --enable-seccomp +LXC_DEPENDENCIES += libseccomp +else +LXC_CONF_OPTS += --disable-seccomp +endif + $(eval $(autotools-package)) diff --git a/firmware/buildroot/package/mediastreamer/mediastreamer.mk b/firmware/buildroot/package/mediastreamer/mediastreamer.mk index 79d8e75a..81f5b502 100644 --- a/firmware/buildroot/package/mediastreamer/mediastreamer.mk +++ b/firmware/buildroot/package/mediastreamer/mediastreamer.mk @@ -20,6 +20,27 @@ else MEDIASTREAMER_CONF_OPTS += --disable-alsa endif +ifeq ($(BR2_PACKAGE_LIBUPNP),y) +MEDIASTREAMER_CONF_OPTS += --enable-upnp +MEDIASTREAMER_DEPENDENCIES += libupnp +else +MEDIASTREAMER_CONF_OPTS += --disable-upnp +endif + +ifeq ($(BR2_PACKAGE_LIBVPX),y) +MEDIASTREAMER_CONF_OPTS += --enable-vp8 +MEDIASTREAMER_DEPENDENCIES += libvpx +else +MEDIASTREAMER_CONF_OPTS += --disable-vp8 +endif + +ifeq ($(BR2_PACKAGE_OPUS),y) +MEDIASTREAMER_CONF_OPTS += --enable-opus +MEDIASTREAMER_DEPENDENCIES += opus +else +MEDIASTREAMER_CONF_OPTS += --disable-opus +endif + # portaudio backend needs speex as well ifeq ($(BR2_PACKAGE_PORTAUDIO)$(BR2_PACKAGE_SPEEX),yy) MEDIASTREAMER_CONF_OPTS += --enable-portaudio diff --git a/firmware/buildroot/package/mono/0007-config.in-fixing-wrong-MonoPosixHelper-location.patch b/firmware/buildroot/package/mono/0007-config.in-fixing-wrong-MonoPosixHelper-location.patch new file mode 100644 index 00000000..6ebb802a --- /dev/null +++ b/firmware/buildroot/package/mono/0007-config.in-fixing-wrong-MonoPosixHelper-location.patch @@ -0,0 +1,28 @@ +From 76aa4fb62a433e61dc35eefcc3077f0463182d2f Mon Sep 17 00:00:00 2001 +From: Angelo Compagnucci +Date: Tue, 23 Feb 2016 22:43:39 +0100 +Subject: [PATCH] config.in: fixing wrong MonoPosixHelper location + +This patch remove a wrong prefix for libMonoPosixHelper + +Signed-off-by: Angelo Compagnucci +--- + data/config.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/config.in b/data/config.in +index b760176..41495b9 100644 +--- a/data/config.in ++++ b/data/config.in +@@ -10,7 +10,7 @@ + + + +- ++ + + + +-- +1.9.1 + diff --git a/firmware/buildroot/package/mono/0008-monodoc-Fixing-wrong-monodoc-search-path.patch b/firmware/buildroot/package/mono/0008-monodoc-Fixing-wrong-monodoc-search-path.patch new file mode 100644 index 00000000..58fa3238 --- /dev/null +++ b/firmware/buildroot/package/mono/0008-monodoc-Fixing-wrong-monodoc-search-path.patch @@ -0,0 +1,29 @@ +From 18bba65adf58d54645398de26eac24081d48f793 Mon Sep 17 00:00:00 2001 +From: Angelo Compagnucci +Date: Thu, 25 Feb 2016 22:19:31 +0100 +Subject: [PATCH] mcs/class/monodoc/Makefile: Fixing wrong monodoc search path + +mono_libdir actually leaks host compiler path, fixing +by hardcoding correct path for our usecase. + +Signed-off-by: Angelo Compagnucci +--- + mcs/class/monodoc/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mcs/class/monodoc/Makefile b/mcs/class/monodoc/Makefile +index 3ebba80..ddc2098 100644 +--- a/mcs/class/monodoc/Makefile ++++ b/mcs/class/monodoc/Makefile +@@ -135,7 +135,7 @@ test-local: setup-doc-sources + dist-local: Monodoc.Ecma/EcmaUrlParser.cs + + $(the_lib).config: Makefile monodoc.dll.config.in +- sed 's,@monodoc_refdir@,$(mono_libdir)/monodoc,g' monodoc.dll.config.in > $@ ++ sed 's,@monodoc_refdir@,/usr/lib/monodoc,g' monodoc.dll.config.in > $@ + + Monodoc.Ecma/EcmaUrlParser.cs: Monodoc.Ecma/EcmaUrlParser.jay $(topdir)/jay/skeleton.cs jay.sh + $(topdir)/$(thisdir)/jay.sh $(topdir) $< $@ $(JAY_FLAGS) +-- +1.9.1 + diff --git a/firmware/buildroot/package/mraa/mraa.mk b/firmware/buildroot/package/mraa/mraa.mk index 8c7dbc4b..42cc2e33 100644 --- a/firmware/buildroot/package/mraa/mraa.mk +++ b/firmware/buildroot/package/mraa/mraa.mk @@ -20,6 +20,6 @@ MRAA_CONF_OPTS += \ -DIPK=OFF \ -DRPM=OFF \ -DENABLEEXAMPLES=OFF \ - -DTESTS=OFF + -DBUILDTESTS=OFF $(eval $(cmake-package)) diff --git a/firmware/buildroot/package/mutt/mutt.mk b/firmware/buildroot/package/mutt/mutt.mk index b07f9b2d..14c5be95 100644 --- a/firmware/buildroot/package/mutt/mutt.mk +++ b/firmware/buildroot/package/mutt/mutt.mk @@ -17,6 +17,13 @@ MUTT_DEPENDENCIES += libiconv MUTT_CONF_OPTS += --enable-iconv endif +ifeq ($(BR2_PACKAGE_LIBIDN),y) +MUTT_DEPENDENCIES += libidn +MUTT_CONF_OPTS += --with-idn +else +MUTT_CONF_OPTS += --without-idn +endif + ifeq ($(BR2_PACKAGE_MUTT_IMAP),y) MUTT_CONF_OPTS += --enable-imap else diff --git a/firmware/buildroot/package/nfs-utils/0004-mountd-Add-check-for-struct-file_handle.patch b/firmware/buildroot/package/nfs-utils/0004-mountd-Add-check-for-struct-file_handle.patch new file mode 100644 index 00000000..7aca2669 --- /dev/null +++ b/firmware/buildroot/package/nfs-utils/0004-mountd-Add-check-for-struct-file_handle.patch @@ -0,0 +1,46 @@ +From 3c23b3ea7f5069e8fd4d5758704cd968504f1079 Mon Sep 17 00:00:00 2001 +From: Maxime Hadjinlian +Date: Tue, 2 Feb 2016 10:07:22 +0100 +Subject: [PATCH] mountd: Add check for 'struct file_handle' + +The code to check if name_to_handle_at() is implemented generates only a +warning but with some toolchain it doesn't fail to link (the function must be +implemented somewhere). +However the "struct file_handle" type is not available. + +So, this patch adds a check for this struct. + +Signed-off-by: Maxime Hadjinlian +--- + configure.ac | 1 + + utils/mountd/cache.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 25d2ba4..913a86f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -425,6 +425,7 @@ AC_TYPE_PID_T + AC_TYPE_SIZE_T + AC_HEADER_TIME + AC_STRUCT_TM ++AC_CHECK_TYPES([struct file_handle]) + + dnl ************************************************************* + dnl Check for functions +diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c +index 7847446..dc64f6d 100644 +--- a/utils/mountd/cache.c ++++ b/utils/mountd/cache.c +@@ -424,7 +424,7 @@ static int same_path(char *child, char *parent, int len) + if (count_slashes(p) != count_slashes(parent)) + return 0; + +-#if HAVE_NAME_TO_HANDLE_AT ++#if defined(HAVE_NAME_TO_HANDLE_AT) && defined(HAVE_STRUCT_FILE_HANDLE) + struct { + struct file_handle fh; + unsigned char handle[128]; +-- +2.7.0 + diff --git a/firmware/buildroot/package/nfs-utils/nfs-utils.mk b/firmware/buildroot/package/nfs-utils/nfs-utils.mk index 6dd175ca..179009dc 100644 --- a/firmware/buildroot/package/nfs-utils/nfs-utils.mk +++ b/firmware/buildroot/package/nfs-utils/nfs-utils.mk @@ -28,6 +28,13 @@ NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPCDEBUG) += usr/sbin/rpcdebug NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_LOCKD) += usr/sbin/rpc.lockd NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD) += usr/sbin/rpc.rquotad +ifeq ($(BR2_PACKAGE_LIBCAP),y) +NFS_UTILS_CONF_OPTS += --enable-caps +NFS_UTILS_DEPENDENCIES += libcap +else +NFS_UTILS_CONF_OPTS += --disable-caps +endif + ifeq ($(BR2_PACKAGE_LIBTIRPC),y) NFS_UTILS_CONF_OPTS += --enable-tirpc NFS_UTILS_DEPENDENCIES += libtirpc diff --git a/firmware/buildroot/package/numactl/0001-use-glibc-prereq-only-on-glibc.patch b/firmware/buildroot/package/numactl/0001-use-glibc-prereq-only-on-glibc.patch deleted file mode 100644 index 0158bd9a..00000000 --- a/firmware/buildroot/package/numactl/0001-use-glibc-prereq-only-on-glibc.patch +++ /dev/null @@ -1,35 +0,0 @@ -Use __GLIBC_PREREQ only when __GLIBC__ is defined - -The way __GLIBC_PREREQ() is currently used means that it's evaluated -even if __GLIBC__ is not defined. But obviously, __GLIBC_PREREQ will -not exist if __GLIBC__ is not defined, causing build failures on C -libraries not defining __GLIBC__ such as the musl C library. - -Patch originally taken from: -https://github.com/voidlinux/void-packages/blob/master/srcpkgs/numactl/patches/musl.patch - -Signed-off-by: Bernd Kuhls -[Thomas: improve patch description.] -Signed-off-by: Thomas Petazzoni - ---- a/syscall.c.orig 2014-10-20 16:12:53.000000000 +0200 -+++ b/syscall.c 2015-06-22 08:13:22.729034702 +0200 -@@ -115,14 +115,16 @@ - - #endif - --#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 11) -+#if defined(__GLIBC__) -+# if __GLIBC_PREREQ(2,11) - - /* glibc 2.11 seems to have working 6 argument sycall. Use the - glibc supplied syscall in this case. - The version cut-off is rather arbitary and could be probably - earlier. */ - --#define syscall6 syscall -+# define syscall6 syscall -+#endif - #elif defined(__x86_64__) - /* 6 argument calls on x86-64 are often buggy in both glibc and - asm/unistd.h. Add a working version here. */ diff --git a/firmware/buildroot/package/numactl/numactl.hash b/firmware/buildroot/package/numactl/numactl.hash index c36e24d6..77ccfae6 100644 --- a/firmware/buildroot/package/numactl/numactl.hash +++ b/firmware/buildroot/package/numactl/numactl.hash @@ -1,2 +1,4 @@ # Locally calculated sha256 450c091235f891ee874a8651b179c30f57a1391ca5c4673354740ba65e527861 numactl-2.0.11.tar.gz +sha256 1f4c813cc8c81fa4dfd0be959457a5c3de8fc3316bbc80de3aa1d9ef9992b2b6 3770bdc4fa7b9059db5cd2aa8bb09b50fa15e456.patch +sha256 0c4cb6550b46976f2a21087490420b218e62ead7d9b178120ad782d53a7ad3a6 31dc2951c758698bff060aeae8ffd8854616183b.patch diff --git a/firmware/buildroot/package/numactl/numactl.mk b/firmware/buildroot/package/numactl/numactl.mk index 6e1d5e3a..e2d2590c 100644 --- a/firmware/buildroot/package/numactl/numactl.mk +++ b/firmware/buildroot/package/numactl/numactl.mk @@ -6,6 +6,9 @@ NUMACTL_VERSION = 2.0.11 NUMACTL_SITE = ftp://oss.sgi.com/www/projects/libnuma/download +NUMACTL_PATCH = \ + https://github.com/numactl/numactl/commit/3770bdc4fa7b9059db5cd2aa8bb09b50fa15e456.patch \ + https://github.com/numactl/numactl/commit/31dc2951c758698bff060aeae8ffd8854616183b.patch NUMACTL_LICENSE = LGPLv2.1 (libnuma), GPLv2 (programs) NUMACTL_LICENSE_FILES = README NUMACTL_INSTALL_STAGING = YES diff --git a/firmware/buildroot/package/ofono/Config.in b/firmware/buildroot/package/ofono/Config.in index f8365d82..2e3ca223 100644 --- a/firmware/buildroot/package/ofono/Config.in +++ b/firmware/buildroot/package/ofono/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_OFONO depends on BR2_USE_MMU # dbus, libglib2 depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # libcap-ng depends on !BR2_STATIC_LIBS # dlopen() + depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_LIBCAP_NG select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBGLIB2 @@ -18,5 +19,6 @@ config BR2_PACKAGE_OFONO comment "ofono needs a toolchain w/ dynamic library, wchar, threads" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII diff --git a/firmware/buildroot/package/omniorb/omniorb.mk b/firmware/buildroot/package/omniorb/omniorb.mk index aaf3bf32..d278adcc 100644 --- a/firmware/buildroot/package/omniorb/omniorb.mk +++ b/firmware/buildroot/package/omniorb/omniorb.mk @@ -30,6 +30,17 @@ HOST_OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2 OMNIORB_CONF_OPTS += --disable-longdouble HOST_OMNIORB_CONF_OPTS += --disable-longdouble +ifeq ($(BR2_PACKAGE_OPENSSL),y) +OMNIORB_CONF_OPTS += --with-openssl +OMNIORB_DEPENDENCIES += openssl +else +OMNIORB_CONF_OPTS += --without-openssl +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +OMNIORB_DEPENDENCIES += zlib +endif + # The EmbeddedSystem define (set below in OMNIORB_ADJUST_TOOLDIR) # enables building of just the lib and disables building of # tools/apps/services. In some cases the apps/services are still diff --git a/firmware/buildroot/package/openipmi/openipmi.mk b/firmware/buildroot/package/openipmi/openipmi.mk index 4dd901b2..ea46e191 100644 --- a/firmware/buildroot/package/openipmi/openipmi.mk +++ b/firmware/buildroot/package/openipmi/openipmi.mk @@ -23,6 +23,10 @@ OPENIPMI_CONF_OPTS = \ --with-python=no \ --with-swig=no +ifeq ($(BR2_PACKAGE_GDBM),y) +OPENIPMI_DEPENDENCIES += gdbm +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) OPENIPMI_DEPENDENCIES += openssl OPENIPMI_CONF_OPTS += --with-openssl=yes diff --git a/firmware/buildroot/package/openobex/Config.in b/firmware/buildroot/package/openobex/Config.in index 2b8cf382..ed1b81fe 100644 --- a/firmware/buildroot/package/openobex/Config.in +++ b/firmware/buildroot/package/openobex/Config.in @@ -22,8 +22,9 @@ comment "bluez support needs a toolchain w/ wchar, threads, dynamic library" config BR2_PACKAGE_OPENOBEX_LIBUSB bool "enable libusb support" - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_LIBUSB_COMPAT comment "libusb support needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/firmware/buildroot/package/openobex/openobex.mk b/firmware/buildroot/package/openobex/openobex.mk index b50dbb7f..6a1a10ba 100644 --- a/firmware/buildroot/package/openobex/openobex.mk +++ b/firmware/buildroot/package/openobex/openobex.mk @@ -36,7 +36,7 @@ OPENOBEX_CONF_OPTS += --disable-bluetooth endif ifeq ($(BR2_PACKAGE_OPENOBEX_LIBUSB),y) -OPENOBEX_DEPENDENCIES += libusb +OPENOBEX_DEPENDENCIES += libusb-compat OPENOBEX_CONF_OPTS += --with-usb=$(STAGING_DIR) else OPENOBEX_CONF_OPTS += --disable-usb diff --git a/firmware/buildroot/package/openssl/openssl.hash b/firmware/buildroot/package/openssl/openssl.hash index 2cf75162..e3ea2aed 100644 --- a/firmware/buildroot/package/openssl/openssl.hash +++ b/firmware/buildroot/package/openssl/openssl.hash @@ -1,5 +1,5 @@ -# From https://www.openssl.org/source/openssl-1.0.2f.tar.gz.sha256 -sha256 932b4ee4def2b434f85435d9e3e19ca8ba99ce9a065a61524b429a9d5e9b2e9c openssl-1.0.2f.tar.gz +# From https://www.openssl.org/source/openssl-1.0.2g.tar.gz.sha256 +sha256 b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33 openssl-1.0.2g.tar.gz # Locally computed sha256 eddd8a5123748052c598214487ac178e4bfa4e31ba2ec520c70d59c8c5bfa2e9 openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d sha256 147c3eeaad614c044749ea527cb433eae5e2d5cad34a78c6ba61cd967bfbe01f openssl-1.0.2a-parallel-obj-headers.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d diff --git a/firmware/buildroot/package/openssl/openssl.mk b/firmware/buildroot/package/openssl/openssl.mk index b7498a7e..30dfe31d 100644 --- a/firmware/buildroot/package/openssl/openssl.mk +++ b/firmware/buildroot/package/openssl/openssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENSSL_VERSION = 1.0.2f +OPENSSL_VERSION = 1.0.2g OPENSSL_SITE = http://www.openssl.org/source OPENSSL_LICENSE = OpenSSL or SSLeay OPENSSL_LICENSE_FILES = LICENSE diff --git a/firmware/buildroot/package/patch/patch.mk b/firmware/buildroot/package/patch/patch.mk index 765dfa92..3a942524 100644 --- a/firmware/buildroot/package/patch/patch.mk +++ b/firmware/buildroot/package/patch/patch.mk @@ -10,4 +10,11 @@ PATCH_SITE = $(BR2_GNU_MIRROR)/patch PATCH_LICENSE = GPLv3+ PATCH_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_ATTR),y) +PATCH_CONF_OPTS += --enable-attr +PATCH_DEPENDENCIES += attr +else +PATCH_CONF_OPTS += --disable-attr +endif + $(eval $(autotools-package)) diff --git a/firmware/buildroot/package/pax-utils/Config.in b/firmware/buildroot/package/pax-utils/Config.in index 58100e48..e61d9b31 100644 --- a/firmware/buildroot/package/pax-utils/Config.in +++ b/firmware/buildroot/package/pax-utils/Config.in @@ -1,7 +1,11 @@ config BR2_PACKAGE_PAX_UTILS bool "pax-utils" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 # needs PR_SET_NO_NEW_PRIVS help ELF related utils for ELF 32/64 binaries that can check files for security relevant properties. http://www.gentoo.org/proj/en/hardened/pax-utils.xml + +comment "pax-utils needs a toolchain w/ headers >= 3.5" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 diff --git a/firmware/buildroot/package/pifmrds/0003-Makefile-fix-static-link.patch b/firmware/buildroot/package/pifmrds/0003-Makefile-fix-static-link.patch new file mode 100644 index 00000000..ecd7c4fc --- /dev/null +++ b/firmware/buildroot/package/pifmrds/0003-Makefile-fix-static-link.patch @@ -0,0 +1,23 @@ +Makefile: Fix static linking + +Since libsndfile uses funtions from libm, the -lm should be specified +after libsndfile for static linking. + +Signed-off-by: "Eric Limpens" + +diff -purN pifmrds-0bf57f9ce0d954365a38d8af8e7be6f28521c3f2.orig/src/Makefile pifmrds-0bf57f9ce0d954365a38d8af8e7be6f28521c3f2/src/Makefile +--- pifmrds-0bf57f9ce0d954365a38d8af8e7be6f28521c3f2.orig/src/Makefile 2016-02-26 08:06:43.102962592 +0100 ++++ pifmrds-0bf57f9ce0d954365a38d8af8e7be6f28521c3f2/src/Makefile 2016-02-26 08:27:11.069148203 +0100 +@@ -1,10 +1,10 @@ + CC = gcc + + app: rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o +- $(CC) $(LDFLAGS) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -lm -lsndfile ++ $(CC) $(LDFLAGS) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -lsndfile -lm + + rds_wav: rds.o waveforms.o rds_wav.o fm_mpx.o +- $(CC) $(LDFLAGS) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o -lm -lsndfile ++ $(CC) $(LDFLAGS) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o -lsndfile -lm + + rds.o: rds.c waveforms.h + $(CC) $(CFLAGS) rds.c diff --git a/firmware/buildroot/package/pkg-utils.mk b/firmware/buildroot/package/pkg-utils.mk index 44bd2c93..f88313ab 100644 --- a/firmware/buildroot/package/pkg-utils.mk +++ b/firmware/buildroot/package/pkg-utils.mk @@ -84,8 +84,8 @@ suitable-extractor = $(INFLATE$(suffix $(1))) # MESSAGE Macro -- display a message in bold type MESSAGE = echo "$(TERM_BOLD)>>> $($(PKG)_NAME) $($(PKG)_VERSION) $(call qstrip,$(1))$(TERM_RESET)" -TERM_BOLD := $(shell tput smso) -TERM_RESET := $(shell tput rmso) +TERM_BOLD := $(shell tput smso 2>/dev/null) +TERM_RESET := $(shell tput rmso 2>/dev/null) # Utility functions for 'find' # findfileclauses(filelist) => -name 'X' -o -name 'Y' diff --git a/firmware/buildroot/package/powerpc-utils/Config.in b/firmware/buildroot/package/powerpc-utils/Config.in index 8e02e764..e18254c1 100644 --- a/firmware/buildroot/package/powerpc-utils/Config.in +++ b/firmware/buildroot/package/powerpc-utils/Config.in @@ -1,5 +1,10 @@ +comment "powerpc-utils tools needs a toolchain w/ dynamic library" + depends on BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_POWERPC_UTILS bool "powerpc-utils" + depends on !BR2_STATIC_LIBS # dlfcn.h depends on BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le select BR2_PACKAGE_ZLIB help diff --git a/firmware/buildroot/package/pulseaudio/pulseaudio.mk b/firmware/buildroot/package/pulseaudio/pulseaudio.mk index 86bbb2fe..06b0b843 100644 --- a/firmware/buildroot/package/pulseaudio/pulseaudio.mk +++ b/firmware/buildroot/package/pulseaudio/pulseaudio.mk @@ -29,12 +29,24 @@ PULSEAUDIO_DEPENDENCIES = \ $(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \ $(if $(BR2_PACKAGE_DBUS),dbus) \ $(if $(BR2_PACKAGE_BLUEZ_UTILS),bluez_utils) \ - $(if $(BR2_PACKAGE_HAS_UDEV),udev) \ $(if $(BR2_PACKAGE_OPENSSL),openssl) \ $(if $(BR2_PACKAGE_FFTW),fftw) \ $(if $(BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING),webrtc-audio-processing) \ $(if $(BR2_PACKAGE_SYSTEMD),systemd) +ifeq ($(BR2_PACKAGE_GDBM),y) +PULSEAUDIO_CONF_OPTS += --with-database=gdbm +PULSEAUDIO_DEPENDENCIES += gdbm +else +PULSEAUDIO_CONF_OPTS += --with-database=simple +endif + +ifeq ($(BR2_PACKAGE_JACK2),y) +PULSEAUDIO_CONF_OPTS += --enable-jack +PULSEAUDIO_DEPENDENCIES += jack2 +else +PULSEAUDIO_CONF_OPTS += --disable-jack +endif ifeq ($(BR2_PACKAGE_ORC),y) PULSEAUDIO_DEPENDENCIES += orc @@ -59,6 +71,20 @@ else PULSEAUDIO_CONF_OPTS += --disable-gtk3 endif +ifeq ($(BR2_PACKAGE_LIBSOXR),y) +PULSEAUDIO_CONF_OPTS += --with-soxr +PULSEAUDIO_DEPENDENCIES += libsoxr +else +PULSEAUDIO_CONF_OPTS += --without-soxr +endif + +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +PULSEAUDIO_CONF_OPTS += --enable-libudev +PULSEAUDIO_DEPENDENCIES += udev +else +PULSEAUDIO_CONF_OPTS += --disable-libudev +endif + ifneq ($(BR2_INSTALL_LIBSTDCPP),y) # The optional webrtc echo canceller is written in C++, causing auto* to want # to link module-echo-cancel.so with CXX even if webrtc ISN'T used. diff --git a/firmware/buildroot/package/pure-ftpd/pure-ftpd.mk b/firmware/buildroot/package/pure-ftpd/pure-ftpd.mk index aa65e9ee..e1040fa1 100644 --- a/firmware/buildroot/package/pure-ftpd/pure-ftpd.mk +++ b/firmware/buildroot/package/pure-ftpd/pure-ftpd.mk @@ -16,6 +16,10 @@ PURE_FTPD_CONF_OPTS = \ --with-puredb \ --with-rfc2640 +ifeq ($(BR2_PACKAGE_ELFUTILS),y) +PURE_FTPD_DEPENDENCIES += elfutils +endif + ifeq ($(BR2_PACKAGE_LIBCAP),y) PURE_FTPD_CONF_OPTS += --with-capabilities PURE_FTPD_DEPENDENCIES += libcap @@ -23,6 +27,10 @@ else PURE_FTPD_CONF_OPTS += --without-capabilities endif +ifeq ($(BR2_PACKAGE_LIBSODIUM),y) +PURE_FTPD_DEPENDENCIES += libsodium +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) PURE_FTPD_CONF_OPTS += --with-tls PURE_FTPD_DEPENDENCIES += openssl diff --git a/firmware/buildroot/package/python-m2crypto/0001-Don-t-try-to-build-with-SSLv2-when-it-is-not-availab.patch b/firmware/buildroot/package/python-m2crypto/0001-Don-t-try-to-build-with-SSLv2-when-it-is-not-availab.patch new file mode 100644 index 00000000..7210fa21 --- /dev/null +++ b/firmware/buildroot/package/python-m2crypto/0001-Don-t-try-to-build-with-SSLv2-when-it-is-not-availab.patch @@ -0,0 +1,36 @@ +From ac01b38302474920288c1a9eb63fd35fa8d1db5b Mon Sep 17 00:00:00 2001 +From: Bosse Klykken +Date: Tue, 17 Jul 2012 15:55:00 +0200 +Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20try=20to=20build=20with=20SSLv2?= + =?UTF-8?q?=20when=20it=20is=20not=20available.?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The patch originally from http://stackoverflow.com/a/11072709/164233 + +Fixes #30 + +Signed-off-by: Peter Korsgaard +--- + SWIG/_ssl.i | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/SWIG/_ssl.i b/SWIG/_ssl.i +index 3f6bd61..89b1ad1 100644 +--- a/SWIG/_ssl.i ++++ b/SWIG/_ssl.i +@@ -52,8 +52,10 @@ extern const char *SSL_alert_desc_string(int); + %rename(ssl_get_alert_desc_v) SSL_alert_desc_string_long; + extern const char *SSL_alert_desc_string_long(int); + ++#ifndef OPENSSL_NO_SSL2 + %rename(sslv2_method) SSLv2_method; + extern SSL_METHOD *SSLv2_method(void); ++#endif + %rename(sslv3_method) SSLv3_method; + extern SSL_METHOD *SSLv3_method(void); + %rename(sslv23_method) SSLv23_method; +-- +2.7.0 + diff --git a/firmware/buildroot/package/qhull/Config.in b/firmware/buildroot/package/qhull/Config.in index f671e88d..0a4b60ff 100644 --- a/firmware/buildroot/package/qhull/Config.in +++ b/firmware/buildroot/package/qhull/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_QHULL bool "qhull" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 # needs gcc >= 4.4 help Qhull computes the convex hull, Delaunay triangulation, Voronoi diagram, halfspace intersection about a point, @@ -14,6 +15,5 @@ config BR2_PACKAGE_QHULL http://www.qhull.org -comment "qhull needs a toolchain w/ C++, dynamic library" - depends on !BR2_INSTALL_LIBSTDCPP - depends on BR2_STATIC_LIBS +comment "qhull needs a toolchain w/ C++, dynamic library, gcc >= 4.4" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 diff --git a/firmware/buildroot/package/qt/Config.in b/firmware/buildroot/package/qt/Config.in index bf147246..248af00e 100644 --- a/firmware/buildroot/package/qt/Config.in +++ b/firmware/buildroot/package/qt/Config.in @@ -407,12 +407,13 @@ config BR2_PACKAGE_QT_NETWORK config BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT bool + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # see src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h # see http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html default y if BR2_arc || BR2_arm || BR2_armeb || BR2_i386 || BR2_microblazeel || \ BR2_microblazebe || BR2_mips || BR2_mipsel || \ (BR2_mips64 || BR2_mips64el) && !BR2_MIPS_NABI32 || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || BR2_x86_64 + BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64 # The CodeSourcery SuperH toolchain fails to build Webkit, # with an assertion failure in binutils. default y if (BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb) && \ @@ -454,12 +455,13 @@ config BR2_PACKAGE_QT_OPENSSL config BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT bool + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # see http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html - default y if BR2_arc || BR2_arm || BR2_armeb || aarch64 || BR2_i386 || \ + default y if BR2_arc || BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || \ BR2_microblazeel || BR2_microblazebe || BR2_mips || BR2_mipsel || \ BR2_mips64 || BR2_mips64el || BR2_nios2 || BR2_powerpc || \ BR2_powerpc64 || BR2_powerpc64le || BR2_sh4 || BR2_sh4eb || \ - BR2_sh4a || BR2_sh4aeb || BR2_sparc || BR2_x86_64 + BR2_sh4a || BR2_sh4aeb || BR2_x86_64 config BR2_PACKAGE_QT_SCRIPT bool "Script Module" diff --git a/firmware/buildroot/package/qt/qt.mk b/firmware/buildroot/package/qt/qt.mk index a64d32fe..c4fff2dc 100644 --- a/firmware/buildroot/package/qt/qt.mk +++ b/firmware/buildroot/package/qt/qt.mk @@ -660,13 +660,30 @@ define QT_INSTALL_TARGET_FONTS mkdir -p $(TARGET_DIR)/usr/lib/fonts cp -dpf $(QT_FONTS) $(TARGET_DIR)/usr/lib/fonts endef +ifneq ($(BR2_PACKAGE_QT_FONT_MICRO)$(BR2_PACKAGE_QT_FONT_FIXED),) +# as stated in the font source src/3rdparty/fonts/micro.bdf +# source src/3rdparty/fonts/5x7.bdf and source src/3rdparty/fonts/6x13.bdf +QT_LICENSE += , Public Domain (Micro/Fixed font) endif +ifneq ($(BR2_PACKAGE_QT_FONT_HELVETICA)$(BR2_PACKAGE_QT_FONT_JAPANESE),) +QT_LICENSE += , Adobe Helvetica license (Helvetica/Japanese fonts) +QT_LICENSE_FILES += src/3rdparty/fonts/COPYING.Helvetica +endif +ifeq ($(BR2_PACKAGE_QT_FONT_UNIFONT),y) +QT_LICENSE += , Freeware (Unifont font) +QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.Unifont +endif +endif # QT_FONTS ifeq ($(BR2_PACKAGE_QT_QTFREETYPE)$(BR2_PACKAGE_QT_SYSTEMFREETYPE),y) define QT_INSTALL_TARGET_FONTS_TTF mkdir -p $(TARGET_DIR)/usr/lib/fonts cp -dpf $(STAGING_DIR)/usr/lib/fonts/*.ttf $(TARGET_DIR)/usr/lib/fonts endef +QT_LICENSE += , Bitstream license (DejaVu/Vera TrueType fonts) +QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.DejaVu \ + src/3rdparty/fonts/README.DejaVu \ + src/3rdparty/fonts/COPYRIGHT.Vera endif endif # BR2_PACKAGE_QT_EMBEDDED diff --git a/firmware/buildroot/package/quagga/quagga.mk b/firmware/buildroot/package/quagga/quagga.mk index c5dd2ba4..4a555940 100644 --- a/firmware/buildroot/package/quagga/quagga.mk +++ b/firmware/buildroot/package/quagga/quagga.mk @@ -14,6 +14,13 @@ QUAGGA_CONF_OPTS = --program-transform-name='' # 0002-configure-fix-static-linking-with-readline.patch QUAGGA_AUTORECONF = YES +ifeq ($(BR2_PACKAGE_LIBCAP),y) +QUAGGA_CONF_OPTS += --enable-capabilities +QUAGGA_DEPENDENCIES += libcap +else +QUAGGA_CONF_OPTS += --disable-capabilities +endif + QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_ZEBRA),--enable-zebra,--disable-zebra) QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_BABELD),--enable-babeld,--disable-babeld) QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_BGPD),--enable-bgpd,--disable-bgpd) diff --git a/firmware/buildroot/package/quota/quota.mk b/firmware/buildroot/package/quota/quota.mk index a6b03225..c30a2bd8 100644 --- a/firmware/buildroot/package/quota/quota.mk +++ b/firmware/buildroot/package/quota/quota.mk @@ -18,6 +18,13 @@ QUOTA_DEPENDENCIES += gettext QUOTA_LIBS += -lintl endif +ifeq ($(BR2_PACKAGE_E2FSPROGS),y) +QUOTA_DEPENDENCIES += e2fsprogs +QUOTA_CONF_OPTS += --enable-ext2direct +else +QUOTA_CONF_OPTS += --disable-ext2direct +endif + ifeq ($(BR2_PACKAGE_LIBTIRPC),y) QUOTA_DEPENDENCIES += libtirpc host-pkgconf QUOTA_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` diff --git a/firmware/buildroot/package/sdl_sound/sdl_sound.mk b/firmware/buildroot/package/sdl_sound/sdl_sound.mk index 416f3812..4fa7d9be 100644 --- a/firmware/buildroot/package/sdl_sound/sdl_sound.mk +++ b/firmware/buildroot/package/sdl_sound/sdl_sound.mk @@ -17,16 +17,32 @@ SDL_SOUND_DEPENDENCIES += libiconv endif # optional dependencies -ifeq ($(BR2_PACKAGE_FLAC),y) -SDL_SOUND_DEPENDENCIES += flac # is only used if ogg is also enabled +ifeq ($(BR2_PACKAGE_FLAC)$(BR2_PACKAGE_LIBOGG),yy) +SDL_SOUND_CONF_OPTS += --enable-flac +SDL_SOUND_DEPENDENCIES += flac libogg +else +SDL_SOUND_CONF_OPTS += --disable-flac +endif + +ifeq ($(BR2_PACKAGE_LIBMODPLUG),y) +SDL_SOUND_CONF_OPTS += --enable-modplug +SDL_SOUND_DEPENDENCIES += libmodplug +else +SDL_SOUND_CONF_OPTS += --disable-modplug endif ifeq ($(BR2_PACKAGE_LIBVORBIS),y) +SDL_SOUND_CONF_OPTS += --enable-ogg SDL_SOUND_DEPENDENCIES += libvorbis +else +SDL_SOUND_CONF_OPTS += --disable-ogg endif ifeq ($(BR2_PACKAGE_SPEEX),y) +SDL_SOUND_CONF_OPTS += --enable-speex SDL_SOUND_DEPENDENCIES += speex +else +SDL_SOUND_CONF_OPTS += --disable-speex endif SDL_SOUND_CONF_OPTS = \ diff --git a/firmware/buildroot/package/shairport-sync/shairport-sync.hash b/firmware/buildroot/package/shairport-sync/shairport-sync.hash index e87dacd5..35aba300 100644 --- a/firmware/buildroot/package/shairport-sync/shairport-sync.hash +++ b/firmware/buildroot/package/shairport-sync/shairport-sync.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 6f3535012ed25017e4f893f9bad5391c2ea23c64f398caac3f29d8dad5f9e987 shairport-sync-2.8.0.tar.gz +sha256 e0c750f51c54611e564ddb1ee161aa57ba6be36d3bf54198d9a6435ad6bf1757 8e8a0ee7ab0db61dc46735a1206843fe943ffc61.patch diff --git a/firmware/buildroot/package/shairport-sync/shairport-sync.mk b/firmware/buildroot/package/shairport-sync/shairport-sync.mk index e25a78c8..628d1213 100644 --- a/firmware/buildroot/package/shairport-sync/shairport-sync.mk +++ b/firmware/buildroot/package/shairport-sync/shairport-sync.mk @@ -10,6 +10,7 @@ SHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VE SHAIRPORT_SYNC_LICENSE = MIT, BSD-3c SHAIRPORT_SYNC_LICENSE_FILES = LICENSES SHAIRPORT_SYNC_DEPENDENCIES = alsa-lib libconfig libdaemon popt host-pkgconf +SHAIRPORT_SYNC_PATCH = https://github.com/mikebrady/shairport-sync/commit/8e8a0ee7ab0db61dc46735a1206843fe943ffc61.patch # git clone, no configure SHAIRPORT_SYNC_AUTORECONF = YES diff --git a/firmware/buildroot/package/slang/slang.mk b/firmware/buildroot/package/slang/slang.mk index 1a7576af..9078bf29 100644 --- a/firmware/buildroot/package/slang/slang.mk +++ b/firmware/buildroot/package/slang/slang.mk @@ -40,6 +40,7 @@ endif ifeq ($(BR2_PACKAGE_NCURSES),y) SLANG_DEPENDENCIES += ncurses +SLANG_CONF_ENV += ac_cv_path_nc5config=$(STAGING_DIR)/usr/bin/ncurses5-config else SLANG_CONF_OPTS += ac_cv_path_nc5config=no endif @@ -47,6 +48,9 @@ endif ifeq ($(BR2_PACKAGE_READLINE),y) SLANG_CONF_OPTS += --with-readline=gnu SLANG_DEPENDENCIES += readline +ifeq ($(BR2_STATIC_LIBS),y) +SLANG_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/ncurses5-config --libs`" +endif endif ifeq ($(BR2_STATIC_LIBS),y) diff --git a/firmware/buildroot/package/sox/sox.mk b/firmware/buildroot/package/sox/sox.mk index f4d16087..61f52201 100644 --- a/firmware/buildroot/package/sox/sox.mk +++ b/firmware/buildroot/package/sox/sox.mk @@ -13,6 +13,12 @@ SOX_CONF_OPTS = --with-distro="Buildroot" --without-ffmpeg --disable-gomp \ SOX_LICENSE = GPLv2+ (sox binary), LGPLv2.1+ (libraries) SOX_LICENSE_FILES = LICENSE.GPL LICENSE.LGPL +# MIPS Codescape toolchains don't support stack-smashing protection +# despite of using glibc. +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS)$(BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS),y) +SOX_CONF_OPTS += --disable-stack-protector +endif + ifeq ($(BR2_PACKAGE_ALSA_LIB_PCM),y) SOX_DEPENDENCIES += alsa-lib else diff --git a/firmware/buildroot/package/spice/spice.mk b/firmware/buildroot/package/spice/spice.mk index a31d78da..61a97722 100644 --- a/firmware/buildroot/package/spice/spice.mk +++ b/firmware/buildroot/package/spice/spice.mk @@ -14,6 +14,7 @@ SPICE_DEPENDENCIES = \ alsa-lib \ celt051 \ jpeg \ + libglib2 \ openssl \ pixman \ python-pyparsing \ diff --git a/firmware/buildroot/package/squid/squid.hash b/firmware/buildroot/package/squid/squid.hash index f86c09a9..106bde6f 100644 --- a/firmware/buildroot/package/squid/squid.hash +++ b/firmware/buildroot/package/squid/squid.hash @@ -1,3 +1,3 @@ -# From http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.14.tar.bz2.asc -md5 d589a2dd8ea8867170cef582e7334442 squid-3.5.14.tar.bz2 -sha1 f6a0262b09f7f463822cbdb50bac8f5dd1213d27 squid-3.5.14.tar.bz2 +# From http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.15.tar.bz2.asc +md5 59d6732a4ebd3f63e2164d9847dc37c0 squid-3.5.15.tar.bz2 +sha1 72279380ea94aa731f5cf82f3fb50f9250f1692a squid-3.5.15.tar.bz2 diff --git a/firmware/buildroot/package/squid/squid.mk b/firmware/buildroot/package/squid/squid.mk index 2b7a9a2a..b4341ba4 100644 --- a/firmware/buildroot/package/squid/squid.mk +++ b/firmware/buildroot/package/squid/squid.mk @@ -5,7 +5,7 @@ ################################################################################ SQUID_VERSION_MAJOR = 3.5 -SQUID_VERSION = $(SQUID_VERSION_MAJOR).14 +SQUID_VERSION = $(SQUID_VERSION_MAJOR).15 SQUID_SOURCE = squid-$(SQUID_VERSION).tar.bz2 SQUID_SITE = http://www.squid-cache.org/Versions/v3/$(SQUID_VERSION_MAJOR) SQUID_LICENSE = GPLv2+ diff --git a/firmware/buildroot/package/sysklogd/sysklogd.mk b/firmware/buildroot/package/sysklogd/sysklogd.mk index 9e315bcd..49997d4f 100644 --- a/firmware/buildroot/package/sysklogd/sysklogd.mk +++ b/firmware/buildroot/package/sysklogd/sysklogd.mk @@ -14,16 +14,10 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) SYSKLOGD_DEPENDENCIES = busybox endif -# CS PowerPC 2012.03 triggers compiler bug. -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2),y) -define SYSKLOGD_WORKAROUND_COMPILER_BUG - $(SED) 's/-O3/-O2/' $(@D)/Makefile -endef -SYSKLOGD_POST_PATCH_HOOKS = SYSKLOGD_WORKAROUND_COMPILER_BUG -endif - +# Override SKFLAGS which is used as CFLAGS. define SYSKLOGD_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) + $(MAKE) $(TARGET_CONFIGURE_OPTS) SKFLAGS="$(TARGET_CFLAGS) -DSYSV" \ + -C $(@D) endef define SYSKLOGD_INSTALL_TARGET_CMDS diff --git a/firmware/buildroot/package/syslog-ng/syslog-ng.mk b/firmware/buildroot/package/syslog-ng/syslog-ng.mk index 5f48a791..1acaad8d 100644 --- a/firmware/buildroot/package/syslog-ng/syslog-ng.mk +++ b/firmware/buildroot/package/syslog-ng/syslog-ng.mk @@ -20,6 +20,20 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) SYSLOG_NG_DEPENDENCIES += busybox endif +ifeq ($(BR2_PACKAGE_GEOIP),y) +SYSLOG_NG_DEPENDENCIES += geoip +SYSLOG_NG_CONF_OPTS += --enable-geoip +else +SYSLOG_NG_CONF_OPTS += --disable-geoip +endif + +ifeq ($(BR2_PACKAGE_LIBCAP),y) +SYSLOG_NG_DEPENDENCIES += libcap +SYSLOG_NG_CONF_OPTS += --enable-linux-caps +else +SYSLOG_NG_CONF_OPTS += --disable-linux-caps +endif + ifeq ($(BR2_PACKAGE_PYTHON),y) SYSLOG_NG_DEPENDENCIES += python SYSLOG_NG_CONF_OPTS += \ @@ -51,6 +65,10 @@ else SYSLOG_NG_CONF_OPTS += --disable-json endif +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) +SYSLOG_NG_DEPENDENCIES += util-linux +endif + ifeq ($(BR2_INIT_SYSTEMD),y) SYSLOG_NG_DEPENDENCIES += systemd SYSLOG_NG_CONF_OPTS += \ diff --git a/firmware/buildroot/package/tn5250/0002-Allow-building-against-OpenSSL-without-SSLv2_SSLv3.patch b/firmware/buildroot/package/tn5250/0002-Allow-building-against-OpenSSL-without-SSLv2_SSLv3.patch new file mode 100644 index 00000000..67f0fa63 --- /dev/null +++ b/firmware/buildroot/package/tn5250/0002-Allow-building-against-OpenSSL-without-SSLv2_SSLv3.patch @@ -0,0 +1,32 @@ +$OpenBSD: patch-lib5250_sslstream_c,v 1.1 2015/10/07 16:09:04 jca Exp $ + +Allow building against OpenSSL without SSLv2/SSLv3 support. + +Download from: +http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/tn5250/patches/patch-lib5250_sslstream_c + +Signed-off-by: Peter Korsgaard +--- a/lib5250/sslstream.c.orig Fri Nov 21 09:12:21 2008 ++++ b/lib5250/sslstream.c Tue Oct 6 21:32:29 2015 +@@ -368,13 +368,19 @@ int tn5250_ssl_stream_init (Tn5250Stream *This) + methstr[4] = '\0'; + } + ++#ifndef OPENSSL_NO_SSL2 + if (!strcmp(methstr, "ssl2")) { + meth = SSLv2_client_method(); + TN5250_LOG(("SSL Method = SSLv2_client_method()\n")); +- } else if (!strcmp(methstr, "ssl3")) { ++ } else ++#endif ++#ifndef OPENSSL_NO_SSL3 ++ if (!strcmp(methstr, "ssl3")) { + meth = SSLv3_client_method(); + TN5250_LOG(("SSL Method = SSLv3_client_method()\n")); +- } else { ++ } else ++#endif ++ { + meth = SSLv23_client_method(); + TN5250_LOG(("SSL Method = SSLv23_client_method()\n")); + } diff --git a/firmware/buildroot/package/trace-cmd/trace-cmd.mk b/firmware/buildroot/package/trace-cmd/trace-cmd.mk index 839e7ee3..2348155c 100644 --- a/firmware/buildroot/package/trace-cmd/trace-cmd.mk +++ b/firmware/buildroot/package/trace-cmd/trace-cmd.mk @@ -13,6 +13,10 @@ TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB TRACE_CMD_DEPENDENCIES = host-pkgconf +ifeq ($(BR2_PACKAGE_AUDIT),y) +TRACE_CMD_DEPENDENCIES += audit +endif + ifeq ($(BR2_PACKAGE_PYTHON),y) TRACE_CMD_DEPENDENCIES += python host-swig TRACE_CMD_MAKE_OPTS = PYTHON_VERS=python diff --git a/firmware/buildroot/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch b/firmware/buildroot/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch new file mode 100644 index 00000000..3275b76a --- /dev/null +++ b/firmware/buildroot/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch @@ -0,0 +1,215 @@ +From 9abda1bb380bdbef1affaec381742ced394ca118 Mon Sep 17 00:00:00 2001 +From: Lada Trimasova +Date: Mon, 18 Jan 2016 15:58:19 +0300 +Subject: [PATCH] Check if the compiler understands pie and relro options + +-pie and -fpie enable the building of position-independent +executables, and -Wl,-z,relro turns on read-only relocation support in gcc. +Add checks to ensure that the compiler and linker understand these options. + +Signed-off-by: Lada Trimasova +--- + configure.in | 5 +++ + m4/ax_check_compile_flag.m4 | 72 ++++++++++++++++++++++++++++++++++++ + m4/ax_check_link_flag.m4 | 71 +++++++++++++++++++++++++++++++++++ + src/tcsd/Makefile.am | 4 +- + 4 files changed, 150 insertions(+), 2 deletions(-) + create mode 100644 m4/ax_check_compile_flag.m4 + create mode 100644 m4/ax_check_link_flag.m4 + +diff --git a/configure.in b/configure.in +index add23dc..9603353 100644 +--- a/configure.in ++++ b/configure.in +@@ -12,6 +12,7 @@ TSS_VER_MINOR=3 + # compute $target + AC_CANONICAL_TARGET + AM_INIT_AUTOMAKE([foreign 1.6]) ++AC_CONFIG_MACRO_DIR([m4]) + + # Debugging support + AC_ARG_ENABLE([debug], +@@ -383,6 +384,10 @@ elif test x"${prefix}" = x"NONE"; then + localstatedir="/usr/local/var" + fi + ++AX_CHECK_COMPILE_FLAG([-fPIE -DPIE], [PIE_CFLAGS="-fPIE -DPIE"]) ++AX_CHECK_LINK_FLAG([-pie], [PIE_LDFLAGS="$PIE_LDFLAGS -pie"]) ++AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"]) ++ + AC_OUTPUT(dist/tcsd.conf \ + dist/fedora/trousers.spec \ + dist/trousers.spec \ +diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 +new file mode 100644 +index 0000000..c3a8d69 +--- /dev/null ++++ b/m4/ax_check_compile_flag.m4 +@@ -0,0 +1,72 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) ++# ++# DESCRIPTION ++# ++# Check whether the given FLAG works with the current language's compiler ++# or gives an error. (Warnings, however, are ignored) ++# ++# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on ++# success/failure. ++# ++# If EXTRA-FLAGS is defined, it is added to the current language's default ++# flags (e.g. CFLAGS) when the check is done. The check is thus made with ++# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to ++# force the compiler to issue an error when a bad flag is given. ++# ++# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this ++# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Guido U. Draheim ++# Copyright (c) 2011 Maarten Bosmans ++# ++# 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 the ++# Free Software Foundation, either version 3 of the License, or (at your ++# option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General ++# Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program. If not, see . ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 2 ++ ++AC_DEFUN([AX_CHECK_COMPILE_FLAG], ++[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX ++AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl ++AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ ++ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS ++ _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], ++ [AS_VAR_SET(CACHEVAR,[yes])], ++ [AS_VAR_SET(CACHEVAR,[no])]) ++ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) ++AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], ++ [m4_default([$2], :)], ++ [m4_default([$3], :)]) ++AS_VAR_POPDEF([CACHEVAR])dnl ++])dnl AX_CHECK_COMPILE_FLAGS +diff --git a/m4/ax_check_link_flag.m4 b/m4/ax_check_link_flag.m4 +new file mode 100644 +index 0000000..e2d0d36 +--- /dev/null ++++ b/m4/ax_check_link_flag.m4 +@@ -0,0 +1,71 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) ++# ++# DESCRIPTION ++# ++# Check whether the given FLAG works with the linker or gives an error. ++# (Warnings, however, are ignored) ++# ++# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on ++# success/failure. ++# ++# If EXTRA-FLAGS is defined, it is added to the linker's default flags ++# when the check is done. The check is thus made with the flags: "LDFLAGS ++# EXTRA-FLAGS FLAG". This can for example be used to force the linker to ++# issue an error when a bad flag is given. ++# ++# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this ++# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Guido U. Draheim ++# Copyright (c) 2011 Maarten Bosmans ++# ++# 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 the ++# Free Software Foundation, either version 3 of the License, or (at your ++# option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General ++# Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program. If not, see . ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 2 ++ ++AC_DEFUN([AX_CHECK_LINK_FLAG], ++[AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl ++AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [ ++ ax_check_save_flags=$LDFLAGS ++ LDFLAGS="$LDFLAGS $4 $1" ++ AC_LINK_IFELSE([AC_LANG_PROGRAM()], ++ [AS_VAR_SET(CACHEVAR,[yes])], ++ [AS_VAR_SET(CACHEVAR,[no])]) ++ LDFLAGS=$ax_check_save_flags]) ++AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], ++ [m4_default([$2], :)], ++ [m4_default([$3], :)]) ++AS_VAR_POPDEF([CACHEVAR])dnl ++])dnl AX_CHECK_LINK_FLAGS +diff --git a/src/tcsd/Makefile.am b/src/tcsd/Makefile.am +index 2210734..6640ab2 100644 +--- a/src/tcsd/Makefile.am ++++ b/src/tcsd/Makefile.am +@@ -1,8 +1,8 @@ + sbin_PROGRAMS=tcsd + +-tcsd_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include -fPIE -DPIE ++tcsd_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include $(PIE_CFLAGS) + tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a ${top_builddir}/src/tddl/libtddl.a -lpthread @CRYPTOLIB@ +-tcsd_LDFLAGS=-pie -Wl,-z,relro -Wl,-z,now ++tcsd_LDFLAGS=$(PIE_LDFLAGS) $(RELRO_LDFLAGS) + + tcsd_SOURCES=svrside.c tcsd_conf.c tcsd_threads.c platform.c + +-- +2.5.0 + diff --git a/firmware/buildroot/package/trousers/trousers.mk b/firmware/buildroot/package/trousers/trousers.mk index 5ecab70f..70daa881 100644 --- a/firmware/buildroot/package/trousers/trousers.mk +++ b/firmware/buildroot/package/trousers/trousers.mk @@ -10,6 +10,8 @@ TROUSERS_SITE = http://downloads.sourceforge.net/project/trousers/trousers/$(TRO TROUSERS_LICENSE = BSD-3c TROUSERS_LICENSE_FILES = LICENSE TROUSERS_INSTALL_STAGING = YES +# Need autoreconf because of a patch touching configure.in and Makefile.am +TROUSERS_AUTORECONF = YES TROUSERS_DEPENDENCIES = openssl ifeq ($(BR2_PACKAGE_LIBICONV),y) @@ -21,4 +23,11 @@ endif # workaround. TROUSERS_CONF_OPTS += --disable-usercheck +# uClibc toolchain for ARC doesn't support PIE at the moment +ifeq ($(BR2_arc),y) +TROUSERS_CONF_ENV += \ + ax_cv_check_cflags___fPIE__DPIE=no \ + ax_cv_check_ldflags___pie=no +endif + $(eval $(autotools-package)) diff --git a/firmware/buildroot/package/tvheadend/Config.in b/firmware/buildroot/package/tvheadend/Config.in index bfc156a5..095ec655 100644 --- a/firmware/buildroot/package/tvheadend/Config.in +++ b/firmware/buildroot/package/tvheadend/Config.in @@ -1,12 +1,14 @@ comment "tvheadend needs a toolchain w/ NPTL, headers >= 3.2, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 || BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 config BR2_PACKAGE_TVHEADEND bool "tvheadend" depends on !BR2_STATIC_LIBS # dladdr() depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_DTV_SCAN_TABLES select BR2_PACKAGE_FFMPEG_AVRESAMPLE if BR2_PACKAGE_FFMPEG select BR2_PACKAGE_FFMPEG_SWSCALE if BR2_PACKAGE_FFMPEG diff --git a/firmware/buildroot/package/util-linux/Config.in b/firmware/buildroot/package/util-linux/Config.in index 3f9a7db9..60abd67a 100644 --- a/firmware/buildroot/package/util-linux/Config.in +++ b/firmware/buildroot/package/util-linux/Config.in @@ -27,6 +27,7 @@ config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT config BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS bool "libsmartcols" + depends on BR2_USE_MMU # fork help Install libsmartcols. diff --git a/firmware/buildroot/package/vim/vim.mk b/firmware/buildroot/package/vim/vim.mk index a6b75d08..6e05050f 100644 --- a/firmware/buildroot/package/vim/vim.mk +++ b/firmware/buildroot/package/vim/vim.mk @@ -27,6 +27,20 @@ VIM_CONF_OPTS = --with-tlib=ncurses --enable-gui=no --without-x VIM_LICENSE = Charityware VIM_LICENSE_FILES = README.txt +ifeq ($(BR2_PACKAGE_ACL),y) +VIM_CONF_OPTS += --enable-acl +VIM_DEPENDENCIES += acl +else +VIM_CONF_OPTS += --disable-acl +endif + +ifeq ($(BR2_PACKAGE_GPM),y) +VIM_CONF_OPTS += --enable-gpm +VIM_DEPENDENCIES += gpm +else +VIM_CONF_OPTS += --disable-gpm +endif + ifeq ($(BR2_PACKAGE_LIBSELINUX),y) VIM_CONF_OPTS += --enable-selinux VIM_DEPENDENCIES += libselinux diff --git a/firmware/buildroot/package/webkitgtk24/webkitgtk24.mk b/firmware/buildroot/package/webkitgtk24/webkitgtk24.mk index 712120c2..0dc47748 100644 --- a/firmware/buildroot/package/webkitgtk24/webkitgtk24.mk +++ b/firmware/buildroot/package/webkitgtk24/webkitgtk24.mk @@ -13,8 +13,8 @@ WEBKITGTK24_LICENSE_FILES = \ Source/WebCore/LICENSE-APPLE \ Source/WebCore/LICENSE-LGPL-2 WEBKITGTK24_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \ - enchant harfbuzz icu jpeg libcurl libgtk2 libsecret libsoup \ - libxml2 libxslt sqlite webp + host-pkgconf enchant harfbuzz icu jpeg libcurl libgtk2 \ + libsecret libsoup libxml2 libxslt sqlite webp WEBKITGTK24_DEPENDENCIES += \ $(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \ @@ -69,6 +69,10 @@ WEBKITGTK24_CONF_OPTS += \ --enable-webgl \ --disable-glx WEBKITGTK24_DEPENDENCIES += libegl libgles +# Some EGL/GLES implementations needs extra help (eg. rpi-userland) +WEBKITGTK24_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) \ + `$(PKG_CONFIG_HOST_BINARY) --cflags egl` \ + `$(PKG_CONFIG_HOST_BINARY) --clfags glesv2`" # No GL else WEBKITGTK24_CONF_OPTS += \ diff --git a/firmware/buildroot/package/wireshark/wireshark.hash b/firmware/buildroot/package/wireshark/wireshark.hash index d95eaa96..ed0d2eff 100644 --- a/firmware/buildroot/package/wireshark/wireshark.hash +++ b/firmware/buildroot/package/wireshark/wireshark.hash @@ -1,2 +1,2 @@ -# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.0.1.txt -sha256 c9bd07dd0d0045d6ca7537390a1afbcdf33716d193ea7d7084ae4f6c30b683ab wireshark-2.0.1.tar.bz2 +# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.0.2.txt +sha256 e921fb072085a5654d899949bb561d0687f4819f7b63ba35777bb949a9b6b9c1 wireshark-2.0.2.tar.bz2 diff --git a/firmware/buildroot/package/wireshark/wireshark.mk b/firmware/buildroot/package/wireshark/wireshark.mk index b624e2b6..34a5a857 100644 --- a/firmware/buildroot/package/wireshark/wireshark.mk +++ b/firmware/buildroot/package/wireshark/wireshark.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRESHARK_VERSION = 2.0.1 +WIRESHARK_VERSION = 2.0.2 WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2 WIRESHARK_SITE = http://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license diff --git a/firmware/buildroot/package/wpa_supplicant/wpa_supplicant.mk b/firmware/buildroot/package/wpa_supplicant/wpa_supplicant.mk index e3f1434c..ba1180d4 100644 --- a/firmware/buildroot/package/wpa_supplicant/wpa_supplicant.mk +++ b/firmware/buildroot/package/wpa_supplicant/wpa_supplicant.mk @@ -6,7 +6,7 @@ WPA_SUPPLICANT_VERSION = 2.5 WPA_SUPPLICANT_SITE = http://hostap.epitest.fi/releases -WPA_SUPPLICANT_LICENSE = GPLv2/BSD-3c +WPA_SUPPLICANT_LICENSE = BSD-3c WPA_SUPPLICANT_LICENSE_FILES = README WPA_SUPPLICANT_CONFIG = $(WPA_SUPPLICANT_DIR)/wpa_supplicant/.config WPA_SUPPLICANT_SUBDIR = wpa_supplicant diff --git a/firmware/buildroot/package/xerces/xerces.hash b/firmware/buildroot/package/xerces/xerces.hash index 6f4c2672..639e6685 100644 --- a/firmware/buildroot/package/xerces/xerces.hash +++ b/firmware/buildroot/package/xerces/xerces.hash @@ -1,2 +1,2 @@ -# From http://www.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.2.tar.xz.sha256 -sha256 a847529ab6125f36039f54fa61f3d5043791accf7da2f43917cd2b49deb768f1 xerces-c-3.1.2.tar.xz +# From http://www.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.3.tar.xz.sha256 +sha256 d35ae442db333f73c7ef41b2ce2e33bc8aba8dbacf582af765eda26415d25c94 xerces-c-3.1.3.tar.xz diff --git a/firmware/buildroot/package/xerces/xerces.mk b/firmware/buildroot/package/xerces/xerces.mk index cf361837..b69f47c0 100644 --- a/firmware/buildroot/package/xerces/xerces.mk +++ b/firmware/buildroot/package/xerces/xerces.mk @@ -4,7 +4,7 @@ # ################################################################################ -XERCES_VERSION = 3.1.2 +XERCES_VERSION = 3.1.3 XERCES_SOURCE = xerces-c-$(XERCES_VERSION).tar.xz XERCES_SITE = http://archive.apache.org/dist/xerces/c/3/sources XERCES_LICENSE = Apache-2.0 @@ -21,6 +21,13 @@ endef XERCES_POST_PATCH_HOOKS += XERCES_DISABLE_SAMPLES +ifeq ($(BR2_PACKAGE_ICU),y) +XERCES_CONF_OPTS += --with-icu=$(STAGING_DIR)/usr +XERCES_DEPENDENCIES += icu +else +XERCES_CONF_OPTS += --without-icu +endif + ifeq ($(BR2_PACKAGE_LIBICONV),y) XERCES_CONF_ENV += LIBS=-liconv XERCES_DEPENDENCIES += libiconv diff --git a/firmware/buildroot/package/zsh/zsh.mk b/firmware/buildroot/package/zsh/zsh.mk index 03456b88..84dbbde5 100644 --- a/firmware/buildroot/package/zsh/zsh.mk +++ b/firmware/buildroot/package/zsh/zsh.mk @@ -12,6 +12,28 @@ ZSH_CONF_OPTS = --bindir=/bin ZSH_LICENSE = MIT-like ZSH_LICENSE_FILES = LICENCE +ifeq ($(BR2_PACKAGE_GDBM),y) +ZSH_CONF_OPTS += --enable-gdbm +ZSH_DEPENDENCIES += gdbm +else +ZSH_CONF_OPTS += --disable-gdbm +endif + +ifeq ($(BR2_PACKAGE_LIBCAP),y) +ZSH_CONF_OPTS += --enable-cap +ZSH_DEPENDENCIES += libcap +else +ZSH_CONF_OPTS += --disable-cap +endif + +ifeq ($(BR2_PACKAGE_PCRE),y) +ZSH_CONF_OPTS += --enable-pcre +ZSH_CONF_ENV += ac_cv_prog_PCRECONF=$(STAGING_DIR)/usr/bin/pcre-config +ZSH_DEPENDENCIES += pcre +else +ZSH_CONF_OPTS += --disable-pcre +endif + # Remove versioned zsh-x.y.z binary taking up space define ZSH_TARGET_INSTALL_FIXUPS rm -f $(TARGET_DIR)/bin/zsh-$(ZSH_VERSION) diff --git a/firmware/buildroot/support/download/git b/firmware/buildroot/support/download/git index e342ed31..314b388f 100755 --- a/firmware/buildroot/support/download/git +++ b/firmware/buildroot/support/download/git @@ -55,4 +55,4 @@ fi GIT_DIR="${basename}" \ _git archive --prefix="'${basename}/'" -o "'${output}.tmp'" --format=tar "'${cset}'" -gzip <"${output}.tmp" >"${output}" +gzip -n <"${output}.tmp" >"${output}" diff --git a/firmware/buildroot/support/misc/Vagrantfile b/firmware/buildroot/support/misc/Vagrantfile index c3768374..b8f02afc 100644 --- a/firmware/buildroot/support/misc/Vagrantfile +++ b/firmware/buildroot/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2015.11.1' +RELEASE='2016.02' ### Change here for more memory/cores ### VM_MEMORY=2048 diff --git a/firmware/buildroot/toolchain/toolchain-external/Config.in b/firmware/buildroot/toolchain/toolchain-external/Config.in index 7ba3929b..2ee4c0fd 100644 --- a/firmware/buildroot/toolchain/toolchain-external/Config.in +++ b/firmware/buildroot/toolchain/toolchain-external/Config.in @@ -526,7 +526,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX Toolchain for the Blackfin architecture, from http://blackfin.uclinux.org. -# See note about Linar ARM/ARMEB toolchains, above. +# See note about Linaro ARM/ARMEB toolchains, above. config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 bool "Linaro AArch64 14.09" depends on BR2_aarch64 @@ -541,7 +541,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 Toolchain for the AArch64 architecture, from http://www.linaro.org/engineering/armv8/ -# See note about Linar ARM/ARMEB toolchains, above. +# See note about Linaro ARM/ARMEB toolchains, above. config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 bool "Linaro AArch64 2015.11" depends on BR2_aarch64