aboutsummaryrefslogtreecommitdiff
path: root/support
Commit message (Collapse)AuthorAgeFilesLines
* Change /bin/bash shebangs into /usr/bin/env bashGravatar Bjørn Forsman2014-10-2514-14/+14
| | | | | | | | | | | | | | | | | Not all systems have /bin/bash (e.g. NixOS[1] doesn't). Buildroot already uses /usr/bin/env shebangs for other interpreters (perl, python), so why not bash? This changes only the shebangs used by Buildroot itself; stuff installed to the target system is left unchanged. With this applied I can run Buildroot unmodified on NixOS. [1]: http://nixos.org/ Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* apply-patches.sh: don't print anything when "make -s" is usedGravatar Fabio Porcedda2014-10-251-3/+14
| | | | | | | | | | | | The make "-s" option is used to enable the "Silent operation" so if that option is used don't print anything as far as there isn't any error. Add the "-s" option to "apply-patches.sh" to enable silent operation. [Peter: use the existing QUIET variable] Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package: indentation cleanupGravatar Jerzy Grzegorek2014-10-252-4/+4
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* scripts/mkusers: allow the creation of groups aloneGravatar Gustavo Zacarias2014-10-221-0/+2
| | | | | | | | | | Let mkusers create groups alone, useful for supplementary permissions in udev/systemd for example where users can be added to later at runtime. Use a magic string "-" to signal that user creation should be skipped. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* pkg-stats: add statistics about hash filesGravatar Thomas Petazzoni2014-10-191-0/+26
| | | | | | | | | | | As discussed during the Buildroot meeting, this commit extends the pkg-stats script to include statistics about the number of packages having vs. not having the hash file. As of today, we have 104 packages with the hash file, and 1274 packages without. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* scripts/graph-build-time: properly warn about missing modulesGravatar Luca Ceresoli2014-10-121-3/+8
| | | | | | | | | Currently the graph-build-time script prints a python exception if a needed module cannot be imported. Catch the exception and tell the user which packages are missing, as we do for other missing dependencies. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* scripts/graph-build-time: clarify backend selectionGravatar Luca Ceresoli2014-10-121-0/+5
| | | | | | | | | | | | | | | | | | This instruction in the middle of 'import' lines looks very strange. Also, it was not obvious to me what the 'Agg' backend is. Both things are actually correct, but it took a while to find out why. So clarify with a comment to save someone else's time. [Peter: fix s/soe/some/ typo] Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Sascha Arthur <sascha.arthur@gmail.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* .mk files: bulk aligment and whitespace cleanup of assignmentsGravatar Thomas De Schampheleire2014-10-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Buildroot coding style defines one space around make assignments and does not align the assignment symbols. This patch does a bulk fix of offending packages. The package infrastructures (or more in general assignments to calculated variable names, like $(2)_FOO) are not touched. Alignment of line continuation characters (\) is kept as-is. The sed command used to do this replacement is: find * -name "*.mk" | xargs sed -i \ -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#' -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#' -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#' -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#' Brief explanation of this command: ^\([A-Z0-9a-z_]\+\) a regular variable at the beginning of the line \([?:+]\?=\) any assignment character =, :=, ?=, += \([^\\]\+\) any string not containing a line continuation \([^\\ \t]\+\s*\\\) string, optional whitespace, followed by a line continuation character \(\s*\\\) optional whitespace, followed by a line continuation character Hence, the first subexpression handles empty assignments, the second handles regular assignments, the third handles regular assignments with line continuation, and the fourth empty assignments with line continuation. This expression was tested on following test text: (initial tab not included) FOO = spaces before FOO = spaces before and after FOO = tab before FOO = tab and spaces before FOO = tab after FOO = tab and spaces after FOO = spaces and tab after FOO = \ FOO = bar \ FOO = bar space \ FOO = \ GENIMAGE_DEPENDENCIES = host-pkgconf libconfuse FOO += spaces before FOO ?= spaces before and after FOO := FOO = FOO = FOO = FOO = $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C AT91BOOTSTRAP3_DEFCONFIG = \ AXEL_DISABLE_I18N=--i18n=0 After this bulk change, following manual fixups were done: - fix line continuation alignment in cegui06 and spice (the sed expression leaves the number of whitespace between the value and line continuation character intact, but the whitespace before that could have changed, causing misalignment. - qt5base was reverted, as this package uses extensive alignment which actually makes the code more readable. Finally, the end result was manually reviewed. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Cc: Yann E. Morin <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* support/script/scancpan: add -test optionGravatar Francois Perrad2014-10-041-3/+10
| | | | | | | | | | | | | | | | | | | Perl modules can have three different types of dependencies: - configure/build time dependency which becomes host dependency - runtime dependency which becomes target dependency - test time dependency which is useless in a cross-compiling context like BR Before this patch, test time dependencies are handled like runtime dependencies. After this patch, test time dependencies are ignored by default. The newly added -test option allows to add them anyway if needed. [Thomas: reword commit log using Francois proposal.] Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* perl: bump to version 5.20.1Gravatar Francois Perrad2014-10-021-1/+1
| | | | | | [Peter: squash 'add hash' patch into it] Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchainfile.cmake.in: do not force the CMAKE_{C, CXX}_FLAGS to the cacheGravatar Samuel Martin2014-09-281-2/+2
| | | | | | | | | | | | | | | | | | | | Fix #7280 [1] When the FORCE option is passed to the set command, the variable is added/updated in the CMake cache every single time CMake processes this command. Because the toolchainfile.cmake prepends architecture/toolchain flags to the CMAKE_{C,CXX}_FLAGS, this makes the CFLAGS being updated in the generated Makefiles each time one reconfigures its project. So it forces the compilation of everything, even when nothing has changed. [1] https://bugs.busybox.net/show_bug.cgi?id=7280 Signed-off-by: Samuel Martin <s.martin49@gmail.com> Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> (tested the SimpleApp reproduction scenario described in the bug report) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchainfile.cmake.in: set linker flagsGravatar Samuel Martin2014-09-281-0/+1
| | | | | | | | | The linker flags are part of the toolchain configuration, so set them for the CMake-based packages. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* check-kernel-headers: mktemp --tmpdir not available on RedHat RHEL5Gravatar Thomas De Schampheleire2014-09-281-1/+1
| | | | | | | | | mktemp --tmpdir is not available on older Redhat RHEL5 machines. The alternative that has the same behavior is 'mktemp -t'. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* scripts/graph-build-time: remove X dependencyGravatar Sascha Arthur2014-09-211-1/+2
| | | | | | | | | [Thomas: tweak commit title.] Signed-off-by: Sascha Arthur <sascha.arthur@gmail.com> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Merge branch 'next'Gravatar Peter Korsgaard2014-09-011-0/+1
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * support/script/scancpan: don't generate the trailing slash in <PKG>_SITE ↵Gravatar Francois Perrad2014-08-301-0/+1
| | | | | | | | | | | | | | | | | | | | variable The trailing slash was removed in all packages, so don't generate it. See http://git.buildroot.net/buildroot/commit/?id=c7f4b964718bc5a3329bb730f59e24091ecbc7a2 Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | dependencies: Reject gcj in BR2_NEEDS_HOST_JAVA checkGravatar Bernd Kuhls2014-08-171-0/+7
|/ | | | | | | | | | | | | | | | | | | | | | | | | | Xbmc uses the Groovy java package to generate API code, for details see http://wiki.xbmc.org/index.php?title=Codegeneration#How_it_works Groovy itself is broken when used with gcj: http://jira.codehaus.org/browse/GROOVY-3701 Xbmc recommends to use another java package instead, like openjdk: http://forum.xbmc.org/showthread.php?tid=199742 Until we come up with a host package to provide a java setup and in order to make autobuilder happy let´s reject gcj when we check for a java installation on the host. Currently Xbmc is the only package using BR2_NEEDS_HOST_JAVA so changing the behaviour of dependencies.sh has no side effects. Fixes http://autobuild.buildroot.net/results/213/213d7454a1dc68cfb8f4c8d9508f52ebf8e58e33/ http://autobuild.buildroot.net/results/639/639cda872cf36c122cbd6139dd76f6b51ac1864e/ http://autobuild.buildroot.net/results/c9e/c9eb12c95b2939c64590692a82af8d84bbd90956/ Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: fix the git helper output file formatGravatar Yann E. MORIN2014-08-061-2/+2
| | | | | | | | | | | | | | | | | The git helper uses gzip to compress the intermediate tarball. But gzip removes the source file, and create a new file named by appending .gz to the original file name. Thus, we end up with output.gz, while the download wrapper expects jsut output, and thus believes the downlaod failed. Fix that by storing the tar from git to a temporary file, then pipe this file to gzip's stdin, and redirect gzip's stdout to the output file. Reported-by: Graham Newton <gnewton@peavey-eu.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: fix the git helperGravatar Peter Seiderer2014-08-061-0/+1
| | | | | | | | | | | | | Re-add the git_done variable (lost in commit [1]). Fixes download problem reported by Rohit Kumar [2]. [1] http://git.buildroot.net/buildroot/commit/?id=7e40a1103a919a8177f00ddca2b46b4439953511 [2] http://lists.busybox.net/pipermail/buildroot/2014-August/103733.html Signed-off-by: Peter Seiderer <ps.report@gmx.net> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: convert wget to use the wrapperGravatar Yann E. MORIN2014-08-041-27/+8
| | | | | | | | | | This drastically simplifies the wget helper, as it no longer has to deal with atomically saving the downloaded archive. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> (Tested by running 'make busybox-source') Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: convert svn to use the wrapperGravatar Yann E. MORIN2014-08-041-35/+13
| | | | | | | | | | This drastically simplifies the svn helper, as it no longer has to deal with atomically saving the downloaded archive. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> (Tested by running 'make open2300-source') Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: convert scp to use the wrapperGravatar Yann E. MORIN2014-08-041-20/+8
| | | | | | | | | | | This drastically simplifies the scp helper, as it no longer has to deal with atomically saving the downloaded archive. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> (Tested by setting a primary site to 'scp://localhost:/tmp' and running 'make vim-source') Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: convert Hg to use the wrapperGravatar Yann E. MORIN2014-08-041-37/+15
| | | | | | | | | | This drastically simplifies the hg helper, as it no longer has to deal with atomically saving the downloaded archive. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> (Tested by running 'make vim-source') Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: convert git to use the wrapperGravatar Yann E. MORIN2014-08-041-42/+20
| | | | | | | | | | This drastically simplifies the git helper, as it no longer has to deal with atomically saving the downloaded archive. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> (Tested by running 'make fmc-fsl-sdk-source') Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: convert cvs to use the wrapperGravatar Yann E. MORIN2014-08-041-38/+16
| | | | | | | | | This drastically simplifies the cvs helper, as it no longer has to deal with atomically saving the downloaded archive. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: convert localfiles to use the wrapperGravatar Yann E. MORIN2014-08-041-18/+8
| | | | | | | | | | This drastically simplifies the localfiles helper, as it no longer has to deal with atomically saving the downloaded archive. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> (Tested by setting BUSYBOX_SITE = file:///tmp and running 'make busybox-source') Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: convert bzr to use the wrapperGravatar Yann E. MORIN2014-08-041-30/+12
| | | | | | | | This drastically simplifies the bzr helper, as it no longer has to deal with atomically saving the downloaded archive. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: add download wrapperGravatar Yann E. MORIN2014-08-041-0/+99
| | | | | | | | | | | | | | | | | | The download wrapper is responsible for ensuring the atomicity of saving into $(BR2_DL_DIR). It calls the appropriate download helper, telling it to save the downloaded content to a temporary file in $(BUILD_DIR) (so it does not clutter $(BR2_DL_DIR) with partial, failed downloads. Then, only if the download helper was successful, does the wrapper save the downloaded content to the final location, yet still in a temporary file, and finally atomically renames it to the final output file. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/libtool: improve version 1.5 static patchingGravatar Gustavo Zacarias2014-07-311-42/+22
| | | | | | | | | | | Alter the libtool 1.5.x support patch to accomodate for wildly different versions of ltmain.sh Just make it alter incoming args from -static to -all-static which seems to apply to all the different variants out there since argument parsing is unlikely to change much. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/libtool: make -static behave like -all-staticGravatar Thomas Petazzoni2014-07-303-20/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After switching TARGET_LDFLAGS from --static to -static, one issue appears: from the point of view of libtool, -static only means to link statically against the 'uninstalled libtool libraries' (i.e the libraries that libtool has built in the current package), but otherwise links dynamically with the other libraries. To really get a completely static build, you need to pass -all-static to libtool. Unfortunately, -all-static is only a valid option for libtool, not as a general LDFLAGS, so we cannot to TARGET_LDFLAGS = -all-static without breaking virtually all packages. As pointed out 10 years ago on the libtool mailing list, the current naming of the options is very confusing and the source of issues, and there was a proposal to change -static to have the behavior of -all-static, and instead introduce a separate -lt-static to have the current behavior of -static. But that never got merged, because it was breaking the current behavior. See: http://lists.gnu.org/archive/html/libtool/2004-11/msg00017.html However, in Buildroot, when we pass -static, we really mean it, and we want a completely static build. Therefore, this patch adapts our ltmain.sh patches so that they alter the behavior of -static to make it work like -all-static. The changes are small and quite easy to understand, and have been tested to work fine with a small selection of packages. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: add option to copy the gconv librariesGravatar Yann E. MORIN2014-07-271-0/+59
| | | | | | | | | | | | | | | | | | | | | | | The gconv libraries are used to translate between different character sets ('charsets', even 'csets' sometimes). Some packages need them to present text to the user (eg. XBMC Gotham). In (e)glibc they are implemented by the internal implemenation of iconv, called gconv, and are provided as dlopen-able libraries. Note that some gconv modules need extra libraries (shared by more than one gconv module), so we must, when adding a subset of modules, scan the installed modules in search of the missing libraries. [Thomas: add general explanation in expunge-gconv-modules and fix coding style.] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Cc: Eric Limpens <limpens@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/script/scancpan: more license name ajustmentGravatar Francois Perrad2014-07-241-0/+3
| | | | | Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* trivial: fix typo 'informations'Gravatar Thomas De Schampheleire2014-07-241-2/+2
| | | | | | | | | | | In English, unlike in French, almost all usages of the word 'information' are uncountable, meaning that 'informations' is invalid. This patch fixes this typo throughout the tree, except in CHANGES and docs/news.html (historic text). Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* dependencies.sh: fix typoGravatar Vincent2014-07-191-1/+1
| | | | | | Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/gen-manual-lists.py: bail out early for legacy symbolsGravatar Yann E. MORIN2014-07-191-2/+2
| | | | | | | | | | When searching for virtual package providers, there's no need to handle legacy symbols at all, so just bail out early. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/gen-manual-lists.py: remove unneeded arg in private functionGravatar Yann E. MORIN2014-07-191-3/+3
| | | | | | | | | No need to pass as argument to a function, members of the class it's in. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/script/scanpcan: small fixGravatar Francois Perrad2014-07-191-5/+6
| | | | | | | | - typo in comment - remove trailing space in _HOST_DEPENCENCIES when no dependency Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts/scancpan: automatically populate LICENSE_FILESGravatar Francois Perrad2014-07-181-5/+25
| | | | | | | | | This commit improves the scancpan script to automatically populate the LICENSE_FILES variable using informations available in the Perl package MANIFEST file. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/script/scancpan: add support for BR2_PREFER_STATIC_LIBGravatar Francois Perrad2014-07-171-6/+26
| | | | | | | | | | | | | | | Perl extensions are loaded at runtime with dlopen(), so it does not make sense to even build extensions that are written in C when BR2_PREFER_STATIC_LIB is enabled. A Perl module written in C or with a dependency on a module written in C is not available when doing a static build. Therefore, this commit adapts the scancpan script to automatically generate a dependency on !BR2_PREFER_STATIC_LIB when the Perl module would not work in a static-only configuration. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* dependencies.sh: add other Debian package names for 32 bits librariesGravatar Karoly Kasza2014-07-151-2/+3
| | | | | | | [Thomas: implemented Arnout suggestion.] Signed-off-by: Karoly Kasza <kaszak@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/download: fix the git helperGravatar Yann E. MORIN2014-07-081-2/+6
| | | | | | | | | | | | | | | | | | | | | | When switching the git helper over to a shell script, a special case was not carried over: in case the remote has the required reference, we attempt a shallow clone, using --depth 1. However, this is not supported when the remote is accessed with the http protocol. Therefore, the download fails. What happened before the conversion to a shell script was that the helper in the Makefile would fallback to doing a full-clone. This is the case and behaviour that were lost in the conversion. To avoid making the script too complex, we only attempt a full clone if needed. And we decide that a full clone is needed by default; we decide it is unnecessary if the remote has the needed reference *and* the shallow clone was successful. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* support/download: fix the bzr helperGravatar Yann E. MORIN2014-07-081-1/+1
| | | | | | | | | | | | | | | | bzr uses the name of the extension of the output file to known what output format to use: tar, tgz, tar.bz2... If no extension is recognised, bzr will output to a directory. Since we use 'mktemp .XXXXXX' to generate temporary files, it obviously never ends with a recognised extension. Thus, bzr expects the output to be a directory, and fails since it is a file. Fix that by forcing the output format. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* manual: add documentation about packages' hashesGravatar Yann E. MORIN2014-07-041-0/+1
| | | | | | | | | | | | | | Although md5 is, for legacy reasons, a supported hash type, it is not documented on purpose, since it is now known to be weak. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Samuel Martin <s.martin49@gmail.com> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* pkg-infra: add possiblity to check downloaded files against known hashesGravatar Yann E. MORIN2014-07-041-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the packages that Buildroot might build are sensitive packages, related to security: openssl, dropbear, ca-certificates... Some of those packages are downloaded over plain http, because there is no way to get them over a secure channel, such as https. In these dark times of pervasive surveillance, the potential for harm that a tampered-with package could generate, we may want to check the integrity of those sensitive packages. So, each package may now provide a list of hashes for all files that needs to be downloaded, and Buildroot will just fail if any downloaded file does not match its known hash, in which case it is removed. Hashes can be any of the md5, sha1 or sha2 variants, and will be checked even if the file was pre-downloaded. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* pkg-infra: don't use DL_DIR as scratchpad for temporary downloadsGravatar Yann E. MORIN2014-07-048-39/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DL_DIR can be a very precious place for some users: they use it to store all the downloaded archives to share across all their Buildroot (and maybe non-Buildroot) builds. We do not want to trash this location with our temporary downloads (e.g. git, Hg, svn, cvs repository clones/checkouts, or wget, bzr tep tarballs). Turns out that we already have some kind of scratchpad, the BUILD_DIR. Although it is not really a disposable location, that's the best we have so far. Also, we create the temporary tarballs with mktemp using the final tarball, as template, since we want the temporary to be on the same filesystem as the final location, so the 'mv' is just a plain, atomic rename(2), and we are not left with a half-copied file as the final location. Using mktemp ensures all temp file names are unique, so it allows for parallel downloads from different build dirs at the same time, without cloberring each downloads. Note: we're using neither ${TMP} nor ${TMPDIR} since they are shared locations, sometime with little place (eg. tmpfs), and some of the repositories we clone/checkout can be very big. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> [tested a particular scenario that used to fail: two separate builds using a shared DL_DIR, ccache enabled, so that they run almost synchronously. These would download the same file at the same time, corrupting each other. With the patches in this series, all works fine.] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* pkg-infra: move the cp (aka localfiles) download helper to a scriptGravatar Yann E. MORIN2014-07-031-0/+16
| | | | | | | | Maintaining the download helpers in the Makefile has proved to be a bit complex, so move it to a shell script. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* pkg-infra: move the scp download helper to a scriptGravatar Yann E. MORIN2014-07-031-0/+16
| | | | | | | | Maintaining the download helpers in the Makefile has proved to be a bit complex, so move it to a shell script. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* pkg-infra: move the bzr download helper to a scriptGravatar Yann E. MORIN2014-07-031-0/+19
| | | | | | | | Maintaining the download helpers in the Makefile has proved to be a bit complex, so move it to a shell script. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* pkg-infra: move the wget download helper to a scriptGravatar Yann E. MORIN2014-07-031-0/+21
| | | | | | | | | Maintaining the download helpers in the Makefile has proved to be a bit complex, so move it to a shell script. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* pkg-infra: move the hg download helper to a scriptGravatar Yann E. MORIN2014-07-021-0/+25
| | | | | | | | | | | | Maintaining the download helpers in the Makefile has proved to be a bit complex, so move it to a shell script. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Tested-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> [tested a particular scenario that used to fail, when the 'hg archive' step is interrupted, now working fine] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>