diff options
167 files changed, 2002 insertions, 393 deletions
@@ -1,3 +1,62 @@ +2014.02, Released February 27th, 2014 + + Minor fixes. + + Updated/fixed packages: cegui06, cppdb, e2fsprogs, gcc, gdb, + gst1-plugins-bad, gstreamer, gstreamer1, haserl, imagemagick, + libpng, libxml2, lua, luajit, luarock, ncftp, openswan, + pcsc-lite, qt5connectivity, ramsmp, strongswan, vlc + + Issues resolved (http://bugs.uclibc.org): + + #6938: mkuser script generates wrong password for new user in.. + +2014.02-rc3, Released February 25th, 2014 + + Minor fixes. + + Updated/fixed packages: aiccu, ala-lib, alsa-utils, binutils, + cairo, coreutils, dhcpcd, distcc, efl, evas, iputils, gdb, + gpsd, gst-fsl-plugins, icu, libcec, libcgi, libplayer, + libsecret, libsepol, libsigsegv, libtool, libv4l, + linux-headers, matchbox-lib, mpg123, ncftp, opencv, pcmanfm, + pixman, pv, qt, rt-tests, sawman, sconeserver, sdl, thrift, + tvheadend, util-linux, webkit, xscreensaver + + Issues resolved (http://bugs.uclibc.org): + + #4706: Removing .stamp_target_installed does not trigger... + #5030: busybox built fails if we use an override src dir... + #5420: Dbus and /var/run management + #5768: Not able to build ALSA-Lib for static build + #5774: Not able to build ALSA-Utils for static build + #6542: external python modules fail to compile to pyc if... + #6764: Support for kernel signed modules + #6794: Busybox compiled from buildroot hangs on pass from... + +2014.02-rc2, Released February 20th, 2014 + + Fixes all over the tree. Static linking / nommu fixes and + annotations for several packages. + + Updated/fixed packages: boost, busybox, collectd, coreutils, + dropbear, elfutils, feh, gcc, gst1-libav, imagemagick, iozone, + jimtcl, kexec, libvncserver, lvm2, lxc, mplayer, netsnmp, nut, + opencv, python, python3, qtuio, systemd, thrift, transmission, + uclibc, vlc, webkit + + Issues resolved (http://bugs.uclibc.org): + + #5450: AT91SAM9260 Bootstrap compilation problem + #5582: libiconv 1.14 failed to build + #5624: When building directfb, BR2_TARGET_LDFLAGS not used by.. + #5852: [2012.11] usb_modeswitch should depends of "BR2_PACK.. + #6218: binutils-2.23.2/gas fails with undefined reference to.. + #6236: binutils-2.23.2/bfd fails with undefined reference to.. + #6470: If the build directory is a child of /usr, the build.. + #6776: systemd error: static declaration of 'execvpe' follows.. + #6818: toolchainfile.cmake has absolut path references + 2014.02-rc1, Released February 11th, 2014 Fixes all over the tree and new features. @@ -178,7 +178,7 @@ if !BR2_PRIMARY_SITE_ONLY config BR2_BACKUP_SITE string "Backup download site" - default "http://sources.buildroot.net/" + default "http://sources.buildroot.net" help Backup site to download from. If this option is set then buildroot will fall back to download package sources from here if the @@ -186,7 +186,7 @@ config BR2_BACKUP_SITE config BR2_KERNEL_MIRROR string "Kernel.org mirror" - default "http://www.kernel.org/pub/" + default "http://www.kernel.org/pub" help kernel.org is mirrored on a number of servers around the world. The following allows you to select your preferred mirror. @@ -2,6 +2,7 @@ # # Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org> # Copyright (C) 2006-2014 by the Buildroot developers <buildroot@uclibc.org> +# Copyright (C) 2014 by the Buildroot developers <buildroot@buildroot.org> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -131,6 +132,11 @@ ifeq ($(BR2_EXTERNAL),) override BR2_EXTERNAL = support/dummy-external $(shell rm -f $(BR2_EXTERNAL_FILE)) else + _BR2_EXTERNAL = $(shell cd $(BR2_EXTERNAL) >/dev/null 2>&1 && pwd) + ifeq ($(_BR2_EXTERNAL),) + $(error BR2_EXTERNAL='$(BR2_EXTERNAL)' does not exist, relative to $(TOPDIR)) + endif + override BR2_EXTERNAL := $(_BR2_EXTERNAL) $(shell echo BR2_EXTERNAL ?= $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE)) endif @@ -143,7 +149,7 @@ endif # Need that early, before we scan packages # Avoids doing the $(or...) everytime -BR2_GRAPH_OUT := $(or $(GRAPH_OUT),pdf) +_BR2_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf) BUILD_DIR:=$(BASE_DIR)/build STAMP_DIR:=$(BASE_DIR)/stamps @@ -657,18 +663,18 @@ graph-build: $(O)/build/build-time.log @install -d $(O)/graphs $(foreach o,name build duration,./support/scripts/graph-build-time \ --type=histogram --order=$(o) --input=$(<) \ - --output=$(O)/graphs/build.hist-$(o).$(BR2_GRAPH_OUT) \ - $(if $(GRAPH_ALT),--alternate-colors)$(sep)) + --output=$(O)/graphs/build.hist-$(o).$(_BR2_GRAPH_OUT) \ + $(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep)) $(foreach t,packages steps,./support/scripts/graph-build-time \ --type=pie-$(t) --input=$(<) \ - --output=$(O)/graphs/build.pie-$(t).$(BR2_GRAPH_OUT) \ - $(if $(GRAPH_ALT),--alternate-colors)$(sep)) + --output=$(O)/graphs/build.pie-$(t).$(_BR2_GRAPH_OUT) \ + $(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep)) graph-depends: @$(INSTALL) -d $(O)/graphs @cd "$(CONFIG_DIR)"; \ $(TOPDIR)/support/scripts/graph-depends \ - |dot -T$(BR2_GRAPH_OUT) -o $(O)/graphs/$(@).$(BR2_GRAPH_OUT) + |dot -T$(_BR2_GRAPH_OUT) -o $(O)/graphs/$(@).$(_BR2_GRAPH_OUT) else # ifeq ($(BR2_HAVE_DOT_CONFIG),y) diff --git a/configs/beaglebone_defconfig b/configs/beaglebone_defconfig index 2996336839..15220ed2c0 100644 --- a/configs/beaglebone_defconfig +++ b/configs/beaglebone_defconfig @@ -36,4 +36,4 @@ BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/beaglebone/linux-3.12.config" BR2_LINUX_KERNEL_ZIMAGE=y BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-bone" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-bone am335x-boneblack" diff --git a/docs/README b/docs/README index 974adeb56e..944347dd61 100644 --- a/docs/README +++ b/docs/README @@ -56,4 +56,4 @@ $ make HOSTCC=gcc-4.3 uclibc-menuconfig $ make HOSTCC=gcc-4.3 busybox-menuconfig Please feed suggestions, bug reports, insults, and bribes back to the -buildroot mailing list: buildroot@uclibc.org +buildroot mailing list: buildroot@buildroot.org diff --git a/docs/copyright.txt b/docs/copyright.txt index 4617d8ee00..0939b748d2 100644 --- a/docs/copyright.txt +++ b/docs/copyright.txt @@ -25,6 +25,6 @@ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You have been warned. -You can contact the webmaster at <buildroot@uclibc.org> if you have some sort +You can contact the webmaster at <buildroot@buildroot.org> if you have some sort of problem with this. diff --git a/docs/download.html b/docs/download.html index 1d2a8af6bb..bae86df1f0 100644 --- a/docs/download.html +++ b/docs/download.html @@ -6,27 +6,27 @@ <p> -The latest stable release is <b>2013.11</b>, which can be downloaded +The latest stable release is <b>2014.02</b>, which can be downloaded here:<p> -<a href="/downloads/buildroot-2013.11.tar.gz">buildroot-2013.11.tar.gz</a> -(<a href="/downloads/buildroot-2013.11.tar.gz.sign">PGP signature</a>) +<a href="/downloads/buildroot-2014.02.tar.gz">buildroot-2014.02.tar.gz</a> +(<a href="/downloads/buildroot-2014.02.tar.gz.sign">PGP signature</a>) or -<a href="/downloads/buildroot-2013.11.tar.bz2">buildroot-2013.11.tar.bz2</a> -(<a href="/downloads/buildroot-2013.11.tar.bz2.sign">PGP signature</a>). +<a href="/downloads/buildroot-2014.02.tar.bz2">buildroot-2014.02.tar.bz2</a> +(<a href="/downloads/buildroot-2014.02.tar.bz2.sign">PGP signature</a>). <p> - -The latest release candidate is <b>2014.02-rc1</b>, which can be +<!-- +The latest release candidate is <b>2014.02-rc3</b>, which can be downloaded here:<p> -<a href="/downloads/buildroot-2014.02-rc1.tar.gz">buildroot-2014.02-rc1.tar.gz</a> -(<a href="/downloads/buildroot-2014.02-rc1.tar.gz.sign">PGP signature</a>) +<a href="/downloads/buildroot-2014.02-rc3.tar.gz">buildroot-2014.02-rc3.tar.gz</a> +(<a href="/downloads/buildroot-2014.02-rc3.tar.gz.sign">PGP signature</a>) or -<a href="/downloads/buildroot-2014.02-rc1.tar.bz2">buildroot-2014.02-rc1.tar.bz2</a> -(<a href="/downloads/buildroot-2014.02-rc1.tar.bz2.sign">PGP signature</a>). +<a href="/downloads/buildroot-2014.02-rc3.tar.bz2">buildroot-2014.02-rc3.tar.bz2</a> +(<a href="/downloads/buildroot-2014.02-rc3.tar.bz2.sign">PGP signature</a>). <p> - +--> This and earlier releases (and their PGP signatures) can always be downloaded from <a href="/downloads/">http://buildroot.net/downloads/</a>. diff --git a/docs/footer.html b/docs/footer.html index 9cc1e199d5..d3b239b644 100644 --- a/docs/footer.html +++ b/docs/footer.html @@ -14,7 +14,7 @@ <br> Mail all comments, insults, suggestions and bribes to <br> - The Buildroot developers <A HREF="mailto:buildroot@uclibc.org">buildroot@uclibc.org</A><BR> + The Buildroot developers <A HREF="mailto:buildroot@buildroot.org">buildroot@buildroot.org</A><BR> </font> </body> diff --git a/docs/header.html b/docs/header.html index b987d85e95..625c0790ae 100644 --- a/docs/header.html +++ b/docs/header.html @@ -57,7 +57,9 @@ <br><a href="http://autobuild.buildroot.org">Autobuilder</a> <br><a href="http://patchwork.buildroot.org">Patchwork</a> <br><a href="/sponsors.html">Sponsors</a> - + <br><a href="https://plus.google.com/100084591154899263420?prsrc=3" rel="publisher" target="_top" style="text-decoration:none;"> + <img src="https://ssl.gstatic.com/images/icons/gplus-32.png" alt="Google+" style="border:0;width:32px;height:32px;"/> + </a> </td> diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt index 3dc5395937..6145f54479 100644 --- a/docs/manual/adding-packages-directory.txt +++ b/docs/manual/adding-packages-directory.txt @@ -327,5 +327,16 @@ different way, using different infrastructures: CMake. We cover them through a xref:cmake-package-tutorial[tutorial] and xref:cmake-package-reference[reference]. +* *Makefiles for Python modules*: We have a dedicated infrastructure + for Python modules that use either the +distutils+ or the + +setuptools+ mechanism. We cover them through a + xref:python-package-tutorial[tutorial] and a + xref:python-package-reference[reference]. + +* *Makefiles for Lua modules*: We have a dedicated infrastructure for + Lua modules available through the LuaRocks web site. We cover them + through a xref:luarocks-package-tutorial[tutorial] and a + xref:luarocks-package-reference[reference]. + Further formatting details: see xref:writing-rules-mk[the writing rules]. diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt index 14971b502b..04e589f9af 100644 --- a/docs/manual/adding-packages-generic.txt +++ b/docs/manual/adding-packages-generic.txt @@ -253,7 +253,7 @@ information is (assuming the package name is +libfoo+) : Buildroot should download from +LIBFOO_SITE+ in addition to the main +LIBFOO_SOURCE+ (which usually is a tarball). Buildroot will not do anything with those additional files, except download files: it will - be up to the package recipe to use them from +$(DL_DIR)+. + be up to the package recipe to use them from +$(BR2_DL_DIR)+. * +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the package source code. In many cases, Buildroot guesses the method diff --git a/docs/manual/advanced.txt b/docs/manual/advanced.txt index 764b71a5c7..fb337f5f71 100644 --- a/docs/manual/advanced.txt +++ b/docs/manual/advanced.txt @@ -11,3 +11,5 @@ include::ccache-support.txt[] include::download-location.txt[] include::package-make-target.txt[] + +include::using-buildroot-development.txt[] diff --git a/docs/manual/common-usage.txt b/docs/manual/common-usage.txt index 127060dc35..a16b887fb6 100644 --- a/docs/manual/common-usage.txt +++ b/docs/manual/common-usage.txt @@ -40,7 +40,13 @@ Or: $ cd /tmp/build; make O=$PWD -C path/to/buildroot -------------------- -All the output files will be located under +/tmp/build+. +All the output files will be located under +/tmp/build+. If the +O+ +path does not exist, Buildroot will create it. + +*Note:* the +O+ path can be either an absolute or a relative path, but if it's +passed as a relative path, it is important to note that it is interpreted +relative to the main Buildroot source directory, *not* the current working +directory. When using out-of-tree builds, the Buildroot +.config+ and temporary files are also stored in the output directory. This means that you can @@ -48,8 +54,8 @@ safely run multiple builds in parallel using the same source tree as long as they use unique output directories. For ease of use, Buildroot generates a Makefile wrapper in the output -directory - so after the first run, you no longer need to pass +O=..+ -and +-C ..+, simply run (in the output directory): +directory - so after the first run, you no longer need to pass +O=<...>+ +and +-C <...>+, simply run (in the output directory): -------------------- $ make <target> @@ -86,9 +92,9 @@ to +make+ or set in the environment: Note that the Buildroot download directory can also be set from the configuration interface, so through the Buildroot +.config+ file; this is the recommended way of setting it. -* +GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in +* +BR2_GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in build-time graphs -* +GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the +* +BR2_GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the default), or +png+. An example that uses config files located in the toplevel directory and @@ -143,3 +149,102 @@ of an ext2 filesystem may be corrupted; or, if you have sparse files in your filesystem, those parts may not be all-zeroes when read back). You should only use sparse files when handling files on the build machine, not when transferring them to an actual device that will be used on the target. + +Graphing the dependencies between packages +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +[[graph-depends]] + +One of Buildroot's jobs is to know the dependencies between packages, +and make sure they are built in the right order. These dependencies +can sometimes be quite complicated, and for a given system, it is +often not easy to understand why such or such package was brought into +the build by Buildroot. + +In order to help understanding the dependencies, and therefore better +understand what is the role of the different components in your +embedded Linux system, Buildroot is capable of generating dependency +graphs. + +To generate a dependency graph of the full system you have compiled, +simply run: + +------------------------ +make graph-depends +------------------------ + +You will find the generated graph in ++output/graphs/graph-depends.pdf+. + +If your system is quite large, the dependency graph may be too complex +and difficult to read. It is therefore possible to generate the +dependency graph just for a given package: + +------------------------ +make <pkg>-graph-depends +------------------------ + +You will find the generated graph in ++output/graph/<pkg>-graph-depends.pdf+. + +Note that the dependency graphs are generated using the +dot+ tool +from the _Graphviz_ project, which you must have installed on your +system to use this feature. In most distributions, it is available as +the +graphviz+ package. + +By default, the dependency graphs are generated in the PDF +format. However, by passing the +BR2_GRAPH_OUT+ environment variable, you +can switch to other output formats, such as PNG, PostScript or +SVG. All formats supported by the +-T+ option of the +dot+ tool are +supported. + +-------------------------------- +BR2_GRAPH_OUT=svg make graph-depends +-------------------------------- + +Graphing the build duration +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +[[graph-duration]] + +When the build of a system takes a long time, it is sometimes useful +to be able to understand which packages are the longest to build, to +see if anything can be done to speed up the build. In order to help +such build time analysis, Buildroot collects the build time of each +step of each package, and allows to generate graphs from this data. + +To generate the build time graph after a build, run: + +---------------- +make graph-build +---------------- + +This will generate a set of files in +output/graphs+ : + +* +build.hist-build.pdf+, a histogram of the build time for each + package, ordered in the build order. + +* +build.hist-duration.pdf+, a histogram of the build time for each + package, ordered by duration (longest first) + +* +build.hist-name.pdf+, a histogram of the build time for each + package, order by package name. + +* +build.pie-packages.pdf+, a pie chart of the build time per package + +* +build.pie-steps.pdf+, a pie chart of the global time spent in each + step of the packages build process. + +This +graph-build+ target requires the Python Matplotlib and Numpy +libraries to be installed (+python-matplotlib+ and +python-numpy+ on +most distributions), and also the +argparse+ module if you're using a +Python version older than 2.7 (+python-argparse+ on most +distributions). + +By default, the output format for the graph is PDF, but a different +format can be selected using the +BR2_GRAPH_OUT+ environment variable. The +only other format supported is PNG: + +---------------- +BR2_GRAPH_OUT=png make graph-build +---------------- diff --git a/docs/manual/configure.txt b/docs/manual/configure.txt index 9b8135a6a4..badb6e473c 100644 --- a/docs/manual/configure.txt +++ b/docs/manual/configure.txt @@ -68,12 +68,10 @@ The _internal toolchain backend_ is the backend where Buildroot builds by itself a cross-compilation toolchain, before building the userspace applications and libraries for your target embedded system. -This backend is the historical backend of Buildroot, and has been -limited for a long time to the usage of the -http://www.uclibc.org[uClibc C library]. Support for the _eglibc_ C -library has been added in 2013 and is at this point considered -experimental. See the _External toolchain backend_ for another -solution to use _glibc_ or _eglibc_. +This backend supports several C libraries: +http://www.uclibc.org[uClibc], the +http://www.gnu.org/software/libc/libc.html[glibc] and +http://www.eglibc.org[eglibc]. Once you have selected this backend, a number of options appear. The most important ones allow to: @@ -96,18 +94,7 @@ most important ones allow to: the C library might be using interfaces that are not provided by your Linux kernel. - * Change the version and the configuration of the uClibc C library - (if uClibc is selected). The default options are usually - fine. However, if you really need to specifically customize the - configuration of your uClibc C library, you can pass a specific - configuration file here. Or alternatively, you can run the +make - uclibc-menuconfig+ command to get access to uClibc's configuration - interface. Note that all packages in Buildroot are tested against - the default uClibc configuration bundled in Buildroot: if you - deviate from this configuration by removing features from uClibc, - some packages may no longer build. - - * Change the version of the GCC compiler and binutils. + * Change the version of the GCC compiler, binutils and the C library. * Select a number of toolchain options (uClibc only): whether the toolchain should have largefile support (i.e support for files @@ -118,7 +105,12 @@ most important ones allow to: libraries visible in Buildroot menus will change: many applications and libraries require certain toolchain options to be enabled. Most packages show a comment when a certain toolchain option is required - to be able to enable those packages. + to be able to enable those packages. If needed, you can further + refine the uClibc configuration by running +make + uclibc-menuconfig+. Note however that all packages in Buildroot are + tested against the default uClibc configuration bundled in + Buildroot: if you deviate from this configuration by removing + features from uClibc, some packages may no longer build. It is worth noting that whenever one of those options is modified, then the entire toolchain and system must be rebuilt. See @@ -146,10 +138,9 @@ http://www.linaro.org[Linaro] for ARM, http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/[Sourcery CodeBench] for ARM, x86, x86-64, PowerPC, MIPS and SuperH, https://blackfin.uclinux.org/gf/project/toolchain[Blackfin toolchains -from ADI], http://git.xilinx.com/[Xilinx toolchains for Microblaze], -etc.) and is capable of downloading them automatically, or it can be -pointed to a custom toolchain, either available for download or -installed locally. +from Analog Devices], etc.) and is capable of downloading them +automatically, or it can be pointed to a custom toolchain, either +available for download or installed locally. Then, you have three solutions to use an external toolchain: @@ -168,14 +159,14 @@ Then, you have three solutions to use an external toolchain: toolchain. * Use a completely custom external toolchain. This is particularly - useful for toolchains generated using crosstool-NG. To do this, - select the +Custom toolchain+ solution in the +Toolchain+ list. You - need to fill the +Toolchain path+, +Toolchain prefix+ and +External - toolchain C library+ options. Then, you have to tell Buildroot what - your external toolchain supports. If your external toolchain uses - the 'glibc' library, you only have to tell whether your toolchain - supports C\+\+ or not and whether it has built-in RPC support. If - your external toolchain uses the 'uClibc' + useful for toolchains generated using crosstool-NG or with Buildroot + itself. To do this, select the +Custom toolchain+ solution in the + +Toolchain+ list. You need to fill the +Toolchain path+, +Toolchain + prefix+ and +External toolchain C library+ options. Then, you have + to tell Buildroot what your external toolchain supports. If your + external toolchain uses the 'glibc' library, you only have to tell + whether your toolchain supports C\+\+ or not and whether it has + built-in RPC support. If your external toolchain uses the 'uClibc' library, then you have to tell Buildroot if it supports largefile, IPv6, RPC, wide-char, locale, program invocation, threads and C++. At the beginning of the execution, Buildroot will tell you if @@ -188,23 +179,13 @@ Buildroot itself. In general, all toolchains that support the 'sysroot' feature should work. If not, do not hesitate to contact the developers. -We do not support toolchains from the -http://www.denx.de/wiki/DULG/ELDK[ELDK] of Denx, for two reasons: - -* The ELDK does not contain a pure toolchain (i.e just the compiler, - binutils, the C and C++ libraries), but a toolchain that comes with - a very large set of pre-compiled libraries and programs. Therefore, - Buildroot cannot import the 'sysroot' of the toolchain, as it would - contain hundreds of megabytes of pre-compiled libraries that are - normally built by Buildroot. - -* The ELDK toolchains have a completely non-standard custom mechanism - to handle multiple library variants. Instead of using the standard - GCC 'multilib' mechanism, the ARM ELDK uses different symbolic links - to the compiler to differentiate between library variants (for ARM - soft-float and ARM VFP), and the PowerPC ELDK compiler uses a - +CROSS_COMPILE+ environment variable. This non-standard behaviour - makes it difficult to support ELDK in Buildroot. +We do not support toolchains or SDK generated by OpenEmbedded or +Yocto, because these toolchains are not pure toolchains (i.e just the +compiler, binutils, the C and C++ libraries). Instead these toolchains +come with a very large set of pre-compiled libraries and +programs. Therefore, Buildroot cannot import the 'sysroot' of the +toolchain, as it would contain hundreds of megabytes of pre-compiled +libraries that are normally built by Buildroot. We also do not support using the distribution toolchain (i.e the gcc/binutils/C library installed by your distribution) as the diff --git a/docs/manual/contribute.txt b/docs/manual/contribute.txt index 201685cc78..5602335044 100644 --- a/docs/manual/contribute.txt +++ b/docs/manual/contribute.txt @@ -48,7 +48,7 @@ before submitting them using your favorite text editor. Lastly, send/submit your patch set to the Buildroot mailing list: --------------------- -$ git send-email --to buildroot@busybox.net outgoing/* +$ git send-email --to buildroot@buildroot.org outgoing/* --------------------- Note that +git+ should be configured to use your mail account. diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.txt index 585eedffef..7498940948 100644 --- a/docs/manual/customize-outside-br.txt +++ b/docs/manual/customize-outside-br.txt @@ -30,18 +30,18 @@ there is no need to pass +BR2_EXTERNAL+ at every +make+ invocation. It can however be changed at any time by passing a new value, and can be removed by passing an empty value. -The +BR2_EXTERNAL+ path can be either an absolute or a relative path, +*Note:* the +BR2_EXTERNAL+ path can be either an absolute or a relative path, but if it's passed as a relative path, it is important to note that it -is interpreted relatively to the main Buildroot source directory, not +is interpreted relative to the main Buildroot source directory, *not* the Buildroot output directory. Some examples: ----- - buildroot/ $ make BR2_EXTERNAL=../foobar menuconfig + buildroot/ $ make BR2_EXTERNAL=/path/to/foobar menuconfig ----- -Starting from now on, external definitions from the +../foobar+ +Starting from now on, external definitions from the +/path/to/foobar+ directory will be used: ----- @@ -52,7 +52,7 @@ directory will be used: We can switch to another external definitions directory at any time: ----- - buildroot/ $ make BR2_EXTERNAL=../barfoo xconfig + buildroot/ $ make BR2_EXTERNAL=/where/we/have/barfoo xconfig ----- Or disable the usage of external definitions: diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt index 4e0612b8d7..4026e18ebd 100644 --- a/docs/manual/faq-troubleshooting.txt +++ b/docs/manual/faq-troubleshooting.txt @@ -111,3 +111,103 @@ directory as the new root, will most likely fail. If you want to run the target filesystem inside a chroot, or as an NFS root, then use the tarball image generated in +images/+ and extract it as root. + +[[faq-no-binary-packages]] +Why doesn't Buildroot generate binary packages (.deb, .ipkg...)? +---------------------------------------------------------------- + +One feature that is often discussed on the Buildroot list is the +the general topic of "package management". To summarize, the idea +would be to add some tracking of which Buildroot package installs +what files, with the goals of: + + * being able to remove files installed by a package when this package + gets unselected from the menuconfig; + + * being able to generate binary packages (ipk or other format) that + can be installed on the target without re-generating a new root + filesystem image. + +In general, most people think it is easy to do: just track which package +installed what and remove it when the package is unselected. However, it +is much more complicated than that: + + * It is not only about the +target/+ directory, but also the sysroot in + +host/usr/<tuple>/sysroot+ and the +host/+ directory itself. All files + installed in those directories by various packages must be tracked. + + * When a package is unselected from the configuration, it is not + sufficient to remove just the files it installed. One must also + remove all its reverse dependencies (i.e packages relying on it) + and rebuild all those packages. For example, package A depends + optionally on the OpenSSL library. Both are selected, and Buildroot + is built. Package A is built with crypto support using OpenSSL. + Later on, OpenSSL gets unselected from the configuration, but + package A remains (since OpenSSL is an optional dependency, this + is possible.) If only OpenSSL files are removed, then the files + installed by package A are broken: they use a library that is no + longer present on the target. Although this is technically doable, + it adds a lot of complexity to Buildroot, which goes against the + simplicity we try to stick to. + + * In addition to the previous problem, there is the case where the + optional dependency is not even known to Buildroot. For example, + package A in version 1.0 never used OpenSSL, but in version 2.0 it + automatically uses OpenSSL if available. If the Buildroot .mk file + hasn't been updated to take this into account, then package A will + not be part of the reverse dependencies of OpenSSL and will not be + removed and rebuilt when OpenSSL is removed. For sure, the .mk file + of package A should be fixed to mention this optional dependency, + but in the mean time, you can have non-reproducible behaviors. + + * The request is to also allow changes in the menuconfig to be + applied on the output directory without having to rebuild + everything from scratch. However, this is very difficult to achieve + in a reliable way: what happens when the suboptions of a package + are changed (we would have to detect this, and rebuild the package + from scratch and potentially all its reverse dependencies), what + happens if toolchain options are changed, etc. At the moment, what + Buildroot does is clear and simple so its behaviour is very + reliable and it is easy to support users. If configuration changes + done in menuconfig are applied after the next make, then it has to + work correctly and properly in all situations, and not have some + bizarre corner cases. The risk is to get bug reports like "I have + enabled package A, B and C, then ran make, then disabled package + C and enabled package D and ran make, then re-enabled package C + and enabled package E and then there is a build failure". Or worse + "I did some configuration, then built, then did some changes, + built, some more changes, built, some more changes, built, and now + it fails, but I don't remember all the changes I did and in which + order". This will be impossible to support. + +For all these reasons, the conclusion is that adding tracking of +installed files to remove them when the package is unselected, or to +generate a repository of binary packages, is something that is very +hard to achieve reliably and will add a lot of complexity. + +On this matter, the Buildroot developers make this position statement: + + * Buildroot strives to make it easy to generate a root filesystem (hence + the name, by the way.) That is what we want to make Buildroot good at: + building root filesystems. + + * Buildroot is not meant to be a distribution (or rather, a distribution + generator.) It is the opinion of most Buildroot developers that this + is not a goal we should pursue. We believe that there are other tools + better suited to generate a distro than Buildroot is. For example, + http://openembedded.org/[Open Embedded], or https://openwrt.org/[openWRT], + are such tools. + + * We prefer to push Buildroot in a direction that makes it easy (or even + easier) to generate complete root filesystems. This is what makes + Buildroot stands out in the crowd (among other things, of course!) + + * We believe that for most embedded Linux systems, binary packages are + not necessary, and potentially harmful. When binary packages are + used, it means that the system can be partially upgraded, which + creates an enormous number of possible combinations of package + versions that should be tested before doing the upgrade on the + embedded device. On the other hand, by doing complete system + upgrades by upgrading the entire root filesystem image at once, + the image deployed to the embedded system is guaranteed to really + be the one that has been tested and validated. diff --git a/docs/manual/make-tips.txt b/docs/manual/make-tips.txt index 0159ffe7ce..faf59f2c62 100644 --- a/docs/manual/make-tips.txt +++ b/docs/manual/make-tips.txt @@ -32,10 +32,12 @@ The result of the search shows the help message of the matching items. Not all targets are always available, some settings in the +.config+ file may hide some targets: +* +busybox-menuconfig+ and +busybox-savedefconfig+ ony work when + +busybox+ is enabled; * +linux-menuconfig+ and +linux-savedefconfig+ only work when +linux+ is enabled; -* +uclibc-menuconfig+ is only available when the - Buildroot internal toolchain backend is used; +* +uclibc-menuconfig+ is only available when the uClibc C library is + selected in the internal toolchain backend; * +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the +barebox+ bootloader is enabled. diff --git a/docs/manual/package-make-target.txt b/docs/manual/package-make-target.txt index 9eefe680b0..bd514f40e8 100644 --- a/docs/manual/package-make-target.txt +++ b/docs/manual/package-make-target.txt @@ -63,6 +63,11 @@ Additionally, there are some other useful make targets: | +show-depends+ | Displays the dependencies required to build the package +| +graph-depends+ | Generate a dependency graph of the package, in the +context of the current Buildroot configuration. See +xref:graph-depends[this section] for more details about dependency +graphs. + | +dirclean+ | Remove the whole package build directory | +rebuild+ | Re-run the compilation commands - this only makes diff --git a/docs/manual/rebuilding-packages.txt b/docs/manual/rebuilding-packages.txt index 88d667015d..b2d10decc7 100644 --- a/docs/manual/rebuilding-packages.txt +++ b/docs/manual/rebuilding-packages.txt @@ -5,33 +5,82 @@ Understanding when a full rebuild is necessary ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A full rebuild is achieved by running: +Buildroot does not attempt to detect what parts of the system should +be rebuilt when the system configuration is changed through +make +menuconfig+, +make xconfig+ or one of the other configuration +tools. In some cases, Buildroot should rebuild the entire system, in +some cases, only a specific subset of packages. But detecting this in +a completely reliable manner is very difficult, and therefore the +Buildroot developers have decided to simply not attempt to do this. + +Instead, it is the responsibility of the user to know when a full +rebuild is necessary. As a hint, here are a few rules of thumb that +can help you understand how to work with Buildroot: + + * When the target architecture configuration is changed, a complete + rebuild is needed. Changing the architecture variant, the binary + format or the floating point strategy for example has an impact on + the entire system. + + * When the toolchain configuration is changed, a complete rebuild + generally is needed. Changing the toolchain configuration often + involves changing the compiler version, the type of C library or + its configuration, or some other fundamental configuration item, + and these changes have an impact on the entire system. + + * When an additional package is added to the configuration, a full + rebuild is not necessarily needed. Buildroot will detect that this + package has never been built, and will build it. However, if this + package is a library that can optionally be used by packages that + have already been built, Buildroot will not automatically rebuild + those. Either you know which packages should be rebuilt, and you + can rebuild them manually, or you should do a full rebuild. For + example, let's suppose you have built a system with the +ctorrent+ + package, but without +openssl+. Your system works, but you realize + you would like to have SSL support in +ctorrent+, so you enable the + +openssl+ package in Buildroot configuration and restart the + build. Buildroot will detect that +openssl+ should be built and + will be build it, but it will not detect that +ctorrent+ should be + rebuilt to benefit from +openssl+ to add OpenSSL support. You will + either have to do a full rebuild, or rebuild +ctorrent+ itself. + + * When a package is removed from the configuration, Buildroot does + not do anything special. It does not remove the files installed by + this package from the target root filesystem or from the toolchain + _sysroot_. A full rebuild is needed to get rid of this + package. However, generally you don't necessarily need this package + to be removed right now: you can wait for the next lunch break to + restart the build from scratch. + + * When the sub-options of a package are changed, the package is not + automatically rebuilt. After making such changes, rebuilding only + this package is often sufficient, unless enabling the package + sub-option adds some features to the package that are useful for + another package which has already been built. Again, Buildroot does + not track when a package should be rebuilt: once a package has been + built, it is never rebuilt unless explicitly told to do so. + + * When a change to the root filesystem skeleton is made, a full + rebuild is needed. However, when changes to the root filesystem + overlay, a post-build script or a post-image script are made, + there is no need for a full rebuild: a simple +make+ invocation + will take the changes into account. + +Generally speaking, when you're facing a build error and you're unsure +of the potential consequences of the configuration changes you've +made, do a full rebuild. If you get the same build error, then you are +sure that the error is not related to partial rebuilds of packages, +and if this error occurs with packages from the official Buildroot, do +not hesitate to report the problem! As your experience with Buildroot +progresses, you will progressively learn when a full rebuild is really +necessary, and you will save more and more time. + +For reference, a full rebuild is achieved by running: --------------- $ make clean all --------------- -In some cases, a full rebuild is mandatory: - -* each time the toolchain properties are changed, this includes: - -** after changing any toolchain option under the _Toolchain_ menu (if - the internal Buildroot backend is used); -** after running +make uclibc-menuconfig+. - -* after removing some libraries from the package selection. - -In some cases, a full rebuild is recommended: - -* after adding some libraries to the package selection (otherwise, - packages that can be optionally linked against those libraries - won't be rebuilt, so they won't support those new available - features). - -In other cases, it is up to you to decide if you should run a -full rebuild, but you should know what is impacted and understand what -you are doing anyway. - [[rebuild-pkg]] Understanding how to rebuild packages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -51,26 +100,25 @@ its build directory in +output/build+. Buildroot will then re-extract, re-configure, re-compile and re-install this package from scratch. You can ask buildroot to do this with the +make <package>-dirclean+ command. -For convenience, the special make targets -<package>-reconfigure and <package>-rebuild repeat the configure -resp. build steps. - -However, if you don't want to rebuild the package completely from -scratch, a better understanding of the Buildroot internals is -needed. Internally, to keep track of which steps have been done and -which steps remain to be done, Buildroot maintains stamp files (empty -files that just tell whether this or that action has been done): - -* +output/build/<package>-<version>/.stamp_configured+. If removed, - Buildroot will trigger the recompilation of the package from the - configuration step (execution of +./configure+). - -* +output/build/<package>-<version>/.stamp_built+. If removed, - Buildroot will trigger the recompilation of the package from the - compilation step (execution of +make+). - -Note: toolchain packages use custom makefiles. Their stamp files are named -differently. +On the other hand, if you only want to restart the build process of a +package from its compilation step, you can run +make +<package>-rebuild+, followed by +make+ or +make <package>+. It will +restart the compilation and installation of the package, but not from +scratch: it basically re-executes +make+ and +make install+ +inside the package, so it will only rebuild files that changed. + +If you want to restart the build process of a package from its +configuration step, you can run +make <package>-reconfigure+, followed +by +make+ or +make <package>+. It will restart the configuration, +compilation and installation of the package. + +Internally, Buildroot creates so-called _stamp files_ to keep track of +which build steps have been completed for each package. They are +stored in the package build directory, ++output/build/<package>-<version>/+ and are named ++.stamp_<step-name>+. The commands detailed above simply manipulate +these stamp files to force Buildroot to restart a specific set of +steps of a package build process. Further details about package special make targets are explained in xref:pkg-build-steps[]. diff --git a/docs/manual/using-buildroot-development.txt b/docs/manual/using-buildroot-development.txt new file mode 100644 index 0000000000..eaebeaf9fe --- /dev/null +++ b/docs/manual/using-buildroot-development.txt @@ -0,0 +1,84 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +Using Buildroot during development +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The normal operation of Buildroot is to download a tarball, extract +it, configure, compile and install the software component found inside +this tarball. The source code is extracted in ++output/build/<package>-<version>+, which is a temporary directory: +whenever +make clean+ is used, this directory is entirely removed, and +re-recreated at the next +make+ invocation. Even when a Git or +Subversion repository is used as the input for the package source +code, Buildroot creates a tarball out of it, and then behaves as it +normally does with tarballs. + +This behavior is well-suited when Buildroot is used mainly as an +integration tool, to build and integrate all the components of an +embedded Linux system. However, if one uses Buildroot during the +development of certain components of the system, this behavior is not +very convenient: one would instead like to make a small change to the +source code of one package, and be able to quickly rebuild the system +with Buildroot. + +Making changes directly in +output/build/<package>-<version>+ is not +an appropriate solution, because this directory is removed on +make +clean+. + +Therefore, Buildroot provides a specific mechanism for this use case: +the +<pkg>_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_ +file, which allows the user to tell Buildroot the location of the +source for certain packages. By default this _override_ file is named ++local.mk+ and located in the top directory of the Buildroot source +tree, but a different location can be specified through the ++BR2_PACKAGE_OVERRIDE_FILE+ configuration option. + +In this _override_ file, Buildroot expects to find lines of the form: + +------------------ +<pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources +<pkg2>_OVERRIDE_SRCDIR = /path/to/pkg2/sources +------------------ + +For example: + +------------------ +LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ +BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ +------------------ + +When Buildroot finds that for a given package, an ++<pkg>_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to +download, extract and patch the package. Instead, it will directly use +the source code available in in the specified directory and +make +clean+ will not touch this directory. This allows to point Buildroot +to your own directories, that can be managed by Git, Subversion, or +any other version control system. To achieve this, Buildroot will use +_rsync_ to copy the source code of the component from the specified ++<pkg>_OVERRIDE_SRCDIR+ to +output/build/<package>-custom/+. + +This mechanism is best used in conjuction with the +make +<pkg>-rebuild+ and +make <pkg>-reconfigure+ targets. A +make +<pkg>-rebuild all+ sequence will _rsync_ the source code from ++<pkg>_OVERRIDE_SRCDIR+ to +output/build/<package>-custom+ (thanks to +_rsync_, only the modified files are copied), and restart the build +process of just this package. + +In the example of the +linux+ package above, the developer can then +make a source code change in +/home/bob/linux+ and then run: + +----------------------- +make linux-rebuild all +----------------------- + +and in a matter of seconds gets the updated Linux kernel image in ++output/images+. Similarly, a change can be made to the Busybox source +code in +/home/bob/busybox+, and after: + +----------------------- +make busybox-rebuild all +----------------------- + +the root filesystem image in +output/images+ contains the updated +Busybox. diff --git a/docs/news.html b/docs/news.html index e473ba00ba..9efca65834 100644 --- a/docs/news.html +++ b/docs/news.html @@ -5,12 +5,47 @@ <p> <ul> + <li><b>27 February 2014 -- 2014.02 released</b> + + <p>The stable 2014.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02">CHANGES</a> + file for more details, + and go to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2014.02.tar.bz2">2014.02 release</a>.</p> + + <li><b>25 February 2014 -- 2014.02-rc3 released</b> + + <p>Release candidate 3 is out with more cleanups and build fixes. See the <a + href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02-rc3">CHANGES</a> + file for details.</p> + + <p>Head to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2014.02-rc3.tar.bz2">2014.02-rc3 + release candidate</a>, and report any problems found to the <a + href="lists.html">mailing list</a> or <a + href="https://bugs.uclibc.org">bug tracker</a>.</p> + + <li><b>20 February 2014 -- 2014.02-rc2 released</b> + + <p>Another week, another release candidate with more cleanups and + build fixes. See the <a + href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02-rc2">CHANGES</a> + file for details.</p> + + <p>Head to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2014.02-rc2.tar.bz2">2014.02-rc2 + release candidate</a>, and report any problems found to the <a + href="lists.html">mailing list</a> or <a + href="https://bugs.uclibc.org">bug tracker</a>.</p> + <li><b>11 February 2014 -- 2014.02-rc1 released</b> <p>We have a new release candidate! Lots of changes all over the tree, see the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02-rc1">CHANGES</a> - file for details.</p> + file for details, and read the + <a href="http://lists.busybox.net/pipermail/buildroot/2014-February/089055.html">announcement</a>.</p> <p>Head to the <a href="/downloads/">downloads page</a> to pick up the <a href="/downloads/buildroot-2014.02-rc1.tar.bz2">2014.02-rc1 diff --git a/linux/Config.in b/linux/Config.in index ea780972fa..1f8ddf5811 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -21,7 +21,7 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "3.13.2" + bool "3.13.5" config BR2_LINUX_KERNEL_SAME_AS_HEADERS bool "Same as toolchain kernel headers" @@ -104,7 +104,7 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH config BR2_LINUX_KERNEL_VERSION string - default "3.13.2" if BR2_LINUX_KERNEL_LATEST_VERSION + default "3.13.5" if BR2_LINUX_KERNEL_LATEST_VERSION default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION diff --git a/package/Config.in b/package/Config.in index fd081fd4a7..ab917195f3 100644 --- a/package/Config.in +++ b/package/Config.in @@ -365,7 +365,8 @@ source "package/jimtcl/Config.in" source "package/lua/Config.in" source "package/luainterpreter/Config.in" source "package/luajit/Config.in" -if BR2_PACKAGE_HAS_LUA_INTERPRETER +if BR2_PACKAGE_HAS_LUA_INTERPRETER && !BR2_PREFER_STATIC_LIB +# lua modules are dynamically loaded, so not available on static builds menu "Lua libraries/modules" source "package/cgilua/Config.in" source "package/copas/Config.in" diff --git a/package/aiccu/Config.in b/package/aiccu/Config.in index 17e64497eb..9865b5c053 100644 --- a/package/aiccu/Config.in +++ b/package/aiccu/Config.in @@ -7,6 +7,10 @@ config BR2_PACKAGE_AICCU # Uses dn_skipname(), only available since 0.9.33 depends on !BR2_UCLIBC_VERSION_0_9_31 && \ !BR2_UCLIBC_VERSION_0_9_32 + # AVR32 only has uClibc 0.9.31, so there's no way it can build + # due to the lack of dn_skipname(), even with external + # toolchains. + depends on !BR2_avr32 select BR2_PACKAGE_GNUTLS help SixXS Automatic IPv6 Connectivity Client Utility diff --git a/package/alsa-lib/alsa-lib-avr32-bad-inline.patch b/package/alsa-lib/alsa-lib-0001-avr32-bad-inline.patch index 568ba40a4e..568ba40a4e 100644 --- a/package/alsa-lib/alsa-lib-avr32-bad-inline.patch +++ b/package/alsa-lib/alsa-lib-0001-avr32-bad-inline.patch diff --git a/package/alsa-lib/alsa-lib-no-mmu.patch b/package/alsa-lib/alsa-lib-0002-no-mmu.patch index 317676af4c..317676af4c 100644 --- a/package/alsa-lib/alsa-lib-no-mmu.patch +++ b/package/alsa-lib/alsa-lib-0002-no-mmu.patch diff --git a/package/alsa-lib/alsa-lib-0003-dlmisc.patch b/package/alsa-lib/alsa-lib-0003-dlmisc.patch new file mode 100644 index 0000000000..05dc70ee7e --- /dev/null +++ b/package/alsa-lib/alsa-lib-0003-dlmisc.patch @@ -0,0 +1,57 @@ +alsa-lib: provide dummy definitions of RTLD_* if necessary + +The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header +file, so we need to guard that include. Additionally, provide dummy +definitions for parameters RTLD_GLOBAL / RTLD_NOW which are normally +provided by dlfcn.h. + +Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> +[Thomas: don't add separate dlmisc.h, move dummy defs to global.h] +Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> + +diff --git a/include/global.h b/include/global.h +--- a/include/global.h ++++ b/include/global.h +@@ -97,6 +97,16 @@ extern struct snd_dlsym_link *snd_dlsym_ + /** \brief Returns the version of a dynamic symbol as a string. */ + #define SND_DLSYM_VERSION(version) __STRING(version) + ++/* RTLD_NOW and RTLD_GLOBAL (used for 'mode' in snd_dlopen) are not defined ++ * on all arches (e.g. blackfin), so provide a dummy definition here. */ ++#ifndef RTLD_NOW ++#define RTLD_NOW 0 ++#endif ++ ++#ifndef RTLD_GLOBAL ++#define RTLD_GLOBAL 0 ++#endif ++ + void *snd_dlopen(const char *file, int mode); + void *snd_dlsym(void *handle, const char *name, const char *version); + int snd_dlclose(void *handle); +diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c +--- a/modules/mixer/simple/sbasedl.c ++++ b/modules/mixer/simple/sbasedl.c +@@ -27,7 +27,9 @@ + #include <fcntl.h> + #include <sys/ioctl.h> + #include <math.h> ++#ifdef HAVE_LIBDL + #include <dlfcn.h> ++#endif + #include "config.h" + #include "asoundlib.h" + #include "mixer_abst.h" +diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c +--- a/src/mixer/simple_abst.c ++++ b/src/mixer/simple_abst.c +@@ -34,7 +34,9 @@ + #include <fcntl.h> + #include <sys/ioctl.h> + #include <math.h> ++#ifdef HAVE_LIBDL + #include <dlfcn.h> ++#endif + #include "config.h" + #include "asoundlib.h" + #include "mixer_simple.h" diff --git a/package/alsa-lib/alsa-lib-0004-conditional-enabling-of-libdl-in-m4.patch b/package/alsa-lib/alsa-lib-0004-conditional-enabling-of-libdl-in-m4.patch new file mode 100644 index 0000000000..c533419baa --- /dev/null +++ b/package/alsa-lib/alsa-lib-0004-conditional-enabling-of-libdl-in-m4.patch @@ -0,0 +1,35 @@ +alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro + +The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This +breaks compilation of alsa-utils (and probably other packages using this +macro) for targets that do not support dynamic loading, such as for +Blackfin FLAT binaries. + +This patch updates the macro to check if dlopen is available, and use that +result to conditionally add -ldl to the list of libraries. + +Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> + +--- + +diff --git a/utils/alsa.m4 b/utils/alsa.m4 +--- a/utils/alsa.m4 ++++ b/utils/alsa.m4 +@@ -44,6 +44,8 @@ if test "$alsa_inc_prefix" != "" ; then + fi + AC_MSG_RESULT($ALSA_CFLAGS) + ++AC_CHECK_LIB(c, dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")]) ++ + dnl add any special lib dirs + AC_MSG_CHECKING(for ALSA LDFLAGS) + if test "$alsa_prefix" != "" ; then +@@ -52,7 +54,7 @@ if test "$alsa_prefix" != "" ; then + fi + + dnl add the alsa library +-ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread" ++ALSA_LIBS="$ALSA_LIBS -lasound -lm $LIBDL -lpthread" + LIBS="$ALSA_LIBS $LIBS" + AC_MSG_RESULT($ALSA_LIBS) + diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in index 12f1020331..58ecf51d0f 100644 --- a/package/alsa-utils/Config.in +++ b/package/alsa-utils/Config.in @@ -1,5 +1,10 @@ +comment "alsa-utils needs a toolchain w/ largefile, threads" + depends on BR2_USE_MMU # fork + depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_ALSA_UTILS bool "alsa-utils" + depends on BR2_USE_MMU # fork depends on BR2_LARGEFILE depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib select BR2_PACKAGE_ALSA_LIB @@ -9,9 +14,6 @@ config BR2_PACKAGE_ALSA_UTILS http://www.alsa-project.org/ -comment "alsa-utils needs a toolchain w/ largefile, threads" - depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS - if BR2_PACKAGE_ALSA_UTILS menu "ALSA utils selection" diff --git a/package/beecrypt/Config.in b/package/beecrypt/Config.in index 033742c8f8..8d63e5e6d1 100644 --- a/package/beecrypt/Config.in +++ b/package/beecrypt/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_BEECRYPT bool "beecrypt" depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_ICU if BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && \ - !BR2_arc + !BR2_arc && !BR2_BINFMT_FLAT help Beecrypt is a general-purpose cryptography library. @@ -13,4 +13,5 @@ comment "beecrypt needs a toolchain w/ threads" comment "beecrypt C++ support needs a toolchain w/ wchar" depends on !BR2_arc + depends on !BR2_BINFMT_FLAT depends on BR2_INSTALL_LIBSTDCPP && !BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/binutils/2.24/001-fix-enable-install-libiberty-flag.patch b/package/binutils/2.24/001-fix-enable-install-libiberty-flag.patch new file mode 100644 index 0000000000..e40840194d --- /dev/null +++ b/package/binutils/2.24/001-fix-enable-install-libiberty-flag.patch @@ -0,0 +1,46 @@ +From 369be6981b26787b2685e3b8c6da779dae8ce35f Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Mon, 6 Jan 2014 18:15:31 +0000 +Subject: [PATCH] libiberty: fix --enable-install-libiberty flag [PR 56780] + +Commit 199570 fixed the --disable-install-libiberty behavior, but it also +added a bug where the enable path never works because the initial clear +of target_header_dir wasn't deleted. So we end up initializing properly +at the top only to reset it at the end all the time. + +[Arnout: adapt to match 2.24 tarball] +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + libiberty/configure | 1 - + libiberty/configure.ac | 1 - + 3 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/libiberty/configure b/libiberty/configure +index 8ea54da..7bde9b3 100755 +--- a/libiberty/configure ++++ b/libiberty/configure +@@ -5507,7 +5507,6 @@ fi + + setobjs= + CHECK= +-target_header_dir= + if test -n "${with_target_subdir}"; then + + # We are being configured as a target library. AC_REPLACE_FUNCS +diff --git a/libiberty/configure.ac b/libiberty/configure.ac +index 4ad88a9..d6180bc 100644 +--- a/libiberty/configure.ac ++++ b/libiberty/configure.ac +@@ -405,7 +405,6 @@ fi + + setobjs= + CHECK= +-target_header_dir= + if test -n "${with_target_subdir}"; then + + # We are being configured as a target library. AC_REPLACE_FUNCS +-- +1.7.1 + diff --git a/package/binutils/8351467c933d277ebea0c8d99ad2b65b5f7b6bc2/001-fix-enable-install-libiberty-flag.patch b/package/binutils/8351467c933d277ebea0c8d99ad2b65b5f7b6bc2/001-fix-enable-install-libiberty-flag.patch new file mode 100644 index 0000000000..e40840194d --- /dev/null +++ b/package/binutils/8351467c933d277ebea0c8d99ad2b65b5f7b6bc2/001-fix-enable-install-libiberty-flag.patch @@ -0,0 +1,46 @@ +From 369be6981b26787b2685e3b8c6da779dae8ce35f Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Mon, 6 Jan 2014 18:15:31 +0000 +Subject: [PATCH] libiberty: fix --enable-install-libiberty flag [PR 56780] + +Commit 199570 fixed the --disable-install-libiberty behavior, but it also +added a bug where the enable path never works because the initial clear +of target_header_dir wasn't deleted. So we end up initializing properly +at the top only to reset it at the end all the time. + +[Arnout: adapt to match 2.24 tarball] +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + libiberty/configure | 1 - + libiberty/configure.ac | 1 - + 3 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/libiberty/configure b/libiberty/configure +index 8ea54da..7bde9b3 100755 +--- a/libiberty/configure ++++ b/libiberty/configure +@@ -5507,7 +5507,6 @@ fi + + setobjs= + CHECK= +-target_header_dir= + if test -n "${with_target_subdir}"; then + + # We are being configured as a target library. AC_REPLACE_FUNCS +diff --git a/libiberty/configure.ac b/libiberty/configure.ac +index 4ad88a9..d6180bc 100644 +--- a/libiberty/configure.ac ++++ b/libiberty/configure.ac +@@ -405,7 +405,6 @@ fi + + setobjs= + CHECK= +-target_header_dir= + if test -n "${with_target_subdir}"; then + + # We are being configured as a target library. AC_REPLACE_FUNCS +-- +1.7.1 + diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index d6828f5efd..b5a2dc7fc5 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -51,6 +51,7 @@ endif BINUTILS_CONF_OPT = --disable-multilib --disable-werror \ --host=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \ + --enable-install-libiberty \ $(BINUTILS_EXTRA_CONFIG_OPTIONS) # Install binutils after busybox to prefer full-blown utilities diff --git a/package/boost/Config.in b/package/boost/Config.in index 515b2cdcdf..68c3909664 100644 --- a/package/boost/Config.in +++ b/package/boost/Config.in @@ -77,6 +77,7 @@ config BR2_PACKAGE_BOOST_SYSTEM config BR2_PACKAGE_BOOST_TEST bool "boost-test" + depends on BR2_USE_MMU # fork() config BR2_PACKAGE_BOOST_THREAD bool "boost-thread" diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 948f3e42d3..793ffb97aa 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -75,6 +75,13 @@ define BUSYBOX_SET_MDEV endef endif +# sha passwords need USE_BB_CRYPT_SHA +ifeq ($(BR2_TARGET_GENERIC_PASSWD_SHA256)$(BR2_TARGET_GENERIC_PASSWD_SHA512),y) +define BUSYBOX_SET_CRYPT_SHA + $(call KCONFIG_ENABLE_OPT,CONFIG_USE_BB_CRYPT_SHA,$(BUSYBOX_BUILD_CONFIG)) +endef +endif + ifeq ($(BR2_USE_MMU),y) define BUSYBOX_SET_MMU $(call KCONFIG_DISABLE_OPT,CONFIG_NOMMU,$(BUSYBOX_BUILD_CONFIG)) @@ -173,15 +180,14 @@ define BUSYBOX_INSTALL_WATCHDOG_SCRIPT endef endif -# We do this here to avoid busting a modified .config in configure -BUSYBOX_POST_EXTRACT_HOOKS += BUSYBOX_COPY_CONFIG - define BUSYBOX_CONFIGURE_CMDS + $(BUSYBOX_COPY_CONFIG) $(BUSYBOX_SET_MMU) $(BUSYBOX_SET_LARGEFILE) $(BUSYBOX_SET_IPV6) $(BUSYBOX_PREFER_STATIC) $(BUSYBOX_SET_MDEV) + $(BUSYBOX_SET_CRYPT_SHA) $(BUSYBOX_NETKITBASE) $(BUSYBOX_NETKITTELNET) $(BUSYBOX_INTERNAL_SHADOW_PASSWORDS) diff --git a/package/cairo/cairo-001-blackfin-build-fix.patch b/package/cairo/cairo-001-blackfin-build-fix.patch index 94dff6bb0f..0e8dd3ad65 100644 --- a/package/cairo/cairo-001-blackfin-build-fix.patch +++ b/package/cairo/cairo-001-blackfin-build-fix.patch @@ -34,3 +34,22 @@ Index: b/src/cairo-compiler-private.h #else # define slim_hidden_proto(name) int _cairo_dummy_prototype(void) # define slim_hidden_proto_no_warn(name) int _cairo_dummy_prototype(void) +Index: b/util/cairo-script/cairo-script-private.h +=================================================================== +--- a/util/cairo-script/cairo-script-private.h ++++ b/util/cairo-script/cairo-script-private.h +@@ -109,12 +109,13 @@ + __asm__ (slim_hidden_asmname (internal)) + # define slim_hidden_def1(name, internal) \ + extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \ +- __attribute__((__alias__(slim_hidden_asmname(internal)))) ++ __attribute__((__alias__(slim_hidden_realname(internal)))) + # define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__) + # define slim_hidden_ulp1(x) slim_hidden_ulp2(x) + # define slim_hidden_ulp2(x) #x + # define slim_hidden_asmname(name) slim_hidden_asmname1(name) + # define slim_hidden_asmname1(name) slim_hidden_ulp #name ++# define slim_hidden_realname(name) #name + #else + # define slim_hidden_proto(name) int _csi_dummy_prototype(void) + # define slim_hidden_proto_no_warn(name) int _csi_dummy_prototype(void) diff --git a/package/cairo/cairo-003-fix-nofork-build.patch b/package/cairo/cairo-003-fix-nofork-build.patch new file mode 100644 index 0000000000..702e9910a5 --- /dev/null +++ b/package/cairo/cairo-003-fix-nofork-build.patch @@ -0,0 +1,29 @@ +test: fix build when SHOULD_FORK is false + +The code in test/cairo-test-runner.c properly takes into account +platforms that do have fork() support, and uses the SHOULD_FORK define +to know whether fork is available or not. + +However, this SHOULD_FORK macro is used to guard the inclusion of +<unistd.h>, which is needed to get the prototype of other functions +(namely readlink and getppid), that are used in portions of this file +not guarded by SHOULD_FORK. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/test/cairo-test-runner.c +=================================================================== +--- a/test/cairo-test-runner.c ++++ b/test/cairo-test-runner.c +@@ -36,10 +36,10 @@ + #include <pixman.h> /* for version information */ + + #define SHOULD_FORK HAVE_FORK && HAVE_WAITPID +-#if SHOULD_FORK + #if HAVE_UNISTD_H + #include <unistd.h> + #endif ++#if SHOULD_FORK + #if HAVE_SIGNAL_H + #include <signal.h> + #endif diff --git a/package/cegui06/Config.in b/package/cegui06/Config.in index 92bbb70b81..f03e4884b4 100644 --- a/package/cegui06/Config.in +++ b/package/cegui06/Config.in @@ -1,10 +1,11 @@ -comment "cegui06 needs a toolchain w/ C++, threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP +comment "cegui06 needs a toolchain w/ C++, threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || BR2_PREFER_STATIC_LIB config BR2_PACKAGE_CEGUI06 bool "cegui06" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_PREFER_STATIC_LIB select BR2_PACKAGE_EXPAT select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_PCRE diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk index e1fc10434b..84e17cdf68 100644 --- a/package/collectd/collectd.mk +++ b/package/collectd/collectd.mk @@ -6,7 +6,6 @@ COLLECTD_VERSION = 5.4.1 COLLECTD_SITE = http://collectd.org/files -COLLECTD_MAKE_OPT = LDFLAGS="$(TARGET_LDFLAGS) -lm" COLLECTD_CONF_ENV = ac_cv_lib_yajl_yajl_alloc=yes COLLECTD_INSTALL_STAGING = YES COLLECTD_LICENSE = GPLv2 LGPLv2.1 @@ -22,6 +21,16 @@ COLLECTD_PLUGINS_DISABLE = amqp apple_sensors aquaero ascent dbi email \ tokyotyrant uuid varnish vserver write_mongodb write_redis \ xmms zfs_arc +COLLECTD_LDFLAGS = $(TARGET_LDFLAGS) -lm + +ifeq ($(BR2_PREFER_STATIC_LIB),y) +# collectd-tg indirectly needs pthread but doesn't link with -pthread, +# causing static linker errors +COLLECTD_LDFLAGS += -lpthread +endif + +COLLECTD_CONF_ENV += LDFLAGS="$(COLLECTD_LDFLAGS)" + COLLECTD_CONF_OPT += --with-nan-emulation --with-fp-layout=nothing \ --localstatedir=/var --with-perl-bindings=no \ $(foreach p, $(COLLECTD_PLUGINS_DISABLE), --disable-$(p)) \ diff --git a/package/coreutils/coreutils-01-spawn-uclibc.patch b/package/coreutils/coreutils-01-spawn-uclibc.patch new file mode 100644 index 0000000000..a67921bf20 --- /dev/null +++ b/package/coreutils/coreutils-01-spawn-uclibc.patch @@ -0,0 +1,43 @@ +From 71cf16e435bf5db64abcf81a9dc6dc36ce37d58d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com> +Date: Tue, 14 Jan 2014 16:59:07 +0000 +Subject: [PATCH] spawn: fix link error on uclibc + +* m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS, +to incorporate -lrt if needed (on uclibc for example). +* modules/posix_spawn: Reference the substituted LIB. + +Patch status: suggested by gnulib maintainer +(http://article.gmane.org/gmane.comp.lib.gnulib.bugs/33610), not in upstream +gnulib yet + +This issue should be fixed in coreutils version 8.23. + +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- + +diff --git a/m4/spawn_h.m4 b/m4/spawn_h.m4 +index 87fe122..3eb835c 100644 +--- a/m4/spawn_h.m4 ++++ b/m4/spawn_h.m4 +@@ -64,7 +64,15 @@ AC_DEFUN([gl_HAVE_POSIX_SPAWN], + dnl once only, before all statements that occur in other macros. + AC_REQUIRE([gl_SPAWN_H_DEFAULTS]) + +- AC_CHECK_FUNCS_ONCE([posix_spawn]) ++ LIB_POSIX_SPAWN= ++ AC_SUBST([LIB_POSIX_SPAWN]) ++ gl_saved_libs=$LIBS ++ AC_SEARCH_LIBS([posix_spawn], [rt], ++ [test "$ac_cv_search_posix_spawn" = "none required" || ++ LIB_POSIX_SPAWN=$ac_cv_search_posix_spawn]) ++ AC_CHECK_FUNCS([posix_spawn]) ++ LIBS=$gl_saved_libs ++ + if test $ac_cv_func_posix_spawn != yes; then + HAVE_POSIX_SPAWN=0 + fi + +-- +1.7.7.6 + diff --git a/package/coreutils/coreutils-02-fix-timer-time-m4.patch b/package/coreutils/coreutils-02-fix-timer-time-m4.patch new file mode 100644 index 0000000000..3b4d81b0f1 --- /dev/null +++ b/package/coreutils/coreutils-02-fix-timer-time-m4.patch @@ -0,0 +1,36 @@ +Fix thread detection with uClibc in timer_time.m4 + +The timer_time.m4 gl_TIMER_TIME function determines which libraries +need to be linked to get access to the timer function, generally -lrt +for Linux systems. On platforms where threads are used, librt +typically uses thread functions from libpthread. + +However, the test to determine whether the platform has thread or not +is incorrect: it assumes that if the C library is uClibc, then threads +are not available. This is actually not true: uClibc has configurable +thread support, and when thread support is available, librt calls +libpthread functions. + +This is important when static linking is used, because otherwise only +-lrt is used at link time, which fails because librt calls undefined +thread functions. Both -lrt and -lpthread must be passed. + +This problem is fixed by making the uClibc thread detection a bit +smarter, thanks to the usage of the __HAS_NO_THREADS__ macro defined +in <bits/uClibc_config.h>, which itself is included by <features.h>. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/m4/timer_time.m4 +=================================================================== +--- a/m4/timer_time.m4 ++++ b/m4/timer_time.m4 +@@ -28,7 +28,7 @@ + #include <features.h> + #ifdef __GNU_LIBRARY__ + #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || (__GLIBC__ > 2)) \ +- && !defined __UCLIBC__ ++ && !(__UCLIBC__ && __HAS_NO_THREADS__) + Thread emulation available + #endif + #endif diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk index e0e9d80b39..72087523f4 100644 --- a/package/coreutils/coreutils.mk +++ b/package/coreutils/coreutils.mk @@ -10,6 +10,9 @@ COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz COREUTILS_LICENSE = GPLv3+ COREUTILS_LICENSE_FILES = COPYING +# patching gnulib .m4 file +COREUTILS_AUTORECONF = YES + # If both coreutils and busybox are selected, make certain coreutils # wins the fight over who gets to have their utils actually installed. ifeq ($(BR2_PACKAGE_BUSYBOX),y) diff --git a/package/cppcms/Config.in b/package/cppcms/Config.in index 2df83ba42d..c88ae1ed82 100644 --- a/package/cppcms/Config.in +++ b/package/cppcms/Config.in @@ -25,6 +25,7 @@ if BR2_PACKAGE_CPPCMS config BR2_PACKAGE_CPPCMS_ICU bool "enable icu support" depends on !BR2_arc # icu -> atomic builtins + depends on !BR2_BINFMT_FLAT # icu select BR2_PACKAGE_ICU help Using ICU allows advanced localization features into CppCMS, diff --git a/package/cppdb/Config.in b/package/cppdb/Config.in index a09151e314..120598a901 100644 --- a/package/cppdb/Config.in +++ b/package/cppdb/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_CPPDB bool "cppdb" + # dlfcn.h + depends on !BR2_PREFER_STATIC_LIB depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS # Can be built without them but it's useless @@ -11,6 +13,7 @@ config BR2_PACKAGE_CPPDB http://cppcms.com/sql/cppdb/ -comment "cppdb needs a toolchain w/ C++, threads" +comment "cppdb needs a toolchain w/ C++, threads, dynamic library" depends on BR2_PACKAGE_MYSQL || BR2_PACKAGE_SQLITE - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_PREFER_STATIC_LIB diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in index 28073f41bc..8405963c65 100644 --- a/package/cryptsetup/Config.in +++ b/package/cryptsetup/Config.in @@ -6,7 +6,8 @@ config BR2_PACKAGE_CRYPTSETUP select BR2_PACKAGE_E2FSPROGS select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE depends on BR2_LARGEFILE # lvm2, util-linux - depends on BR2_USE_MMU # lvm2 + depends on BR2_USE_MMU # lvm2, e2fsprogs + depends on !BR2_PREFER_STATIC_LIB # lvm2 depends on BR2_USE_WCHAR # util-linux help This tool helps manipulate dm-crypt and luks partitions for @@ -14,6 +15,6 @@ config BR2_PACKAGE_CRYPTSETUP https://code.google.com/p/cryptsetup/ -comment "cryptsetup needs a toolchain w/ largefile, wchar" +comment "cryptsetup needs a toolchain w/ largefile, wchar, dynamic library" depends on BR2_USE_MMU - depends on !BR2_LARGEFILE || !BR2_USE_WCHAR + depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB diff --git a/package/dhcpcd/Config.in b/package/dhcpcd/Config.in index ac20615d5f..68eac1ca86 100644 --- a/package/dhcpcd/Config.in +++ b/package/dhcpcd/Config.in @@ -3,7 +3,13 @@ config BR2_PACKAGE_DHCPCD # No support for AI_ADDRCONFIG depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && \ !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1 + depends on !BR2_PREFER_STATIC_LIB help An RFC2131 compliant DHCP client http://roy.marples.name/downloads/dhcpcd + +comment "dhcpcd needs a toolchain w/ dynamic library" + depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && \ + !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1 + depends on BR2_PREFER_STATIC_LIB diff --git a/package/distcc/Config.in b/package/distcc/Config.in index 2c30a21420..08e1ab37c7 100644 --- a/package/distcc/Config.in +++ b/package/distcc/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_DISTCC bool "distcc" # needs fork() depends on BR2_USE_MMU + depends on BR2_DEPRECATED_SINCE_2014_02 help Distributed compiler client and server. Allows you to distribute compilation of C code across several machines diff --git a/package/dmraid/Config.in b/package/dmraid/Config.in index 028b46c3a2..fc370bd57d 100644 --- a/package/dmraid/Config.in +++ b/package/dmraid/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_DMRAID bool "dmraid" depends on BR2_LARGEFILE depends on BR2_USE_MMU # lvm2 + depends on !BR2_PREFER_STATIC_LIB # lvm2 select BR2_PACKAGE_LVM2 help dmraid discovers, activates, deactivates and displays properties @@ -10,6 +11,6 @@ config BR2_PACKAGE_DMRAID dmraid uses the Linux device-mapper to create devices with respective mappings for the ATARAID sets discovered. -comment "dmraid needs a toolchain w/ largefile" +comment "dmraid needs a toolchain w/ largefile, dynamic library" depends on BR2_USE_MMU - depends on !BR2_LARGEFILE + depends on !BR2_LARGEFILE || BR2_PREFER_STATIC_LIB diff --git a/package/dropbear/dropbear-fix-missing-TIMEVAL_TO_TIMESPEC.patch b/package/dropbear/dropbear-fix-missing-TIMEVAL_TO_TIMESPEC.patch deleted file mode 100644 index 80606844c6..0000000000 --- a/package/dropbear/dropbear-fix-missing-TIMEVAL_TO_TIMESPEC.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ur dropbear-0.48/includes.h dropbear-0.48-patched/includes.h ---- dropbear-0.48/includes.h 2006-03-09 09:06:02.000000000 -0600 -+++ dropbear-0.48-patched/includes.h 2006-03-15 22:36:12.000000000 -0600 -@@ -35,6 +35,7 @@ - #include <sys/param.h> /* required for BSD4_4 define */ - #include <sys/socket.h> - #include <sys/stat.h> -+#define _GNU_SOURCE - #include <sys/time.h> - #include <sys/un.h> - #include <sys/wait.h> diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index 3ef6c8dac6..2ac6211988 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -4,7 +4,7 @@ # ################################################################################ -DROPBEAR_VERSION = 2013.62 +DROPBEAR_VERSION = 2014.63 DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2 DROPBEAR_TARGET_BINS = dbclient dropbearkey dropbearconvert scp ssh diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in index 7775e944e2..eb7bedb94f 100644 --- a/package/e2fsprogs/Config.in +++ b/package/e2fsprogs/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_E2FSPROGS bool "e2fsprogs" depends on BR2_LARGEFILE depends on BR2_USE_WCHAR # util-linux + depends on BR2_USE_MMU # util-linux/libblkid select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_UTIL_LINUX_LIBUUID @@ -49,7 +50,7 @@ config BR2_PACKAGE_E2FSPROGS_E2UNDO config BR2_PACKAGE_E2FSPROGS_E4DEFRAG bool "e4defrag" - depends on !BR2_avr32 # fallocate not implemented + depends on !BR2_avr32 && !BR2_nios2 # fallocate not implemented config BR2_PACKAGE_E2FSPROGS_FILEFRAG bool "filefrag" diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index 2eb59f56ea..76e2d4ec54 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -25,6 +25,10 @@ E2FSPROGS_CONF_OPT = \ --disable-e2initrd-helper \ --disable-testio-debug +ifeq ($(BR2_nios2),y) +E2FSPROGS_CONF_ENV += ac_cv_func_fallocate=no +endif + E2FSPROGS_DEPENDENCIES = host-pkgconf util-linux E2FSPROGS_MAKE_OPT = \ diff --git a/package/efl/Config.in b/package/efl/Config.in index 36afd1aa2e..3d31a2609f 100644 --- a/package/efl/Config.in +++ b/package/efl/Config.in @@ -1,6 +1,8 @@ menuconfig BR2_PACKAGE_EFL bool "Enlightenment Foundation Libraries" depends on BR2_USE_WCHAR + # libeina uses madvise(). To revisit when bumping EFL to 1.8 + depends on BR2_USE_MMU help Enlightenment Foundation Libraries diff --git a/package/efl/expedite/Config.in b/package/efl/expedite/Config.in index 918c34ee49..96db266ac5 100644 --- a/package/efl/expedite/Config.in +++ b/package/efl/expedite/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_EXPEDITE select BR2_PACKAGE_LIBEVAS select BR2_PACKAGE_LIBEET depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS # libevas depends on !BR2_avr32 # libevas help Expedite is the official Evas benchmark tool. It can test different @@ -11,6 +12,7 @@ config BR2_PACKAGE_EXPEDITE DirectFB and so on. Its tests are quite extensive, trying to reproduce real world usage cases. -comment "expedite needs a toolchain w/ C++" +comment "expedite needs a toolchain w/ C++, threads" depends on !BR2_INSTALL_LIBSTDCPP + depends on !BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_avr32 diff --git a/package/efl/libecore/Config.in b/package/efl/libecore/Config.in index 41a16f9c83..3db036c5db 100644 --- a/package/efl/libecore/Config.in +++ b/package/efl/libecore/Config.in @@ -38,6 +38,11 @@ config BR2_PACKAGE_LIBECORE_X_XCB config BR2_PACKAGE_LIBECORE_EVAS bool "libecore Evas support" select BR2_PACKAGE_LIBEVAS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_avr32 # libevas + +comment "evas support needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_avr32 # libevas endif # BR2_PACKAGE_LIBECORE diff --git a/package/efl/libedje/Config.in b/package/efl/libedje/Config.in index 4a0831a426..503919c3bd 100644 --- a/package/efl/libedje/Config.in +++ b/package/efl/libedje/Config.in @@ -1,3 +1,7 @@ +comment "libedje needs a toolchain w/ threads" + depends on !BR2_avr32 + depends on !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_LIBEDJE bool "libedje" select BR2_PACKAGE_LIBEINA @@ -8,6 +12,7 @@ config BR2_PACKAGE_LIBEDJE select BR2_PACKAGE_LIBEVAS select BR2_PACKAGE_LUA depends on !BR2_avr32 # libevas + depends on BR2_TOOLCHAIN_HAS_THREADS # libevas help A graphical layout and animation library for animated resizable, compressed and scalable themes. diff --git a/package/efl/libelementary/Config.in b/package/efl/libelementary/Config.in index d4584e84f6..91740aff9f 100644 --- a/package/efl/libelementary/Config.in +++ b/package/efl/libelementary/Config.in @@ -1,3 +1,7 @@ +comment "libelementary needs a toolchain w/ threads" + depends on !BR2_avr32 + depends on !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_LIBELEMENTARY bool "libelementary" select BR2_PACKAGE_LIBEINA @@ -5,6 +9,7 @@ config BR2_PACKAGE_LIBELEMENTARY select BR2_PACKAGE_LIBECORE select BR2_PACKAGE_LIBEDJE depends on !BR2_avr32 # libevas + depends on BR2_TOOLCHAIN_HAS_THREADS # libevas help Elementary is a widget toolkit and EFL wrapper and convenience library to make it easy to build applications and tools with UIs diff --git a/package/efl/libethumb/Config.in b/package/efl/libethumb/Config.in index 3a2f3dc2b6..64574a0eb8 100644 --- a/package/efl/libethumb/Config.in +++ b/package/efl/libethumb/Config.in @@ -1,3 +1,7 @@ +comment "libethumb needs a toolchain w/ threads" + depends on !BR2_avr32 + depends on !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_LIBETHUMB bool "libethumb" select BR2_PACKAGE_LIBEINA @@ -6,6 +10,7 @@ config BR2_PACKAGE_LIBETHUMB select BR2_PACKAGE_LIBECORE_EVAS select BR2_PACKAGE_LIBEDJE depends on !BR2_avr32 # libevas + depends on BR2_TOOLCHAIN_HAS_THREADS # libevas help Ethumb is a library for generating thumbnail images of documents. diff --git a/package/efl/libevas/Config.in b/package/efl/libevas/Config.in index b14a3193b5..2afa888995 100644 --- a/package/efl/libevas/Config.in +++ b/package/efl/libevas/Config.in @@ -1,6 +1,16 @@ +comment "libevas needs a toolchain w/ threads" + depends on !BR2_avr32 + depends on !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_LIBEVAS bool "libevas" depends on !BR2_avr32 # no epoll_create1 or inotify_init1 + # libevas should normally build without threads, but due to a + # build issue when the async preloader is disabled, which is + # needed when no threads are available, we don't allow evas to + # be built without threads. This should be revisited when efl + # is bumped to 1.8. + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_LIBEINA # required to build so far diff --git a/package/efl/libevas/libevas.mk b/package/efl/libevas/libevas.mk index 46de4cb4f7..41ceb49cc9 100644 --- a/package/efl/libevas/libevas.mk +++ b/package/efl/libevas/libevas.mk @@ -203,11 +203,6 @@ else LIBEVAS_CONF_OPT += --disable-font-loader-eet endif -# async image preload support needs threads support in toolchain -ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -LIBEVAS_CONF_OPT += --disable-async-preload -endif - # libevas installs the source code of examples on the target, which # are generally not useful. define LIBEVAS_REMOVE_EXAMPLES diff --git a/package/elfutils/Config.in b/package/elfutils/Config.in index 47cd63d797..588c29df98 100644 --- a/package/elfutils/Config.in +++ b/package/elfutils/Config.in @@ -7,6 +7,9 @@ config BR2_PACKAGE_ELFUTILS select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT depends on BR2_LARGEFILE depends on BR2_USE_WCHAR + # canonicalize_file_name() not available on uClibc 0.9.31, used + # only for AVR32 + depends on !BR2_avr32 help Libraries/utilities to handle ELF objects (drop in replacement for libelf). diff --git a/package/enlightenment/Config.in b/package/enlightenment/Config.in index 66c7055ff9..f34140bc91 100644 --- a/package/enlightenment/Config.in +++ b/package/enlightenment/Config.in @@ -21,9 +21,9 @@ config BR2_PACKAGE_ENLIGHTENMENT depends on BR2_USE_WCHAR depends on BR2_INSTALL_LIBSTDCPP # libedbus -> dbus - # libedbus -> glib2 + # libedbus -> glib2, libevas depends on BR2_TOOLCHAIN_HAS_THREADS - # libedbus -> dbus + # libedbus -> dbus, efl libraries depends on BR2_USE_MMU depends on BR2_PACKAGE_XORG7 depends on !BR2_avr32 # libevas diff --git a/package/feh/Config.in b/package/feh/Config.in index 31e7239b55..f85612e6c0 100644 --- a/package/feh/Config.in +++ b/package/feh/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_FEH bool "feh" depends on BR2_PACKAGE_XORG7 + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_XLIB_LIBXINERAMA select BR2_PACKAGE_XLIB_LIBXT select BR2_PACKAGE_IMLIB2_PNG diff --git a/package/gcc/4.7.3/850-xtensa-libgcc-linker-script.patch b/package/gcc/4.7.3/850-xtensa-libgcc-linker-script.patch new file mode 100644 index 0000000000..6ffa897863 --- /dev/null +++ b/package/gcc/4.7.3/850-xtensa-libgcc-linker-script.patch @@ -0,0 +1,29 @@ +From a89db366b98fffc61b20074e658c7285fb302776 Mon Sep 17 00:00:00 2001 +Message-Id: <a89db366b98fffc61b20074e658c7285fb302776.1392126646.git.baruch@tkos.co.il> +From: sterling <sterling@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Tue, 21 Jan 2014 19:29:23 +0000 +Subject: [PATCH] 2014-01-21 Baruch Siach <barch@tkos.co.il> + + * config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*. + +Patch status: upstream (4.7 branch commit r206898) + +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- + +diff --git a/libgcc/config.host b/libgcc/config.host +index e18e1d25021d..a6f7c450d702 100644 +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -1127,7 +1127,7 @@ xtensa*-*-elf*) + extra_parts="$extra_parts crti.o crtn.o" + ;; + xtensa*-*-linux*) +- tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux" ++ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" + md_unwind_header=xtensa/linux-unwind.h + ;; + am33_2.0-*-linux*) +-- +1.8.5.3 + diff --git a/package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch b/package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch new file mode 100644 index 0000000000..378445da39 --- /dev/null +++ b/package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch @@ -0,0 +1,29 @@ +From 7c722c07a0781e4279f643650bc528422c80ce5e Mon Sep 17 00:00:00 2001 +Message-Id: <7c722c07a0781e4279f643650bc528422c80ce5e.1392126765.git.baruch@tkos.co.il> +From: sterling <sterling@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Tue, 21 Jan 2014 19:50:02 +0000 +Subject: [PATCH] 2014-01-21 Baruch Siach <barch@tkos.co.il> + + * config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*. + +Patch status: upstream (4.8 branch commit r206905) + +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- + +diff --git a/libgcc/config.host b/libgcc/config.host +index ee16d60e34a6..302aa6135211 100644 +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -1102,7 +1102,7 @@ xtensa*-*-elf*) + extra_parts="$extra_parts crti.o crtn.o" + ;; + xtensa*-*-linux*) +- tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux" ++ tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc" + md_unwind_header=xtensa/linux-unwind.h + ;; + am33_2.0-*-linux*) +-- +1.8.5.3 + diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index ecc4068b49..622dcf2c72 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -15,7 +15,7 @@ HOST_GCC_FINAL_DEPENDENCIES = \ HOST_GCC_FINAL_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS) ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),) -HOST_GCC_FINAL_POST_EXTRACT_CMDS += HOST_GCC_FINAL_XTENSA_OVERLAY_EXTRACT +HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT endif HOST_GCC_FINAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk index 0eb492fa4d..bc5ad26328 100644 --- a/package/gcc/gcc-initial/gcc-initial.mk +++ b/package/gcc/gcc-initial/gcc-initial.mk @@ -13,7 +13,7 @@ HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES) HOST_GCC_INITIAL_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS) ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),) -HOST_GCC_INITIAL_POST_EXTRACT_CMDS += HOST_GCC_XTENSA_OVERLAY_EXTRACT +HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT endif HOST_GCC_INITIAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES diff --git a/package/gcc/gcc-intermediate/gcc-intermediate.mk b/package/gcc/gcc-intermediate/gcc-intermediate.mk index 2105ceca5a..db84d18454 100644 --- a/package/gcc/gcc-intermediate/gcc-intermediate.mk +++ b/package/gcc/gcc-intermediate/gcc-intermediate.mk @@ -15,7 +15,7 @@ HOST_GCC_INTERMEDIATE_DEPENDENCIES = \ HOST_GCC_INTERMEDIATE_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS) ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),) -HOST_GCC_INTERMEDIATE_POST_EXTRACT_CMDS += HOST_GCC_XTENSA_OVERLAY_EXTRACT +HOST_GCC_INTERMEDIATE_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT endif HOST_GCC_INTERMEDIATE_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host index 420408a50f..cbcec18604 100644 --- a/package/gdb/Config.in.host +++ b/package/gdb/Config.in.host @@ -4,7 +4,7 @@ config BR2_PACKAGE_HOST_GDB # allow to build a cross-gdb, as the one of the external # toolchain should be used. depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY - depends on !BR2_aarch64 + depends on !BR2_aarch64 && !BR2_nios2 help Build a cross gdb that runs on the host machine and debugs programs running on the target. It requires 'gdbserver' @@ -51,7 +51,7 @@ config BR2_GDB_VERSION (!BR2_PACKAGE_HOST_GDB && BR2_bfin) default "6.7.1-avr32-2.1.5" if BR2_GDB_VERSION_6_7_1_AVR32_2_1_5 || \ (!BR2_PACKAGE_HOST_GDB && BR2_avr32) - default "7.4.1" if BR2_GDB_VERSION_7_4 - default "7.5.1" if BR2_GDB_VERSION_7_5 || !BR2_PACKAGE_HOST_GDB default "cb15acc5eecea46d041730e5c2c9fa1d4283ef25" if BR2_arc default "6be65fb56ea6694a9260733a536a023a1e2d4d57" if BR2_microblaze + default "7.4.1" if BR2_GDB_VERSION_7_4 + default "7.5.1" if BR2_GDB_VERSION_7_5 || !BR2_PACKAGE_HOST_GDB diff --git a/package/gpm/Config.in b/package/gpm/Config.in index 2121e71eb7..0a60f6a1c3 100644 --- a/package/gpm/Config.in +++ b/package/gpm/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_GPM bool "gpm" depends on !BR2_PREFER_STATIC_LIB + depends on BR2_USE_MMU # fork() help "gpm" means general purpose mouse (server) and provides mouse support for Linux virtual consoles. diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in index 00a8a13eac..fbbf7a9ca3 100644 --- a/package/gpsd/Config.in +++ b/package/gpsd/Config.in @@ -174,6 +174,9 @@ config BR2_PACKAGE_GPSD_NMEA2000 bool "NMEA2000" select BR2_PACKAGE_GPSD_NAVCOM select BR2_PACKAGE_GPSD_AIVDM + # uClibc 0.9.31, used on AVR32, does not have the necessary + # CAN definitions. + depends on !BR2_avr32 help NMEA2000/CAN support diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch new file mode 100644 index 0000000000..863f1b6def --- /dev/null +++ b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch @@ -0,0 +1,46 @@ +From 1ca4251d1284f2cb56e31aaec4d369809e2139c9 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer <ps.report@gmx.net> +Date: Mon, 24 Feb 2014 16:30:39 +0100 +Subject: [PATCH] Fix libgstfsl linkage (add -lrt for shared memory functions). + +Fixes runtime failure of gst-fsl-plugins, e.g.: +(gst-plugin-scanner:1700): GStreamer-WARNING **: Failed to load + plugin '/usr/lib/gstreamer-0.10/libmfw_vpu.so': + /usr/lib/libgstfsl-0.10.so.0: undefined symbol: shm_open) + +Signed-off-by: Peter Seiderer <ps.report@gmx.net> +--- + configure.ac | 3 +++ + libs/Makefile.am | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index f7907a7..9f834df 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -173,6 +173,9 @@ AC_CHECK_LIB(ipu, mxc_ipu_lib_task_init, [IPU_LIBS=-lipu], [echo "No libipu arou + AC_SUBST(IPU_CFLAGS) + AC_SUBST(IPU_LIBS) + ++AC_SEARCH_LIBS([shm_open], [rt], [SHM_LIBS="-lrt"]) ++AC_SUBST(SHM_LIBS) ++ + FSL_MM_CORE_CFLAGS=`$PKG_CONFIG --cflags libfslaudiocodec 2>/dev/null` + FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null`" + FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslparser 2>/dev/null`" +diff --git a/libs/Makefile.am b/libs/Makefile.am +index a68fd4b..7b19b92 100755 +--- a/libs/Makefile.am ++++ b/libs/Makefile.am +@@ -12,7 +12,7 @@ libgstfsl_@GST_MAJORMINOR@_la_SOURCES = \ + + libgstfsl_@GST_MAJORMINOR@_la_CFLAGS = $(GST_BASE_CFLAGS) $(IPU_CFLAGS) -I../inc/common + libgstfsl_@GST_MAJORMINOR@_la_LDFLAGS = -version-info @GSTMXLIBS_VERSION@ +-libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS) ++libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS) $(SHM_LIBS) + + libgstfsl_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/imx-mm + libgstfsl_@GST_MAJORMINOR@include_HEADERS = \ +-- +1.8.1.4 + diff --git a/package/gstreamer/gst-plugins-base/Config.in b/package/gstreamer/gst-plugins-base/Config.in index 95f84d385e..ccc88f7cd8 100644 --- a/package/gstreamer/gst-plugins-base/Config.in +++ b/package/gstreamer/gst-plugins-base/Config.in @@ -87,6 +87,7 @@ config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PANGO depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # pango -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2 + depends on BR2_USE_MMU # pango -> glib2 select BR2_PACKAGE_PANGO comment "pango plugin needs a toolchain w/ C++, wchar, threads" diff --git a/package/gstreamer/gstreamer/gstreamer.mk b/package/gstreamer/gstreamer/gstreamer.mk index 0667e38904..4696876d39 100644 --- a/package/gstreamer/gstreamer/gstreamer.mk +++ b/package/gstreamer/gstreamer/gstreamer.mk @@ -12,7 +12,7 @@ GSTREAMER_INSTALL_STAGING = YES # Checking if unaligned memory access works correctly cannot be done when cross # compiling. For the following architectures there is no information available # in the configure script. -ifeq ($(BR2_avr32)$(BR2_xtensa),y) +ifeq ($(BR2_avr32)$(BR2_xtensa)$(BR2_microblaze),y) GSTREAMER_CONF_ENV = as_cv_unaligned_access=no endif ifeq ($(BR2_aarch64),y) diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index 50dd1dfc81..fb272e6806 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -83,4 +83,12 @@ endif GST1_LIBAV_CONF_OPT = \ --with-libav-extra-configure="$(GST1_LIBAV_CONF_EXTRA_OPT)" +GST1_LIBAV_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_xtensa),y) +GST1_LIBAV_CFLAGS += -mtext-section-literals +endif + +GST1_LIBAV_CONF_ENV += CFLAGS="$(GST1_LIBAV_CFLAGS)" + $(eval $(autotools-package)) diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index 25be9cea2a..0685322b02 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -408,6 +408,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 bool "mpg123" select BR2_PACKAGE_MPG123 + depends on BR2_USE_MMU # mpg123 help mp3 decoding based on the mpg123 library @@ -425,6 +426,16 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV bool "opencv" depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_OPENCV + # Remove the following opencv modules when gstreamer fixes the + # problem of including the old "cv.h" header + # bug: https://bugzilla.gnome.org/show_bug.cgi?id=725163 + select BR2_PACKAGE_OPENCV_LIB_CALIB3D + select BR2_PACKAGE_OPENCV_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV_LIB_FLANN + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_LEGACY + select BR2_PACKAGE_OPENCV_LIB_OBJDETECT + select BR2_PACKAGE_OPENCV_LIB_VIDEO help GStreamer OpenCV Plugins diff --git a/package/gstreamer1/gst1-plugins-base/Config.in b/package/gstreamer1/gst1-plugins-base/Config.in index 55960ea9a6..3b487c5f6a 100644 --- a/package/gstreamer1/gst1-plugins-base/Config.in +++ b/package/gstreamer1/gst1-plugins-base/Config.in @@ -131,6 +131,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # pango -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2 + depends on BR2_USE_MMU # pango -> libglib2 select BR2_PACKAGE_PANGO help Pango-based text rendering and overlay diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index a9c2ff43e6..7ef357ebac 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -14,7 +14,7 @@ GSTREAMER1_LICENSE = LGPLv2+ LGPLv2.1+ # Checking if unaligned memory access works correctly cannot be done when cross # compiling. For the following architectures there is no information available # in the configure script. -ifeq ($(BR2_avr32)$(BR2_xtensa),y) +ifeq ($(BR2_avr32)$(BR2_xtensa)$(BR2_microblaze),y) GSTREAMER1_CONF_ENV = as_cv_unaligned_access=no endif ifeq ($(BR2_aarch64),y) diff --git a/package/haserl/Config.in b/package/haserl/Config.in index ddcf3e02fe..bfe1df8380 100644 --- a/package/haserl/Config.in +++ b/package/haserl/Config.in @@ -25,6 +25,7 @@ choice config BR2_PACKAGE_HASERL_VERSION_0_8_X bool "v 0.8.x" + depends on BR2_DEPRECATED_SINCE_2014_02 help stable version diff --git a/package/icu/Config.in b/package/icu/Config.in index b736b438d8..9a278942f8 100644 --- a/package/icu/Config.in +++ b/package/icu/Config.in @@ -3,6 +3,10 @@ config BR2_PACKAGE_ICU depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS + # icu does some funky things by generating by itself an ELF + # file, and it cannot easily be changed to generate FLAT + # format. + depends on !BR2_BINFMT_FLAT depends on !BR2_arc # atomic builtins help International Components for Unicode. @@ -11,5 +15,6 @@ config BR2_PACKAGE_ICU comment "icu needs a toolchain w/ C++, wchar, threads" depends on !BR2_arc + depends on !BR2_BINFMT_FLAT depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/imagemagick/Config.in b/package/imagemagick/Config.in index e66ded0032..1bd04a99b3 100644 --- a/package/imagemagick/Config.in +++ b/package/imagemagick/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_IMAGEMAGICK bool "imagemagick" + depends on BR2_USE_MMU # fork() help ImageMagick(R) is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index c1e17c7591..4f2a65fb0d 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -115,7 +115,7 @@ ifeq ($(BR2_PACKAGE_BZIP2),y) IMAGEMAGICK_CONF_OPT += --with-bzlib IMAGEMAGICK_DEPENDENCIES += bzip2 else -IMAGEMAGICK_CONF_OPT += --without-bzip2 +IMAGEMAGICK_CONF_OPT += --without-bzlib endif $(eval $(autotools-package)) diff --git a/package/iozone/Config.in b/package/iozone/Config.in index 26d4daafe0..8cf50b11e8 100644 --- a/package/iozone/Config.in +++ b/package/iozone/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_IOZONE bool "iozone" depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS help IOzone is a filesystem benchmark tool. The benchmark generates and measures a variety of file operations diff --git a/package/iputils/Config.in b/package/iputils/Config.in index d4d282949f..e7bb3d9677 100644 --- a/package/iputils/Config.in +++ b/package/iputils/Config.in @@ -2,6 +2,10 @@ config BR2_PACKAGE_IPUTILS bool "iputils" select BR2_OPENSSL if BR2_INET_IPV6 depends on BR2_USE_MMU # fork() + # requires dn_comp (only available in since uclibc 0.9.33) + depends on !BR2_avr32 + depends on !BR2_UCLIBC_VERSION_0_9_31 && \ + !BR2_UCLIBC_VERSION_0_9_32 help This package is set of small useful utilities for Linux networking. It includes complete versions of ping, traceroute, etc. diff --git a/package/jimtcl/jimtcl.mk b/package/jimtcl/jimtcl.mk index 53cddf9455..1f2ea82db1 100644 --- a/package/jimtcl/jimtcl.mk +++ b/package/jimtcl/jimtcl.mk @@ -38,7 +38,7 @@ endif define JIMTCL_CONFIGURE_CMDS (cd $(@D); \ - $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_OPTS) CCACHE=none \ ./configure --prefix=/usr \ $(JIMTCL_SHARED) \ ) diff --git a/package/kexec/kexec-0003-kernel-image-probe-function-return-value-checking-fi.patch b/package/kexec/kexec-0003-kernel-image-probe-function-return-value-checking-fi.patch new file mode 100644 index 0000000000..9866cab1a1 --- /dev/null +++ b/package/kexec/kexec-0003-kernel-image-probe-function-return-value-checking-fi.patch @@ -0,0 +1,41 @@ +From 507e210daf047a5ef98de680151ace745297d82e Mon Sep 17 00:00:00 2001 +Message-Id: <507e210daf047a5ef98de680151ace745297d82e.1392728124.git.baruch@tkos.co.il> +From: Dave Young <dyoung@redhat.com> +Date: Thu, 6 Feb 2014 14:30:44 +0800 +Subject: [PATCH] kernel image probe function return value checking fix + +Currently kexec will use the kernel image type when probe function return +value >=0. It looks odd, but previously it works. Since commit bf06cf2095 +it does not work anymore. + +During my testing for arm zImage, in 2nd kernel the atags pointer and the +machine_id are not valid, I did a lot of debugging in kernel, finally I found +this is caused by a kexec tools bug instead. + +Because uImage will be probed before zImage, also the uImage probe return 1 +instead of -1 since bf06cf2095, thus kexec will mistakenly think it is uImage. + +Fix this issue by regarding it's valid only when probe return 0. + +Signed-off-by: Dave Young <dyoung@redhat.com> +Signed-off-by: Simon Horman <horms@verge.net.au> +--- + kexec/kexec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kexec/kexec.c b/kexec/kexec.c +index f13e5124aacc..703d524836b4 100644 +--- a/kexec/kexec.c ++++ b/kexec/kexec.c +@@ -691,7 +691,7 @@ static int my_load(const char *type, int fileind, int argc, char **argv, + } + if (!type || guess_only) { + for (i = 0; i < file_types; i++) { +- if (file_type[i].probe(kernel_buf, kernel_size) >= 0) ++ if (file_type[i].probe(kernel_buf, kernel_size) == 0) + break; + } + if (i == file_types) { +-- +1.8.5.3 + diff --git a/package/libcec/Config.in b/package/libcec/Config.in index 4cfe1ce474..80974726e8 100644 --- a/package/libcec/Config.in +++ b/package/libcec/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBCEC depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR + depends on !BR2_PREFER_STATIC_LIB help libcec allows you in combination with the right hardware to control your home theater devices with your TV remote @@ -10,6 +11,6 @@ config BR2_PACKAGE_LIBCEC http://libcec.pulse-eight.com -comment "libcec needs a toolchain w/ C++, wchar, threads" +comment "libcec needs a toolchain w/ C++, wchar, threads, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_USE_WCHAR + !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB diff --git a/package/libcgi/libcgi.mk b/package/libcgi/libcgi.mk index 40a9f32ee2..f46a1fa74c 100644 --- a/package/libcgi/libcgi.mk +++ b/package/libcgi/libcgi.mk @@ -8,7 +8,8 @@ LIBCGI_VERSION = 1.0 LIBCGI_SITE = http://downloads.sourceforge.net/project/libcgi/libcgi/$(LIBCGI_VERSION) LIBCGI_INSTALL_STAGING = YES # use cross CC/AR rather than host -LIBCGI_MAKE_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS)" AR="$(TARGET_AR)" +LIBCGI_MAKE_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS)" AR="$(TARGET_AR)" \ + $(if $(BR2_PREFER_STATIC_LIB),STATIC=1) LIBCGI_LICENSE = LGPLv2.1+ $(eval $(autotools-package)) diff --git a/package/libcgi/libcgi.patch b/package/libcgi/libcgi.patch index 12a7b106c7..b576178546 100644 --- a/package/libcgi/libcgi.patch +++ b/package/libcgi/libcgi.patch @@ -1,5 +1,7 @@ ---- libcgi-1.0.orig/src/cgi.c -+++ libcgi-1.0/src/cgi.c +Index: b/src/cgi.c +=================================================================== +--- a/src/cgi.c ++++ b/src/cgi.c @@ -336,7 +336,7 @@ hextable['b'] = 11; hextable['c'] = 12; @@ -9,8 +11,10 @@ hextable['f'] = 15; hextable['A'] = 10; hextable['B'] = 11; ---- libcgi-1.0.orig/src/string.c -+++ libcgi-1.0/src/string.c +Index: b/src/string.c +=================================================================== +--- a/src/string.c ++++ b/src/string.c @@ -584,7 +584,7 @@ va_start(ptr, s); @@ -20,9 +24,11 @@ len = strlen(s); while (*str) { ---- libcgi-1.0.orig/Makefile.in -+++ libcgi-1.0/Makefile.in -@@ -5,22 +5,27 @@ +Index: b/Makefile.in +=================================================================== +--- a/Makefile.in ++++ b/Makefile.in +@@ -5,22 +5,32 @@ prefix = @prefix@ exec_prefix = @exec_prefix@ @@ -44,18 +50,23 @@ +SHOBJS=$(OBJS:.o=.sh.o) -.c.o: $(CC) $(FLAGS) -c $< -+%.o: %.c -+ $(CC) $(FLAGS) -c $*.c -o $@ ++ALL_TARGETS = src/libcgi.a ++ifeq ($(STATIC),) ++ALL_TARGETS += src/libcgi.so ++endif -all: $(OBJS) src/libcgi.so ++%.o: %.c ++ $(CC) $(FLAGS) -c $*.c -o $@ ++ +%.sh.o: %.c + $(CC) $(FLAGS) -fPIC -c $*.c -o $@ + -+all: src/libcgi.so src/libcgi.a ++all: $(ALL_TARGETS) @echo "" @echo "" -@@ -48,14 +53,15 @@ +@@ -48,14 +58,17 @@ src/libcgi.a: $(OBJS) $(AR) rc src/libcgi.a $(OBJS) @@ -70,14 +81,16 @@ - cp src/cgi.h $(INCDIR) - cp src/session.h $(INCDIR) + cp src/libcgi.a $(DESTDIR)/$(LIBDIR) ++ifeq ($(STATIC),) + cp src/libcgi.so $(DESTDIR)/$(LIBDIR) ++endif + [ -d $(DESTDIR)/$(INCDIR) ] || mkdir -p $(DESTDIR)/$(INCDIR) + cp src/cgi.h $(DESTDIR)/$(INCDIR) + cp src/session.h $(DESTDIR)/$(INCDIR) src/error.o: src/error.c src/error.h -@@ -69,8 +75,9 @@ +@@ -69,8 +82,9 @@ src/list.o: src/list.c clean: @@ -88,7 +101,7 @@ uninstall: clean rm -f $(LIBDIR)/libcgi.* -@@ -78,11 +85,11 @@ +@@ -78,11 +92,11 @@ rm -f $(INCDIR)/session.h rm -f $(MANDIR)/libcgi* diff --git a/package/libgail/Config.in b/package/libgail/Config.in index 4335bef347..e9975329b1 100644 --- a/package/libgail/Config.in +++ b/package/libgail/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBGAIL bool "libgail" depends on BR2_USE_WCHAR # pango -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2 + depends on BR2_USE_MMU # pango -> libglib2 depends on BR2_PACKAGE_LIBGTK2 select BR2_PACKAGE_PANGO help diff --git a/package/libplayer/Config.in b/package/libplayer/Config.in index 113f650b1e..be7e0f0be1 100644 --- a/package/libplayer/Config.in +++ b/package/libplayer/Config.in @@ -13,7 +13,8 @@ if BR2_PACKAGE_LIBPLAYER config BR2_PACKAGE_LIBPLAYER_MPLAYER bool "mplayer backend" # mplayer - depends on !BR2_sh4a && !BR2_sh4aeb && !BR2_microblaze && !BR2_aarch64 + depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb || \ + BR2_microblaze || BR2_aarch64 || BR2_nios) # mplayer depends on BR2_LARGEFILE # mplayer @@ -26,9 +27,11 @@ config BR2_PACKAGE_LIBPLAYER_GSTREAMER bool "gstreamer backend" depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 select BR2_PACKAGE_GSTREAMER comment "gstreamer backend needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_LIBPLAYER_PYTHON diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk index 0bfe7d1d1b..e8483b7b62 100644 --- a/package/libpng/libpng.mk +++ b/package/libpng/libpng.mk @@ -7,7 +7,7 @@ LIBPNG_VERSION = 1.6.9 LIBPNG_SERIES = 16 LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.xz -LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng${LIBPNG_SERIES}/$(LIBPNG_VERSION) +LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng${LIBPNG_SERIES}/older-releases/$(LIBPNG_VERSION) LIBPNG_LICENSE = libpng license LIBPNG_LICENSE_FILES = LICENSE LIBPNG_INSTALL_STAGING = YES diff --git a/package/libsecret/Config.in b/package/libsecret/Config.in index 70f1fe7eb9..9a21d2eac9 100644 --- a/package/libsecret/Config.in +++ b/package/libsecret/Config.in @@ -4,6 +4,8 @@ config BR2_PACKAGE_LIBSECRET depends on BR2_USE_WCHAR # gettext dep in libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + # Triggers an internal compiler error on AVR32 + depends on !BR2_avr32 help libsecret is a library for storing and retrieving passwords and other secrets. It communicates with the "Secret Service" using DBus. @@ -13,5 +15,6 @@ config BR2_PACKAGE_LIBSECRET https://wiki.gnome.org/Libsecret comment "libsecret needs a toolchain w/ wchar, threads" + depends on !BR2_avr32 depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libsepol/libsepol-01-support-static-only.patch b/package/libsepol/libsepol-01-support-static-only.patch new file mode 100644 index 0000000000..b9746807ba --- /dev/null +++ b/package/libsepol/libsepol-01-support-static-only.patch @@ -0,0 +1,44 @@ +Add support for static-only build + +Instead of unconditionally building shared libraries, this patch +improves the libsepol build system with a "STATIC" variable, which +when defined to some non-empty value, will disable the build of shared +libraries. It allows to support cases where the target architecture +does not have support for shared libraries. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/src/Makefile +=================================================================== +--- a/src/Makefile ++++ b/src/Makefile +@@ -17,7 +17,12 @@ + CFLAGS ?= -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn -Wmissing-format-attribute + override CFLAGS += -I. -I../include -D_GNU_SOURCE + +-all: $(LIBA) $(LIBSO) $(LIBPC) ++ALL_TARGETS = $(LIBA) $(LIBPC) ++ifeq ($(STATIC),) ++ALL_TARGETS += $(LIBSO) ++endif ++ ++all: $(ALL_TARGETS) + + $(LIBA): $(OBJS) + $(AR) rcs $@ $^ +@@ -39,11 +44,13 @@ + install: all + test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) + install -m 644 $(LIBA) $(LIBDIR) +- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) +- install -m 755 $(LIBSO) $(SHLIBDIR) + test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig + install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig ++ifeq ($(STATIC),) ++ test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) ++ install -m 755 $(LIBSO) $(SHLIBDIR) + cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET) ++endif + + relabel: + /sbin/restorecon $(SHLIBDIR)/$(LIBSO) diff --git a/package/libsepol/libsepol.mk b/package/libsepol/libsepol.mk index c359cd7e45..19b193c79d 100644 --- a/package/libsepol/libsepol.mk +++ b/package/libsepol/libsepol.mk @@ -11,18 +11,24 @@ LIBSEPOL_LICENSE_FILES = COPYING LIBSEPOL_INSTALL_STAGING = YES +LIBSEPOL_MAKE_FLAGS = $(TARGET_CONFIGURE_OPTS) + +ifeq ($(BR2_PREFER_STATIC_LIB),y) +LIBSEPOL_MAKE_FLAGS += STATIC=1 +endif + define LIBSEPOL_BUILD_CMDS # DESTDIR is needed during the compile to compute library and # header paths. - $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR) + $(MAKE) -C $(@D) $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR) endef define LIBSEPOL_INSTALL_STAGING_CMDS - $(MAKE) -C $(@D) install $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR) + $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR) endef define LIBSEPOL_INSTALL_TARGET_CMDS - $(MAKE) -C $(@D) install $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) + $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(TARGET_DIR) endef define HOST_LIBSEPOL_BUILD_CMDS diff --git a/package/libsigsegv/libsigsegv-0004-fix-bfin-build.patch b/package/libsigsegv/libsigsegv-0004-fix-bfin-build.patch new file mode 100644 index 0000000000..42900ea2b0 --- /dev/null +++ b/package/libsigsegv/libsigsegv-0004-fix-bfin-build.patch @@ -0,0 +1,19 @@ +Add stack direction for Blackfin + +The stack grows downward on Blackfin, see +https://sourceware.org/binutils/docs/as/Blackfin-Syntax.html: "The +stack grows by decrementing the stack pointer.". + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Index: b/m4/stack-direction.m4 +=================================================================== +--- a/m4/stack-direction.m4 ++++ b/m4/stack-direction.m4 +@@ -18,6 +18,7 @@ + arc | \ + arm* | strongarm* | xscale* | \ + avr | avr32 | \ ++ bfin | \ + c1 | c2 | c32 | c34 | c38 | \ + clipper | \ + cris | \ diff --git a/package/libtool/libtool-0001-mips64-n64-linking.patch b/package/libtool/libtool-mips64-n64-linking.post-install-patch index ef9084ddb6..ef9084ddb6 100644 --- a/package/libtool/libtool-0001-mips64-n64-linking.patch +++ b/package/libtool/libtool-mips64-n64-linking.post-install-patch diff --git a/package/libtool/libtool.mk b/package/libtool/libtool.mk index 2f6ea7c5cf..603f1f1c2c 100644 --- a/package/libtool/libtool.mk +++ b/package/libtool/libtool.mk @@ -13,6 +13,19 @@ LIBTOOL_LICENSE_FILES = COPYING HOST_LIBTOOL_LIBTOOL_PATCH = NO +# libtool-mips64-n64-linking.post-install-patch is an upstream patch that +# fixes MIPS64 n64 link failures. However, because the patch touches an m4 +# file, applying it triggers a run of autoconf, automake, etc. This sometimes +# leads to build failures due to incompatible system autotools. We cannot +# simply set HOST_LIBTOOL_AUTORECONF = YES because that would create a +# circular dependency on host-libtool. Therefore, just apply the patch +# directly on the installed file. +define HOST_LIBTOOL_FIXUP_LIBTOOL_M4 + patch $(HOST_DIR)/usr/share/aclocal/libtool.m4 < \ + package/libtool/libtool-mips64-n64-linking.post-install-patch +endef +HOST_LIBTOOL_POST_INSTALL_HOOKS += HOST_LIBTOOL_FIXUP_LIBTOOL_M4 + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libv4l/libv4l-largefile.patch b/package/libv4l/libv4l-01-largefile.patch index 9df8652adc..9df8652adc 100644 --- a/package/libv4l/libv4l-largefile.patch +++ b/package/libv4l/libv4l-01-largefile.patch diff --git a/package/libv4l/libv4l-02-use-openat-when-available.patch b/package/libv4l/libv4l-02-use-openat-when-available.patch new file mode 100644 index 0000000000..756733e3eb --- /dev/null +++ b/package/libv4l/libv4l-02-use-openat-when-available.patch @@ -0,0 +1,34 @@ +From: Riku Voipio <riku.voipio@linaro.org> +Date: Tue, 22 Jan 2013 15:37:22 +0000 (-0300) +Subject: v4l-utils: use openat when available +X-Git-Tag: v4l-utils-0.9.4~61 +X-Git-Url: http://git.linuxtv.org + +v4l-utils: use openat when available + +New architectures such as 64-Bit arm build kernels without legacy +system calls - Such as the the no-at system calls. Thus, use +SYS_openat whenever it is available. + +Signed-off-by: Riku Voipio <riku.voipio@linaro.org> +Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> +--- + +diff --git a/lib/libv4lconvert/libv4lsyscall-priv.h b/lib/libv4lconvert/libv4lsyscall-priv.h +index 2dac49a..cdd38bc 100644 +--- a/lib/libv4lconvert/libv4lsyscall-priv.h ++++ b/lib/libv4lconvert/libv4lsyscall-priv.h +@@ -72,8 +72,13 @@ typedef off_t __off_t; + + #ifndef CONFIG_SYS_WRAPPER + ++#ifdef SYS_openat ++#define SYS_OPEN(file, oflag, mode) \ ++ syscall(SYS_openat, AT_FDCWD, (const char *)(file), (int)(oflag), (mode_t)(mode)) ++#else + #define SYS_OPEN(file, oflag, mode) \ + syscall(SYS_open, (const char *)(file), (int)(oflag), (mode_t)(mode)) ++#endif + #define SYS_CLOSE(fd) \ + syscall(SYS_close, (int)(fd)) + #define SYS_IOCTL(fd, cmd, arg) \ diff --git a/package/libvncserver/Config.in b/package/libvncserver/Config.in index ff83e343dd..07b77f519e 100644 --- a/package/libvncserver/Config.in +++ b/package/libvncserver/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBVNCSERVER bool "libvncserver" + depends on BR2_USE_MMU # VNCommand.c uses fork() help libvncserver is a VNC server/client library. diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk index 7116b82cb9..62f3e2701a 100644 --- a/package/libxml2/libxml2.mk +++ b/package/libxml2/libxml2.mk @@ -16,15 +16,17 @@ ifneq ($(BR2_LARGEFILE),y) LIBXML2_CONF_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS) -DNO_LARGEFILE_SOURCE" endif -LIBXML2_CONF_OPT = --with-gnu-ld --without-python --without-debug +LIBXML2_CONF_OPT = --with-gnu-ld --without-python --without-debug --without-lzma HOST_LIBXML2_DEPENDENCIES = host-pkgconf +HOST_LIBXML2_CONF_OPT = --without-zlib --without-lzma + # mesa3d uses functions that are only available with debug ifeq ($(BR2_PACKAGE_MESA3D),y) -HOST_LIBXML2_CONF_OPT = --with-debug +HOST_LIBXML2_CONF_OPT += --with-debug else -HOST_LIBXML2_CONF_OPT = --without-debug +HOST_LIBXML2_CONF_OPT += --without-debug endif ifeq ($(BR2_PACKAGE_HOST_LIBXML2_PYTHON),y) diff --git a/package/linux-headers/3.3.8/linux-fix-umode_t.patch b/package/linux-headers/3.3.8/linux-fix-umode_t.patch deleted file mode 100644 index 9663662254..0000000000 --- a/package/linux-headers/3.3.8/linux-fix-umode_t.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix a problem with the 3.3 kernel headers. Specifically, the umode_t type -is defined within a __KERNEL__ preprocessor ifdef region, and so the type -is not usable by non-kernel code. Visit the following URL for more details. - -* http://www.spinics.net/lists/linux-fsdevel/msg52638.html - -The commit that created the problem can be seen at the following URL. - -* http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commitdiff;h=0583fcc96bb117763c0fa74c123573c0112dec65 - -diff -Nur a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h ---- a/include/linux/ext2_fs.h 2012-03-18 23:15:34.000000000 +0000 -+++ b/include/linux/ext2_fs.h 2012-03-21 11:47:53.015548437 +0000 -@@ -209,7 +209,7 @@ - #define EXT2_OTHER_FLMASK (EXT2_NODUMP_FL | EXT2_NOATIME_FL) - - /* Mask out flags that are inappropriate for the given type of inode. */ --static inline __u32 ext2_mask_flags(umode_t mode, __u32 flags) -+static inline __u32 ext2_mask_flags(unsigned short mode, __u32 flags) - { - if (S_ISDIR(mode)) - return flags; diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index ea104f58d1..134e338028 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -71,15 +71,15 @@ config BR2_DEFAULT_KERNEL_VERSION config BR2_DEFAULT_KERNEL_HEADERS string default "3.0.101" if BR2_KERNEL_HEADERS_3_0 - default "3.2.54" if BR2_KERNEL_HEADERS_3_2 - default "3.4.79" if BR2_KERNEL_HEADERS_3_4 + default "3.2.55" if BR2_KERNEL_HEADERS_3_2 + default "3.4.82" if BR2_KERNEL_HEADERS_3_4 default "3.6.11" if BR2_KERNEL_HEADERS_3_6 default "3.7.10" if BR2_KERNEL_HEADERS_3_7 default "3.8.13" if BR2_KERNEL_HEADERS_3_8 default "3.9.11" if BR2_KERNEL_HEADERS_3_9 - default "3.10.29" if BR2_KERNEL_HEADERS_3_10 + default "3.10.32" if BR2_KERNEL_HEADERS_3_10 default "3.11.10" if BR2_KERNEL_HEADERS_3_11 - default "3.12.10" if BR2_KERNEL_HEADERS_3_12 - default "3.13.2" if BR2_KERNEL_HEADERS_3_13 + default "3.12.13" if BR2_KERNEL_HEADERS_3_12 + default "3.13.5" if BR2_KERNEL_HEADERS_3_13 default "2.6" if BR2_KERNEL_HEADERS_SNAP default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/package/linux-headers/linux-headers.mk b/package/linux-headers/linux-headers.mk index 6dac9e36f1..49fd9ca6d4 100644 --- a/package/linux-headers/linux-headers.mk +++ b/package/linux-headers/linux-headers.mk @@ -20,6 +20,12 @@ LINUX_HEADERS_INSTALL_STAGING = YES # linux-headers is part of the toolchain so disable the toolchain dependency LINUX_HEADERS_ADD_TOOLCHAIN_DEPENDENCY = NO +# For some architectures (eg. Arc, Cris, Hexagon, ia64, parisc, +# score and xtensa), the Linux buildsystem tries to call the +# cross-compiler, although it is not needed at all. +# This results in seemingly errors like: +# [...]/scripts/gcc-version.sh: line 26: arc-linux-uclibc-gcc: command not found +# Those can be safely ignored. define LINUX_HEADERS_INSTALL_STAGING_CMDS (cd $(@D); \ $(TARGET_MAKE_ENV) $(MAKE) \ diff --git a/package/lua/5.1.5/lua-02-shared-libs-for-lua.patch b/package/lua/5.1.5/lua-02-shared-libs-for-lua.patch index 97a70684f8..3f863a530c 100644 --- a/package/lua/5.1.5/lua-02-shared-libs-for-lua.patch +++ b/package/lua/5.1.5/lua-02-shared-libs-for-lua.patch @@ -1,8 +1,31 @@ Add the compilation of a shared library. Compile the lua binary with the shared library. +And install the shared library. +The variable BUILDMODE allows to switch between static and dynamic mode. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -44,6 +44,7 @@ + TO_BIN= lua luac + TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp + TO_LIB= liblua.a ++TO_SOLIB = liblua.so.$(R) + TO_MAN= lua.1 luac.1 + + # Lua version and release. +@@ -61,6 +62,8 @@ + install: dummy + cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) + cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) ++ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || : ++ test -f src/$(TO_SOLIB) && ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so || : + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) + cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) Index: b/src/Makefile =================================================================== --- a/src/Makefile @@ -15,18 +38,21 @@ Index: b/src/Makefile CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \ lundump.o lvm.o lzio.o -@@ -36,8 +37,9 @@ +@@ -36,8 +37,13 @@ LUAC_O= luac.o print.o ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) --ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++ifneq (dynamic,$(BUILDMODE)) + ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++else +ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T) ++endif ALL_A= $(LUA_A) +ALL_SO= $(LUA_SO) default: $(PLAT) -@@ -47,12 +49,18 @@ +@@ -47,12 +53,23 @@ a: $(ALL_A) @@ -36,14 +62,17 @@ Index: b/src/Makefile $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files $(RANLIB) $@ --$(LUA_T): $(LUA_O) $(LUA_A) -- $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) +$(LUA_SO): $(CORE_O) $(LIB_O) + $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $? + ln -fs $@.$(PKG_VERSION) $@ + ++ifneq (dynamic,$(BUILDMODE)) + $(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) ++else +$(LUA_T): $(LUA_O) $(LUA_SO) + $(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS) ++endif $(LUAC_T): $(LUAC_O) $(LUA_A) $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) diff --git a/package/lua/5.2.3/lua-02-shared-libs-for-lua.patch b/package/lua/5.2.3/lua-02-shared-libs-for-lua.patch index 4679325e79..3cf3b24848 100644 --- a/package/lua/5.2.3/lua-02-shared-libs-for-lua.patch +++ b/package/lua/5.2.3/lua-02-shared-libs-for-lua.patch @@ -1,8 +1,31 @@ Add the compilation of a shared library. Compile the lua binary with the shared library. +And install the shared library. +The variable BUILDMODE allows to switch between static and dynamic mode. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -42,6 +42,7 @@ + TO_BIN= lua luac + TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp + TO_LIB= liblua.a ++TO_SOLIB = liblua.so.$(R) + TO_MAN= lua.1 luac.1 + + # Lua version and release. +@@ -60,6 +61,8 @@ + install: dummy + cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) + cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) ++ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || : ++ test -f src/$(TO_SOLIB) && ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so || : + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) + cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) Index: b/src/Makefile =================================================================== --- a/src/Makefile @@ -15,18 +38,21 @@ Index: b/src/Makefile CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ ltm.o lundump.o lvm.o lzio.o -@@ -43,8 +44,9 @@ +@@ -43,8 +44,13 @@ LUAC_O= luac.o ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) --ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++ifneq (dynamic,$(BUILDMODE)) + ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++else +ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T) ++endif ALL_A= $(LUA_A) +ALL_SO= $(LUA_SO) # Targets start here. default: $(PLAT) -@@ -55,12 +57,18 @@ +@@ -55,12 +61,23 @@ a: $(ALL_A) @@ -36,14 +62,17 @@ Index: b/src/Makefile $(AR) $@ $(BASE_O) $(RANLIB) $@ --$(LUA_T): $(LUA_O) $(LUA_A) -- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) +$(LUA_SO): $(CORE_O) $(LIB_O) + $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $? + ln -fs $@.$(PKG_VERSION) $@ + ++ifneq (dynamic,$(BUILDMODE)) + $(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) ++else +$(LUA_T): $(LUA_O) $(LUA_SO) + $(CC) -o $@ -L. $(LDFLAGS) $(LUA_O) -llua $(LIBS) ++endif $(LUAC_T): $(LUAC_O) $(LUA_A) $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) diff --git a/package/lua/lua.mk b/package/lua/lua.mk index 2c867f6e1e..bf68e654f2 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -14,8 +14,7 @@ LUA_INSTALL_STAGING = YES LUA_LICENSE = MIT LUA_LICENSE_FILES = COPYRIGHT -LUA_CFLAGS = -Wall -fPIC -LUA_MYLIBS += -ldl +LUA_CFLAGS = -Wall -fPIC -DLUA_USE_POSIX ifeq ($(BR2_PACKAGE_LUA_5_2),y) LUA_CFLAGS += -DLUA_COMPAT_ALL @@ -24,17 +23,23 @@ LUA_CFLAGS += -D_FILE_OFFSET_BITS=32 endif endif +ifeq ($(BR2_PREFER_STATIC_LIB),y) + LUA_BUILDMODE = static +else + LUA_BUILDMODE = dynamic + LUA_CFLAGS += -DLUA_USE_DLOPEN + LUA_MYLIBS += -ldl +endif + ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y) LUA_DEPENDENCIES = readline ncurses LUA_MYLIBS += -lreadline -lhistory -lncurses - LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_READLINE + LUA_CFLAGS += -DLUA_USE_READLINE else ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_LINENOISE),y) LUA_DEPENDENCIES = linenoise LUA_MYLIBS += -llinenoise - LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_LINENOISE -else - LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN + LUA_CFLAGS += -DLUA_USE_LINENOISE endif endif @@ -53,6 +58,7 @@ define LUA_BUILD_CMDS CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \ CFLAGS="$(TARGET_CFLAGS) $(LUA_CFLAGS)" \ MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \ + BUILDMODE=$(LUA_BUILDMODE) \ PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all endef @@ -61,59 +67,25 @@ define HOST_LUA_BUILD_CMDS CFLAGS="$(HOST_LUA_CFLAGS)" \ MYLDFLAGS="$(HOST_LDFLAGS)" \ MYLIBS="$(HOST_LUA_MYLIBS)" \ + BUILDMODE=static \ PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all endef define LUA_INSTALL_STAGING_CMDS + $(MAKE) INSTALL_TOP="$(STAGING_DIR)/usr" -C $(@D) install $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc - $(INSTALL) -m 0755 -D $(@D)/src/lua $(STAGING_DIR)/usr/bin/lua - $(INSTALL) -m 0755 -D $(@D)/src/luac $(STAGING_DIR)/usr/bin/luac - $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \ - $(STAGING_DIR)/usr/lib/liblua.so.$(LUA_VERSION) - ln -sf liblua.so.$(LUA_VERSION) $(STAGING_DIR)/usr/lib/liblua.so - $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(STAGING_DIR)/usr/lib/liblua.a - $(INSTALL) -m 0644 -D $(@D)/src/lua.h $(STAGING_DIR)/usr/include/lua.h - $(INSTALL) -m 0644 -D $(@D)/src/luaconf.h $(STAGING_DIR)/usr/include/luaconf.h - $(INSTALL) -m 0644 -D $(@D)/src/lualib.h $(STAGING_DIR)/usr/include/lualib.h - $(INSTALL) -m 0644 -D $(@D)/src/lauxlib.h $(STAGING_DIR)/usr/include/lauxlib.h endef define LUA_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 -D $(@D)/src/lua $(TARGET_DIR)/usr/bin/lua - $(INSTALL) -m 0755 -D $(@D)/src/luac $(TARGET_DIR)/usr/bin/luac - $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \ - $(TARGET_DIR)/usr/lib/liblua.so.$(LUA_VERSION) - ln -sf liblua.so.$(LUA_VERSION) $(TARGET_DIR)/usr/lib/liblua.so - mkdir -p $(TARGET_DIR)/usr/lib/lua/$(LUAINTERPRETER_ABIVER) - mkdir -p $(TARGET_DIR)/usr/share/lua/$(LUAINTERPRETER_ABIVER) + $(MAKE) INSTALL_TOP="$(TARGET_DIR)/usr" -C $(@D) install endef define HOST_LUA_INSTALL_CMDS - $(INSTALL) -m 0755 -D $(@D)/src/lua $(HOST_DIR)/usr/bin/lua - $(INSTALL) -m 0755 -D $(@D)/src/luac $(HOST_DIR)/usr/bin/luac - $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \ - $(HOST_DIR)/usr/lib/liblua.so.$(LUA_VERSION) - ln -sf liblua.so.$(LUA_VERSION) $(HOST_DIR)/usr/lib/liblua.so - $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(HOST_DIR)/usr/lib/liblua.a + $(MAKE) INSTALL_TOP="$(HOST_DIR)/usr" -C $(@D) install $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \ $(HOST_DIR)/usr/lib/pkgconfig/lua.pc - $(INSTALL) -m 0644 -D $(@D)/src/lua.h $(HOST_DIR)/usr/include/lua.h - $(INSTALL) -m 0644 -D $(@D)/src/luaconf.h $(HOST_DIR)/usr/include/luaconf.h - $(INSTALL) -m 0644 -D $(@D)/src/lualib.h $(HOST_DIR)/usr/include/lualib.h - $(INSTALL) -m 0644 -D $(@D)/src/lauxlib.h $(HOST_DIR)/usr/include/lauxlib.h endef -LUA_INSTALLED_FILES = \ - /usr/include/lua.h \ - /usr/include/luaconf.h \ - /usr/include/lualib.h \ - /usr/include/lauxlib.h \ - /usr/lib/pkgconfig/lua.pc \ - /usr/bin/lua \ - /usr/bin/luac \ - /usr/lib/liblua.a \ - /usr/lib/liblua.so* - $(eval $(generic-package)) $(eval $(host-generic-package)) diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk index 529d3c27af..4122d0a2db 100644 --- a/package/luajit/luajit.mk +++ b/package/luajit/luajit.mk @@ -48,11 +48,11 @@ define LUAJIT_BUILD_CMDS endef define LUAJIT_INSTALL_STAGING_CMDS - $(MAKE) PREFIX="/usr" DESTDIR="$(STAGING_DIR)" -C $(@D) install + $(MAKE) PREFIX="/usr" DESTDIR="$(STAGING_DIR)" LDCONFIG=true -C $(@D) install endef define LUAJIT_INSTALL_TARGET_CMDS - $(MAKE) PREFIX="/usr" DESTDIR="$(TARGET_DIR)" -C $(@D) install + $(MAKE) PREFIX="/usr" DESTDIR="$(TARGET_DIR)" LDCONFIG=true -C $(@D) install endef $(eval $(generic-package)) diff --git a/package/luarocks/luarocks.mk b/package/luarocks/luarocks.mk index 88ab22a188..86e57d26b2 100644 --- a/package/luarocks/luarocks.mk +++ b/package/luarocks/luarocks.mk @@ -37,6 +37,7 @@ define HOST_LUAROCKS_INSTALL_CMDS echo "external_deps_dirs = { [[$(STAGING_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE) echo "gcc_rpath = false" >> $(LUAROCKS_CONFIG_FILE) echo "rocks_trees = { [[$(TARGET_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE) + echo "wrap_bin_scripts = false" >> $(LUAROCKS_CONFIG_FILE) endef $(eval $(host-generic-package)) diff --git a/package/lvm2/Config.in b/package/lvm2/Config.in index 5d6209fc12..3f8a52d47e 100644 --- a/package/lvm2/Config.in +++ b/package/lvm2/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_LVM2 bool "lvm2 & device mapper" depends on BR2_LARGEFILE depends on BR2_USE_MMU # needs fork() + depends on !BR2_PREFER_STATIC_LIB # It fails to build statically help This is LVM2, the rewrite of The Linux Logical Volume Manager. LVM supports enterprise level volume management of disk and disk @@ -33,6 +34,6 @@ config BR2_PACKAGE_LVM2_APP_LIBRARY endif -comment "lvm2 needs a toolchain w/ largefile" +comment "lvm2 needs a toolchain w/ largefile, dynamic library" depends on BR2_USE_MMU - depends on !BR2_LARGEFILE + depends on !BR2_LARGEFILE || BR2_PREFER_STATIC_LIB diff --git a/package/lxc/Config.in b/package/lxc/Config.in index 39cd577e67..d0937e6a2f 100644 --- a/package/lxc/Config.in +++ b/package/lxc/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_LXC depends on BR2_LARGEFILE depends on BR2_USE_MMU # fork() depends on !BR2_avr32 # no timerfd + depends on !BR2_nios2 # the toolchain doesn't support setns syscall help Linux Containers (LXC), provides the ability to group and isolate of a set of processes in a jail by virtualizing and accounting the @@ -16,4 +17,5 @@ config BR2_PACKAGE_LXC comment "lxc needs a toolchain w/ IPv6, threads, largefile" depends on BR2_USE_MMU depends on !BR2_avr32 # no timerfd + depends on !BR2_nios2 # the toolchain doesn't support setns syscall depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE diff --git a/package/matchbox/matchbox-lib/matchbox-lib-1.9-index-is-legacy.patch b/package/matchbox/matchbox-lib/matchbox-lib-0001-index-is-legacy.patch index b486fb18d4..b486fb18d4 100644 --- a/package/matchbox/matchbox-lib/matchbox-lib-1.9-index-is-legacy.patch +++ b/package/matchbox/matchbox-lib/matchbox-lib-0001-index-is-legacy.patch diff --git a/package/matchbox/matchbox-lib/matchbox-lib-1.9-libpng15.patch b/package/matchbox/matchbox-lib/matchbox-lib-0002-libpng15.patch index 3d68573b5f..3d68573b5f 100644 --- a/package/matchbox/matchbox-lib/matchbox-lib-1.9-libpng15.patch +++ b/package/matchbox/matchbox-lib/matchbox-lib-0002-libpng15.patch diff --git a/package/matchbox/matchbox-lib/matchbox-lib-0003-include-setjmp-h.patch b/package/matchbox/matchbox-lib/matchbox-lib-0003-include-setjmp-h.patch new file mode 100644 index 0000000000..72e1e45d8f --- /dev/null +++ b/package/matchbox/matchbox-lib/matchbox-lib-0003-include-setjmp-h.patch @@ -0,0 +1,17 @@ +matchbox-lib: include setjmp.h + +Based on this upstream patch: + + http://git.yoctoproject.org/cgit/cgit.cgi/libmatchbox/commit/?id=9315bcce1f01e7d6c00161442d61d3c676794d9d + +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> +--- libmatchbox-1.9/libmb/mbpixbuf.c.orig 2014-02-21 12:45:46.867035956 +0000 ++++ libmatchbox-1.9/libmb/mbpixbuf.c 2014-02-21 12:46:43.482949583 +0000 +@@ -22,6 +22,7 @@ + + #include <strings.h> + #include "mbpixbuf.h" ++#include <setjmp.h> + + #define BYTE_ORD_24_RGB 0 + #define BYTE_ORD_24_RBG 1 diff --git a/package/midori/Config.in b/package/midori/Config.in index a684376c69..c3b5a1bd27 100644 --- a/package/midori/Config.in +++ b/package/midori/Config.in @@ -8,15 +8,13 @@ config BR2_PACKAGE_MIDORI depends on BR2_INSTALL_LIBSTDCPP # webkit depends on BR2_TOOLCHAIN_HAS_THREADS # webkit -> enchant -> libglib2 depends on BR2_USE_WCHAR # webkit - depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel || \ - BR2_powerpc || BR2_sh || BR2_sparc || BR2_x86_64) # webkit + depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS help Midori is a lightweight web browser based on WebKit http://software.twotoasts.de/?page=midori comment "midori needs libgtk2 and a toolchain w/ C++, wchar, threads" - depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel || \ - BR2_powerpc || BR2_sh || BR2_sparc || BR2_x86_64) + depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_LIBGTK2 diff --git a/package/mpg123/Config.in b/package/mpg123/Config.in index 18ac41cfca..a7ac035a77 100644 --- a/package/mpg123/Config.in +++ b/package/mpg123/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_MPG123 bool "mpg123" + depends on BR2_USE_MMU # fork - in the application help Fast, free and portable MPEG audio player for Unix. It supports MPEG 1.0/2.0 layers 1, 2 and 3. diff --git a/package/mplayer/Config.in b/package/mplayer/Config.in index ae273e4f80..bacd744dd8 100644 --- a/package/mplayer/Config.in +++ b/package/mplayer/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_MPLAYER bool "mplayer" # Those architectures are not supported by MPlayer - depends on !(BR2_sh2a || BR2_sh4a || BR2_sh4aeb \ + depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb \ || BR2_microblaze || BR2_aarch64 || BR2_nios2) # Broken support for <ARMv5 depends on !(BR2_arm7tdmi || BR2_arm720t || BR2_arm920t \ @@ -29,6 +29,6 @@ config BR2_PACKAGE_MPLAYER_MENCODER endif comment "mplayer needs a toolchain w/ largefile" - depends on !(BR2_sh2 || BR2_sh2a || BR2_sh4a || BR2_sh4aeb \ - || BR2_microblaze || BR2_aarch64) + depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb \ + || BR2_microblaze || BR2_aarch64 || BR2_nios2) depends on !BR2_LARGEFILE diff --git a/package/ncftp/ncftp.mk b/package/ncftp/ncftp.mk index ff6c70a0f2..6ab393430c 100644 --- a/package/ncftp/ncftp.mk +++ b/package/ncftp/ncftp.mk @@ -11,6 +11,17 @@ NCFTP_TARGET_BINS = ncftp NCFTP_LICENSE = Clarified Artistic License NCFTP_LICENSE_FILES = doc/LICENSE.txt +NCFTP_DEPENDENCIES = host-autoconf + +# The bundled configure script is generated by autoconf 2.13 and doesn't +# detect cross-compilation correctly. Therefore, we have to regenerate it. +# We need to pass -I because of the non-standard m4 directory name, and +# none of the other autotools are used, so the below is the easiest. +define NCFTP_RUN_AUTOCONF + (cd $(@D); $(HOST_DIR)/usr/bin/autoconf -I$(@D)/autoconf_local/) +endef +NCFTP_PRE_CONFIGURE_HOOKS += NCFTP_RUN_AUTOCONF + ifeq ($(BR2_PACKAGE_NCFTP_GET),y) NCFTP_TARGET_BINS += ncftpget endif diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index 6bb6fe251f..4830c00e85 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -40,6 +40,10 @@ ifeq ($(BR2_PACKAGE_OPENSSL),y) NETSNMP_DEPENDENCIES += openssl NETSNMP_CONF_OPT += \ --with-openssl=$(STAGING_DIR)/usr/include/openssl +ifeq ($(BR2_PREFER_STATIC_LIB),y) + # openssl uses zlib, so we need to explicitly link with it when static + NETSNMP_CONF_ENV += LIBS=-lz +endif else NETSNMP_CONF_OPT += --without-openssl endif diff --git a/package/nut/nut.mk b/package/nut/nut.mk index 04b2b41e1d..b318258de0 100644 --- a/package/nut/nut.mk +++ b/package/nut/nut.mk @@ -14,10 +14,14 @@ NUT_DEPENDENCIES = host-pkgconf # Our patch changes m4 macros, so we need to autoreconf NUT_AUTORECONF = YES +# Disable parallel builds +NUT_MAKE = $(MAKE1) + # Put the PID files in a read-write place (/var/run is a tmpfs) # since the default location (/var/state/ups) maybe readonly. NUT_CONF_OPT = \ - --with-altpidpath=/var/run/upsd + --with-altpidpath=/var/run/upsd \ + --without-hal NUT_CONF_ENV = \ GDLIB_CONFIG=$(STAGING_DIR)/usr/bin/gdlib-config \ diff --git a/package/opencv/Config.in b/package/opencv/Config.in index ccde5cb349..b40e1412cf 100644 --- a/package/opencv/Config.in +++ b/package/opencv/Config.in @@ -26,12 +26,6 @@ config BR2_PACKAGE_OPENCV_LIB_CONTRIB help Include opencv_contrib module into the OpenCV build. -config BR2_PACKAGE_OPENCV_LIB_CORE - bool "core" - default y - help - Include opencv_core module into the OpenCV build. - config BR2_PACKAGE_OPENCV_LIB_FEATURES2D bool "features2d" default y @@ -140,6 +134,7 @@ comment "ffmpeg support needs a toolchain w/ largefile, IPv6" config BR2_PACKAGE_OPENCV_WITH_GSTREAMER bool "gstreamer support" + depends on BR2_USE_MMU # gstreamer -> libglib2 depends on BR2_USE_WCHAR # gstreamer -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # gstreamer -> libglib2 select BR2_PACKAGE_GSTREAMER @@ -147,6 +142,7 @@ config BR2_PACKAGE_OPENCV_WITH_GSTREAMER select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP comment "gstreamer support needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_OPENCV_WITH_GTK @@ -155,6 +151,7 @@ config BR2_PACKAGE_OPENCV_WITH_GTK depends on BR2_USE_WCHAR # libgtk2 -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2 depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_MMU # libgtk2 -> glib2 select BR2_PACKAGE_LIBGTK2 config BR2_PACKAGE_OPENCV_WITH_JPEG @@ -173,6 +170,7 @@ config BR2_PACKAGE_OPENCV_WITH_QT bool "qt backend support" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_avr32 # qt + depends on BR2_USE_MMU # qt select BR2_PACKAGE_QT select BR2_PACKAGE_QT_STL default y diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk index 732bc0cc55..42f9b0a51f 100644 --- a/package/opencv/opencv.mk +++ b/package/opencv/opencv.mk @@ -34,7 +34,7 @@ OPENCV_CONF_OPT += \ -DBUILD_opencv_androidcamera=OFF \ -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \ -DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_LIB_CONTRIB),ON,OFF) \ - -DBUILD_opencv_core=$(if $(BR2_PACKAGE_OPENCV_LIB_CORE),ON,OFF) \ + -DBUILD_opencv_core=ON \ -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV_LIB_FEATURES2D),ON,OFF) \ -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \ -DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_LIB_GPU),ON,OFF) \ diff --git a/package/openpowerlink/Config.in b/package/openpowerlink/Config.in index cdb09a2e9c..85739617e5 100644 --- a/package/openpowerlink/Config.in +++ b/package/openpowerlink/Config.in @@ -1,4 +1,5 @@ comment "openpowerlink needs a toolchain w/ C++, threads" + depends on BR2_USE_MMU depends on BR2_i386 || BR2_x86_64 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS @@ -7,6 +8,7 @@ config BR2_PACKAGE_OPENPOWERLINK depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_i386 || BR2_x86_64 + depends on BR2_USE_MMU # qt help openPOWERLINK is an Open Source Industrial Ethernet stack implementing the POWERLINK protocol for Managing Node diff --git a/package/openswan/openswan-wno-error-cpp.patch b/package/openswan/openswan-wno-error-cpp.patch deleted file mode 100644 index 8e79ae9daa..0000000000 --- a/package/openswan/openswan-wno-error-cpp.patch +++ /dev/null @@ -1,29 +0,0 @@ -Kill -Wno-error=cpp, old(ish) gcc versions (< 4.4) don't like it and we still -got 4.3.x available for internal toolchains. - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -Nura openswan-2.6.39.orig/lib/libopenswan/Makefile openswan-2.6.39/lib/libopenswan/Makefile ---- openswan-2.6.39.orig/lib/libopenswan/Makefile 2013-06-11 07:22:50.228520267 -0300 -+++ openswan-2.6.39/lib/libopenswan/Makefile 2013-06-11 07:27:40.087849447 -0300 -@@ -86,7 +86,7 @@ - CFLAGS+= -Wno-error=cast-qual - - # some junk left in alg_info.c --CFLAGS+= -Wno-error=cpp -+#CFLAGS+= -Wno-error=cpp - - #CFLAGS+= -Wmissing-declarations - CFLAGS+= -Wstrict-prototypes -diff -Nura openswan-2.6.39.orig/programs/pluto/Makefile openswan-2.6.39/programs/pluto/Makefile ---- openswan-2.6.39.orig/programs/pluto/Makefile 2013-06-11 07:22:49.753504978 -0300 -+++ openswan-2.6.39/programs/pluto/Makefile 2013-06-11 07:27:53.020265681 -0300 -@@ -47,7 +47,7 @@ - - # must turn this off due to myid.c - CFLAGS+= -Wno-error=cast-qual --CFLAGS+= -Wno-error=cpp -+#CFLAGS+= -Wno-error=cpp - - ifeq ($(HAVE_BROKEN_POPEN),true) - CFLAGS+=-DHAVE_BROKEN_POPEN diff --git a/package/openswan/openswan.mk b/package/openswan/openswan.mk index 0b8e7d3a69..ae055d4e3e 100644 --- a/package/openswan/openswan.mk +++ b/package/openswan/openswan.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENSWAN_VERSION = 2.6.39 +OPENSWAN_VERSION = 2.6.40 OPENSWAN_SITE = http://download.openswan.org/openswan OPENSWAN_LICENSE = GPLv2+, BSD-3c OPENSWAN_LICENSE_FILES = COPYING LICENSE diff --git a/package/pcmanfm/Config.in b/package/pcmanfm/Config.in index f6a398436f..cf77e36e0f 100644 --- a/package/pcmanfm/Config.in +++ b/package/pcmanfm/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_PCMANFM depends on BR2_PACKAGE_XORG7 depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 select BR2_PACKAGE_GAMIN select BR2_PACKAGE_STARTUP_NOTIFICATION select BR2_PACKAGE_XLIB_LIBX11 diff --git a/package/pcsc-lite/pcsc-lite-0001-pthread-needed-for-libusb.patch b/package/pcsc-lite/pcsc-lite-0001-pthread-needed-for-libusb.patch new file mode 100644 index 0000000000..acb777aa44 --- /dev/null +++ b/package/pcsc-lite/pcsc-lite-0001-pthread-needed-for-libusb.patch @@ -0,0 +1,29 @@ +configure.ac: explicitly add pthread cflags/libs in the libusb test + +If libusb-config does not exist, LIBUSB_CFLAGS and PTHREAD_CFLAGS will be +empty, and the test for libusb will be performed without additional flags. +However, when libusb needs threads, some extra flags are needed (depending +on the platform), like -pthreads, -lpthread, etc. Without these flags, the +test for libusb_init() will fail to link correctly, and pcsc-lite will fail +detecting libusb. + +Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> + +Upstream-status: will be submitted + +--- + +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -254,8 +254,8 @@ if test "x$use_libusb" != xno ; then + saved_CPPFLAGS="$CPPFLAGS" + saved_LIBS="$LIBS" + +- CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS" +- LIBS="$LDFLAGS $LIBUSB_LIBS" ++ CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS $PTHREAD_CFLAGS" ++ LIBS="$LDFLAGS $LIBUSB_LIBS $PTHREAD_LIBS" + + AC_CHECK_HEADERS(libusb.h, [], + [ AC_MSG_ERROR([libusb.h not found, use ./configure LIBUSB_CFLAGS=...]) ]) diff --git a/package/pcsc-lite/pcsc-lite.mk b/package/pcsc-lite/pcsc-lite.mk index 18859cdb12..5f699575b3 100644 --- a/package/pcsc-lite/pcsc-lite.mk +++ b/package/pcsc-lite/pcsc-lite.mk @@ -11,6 +11,7 @@ PCSC_LITE_INSTALL_STAGING = YES PCSC_LITE_DEPENDENCIES = host-pkgconf PCSC_LITE_LICENSE = BSD-3c PCSC_LITE_LICENSE_FILES = COPYING +PCSC_LITE_AUTORECONF = YES # - libudev and libusb are optional # - libudev and libusb can't be used together diff --git a/package/php/Config.ext b/package/php/Config.ext index df020479b3..463334b3ac 100644 --- a/package/php/Config.ext +++ b/package/php/Config.ext @@ -162,11 +162,13 @@ config BR2_PACKAGE_PHP_EXT_INTL depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on !BR2_arc # icu -> atomic builtins + depends on !BR2_BINFMT_FLAT # icu help Internationalization support comment "intl support needs a toolchain w/ C++, wchar" depends on !BR2_arc + depends on !BR2_BINFMT_FLAT depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR comment "Image processing" diff --git a/package/pixman/pixman-loongson-cflags.patch b/package/pixman/pixman-01-loongson-cflags.patch index fc53be234e..fc53be234e 100644 --- a/package/pixman/pixman-loongson-cflags.patch +++ b/package/pixman/pixman-01-loongson-cflags.patch diff --git a/package/pixman/pixman-02-check-fe-divbyzero.patch b/package/pixman/pixman-02-check-fe-divbyzero.patch new file mode 100644 index 0000000000..01c6c96de6 --- /dev/null +++ b/package/pixman/pixman-02-check-fe-divbyzero.patch @@ -0,0 +1,41 @@ +Add a check for FE_DIVBYZERO + +Some architectures (namely Microblaze) do have fenv.h and +feenableexcept, but they don't have the FE_DIVBYZERO definition. This +patch adds a configure check for FE_DIVBYZERO, and only uses it if +it's available. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -838,6 +838,11 @@ + AC_DEFINE(HAVE_FEENABLEEXCEPT, 1, [Whether we have feenableexcept()]) + fi + ++AC_CHECK_DECL([FE_DIVBYZERO], [], [], [[#include <fenv.h>]]) ++if test x$ac_cv_have_decl_FE_DIVBYZERO = xyes; then ++ AC_DEFINE(HAVE_FEDIVBYZERO, 1, [Whether we have FE_DIVBYZERO]) ++fi ++ + AC_CHECK_FUNC(gettimeofday, have_gettimeofday=yes, have_gettimeofday=no) + AC_CHECK_HEADER(sys/time.h, have_sys_time_h=yes, have_sys_time_h=no) + if test x$have_gettimeofday = xyes && test x$have_sys_time_h = xyes; then +Index: b/test/utils.c +=================================================================== +--- a/test/utils.c ++++ b/test/utils.c +@@ -776,9 +776,11 @@ + { + #ifdef HAVE_FENV_H + #ifdef HAVE_FEENABLEEXCEPT ++#ifdef HAVE_FE_DIVBYZERO + feenableexcept (FE_DIVBYZERO); + #endif + #endif ++#endif + } + + void * diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index acb6f62c25..339c3ebc01 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -496,7 +496,7 @@ $(1)-graph-depends: @$(INSTALL) -d $(O)/graphs @cd "$(CONFIG_DIR)"; \ $(TOPDIR)/support/scripts/graph-depends $(1) \ - |dot -T$(BR2_GRAPH_OUT) -o $(O)/graphs/$$(@).$(BR2_GRAPH_OUT) + |dot -T$(_BR2_GRAPH_OUT) -o $(O)/graphs/$$(@).$(_BR2_GRAPH_OUT) $(1)-dirclean: $$($(2)_TARGET_DIRCLEAN) diff --git a/package/pv/pv.mk b/package/pv/pv.mk index ab5190a43a..0ba8f5f7b2 100644 --- a/package/pv/pv.mk +++ b/package/pv/pv.mk @@ -9,7 +9,13 @@ PV_SOURCE = pv-$(PV_VERSION).tar.bz2 PV_SITE = http://www.ivarch.com/programs/sources PV_LICENSE = Artistic-2.0 PV_LICENSE_FILES = doc/COPYING -PV_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) + +# pv configure script is somewhat stupid: if it cannot find the host +# gettext tool msgfmt, it concludes that gettext is not available, and +# provides its own minimal version. Unfortunately, this minimal +# version conflicts with the available target gettext. We fix this by +# ensuring that host-gettext is built if gettext support is enabled; +PV_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext host-gettext) # While 'pv' uses autoconf, it does not use automake for its # makefiles. It uses $(LD) $(LDFLAGS) to achieve partial linking, but diff --git a/package/python/python.mk b/package/python/python.mk index 94765cbb84..e177ef7522 100644 --- a/package/python/python.mk +++ b/package/python/python.mk @@ -89,6 +89,7 @@ endif ifneq ($(BR2_PACKAGE_PYTHON_UNICODEDATA),y) PYTHON_CONF_OPT += --disable-unicodedata +HOST_PYTHON_CONF_OPT += --disable-unicodedata endif # Default is UCS2 w/o a conf opt diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 880b66e3c5..24e90d68e7 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -77,6 +77,7 @@ endif ifneq ($(BR2_PACKAGE_PYTHON3_UNICODEDATA),y) PYTHON3_CONF_OPT += --disable-unicodedata +HOST_PYTHON3_CONF_OPT += --disable-unicodedata endif ifeq ($(BR2_PACKAGE_PYTHON3_BZIP2),y) diff --git a/package/qt/Config.in b/package/qt/Config.in index 926d54c619..5105e5d8b1 100644 --- a/package/qt/Config.in +++ b/package/qt/Config.in @@ -1,10 +1,12 @@ comment "qt needs a toolchain w/ C++, threads" depends on !BR2_avr32 + depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS menuconfig BR2_PACKAGE_QT bool "Qt" depends on !BR2_avr32 # lacks TLS + depends on BR2_USE_MMU # fork depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS help diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in index 2fca9d26da..5c404d1e62 100644 --- a/package/qt5/qt5base/Config.in +++ b/package/qt5/qt5base/Config.in @@ -189,6 +189,7 @@ config BR2_PACKAGE_QT5BASE_ICU bool "Enable ICU support" select BR2_PACKAGE_ICU depends on !BR2_arc # icu -> atomic builtins + depends on !BR2_BINFMT_FLAT # icu help This option enables ICU support in Qt5. This is for example needed for Qt5Webkit. diff --git a/package/qt5/qt5connectivity/qt5connectivity-0001-don_t-build-scanner-example-without-qtquick.patch b/package/qt5/qt5connectivity/qt5connectivity-0001-don_t-build-scanner-example-without-qtquick.patch new file mode 100644 index 0000000000..0751ba7d9f --- /dev/null +++ b/package/qt5/qt5connectivity/qt5connectivity-0001-don_t-build-scanner-example-without-qtquick.patch @@ -0,0 +1,30 @@ +qt5connectivity: Don't build scanner example without QtQuick +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> + +From 1454664752505f5870e4173d15362bfdfe4148e7 Mon Sep 17 00:00:00 2001 +From: Alex Blasche <alexander.blasche@digia.com> +Date: Wed, 15 Jan 2014 12:11:31 +0100 +Subject: [PATCH] Don't build scanner example without QtQuick + +Task-number: QTBUG-35711 +Change-Id: I0406fb5edd8fb2a90046308853485eaaa4311a26 +Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> +Reviewed-by: Fabian Bumberger <fbumberger@rim.com> +Reviewed-by: Alex Blasche <alexander.blasche@digia.com> +--- + examples/bluetooth/bluetooth.pro | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/examples/bluetooth/bluetooth.pro b/examples/bluetooth/bluetooth.pro +index e3ef769..549bb7c 100644 +--- a/examples/bluetooth/bluetooth.pro ++++ b/examples/bluetooth/bluetooth.pro +@@ -6,4 +6,4 @@ qtHaveModule(widgets) { + bttennis + } + +-SUBDIRS += scanner ++qtHaveModule(quick): SUBDIRS += scanner +-- +1.7.1 + diff --git a/package/qtuio/qtuio.mk b/package/qtuio/qtuio.mk index 652dbc2af3..fe23230b2c 100644 --- a/package/qtuio/qtuio.mk +++ b/package/qtuio/qtuio.mk @@ -51,13 +51,22 @@ define QTUIO_INSTALL_EXAMPLES endef endif +ifeq ($(BR2_PACKAGE_QT_STATIC),y) +QTUIO_LIBRARY = libqTUIO.a +else +QTUIO_LIBRARY = libqTUIO.so* +define QTUIO_INSTALL_TARGET_LIBRARY + cp -dpf $(@D)/lib/$(QTUIO_LIBRARY) $(TARGET_DIR)/usr/lib +endef +endif + define QTUIO_INSTALL_TARGET_CMDS - cp -dpf $(@D)/lib/libqTUIO.so* $(TARGET_DIR)/usr/lib + $(QTUIO_INSTALL_TARGET_LIBRARY) $(QTUIO_INSTALL_EXAMPLES) endef define QTUIO_INSTALL_STAGING_CMDS - cp -dpf $(@D)/lib/libqTUIO.so* $(STAGING_DIR)/usr/lib + cp -dpf $(@D)/lib/$(QTUIO_LIBRARY) $(STAGING_DIR)/usr/lib endef $(eval $(generic-package)) diff --git a/package/ramsmp/Config.in b/package/ramsmp/Config.in index c379bb17ac..ecab6a46ad 100644 --- a/package/ramsmp/Config.in +++ b/package/ramsmp/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RAMSMP bool "ramspeed/smp" + depends on BR2_USE_MMU # fork() help RAMspeed/SMP is a free open source command line utility to measure cache and memory performance of multiprocessor machines. diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in index 461e6de6e8..28a4a11249 100644 --- a/package/rt-tests/Config.in +++ b/package/rt-tests/Config.in @@ -1,5 +1,8 @@ config BR2_PACKAGE_RT_TESTS bool "rt-tests" + # no _tid field in 'struct sigevent' + depends on !(BR2_TOOLCHAIN_USES_UCLIBC && (BR2_mips || BR2_mipsel || \ + BR2_mips64 || BR2_mips64el)) depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL help Set of utilities for testing the real-time behaviour of a @@ -19,5 +22,10 @@ config BR2_PACKAGE_RT_TESTS http://rt.wiki.kernel.org + +comment "rt-tests needs an (e)glibc toolchain" + depends on BR2_TOOLCHAIN_USES_UCLIBC && (BR2_mips || BR2_mipsel || \ + BR2_mips64 || BR2_mips64el) + comment "rt-tests needs a toolchain w/ NPTL" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/sawman/sawman.mk b/package/sawman/sawman.mk index d807bb48fa..00516ca688 100644 --- a/package/sawman/sawman.mk +++ b/package/sawman/sawman.mk @@ -8,6 +8,7 @@ SAWMAN_VERSION = 1.6.3 SAWMAN_SOURCE = SaWMan-$(SAWMAN_VERSION).tar.gz SAWMAN_SITE = http://www.directfb.org/downloads/Extras SAWMAN_INSTALL_STAGING = YES +SAWMAN_AUTORECONF = YES SAWMAN_DEPENDENCIES = directfb $(eval $(autotools-package)) diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in index 76c3d917be..0e0b07cb63 100644 --- a/package/sconeserver/Config.in +++ b/package/sconeserver/Config.in @@ -27,6 +27,7 @@ config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE bool "http::sconesite::image" depends on BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE + depends on BR2_USE_MMU # imagemagick select BR2_PACKAGE_IMAGEMAGICK help http::sconesite::image module for Sconeserver diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk index a983fec5a9..d5fb3311c5 100644 --- a/package/sdl/sdl.mk +++ b/package/sdl/sdl.mk @@ -12,7 +12,7 @@ SDL_LICENSE_FILES = COPYING SDL_INSTALL_STAGING = YES # we're patching configure.in, but package cannot autoreconf with our version of -# autotools, so we have to do it manually instead of setting SD_AUTORECONF = YES +# autotools, so we have to do it manually instead of setting SDL_AUTORECONF = YES define SDL_RUN_AUTOGEN cd $(@D) && PATH=$(HOST_PATH) ./autogen.sh endef diff --git a/package/spice/Config.in b/package/spice/Config.in index 9bddb06af1..b95e32e1b7 100644 --- a/package/spice/Config.in +++ b/package/spice/Config.in @@ -50,11 +50,15 @@ comment "client needs a toolchain w/ threads, C++" config BR2_PACKAGE_SPICE_GUI bool "Enable GUI" depends on BR2_PACKAGE_SPICE_CLIENT + depends on !BR2_PREFER_STATIC_LIB select BR2_PACKAGE_CEGUI06 help Say 'y' here to enable the Graphical User Interface (GUI) start dialog. +comment "gui needs a toolchain w/ dynamic library" + depends on BR2_PREFER_STATIC_LIB + config BR2_PACKAGE_SPICE_TUNNEL bool "Enable network redirection" select BR2_PACKAGE_SLIRP diff --git a/package/strongswan/Config.in b/package/strongswan/Config.in index 63316cbd90..d53da64d78 100644 --- a/package/strongswan/Config.in +++ b/package/strongswan/Config.in @@ -1,6 +1,10 @@ +comment "strongswan needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + menuconfig BR2_PACKAGE_STRONGSWAN bool "strongswan" depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS help strongSwan is an OpenSource IPsec implementation for the Linux operating system. It is based on the discontinued diff --git a/package/systemd/systemd-fix-getty-unit.patch b/package/systemd/systemd-01-fix-getty-unit.patch index 166a2e545c..166a2e545c 100644 --- a/package/systemd/systemd-fix-getty-unit.patch +++ b/package/systemd/systemd-01-fix-getty-unit.patch diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index 36ef704c7b..bcdf95e152 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -23,6 +23,8 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) SYSTEMD_DEPENDENCIES += busybox endif +SYSTEMD_AUTORECONF = YES + SYSTEMD_CONF_OPT += \ --with-rootprefix= \ --with-rootlibdir=/lib \ diff --git a/package/thrift/thrift-04-failed-to-build-on-OSX-10.9-GM.patch b/package/thrift/thrift-04-failed-to-build-on-OSX-10.9-GM.patch new file mode 100644 index 0000000000..8ff9defa88 --- /dev/null +++ b/package/thrift/thrift-04-failed-to-build-on-OSX-10.9-GM.patch @@ -0,0 +1,88 @@ +THRIFT-2229 thrift failed to build on OSX 10.9 GM + +--- + compiler/cpp/src/thrifty.yy | 4 ++-- + tutorial/cpp/CppClient.cpp | 6 +++--- + tutorial/cpp/CppServer.cpp | 16 ++++++++-------- + 3 files changed, 13 insertions(+), 13 deletions(-) + mode change 100644 => 100755 compiler/cpp/src/thrifty.yy + +diff --git a/compiler/cpp/src/thrifty.yy b/compiler/cpp/src/thrifty.yy +old mode 100644 +new mode 100755 +index b543552..8814332 +--- a/compiler/cpp/src/thrifty.yy ++++ b/compiler/cpp/src/thrifty.yy +@@ -675,7 +675,7 @@ ConstValue: + $$ = new t_const_value(); + $$->set_integer($1); + if (!g_allow_64bit_consts && ($1 < INT32_MIN || $1 > INT32_MAX)) { +- pwarning(1, "64-bit constant \"%"PRIi64"\" may not work in all languages.\n", $1); ++ pwarning(1, "64-bit constant \"%" PRIi64"\" may not work in all languages.\n", $1); + } + } + | tok_dub_constant +@@ -987,7 +987,7 @@ FieldIdentifier: + * warn if the user-specified negative value isn't what + * thrift would have auto-assigned. + */ +- pwarning(1, "Nonpositive field key (%"PRIi64") differs from what would be " ++ pwarning(1, "Nonpositive field key (%" PRIi64") differs from what would be " + "auto-assigned by thrift (%d).\n", $1, y_field_val); + } + /* +diff --git a/tutorial/cpp/CppClient.cpp b/tutorial/cpp/CppClient.cpp +index ba71caa..b91df2e 100644 +--- a/tutorial/cpp/CppClient.cpp ++++ b/tutorial/cpp/CppClient.cpp +@@ -38,9 +38,9 @@ using namespace shared; + using namespace boost; + + int main(int argc, char** argv) { +- shared_ptr<TTransport> socket(new TSocket("localhost", 9090)); +- shared_ptr<TTransport> transport(new TBufferedTransport(socket)); +- shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport)); ++ boost::shared_ptr<TTransport> socket(new TSocket("localhost", 9090)); ++ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket)); ++ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport)); + CalculatorClient client(protocol); + + try { +diff --git a/tutorial/cpp/CppServer.cpp b/tutorial/cpp/CppServer.cpp +index d0dbad9..f19258c 100644 +--- a/tutorial/cpp/CppServer.cpp ++++ b/tutorial/cpp/CppServer.cpp +@@ -113,11 +113,11 @@ protected: + + int main(int argc, char **argv) { + +- shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory()); +- shared_ptr<CalculatorHandler> handler(new CalculatorHandler()); +- shared_ptr<TProcessor> processor(new CalculatorProcessor(handler)); +- shared_ptr<TServerTransport> serverTransport(new TServerSocket(9090)); +- shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory()); ++ boost::shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory()); ++ boost::shared_ptr<CalculatorHandler> handler(new CalculatorHandler()); ++ boost::shared_ptr<TProcessor> processor(new CalculatorProcessor(handler)); ++ boost::shared_ptr<TServerTransport> serverTransport(new TServerSocket(9090)); ++ boost::shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory()); + + TSimpleServer server(processor, + serverTransport, +@@ -128,10 +128,10 @@ int main(int argc, char **argv) { + /** + * Or you could do one of these + +- shared_ptr<ThreadManager> threadManager = ++ boost::shared_ptr<ThreadManager> threadManager = + ThreadManager::newSimpleThreadManager(workerCount); +- shared_ptr<PosixThreadFactory> threadFactory = +- shared_ptr<PosixThreadFactory>(new PosixThreadFactory()); ++ boost::shared_ptr<PosixThreadFactory> threadFactory = ++ boost::shared_ptr<PosixThreadFactory>(new PosixThreadFactory()); + threadManager->threadFactory(threadFactory); + threadManager->start(); + TThreadPoolServer server(processor, +-- +1.8.5.3 + diff --git a/package/thrift/thrift-05-stdlib-and-boost-both-define-uint64_t.patch b/package/thrift/thrift-05-stdlib-and-boost-both-define-uint64_t.patch new file mode 100644 index 0000000000..70a5885dd8 --- /dev/null +++ b/package/thrift/thrift-05-stdlib-and-boost-both-define-uint64_t.patch @@ -0,0 +1,112 @@ +THRIFT-2367 Build failure: stdlib and boost both define uint64_t + +Fix: remove "using namespace boost;" +Patch: Roger Meier +--- + lib/cpp/src/thrift/transport/TSSLServerSocket.cpp | 8 +++----- + lib/cpp/src/thrift/transport/TSSLSocket.cpp | 7 +++---- + tutorial/cpp/CppClient.cpp | 2 -- + tutorial/cpp/CppServer.cpp | 2 -- + 4 files changed, 6 insertions(+), 13 deletions(-) + +diff --git a/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp b/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp +index 4689e4a..df5ed75 100644 +--- a/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp ++++ b/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp +@@ -22,25 +22,23 @@ + + namespace apache { namespace thrift { namespace transport { + +-using namespace boost; +- + /** + * SSL server socket implementation. + */ + TSSLServerSocket::TSSLServerSocket(int port, +- shared_ptr<TSSLSocketFactory> factory): ++ boost::shared_ptr<TSSLSocketFactory> factory): + TServerSocket(port), factory_(factory) { + factory_->server(true); + } + + TSSLServerSocket::TSSLServerSocket(int port, int sendTimeout, int recvTimeout, +- shared_ptr<TSSLSocketFactory> factory): ++ boost::shared_ptr<TSSLSocketFactory> factory): + TServerSocket(port, sendTimeout, recvTimeout), + factory_(factory) { + factory_->server(true); + } + +-shared_ptr<TSocket> TSSLServerSocket::createSocket(int client) { ++boost::shared_ptr<TSocket> TSSLServerSocket::createSocket(int client) { + return factory_->createSocket(client); + } + +diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp +index 029c541..5029f74 100644 +--- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp ++++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp +@@ -41,7 +41,6 @@ + #define OPENSSL_VERSION_NO_THREAD_ID 0x10000000L + + using namespace std; +-using namespace boost; + using namespace apache::thrift::concurrency; + + struct CRYPTO_dynlock_value { +@@ -489,7 +488,7 @@ int TSSLSocketFactory::passwordCallback(char* password, + return length; + } + +-static shared_array<Mutex> mutexes; ++static boost::shared_array<Mutex> mutexes; + + static void callbackLocking(int mode, int n, const char*, int) { + if (mode & CRYPTO_LOCK) { +@@ -533,7 +532,7 @@ void TSSLSocketFactory::initializeOpenSSL() { + SSL_library_init(); + SSL_load_error_strings(); + // static locking +- mutexes = shared_array<Mutex>(new Mutex[::CRYPTO_num_locks()]); ++ mutexes = boost::shared_array<Mutex>(new Mutex[::CRYPTO_num_locks()]); + if (mutexes == NULL) { + throw TTransportException(TTransportException::INTERNAL_ERROR, + "initializeOpenSSL() failed, " +@@ -591,7 +590,7 @@ void buildErrors(string& errors, int errno_copy) { + } + } + if (errors.empty()) { +- errors = "error code: " + lexical_cast<string>(errno_copy); ++ errors = "error code: " + boost::lexical_cast<string>(errno_copy); + } + } + +diff --git a/tutorial/cpp/CppClient.cpp b/tutorial/cpp/CppClient.cpp +index ba71caa..6db8db6 100644 +--- a/tutorial/cpp/CppClient.cpp ++++ b/tutorial/cpp/CppClient.cpp +@@ -35,8 +35,6 @@ using namespace apache::thrift::transport; + using namespace tutorial; + using namespace shared; + +-using namespace boost; +- + int main(int argc, char** argv) { + shared_ptr<TTransport> socket(new TSocket("localhost", 9090)); + shared_ptr<TTransport> transport(new TBufferedTransport(socket)); +diff --git a/tutorial/cpp/CppServer.cpp b/tutorial/cpp/CppServer.cpp +index d0dbad9..d0bff32 100644 +--- a/tutorial/cpp/CppServer.cpp ++++ b/tutorial/cpp/CppServer.cpp +@@ -41,8 +41,6 @@ using namespace apache::thrift::server; + using namespace tutorial; + using namespace shared; + +-using namespace boost; +- + class CalculatorHandler : public CalculatorIf { + public: + CalculatorHandler() {} +-- +1.8.5.3 + diff --git a/package/thrift/thrift.mk b/package/thrift/thrift.mk index d61cc3a5f6..0f6a1d08ea 100644 --- a/package/thrift/thrift.mk +++ b/package/thrift/thrift.mk @@ -9,7 +9,7 @@ THRIFT_SITE = http://www.us.apache.org/dist/thrift/$(THRIFT_VERSION) THRIFT_DEPENDENCIES = host-pkgconf host-thrift boost libevent openssl zlib THRIFT_INSTALL_STAGING = YES HOST_THRIFT_DEPENDENCIES = host-boost host-libevent host-openssl host-pkgconf \ - host-zlib + host-zlib host-bison host-flex THRIFT_CONF_OPT = --with-sysroot=$(STAGING_DIR) --with-tests=no \ --with-boost=$(STAGING_DIR) HOST_THRIFT_CONF_OPT = --with-sysroot=$(HOST_DIR) --with-tests=no diff --git a/package/transmission/transmission-02-fix-cxx-check-with-ccache.patch b/package/transmission/transmission-02-fix-cxx-check-with-ccache.patch new file mode 100644 index 0000000000..750bdb8c09 --- /dev/null +++ b/package/transmission/transmission-02-fix-cxx-check-with-ccache.patch @@ -0,0 +1,44 @@ +transmission: fix incorrect check of CXX when ccache is enabled + +When ccache is enabled, the configure script is called with +CXX="/path/to/ccache /path/to/cxx". The AC_PROG_CXX correctly deals with +this, but the transmission-specific extra checks on CXX do not. It uses +AC_CHECK_PROG, which takes the first word of CXX (ccache) only. + +This patch removes the seemingly unneeded extra checks, and additionally +replaces HAVE_CXX=yes/no with a direct check on CXX, as it is only used in +one place. + +Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> +Upstream-status: submitted: https://trac.transmissionbt.com/ticket/5612 + +--- + +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -69,15 +69,6 @@ AC_SUBST(LIBAPPINDICATOR_MINIMUM) + + AC_PROG_CC + AC_PROG_CXX +-if test "x$CXX" != "x"; then # CXX is set... +- if test -f "$CXX"; then # maybe it's an absolute path passed in env variables... +- AC_MSG_CHECKING([for $CXX]) +- HAVE_CXX="yes" +- AC_MSG_RESULT([$HAVE_CXX]) +- else +- AC_CHECK_PROG([HAVE_CXX],[$CXX],[yes],[no]) +- fi +-fi + AC_C_INLINE + if test "x$GCC" = "xyes" ; then + +@@ -216,7 +207,7 @@ AC_CHECK_LIB([rt], + + AC_MSG_CHECKING([µTP]) + build_utp="no" +-if test "x$HAVE_CXX" = "xyes" ; then ++if test "x$CXX" != "x" ; then + have_utp="yes" + else + have_utp="no" diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk index a08e7ef38b..4be223a01c 100644 --- a/package/transmission/transmission.mk +++ b/package/transmission/transmission.mk @@ -14,6 +14,7 @@ TRANSMISSION_DEPENDENCIES = \ libevent \ openssl \ zlib +TRANSMISSION_AUTORECONF = YES TRANSMISSION_CONF_OPT = \ --disable-libnotify \ diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk index 43bc382d89..85240a020a 100644 --- a/package/tvheadend/tvheadend.mk +++ b/package/tvheadend/tvheadend.mk @@ -28,8 +28,6 @@ define TVHEADEND_CONFIGURE_CMDS $(TARGET_CONFIGURE_ARGS) \ ./configure \ --prefix=/usr \ - --cc="$(TARGET_CC)" \ - --cflags="$(TARGET_CFLAGS)" \ --arch="$(ARCH)" \ --cpu="$(BR2_GCC_TARGET_CPU)" \ --python="$(HOST_DIR)/usr/bin/python" \ diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index 4860c580e3..f0fb53aafb 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -453,9 +453,8 @@ define UCLIBC_SETUP_DOT_CONFIG oldconfig endef -UCLIBC_POST_PATCH_HOOKS += UCLIBC_SETUP_DOT_CONFIG - define UCLIBC_CONFIGURE_CMDS + $(UCLIBC_SETUP_DOT_CONFIG) $(MAKE1) -C $(UCLIBC_DIR) \ $(UCLIBC_MAKE_FLAGS) \ PREFIX=$(STAGING_DIR) \ diff --git a/package/udisks/Config.in b/package/udisks/Config.in index d560b6cf76..76505ff343 100644 --- a/package/udisks/Config.in +++ b/package/udisks/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_UDISKS depends on BR2_PACKAGE_HAS_UDEV depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2 depends on BR2_USE_MMU # lvm2 + depends on !BR2_PREFER_STATIC_LIB # lvm2 select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS_GLIB depends on BR2_USE_WCHAR # dbus-glib -> glib2 @@ -39,7 +40,8 @@ comment "udisks needs udev /dev management" depends on BR2_USE_MMU depends on !BR2_PACKAGE_HAS_UDEV -comment "udisks needs a toolchain w/ wchar, threads" +comment "udisks needs a toolchain w/ wchar, threads, dynamic library" depends on !BR2_avr32 depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_PREFER_STATIC_LIB diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in index 8c8fd7ab5c..b1db99a6b4 100644 --- a/package/util-linux/Config.in +++ b/package/util-linux/Config.in @@ -14,6 +14,7 @@ if BR2_PACKAGE_UTIL_LINUX config BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_UTIL_LINUX_LIBUUID + depends on BR2_USE_MMU # fork bool "libblkid" help Install libblkid. @@ -22,6 +23,7 @@ config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT select BR2_PACKAGE_UTIL_LINUX_LIBBLKID # libc lacks UTIME_NOW & UTIME_COMMIT depends on !(BR2_microblazeel || BR2_microblazebe) + depends on BR2_USE_MMU # util-linux/libblkid bool "libmount" help Install libmount. diff --git a/package/vlc/Config.in b/package/vlc/Config.in index 2335894f10..ec1daf4fef 100644 --- a/package/vlc/Config.in +++ b/package/vlc/Config.in @@ -1,6 +1,12 @@ +if BR2_PACKAGE_VLC +comment "vlc is known not to work in all configurations" +comment "If you can fix it, please inform buildroot@buildroot.net" +endif + config BR2_PACKAGE_VLC bool "vlc" depends on (BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_USES_GLIBC) # spawn.h + depends on BR2_INSTALL_LIBSTDCPP depends on BR2_LARGEFILE depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS @@ -11,5 +17,5 @@ config BR2_PACKAGE_VLC http://www.videolan.org/vlc/ -comment "vlc needs a uclibc snapshot or (e)glibc toolchain w/ largefile, wchar, threads" - depends on !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_USES_GLIBC) || !BR2_LARGEFILE || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS +comment "vlc needs a uclibc snapshot or (e)glibc toolchain w/ C++, largefile, wchar, threads" + depends on !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_USES_GLIBC) || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/vlc/vlc-0003-automake-add-subdir-objects-option.patch b/package/vlc/vlc-0003-automake-add-subdir-objects-option.patch new file mode 100644 index 0000000000..cea6a38fea --- /dev/null +++ b/package/vlc/vlc-0003-automake-add-subdir-objects-option.patch @@ -0,0 +1,22 @@ +automake: add subdir-objects option + +Our version of automake warns if this option is enabled and source files +in subdirectories are used. + +It doesn't really seems to have a noticable effect on the build, but it +does remove a lot of annoying warnings. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> + +diff -Nrup vlc-2.1.2.orig/configure.ac vlc-2.1.2/configure.ac +--- vlc-2.1.2.orig/configure.ac 2014-02-27 00:22:19.512944952 +0100 ++++ vlc-2.1.2/configure.ac 2014-02-27 00:24:21.360940651 +0100 +@@ -24,7 +24,7 @@ AC_CANONICAL_BUILD + AC_CANONICAL_HOST + AC_PRESERVE_HELP_ORDER + +-AM_INIT_AUTOMAKE(tar-ustar color-tests foreign) ++AM_INIT_AUTOMAKE(tar-ustar color-tests foreign subdir-objects) + AC_CONFIG_HEADERS([config.h]) + + # Disable with "./configure --disable-silent-rules" or "make V=1" diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk index ad7d9ffd64..23905dfa85 100644 --- a/package/vlc/vlc.mk +++ b/package/vlc/vlc.mk @@ -14,23 +14,29 @@ VLC_AUTORECONF = YES VLC_CONF_OPT += \ --disable-a52 \ - --disable-shout \ - --disable-twolame \ - --disable-dca \ - --disable-dirac \ - --disable-schroedinger \ - --disable-quicksync \ - --disable-fluidsynth \ + --without-shout \ + --without-twolame \ + --without-dca \ + --without-dirac \ + --without-schroedinger \ + --without-quicksync \ + --without-fluidsynth \ --disable-zvbi \ - --disable-kate \ - --disable-caca \ + --without-kate \ + --without-caca \ --disable-jack \ - --disable-samplerate \ - --disable-chromaprint \ - --disable-goom \ + --without-samplerate \ + --without-chromaprint \ + --without-goom \ --disable-projectm \ --disable-vsxu \ - --disable-mtp + --without-mtp \ + --without-opencv + +# Building static and shared doesn't work, so force static off. +ifeq ($(BR2_PREFER_STATIC_LIB),) +VLC_CONF_OPT += --disable-static +endif # Set powerpc altivec appropriately ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y) @@ -48,10 +54,10 @@ endif # bonjour support needs avahi-client, which needs avahi-daemon and dbus ifeq ($(BR2_PACKAGE_AVAHI)$(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yyy) -VLC_CONF_OPT += --enable-bonjour +VLC_CONF_OPT += --with-bonjour VLC_DEPENDENCIES += avahi dbus else -VLC_CONF_OPT += --disable-bonjour +VLC_CONF_OPT += --without-bonjour endif ifeq ($(BR2_PACKAGE_DBUS),y) @@ -95,10 +101,10 @@ VLC_CONF_OPT += --disable-swscale endif ifeq ($(BR2_PACKAGE_FLAC),y) -VLC_CONF_OPT += --enable-flac +VLC_CONF_OPT += --with-flac VLC_DEPENDENCIES += flac else -VLC_CONF_OPT += --disable-flac +VLC_CONF_OPT += --without-flac endif ifeq ($(BR2_PACKAGE_MESA3D),y) @@ -109,10 +115,10 @@ VLC_CONF_OPT += --disable-glx endif ifeq ($(BR2_PACKAGE_OPUS),y) -VLC_CONF_OPT += --enable-opus +VLC_CONF_OPT += --with-opus VLC_DEPENDENCIES += opus else -VLC_CONF_OPT += --disable-opus +VLC_CONF_OPT += --without-opus endif ifeq ($(BR2_PACKAGE_LIBASS),y) @@ -146,10 +152,10 @@ VLC_CONF_OPT += --disable-mod endif ifeq ($(BR2_PACKAGE_LIBMPEG2),y) -VLC_CONF_OPT += --enable-libmpeg2 +VLC_CONF_OPT += --with-libmpeg2 VLC_DEPENDENCIES += libmpeg2 else -VLC_CONF_OPT += --disable-libmpeg2 +VLC_CONF_OPT += --without-libmpeg2 endif ifeq ($(BR2_PACKAGE_LIBPNG),y) @@ -160,31 +166,31 @@ VLC_CONF_OPT += --disable-png endif ifeq ($(BR2_PACKAGE_LIBRSVG),y) -VLC_CONF_OPT += --enable-svg +VLC_CONF_OPT += --with-svg VLC_DEPENDENCIES += librsvg else -VLC_CONF_OPT += --disable-svg +VLC_CONF_OPT += --without-svg endif ifeq ($(BR2_PACKAGE_LIBTHEORA),y) -VLC_CONF_OPT += --enable-theora +VLC_CONF_OPT += --with-theora VLC_DEPENDENCIES += libtheora else -VLC_CONF_OPT += --disable-theora +VLC_CONF_OPT += --without-theora endif ifeq ($(BR2_PACKAGE_LIBUPNP),y) -VLC_CONF_OPT += --enable-upnp +VLC_CONF_OPT += --with-upnp VLC_DEPENDENCIES += libupnp else -VLC_CONF_OPT += --disable-upnp +VLC_CONF_OPT += --without-upnp endif ifeq ($(BR2_PACKAGE_LIBVORBIS),y) -VLC_CONF_OPT += --enable-vorbis +VLC_CONF_OPT += --with-vorbis VLC_DEPENDENCIES += libvorbis else -VLC_CONF_OPT += --disable-vorbis +VLC_CONF_OPT += --without-vorbis endif ifeq ($(BR2_PACKAGE_LIBV4L),y) @@ -202,13 +208,15 @@ VLC_CONF_OPT += --disable-xcb endif ifeq ($(BR2_PACKAGE_LIBXML2),y) -VLC_CONF_OPT += --enable-libxml2 +VLC_CONF_OPT += --with-libxml2 VLC_DEPENDENCIES += libxml2 else -VLC_CONF_OPT += --disable-libxml2 +VLC_CONF_OPT += --without-libxml2 endif -ifeq ($(BR2_PACKAGE_LIVE555),y) +# live555 installs a static library only, and vlc tries to link it into a +# shared library - which doesn't work. So only enable live555 if static. +ifeq ($(BR2_PACKAGE_LIVE555)$(BR2_PREFER_STATIC_LIB),yy) VLC_CONF_OPT += --enable-live555 VLC_DEPENDENCIES += live555 VLC_CONF_ENV += \ @@ -226,7 +234,7 @@ endif ifeq ($(BR2_PACKAGE_LUA),y) VLC_CONF_OPT += --enable-lua -VLC_DEPENDENCIES += lua +VLC_DEPENDENCIES += lua host-lua else VLC_CONF_OPT += --disable-lua endif @@ -253,10 +261,10 @@ VLC_CONF_OPT += --disable-sdl-image endif ifeq ($(BR2_PACKAGE_SPEEX),y) -VLC_CONF_OPT += --enable-speex +VLC_CONF_OPT += --with-speex VLC_DEPENDENCIES += speex else -VLC_CONF_OPT += --disable-speex +VLC_CONF_OPT += --without-speex endif ifeq ($(BR2_PACKAGE_TREMOR),y) @@ -267,10 +275,10 @@ VLC_CONF_OPT += --disable-tremor endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) -VLC_CONF_OPT += --enable-udev +VLC_CONF_OPT += --with-udev VLC_DEPENDENCIES += udev else -VLC_CONF_OPT += --disable-udev +VLC_CONF_OPT += --without-udev endif ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) diff --git a/package/webkit/Config.in b/package/webkit/Config.in index 0207a6d78c..2b0addcf5a 100644 --- a/package/webkit/Config.in +++ b/package/webkit/Config.in @@ -1,11 +1,22 @@ +config BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS + bool + # ARM needs BLX, so v5t+ + default y if (BR2_arm || BR2_armeb) && \ + !(BR2_arm7tdmi || BR2_arm720t || BR2_arm920t || BR2_arm922t || BR2_fa526) + default y if BR2_i386 || BR2_mips || BR2_mipsel || \ + BR2_sh || BR2_sparc || BR2_x86_64 + +# disabled on powerpc due to bug https://bugs.webkit.org/show_bug.cgi?id=113638 + config BR2_PACKAGE_WEBKIT bool "webkit" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # enchant -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # enchant -> libglib2 + depends on BR2_USE_MMU # libgail -> pango -> libglib2 depends on BR2_PACKAGE_LIBGTK2 - depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel || \ - BR2_powerpc || BR2_sh || BR2_sparc || BR2_x86_64) + depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS + depends on !BR2_BINFMT_FLAT # icu select BR2_PACKAGE_CAIRO_PNG select BR2_PACKAGE_ENCHANT select BR2_PACKAGE_HARFBUZZ @@ -29,7 +40,6 @@ config BR2_PACKAGE_WEBKIT http://webkit.org/ comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads" - depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel || \ - BR2_powerpc || BR2_sh || BR2_sparc || BR2_x86_64) + depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS depends on !BR2_PACKAGE_LIBGTK2 || !BR2_INSTALL_LIBSTDCPP || \ !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index a7ac9a0b74..576579b7a2 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -57,7 +57,7 @@ XSERVER_XORG_SERVER_DEPENDENCIES = \ XSERVER_XORG_SERVER_CONF_OPT = --disable-config-hal \ --disable-xnest --disable-xephyr --disable-dmx \ - --with-builder-addr=buildroot@uclibc.org \ + --with-builder-addr=buildroot@buildroot.org \ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1" \ --with-fontdir=/usr/share/fonts/X11/ --localstatedir=/var \ --$(if $(BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB),en,dis)able-xvfb diff --git a/package/xscreensaver/Config.in b/package/xscreensaver/Config.in index 21a19d001e..e2534a6c08 100644 --- a/package/xscreensaver/Config.in +++ b/package/xscreensaver/Config.in @@ -3,6 +3,8 @@ config BR2_PACKAGE_XSCREENSAVER depends on BR2_PACKAGE_XORG7 depends on BR2_INSTALL_LIBSTDCPP # libgtk2->pango depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2->glib2 + depends on BR2_USE_WCHAR # libgtk2->glib2 + depends on BR2_USE_MMU # libgtk2->glib2 select BR2_PACKAGE_LIBGTK2 select BR2_PACKAGE_LIBGLADE select BR2_PACKAGE_JPEG @@ -18,6 +20,7 @@ config BR2_PACKAGE_XSCREENSAVER http://www.jwz.org/xscreensaver/ -comment "xscreensaver needs a toolchain w/ C++, threads" +comment "xscreensaver needs a toolchain w/ wchar, C++, threads" depends on BR2_PACKAGE_XORG7 + depends on BR2_USE_MMU depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) diff --git a/system/Config.in b/system/Config.in index 30d8efeaba..89578c5828 100644 --- a/system/Config.in +++ b/system/Config.in @@ -126,10 +126,12 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on BR2_LARGEFILE depends on BR2_USE_WCHAR depends on !BR2_PREFER_STATIC_LIB + depends on BR2_USE_MMU # eudev select BR2_PACKAGE_EUDEV comment "eudev needs a toolchain w/ largefile, wchar, dynamic library" depends on !BR2_avr32 # eudev + depends on BR2_USE_MMU depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB endchoice diff --git a/system/skeleton/etc/fstab b/system/skeleton/etc/fstab index a2f56ffa65..e000aadc36 100644 --- a/system/skeleton/etc/fstab +++ b/system/skeleton/etc/fstab @@ -5,5 +5,5 @@ proc /proc proc defaults 0 0 devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs mode=0777 0 0 -tmpfs /tmp tmpfs defaults 0 0 +tmpfs /tmp tmpfs mode=1777 0 0 sysfs /sys sysfs defaults 0 0 |

