summaryrefslogtreecommitdiffstats
path: root/support/scripts
Commit message (Collapse)AuthorAgeFilesLines
* support/scripts: drop ancient build-ext3-img scriptPeter Korsgaard2016-02-011-152/+0
| | | | | | | It hasn't been updated since it was added in 2008, and nowadays things kind of stuff should be handled with genimage. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* support/scripts/apply-patches.sh: fix whitespaceArnout Vandecappelle2016-01-131-25/+25
| | | | | | | | | The apply-patches.sh script was using a mix of tabs and spaces, and some three-space indentation. Normalize everything to four-space indentation. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* support/scripts/size-stats: fix copy/paste error in ArgumentParserThomas Petazzoni2016-01-131-1/+1
| | | | | | | | | | | A copy/paste error in the ArgumentParser() constructor call disclosed the fact that the author of the script has shamefully based his work on the existing graph-build-time script. This commit fixes this mistake, therefore hiding in a better way how size-stats was vampirized from graph-build-time. Reported-by: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* graph-depends: correct is_dep() commentPeter Korsgaard2015-12-291-1/+1
| | | | | | The uncached variant is called is_dep_uncached(), not is_dep_full(). Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* graph-depends: optimize remove_transitive_deps()Thomas Petazzoni2015-12-291-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For large configurations, the execution time of remove_transitive_deps() becomes really high, due to the number of nested loops + the is_dep() function being recursive. For an allyespackageconfig, the remove_extra_deps() function takes 334 seconds to execute, and the overall time to generate the .dot file is 6 minutes and 39 seconds. Here is a timing of the different graph-depends steps and the overall execution time: Getting dependencies: 42.5735 seconds Turn deps into a dict: 0.0023 seconds Remove extra deps: 334.1542 seconds Get version: 22.4919 seconds Generate .dot: 0.0197 seconds real 6m39.289s user 6m16.644s sys 0m8.792s By adding a very simple cache for the results of is_dep(), we bring down the execution time of the "Remove extra deps" step from 334 seconds to just 4 seconds, reducing the overall execution time to 1 minutes and 10 seconds: Getting dependencies: 42.9546 seconds Turn deps into a dict: 0.0025 seconds Remove extra deps: 4.9643 seconds Get version: 22.1865 seconds Generate .dot: 0.0207 seconds real 1m10.201s user 0m47.716s sys 0m7.948s Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com> [yann.morin.1998@free.fr: - rename is_dep() to is_dep_uncached(), keep existig code as-is - add is_dep() as a cached-version of is_dep_uncached() - use constructs more conform with 2to3 - use exceptions (EAFP) rather than check-before-use (LBYL) to be more pythonist; that even decreases the duration yet a little bit more! ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
* apply-patches: only use first field of line for series fileRyan Barnett2015-12-121-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | A series file for quilt has a valid syntax of: fixes/autoconf.diff -p1 fixes/doc-html-local-css.diff -p1 fixes/gnu-inline.diff -p1 However, with the current way that a series file is handled, it will error out because the -p1 is tried as a file. This is because in the for loop that iterates the files, we only look for comment lines. Then each line is used within a bash for loop which uses spaces a delimiter. In order to fix this, we should only use the string that comes before a space in the series file. Note that the format allows for any arbitrary depth to the -pN field. But since we'll have only one package with -pN fields, and all will be -p1, we for now always assume -p1. This will have to be fixed whenever we get a package with other values. Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com> [yann.morin.1998@free.fr: expand comment about the format of a series file and how we interpret it] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> CC: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/check-host-rpath: remove trailing '/' in host dirYann E. MORIN2015-12-021-1/+1
| | | | | | | | | | | | | | | | | Despite the comment saying so, the trailing '/' in the host directory is not removed. Note however that it is properly removed from extracted RPATH tags. This is not visible when the host directory is our default $(O)/host location, but breaks for user-supplied external host directory, when the user leaves a trailing slash in the path. Fix that. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* core: check host executables have appropriate RPATHYann E. MORIN2015-11-181-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we build our host programs, and they depend on a host library we also build, we want to ensure that program actually uses that library at runtime, and not the one from the system. We currently ensure that in two ways: - we add a RPATH tag that points to our host library directory, - we export LD_LIBRARY_PATH to point to that same directory. With these two in place, we're pretty much confident that our host libraries will be used by our host programs. However, it turns our that not all the host programs we build end up with an RPATH tag: - some packages do not use our $(HOST_LDFLAGS) - some packages' build system are oblivious to those LDFLAGS In this case, there are two situations: - the program is not linked to one of our host libraries: it in fact does not need an RPATH tag [0] - the program actually uses one of our host libraries: in that case it should have had an RPATH tag pointing to the host directory. For libraries, they only need an RPATH if they depend on another library that is not installed in the standard library path. However, any system library will already be in the standard library path, and any library we install ourselves is in $(HOST_DIR)/usr/lib so already in RPATH. We add a new support script that checks that all ELF executables have a proper DT_RPATH (or DT_RUNPATH) tag when they link to our host libraries, and reports those file that are missing an RPATH. If a file missing an RPATH is an executable, the script aborts; if only libraries are are missing an RPATH, the script does not abort. [0] Except if it were to dlopen() it, of course, but the only program I'm aware of that does that is openssl, and it has a correct RPATH tag. [Peter: reworded as suggested by Arnout, fix HOT_DIR typo in comment] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Peter Korsgaard <jacmet@uclibc.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* apply-patches.sh: use everything from the series fileArnout Vandecappelle2015-11-171-25/+30
| | | | | | | | | | | | When a series file exists, we should use every file mentioned in it, not just the ones ending with .patch or .diff. Also, there's no need to uncompress anything if it's mentioned in a series file (the tools that manipulate series files don't support compressed patches). Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Doug Kehn <rdkehn@yahoo.com> Tested-by: Doug Kehn <rdkehn@yahoo.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Makefile: Remove 'quiet' variableCédric Marie2015-10-291-3/+1
| | | | | | | | | | | | | | | | | 'quiet' variable is set and exported, but it is not used. We can safely remove it. This variable is inherited from the Makefile of the Linux kernel, and is not used in Buildroot. In support/scripts/mkmakefile, 'quiet' value is checked, but the test is always true ('quiet' is never set to silent_), so the test can be removed as well. Signed-off-by: Cédric Marie <cedric.marie@openmailbox.org> Reviewed-by: "James Knight" <james.d.knight@live.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* scancpan: README as default license fileFrancois Perrad2015-10-261-0/+3
| | | | | | | add this heuristic when no specific license file is found Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* support/mkusers: allow comments in users tablesYann E. MORIN2015-10-181-19/+26
| | | | | | | | | | | | | | | | | | | | The format of the users table files is non trivial, so it is sometimes handy to add comments explaining the syntax (or simply the reason for the user) inline in the files. Ignore empty lines and comment lines prefixed with '#' similar to shell or makedevs files. Packages that defined no user (the vast majority) would cause an empty line to be present in the internal users table, hence the reason we skipped empty usernames. Now that we ignore empty lines, we no longer need to check for empty usernames. Reported-by: Peter Korsgaard <jacmet@uclibc.org> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts: add size-stats scriptThomas Petazzoni2015-10-171-0/+217
| | | | | | | | | | | | | | | This new script uses the data collected by the step_pkg_size instrumentation hook to generate a pie chart of the size contribution of each package to the target root filesystem, and two CSV files with statistics about the package size and file size. To achieve this, it looks at each file in $(TARGET_DIR), and using the packages-file-list.txt information collected by the step_pkg_size hook, it determines to which package the file belongs. It is therefore able to give the size installed by each package. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* pkg-perl: refactor perl infrastructureFrancois Perrad2015-10-021-6/+4
| | | | | | | | the perl dependency of cpan module is no longer generated by scancpan, but added at the infrastructure level Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* scancpan: fix detection of native moduleFrancois Perrad2015-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | When a module is native or depends of a native module, it must be disabled for static builds via its Config.in We detect native modules by looking at the filenames listed in the MANIFEST. If there is a file which looks like it contains code that much be compiled (e.g. .c, .h and so on...), then we exclude that module (and its dependencies) from static builds. That's what we tried to do so far, but failed when there was a comment on the same line as the filename in the manifest, like so: foo-bar.c # Bla bla bla Fix that by detecting either endof-line (as currently done) or end-of-string. For an example of failed build of perl-html-parser, see http://autobuild.buildroot.net/results/128/128671dfa23d843698a63220c2fac1f44e1d5845/ [Thomas: use better commit log proposed by Yann E. Morin.] Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* scancpan: remove hack for Module-BuildFrancois Perrad2015-09-061-5/+0
| | | | | | | with Perl 5.22, Module-Build is no longer a core module Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* perl: bump to version 5.22.0Francois Perrad2015-09-061-1/+1
| | | | | Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* docs/manual: fix generation of deprecated listYann E. MORIN2015-08-021-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 5f117c3 (webkit: mark as deprecated), generation of the manual has been broken. This is because that commit added a deprecated dependency on a prompt-less symbol, BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS. However, the generation script does not check that a symbol has a prompt before it attempts to add it to the deprecated list. So, we end up with traceback: Writing the virtual-packages list in: /home/ymorin/dev/buildroot/O/build/docs/manual/virtual-package-list.txt Traceback (most recent call last): File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 510, in <module> buildroot.print_list(list_name, dry_run=args.dry_run, output=output) File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 466, in print_list item_label=item_label) File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 126, in format_asciidoc_table enable_choice=enable_choice)) File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 350, in _format_symbol_prompt_location return "| {0:<40} <| {1}\n".format(get_label_func(symbol), File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 458, in <lambda> get_label = lambda x: self._get_symbol_label(x, mark_depr) File "/home/ymorin/dev/buildroot/buildroot/support/scripts/gen-manual-lists.py", line 313, in _get_symbol_label label = symbol.get_prompts()[0] IndexError: list index out of range However, we can not use the existing _is_deprecated filter function to filter out symbols without prompts, because this function is also used to add a '(deprecated)' tag in the man package list (not that it would not work, but it does not seem /right/). Furthermore, it could also be used (but is currently not) to build the list of virtual packages, which do not have a prompt. So, introduce a filter function, aptly named _is_deprecated_feature(), to be used as the filter to find deprecated feature, and keep the existing _is_deprecated() that can be used in any context to decide whether a symbol is deprecated or not. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* scancpan: adjust package nameFrancois Perrad2015-07-231-0/+1
| | | | | | | | | underscore is not allowed in BR package name. this problem was found with the Perl module DB_File which must give the BR package perl-db-file. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* core/out-of-tree: fix Makefile wrapperYann E. MORIN2015-07-161-1/+1
| | | | | | | | | | | | Commit 971faf8 (Makefile: fix out-of-tree builds with multiple targets with 'all') renamed the default target to '_all' to avoid name-clashing. In doing so, I forgot to also fix the instance in the .PHONY rule. Fix that now. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* graph-depends: Strip skeleton from dependencyMaxime Hadjinlian2015-07-141-4/+5
| | | | | | | | skeleton being a mandatory dependency, we don't want all our packages to have a link back to that node, the graph would be awful. Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* scripts: mkmakefile: set umask before calling BR's makefileGuido Martínez2015-07-131-1/+1
| | | | | | | | Small optimization so we don't have another 'make' level (caused by the umask fix) when running the generated makefile. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support: remove outdated note re. Python 3 supportUlf Magnusson2015-06-121-5/+0
| | | | | | | Kconfiglib now runs as either Python 2 or Python 3. Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support: get prompts via official Kconfiglib APIsUlf Magnusson2015-06-111-5/+5
| | | | | | | These weren't available when gen-manual-lists.py was first written. Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support: gen-manual-lists.py base directory simplificationUlf Magnusson2015-06-111-4/+2
| | | | | | | Buildroot doesn't use $srctree from what I could tell. Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support: update Kconfiglib to the latest versionUlf Magnusson2015-06-112-1143/+912
| | | | | | | | | | | | | | | | | | | | | | | | Corresponds to a95f477 in https://github.com/ulfalizer/Kconfiglib. Fixes: - Unset user values when loading a zero-byte .config. (5e54e2c) - Ignore indented .config assignments. (f8a7510) - Do not require $srctree to be set for non-kernel projects. (d56e9c1) - Allow digits in $-references to symbols. (ecacdd5) - Add Symbol.is_allnoconfig_y(). (deaa624) - Fix small output issue with Comments inside Choices. Also adds Python 3 support and has a lot of internal cleanup and optimization. Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* scripts/mkusers: allow users with no password value setJames Knight2015-06-091-0/+3
| | | | | | | | | | | | | | | | | | The following allows a user definition to specify that a created user entry should not have a password value set. Original implementation allowed a user definition to provide a password value of "=" (no quotes) to generate a crypt-encoded empty string value. In some cases, it may be desired to have no value specified for a user's password. By using a value "-" for a password, no value will be set in the shadow value. An example when this can be used is when logging into a terminal. Logging into a session with an encoded empty password will prompt a user to enter a password since it does not know the password is empty. If the password field blank, a login session will not prompt for a password. Signed-off-by: James Knight <james.knight@rockwellcollins.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: rename TARGETS to PACKAGESThomas Petazzoni2015-04-141-1/+1
| | | | | | | | | | For clarity, this commit renames the TARGETS variable to the more meaningful PACKAGES variable. Indeed, only packages (handled by one of the package infrastructures) should be listed in this variable, and not other random non-package targets. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* Fix typos in comment blocksMasahiro Yamada2015-04-081-1/+1
| | | | | | | | | | | [Thomas: fix issues noticed by Arnout: - Rewrap the linux/Config.in paragraph - Revert the "is a toolchain dependency" -> "has a toolchain dependency" change from pkg-generic.mk, as the original was correct.] Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/graph-depends: allow excluding virtual packagesYann E. MORIN2015-04-011-0/+4
| | | | | | | | | Like for --stop-on, make --exclude recognise the keyword 'virtual', to stop on virtual packages (as explained in the help...). Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/graph-depends: add option to completely exclude a packageYann E. MORIN2015-03-311-2/+15
| | | | | | | | | | Similar to --stop-on, but also omits the package from the graph. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Francois Perrad <fperrad@gmail.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/graph-depends: accepts globs to stop on packageYann E. MORIN2015-03-311-2/+5
| | | | | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Francois Perrad <fperrad@gmail.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/graph-depends: add option to stop on specific packagesYann E. MORIN2015-03-311-1/+13
| | | | | | | | | | | | | | Add a new option to graph-depends, that users can set to stop the graph on a specific (set of) package(s). This accepts any actual package name, or the 'virtual' keyword to stop on virtual packages. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Francois Perrad <fperrad@gmail.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/mkusers: enhance error messagesYann E. MORIN2015-03-291-8/+14
| | | | | | | | | | | The current error messages are a bit terse, and do not provide all the required information. Expand them to provide more context. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Tom Elliott <tommygunsster@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* graph-depends: remove absent targets from TARGET_EXCEPTIONSAlexey Brodkin2015-03-111-9/+0
| | | | | | | | | | | | | Most of targets listed in TARGET_EXCEPTIONS these days are long gone, so why still keep them? Most of those targets were removed in this commit: http://git.buildroot.net/buildroot/commit/?id=02b88600312554bf166f6cfd71f7f2ede783096a Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* graph-depends: display virtual package with italic styleFrancois Perrad2015-03-081-1/+29
| | | | | | | | | | virtual packages are found by their version, so we retrieve the version of all packages Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* pkg-stats: ignore linux-ext-fbtft.mk and doc-asciidoc.mkFabio Porcedda2015-02-151-0/+2
| | | | | Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* pkg-stats: add kconfig and rebar infrastructuresFabio Porcedda2015-02-151-0/+32
| | | | | Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Rename BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBSThomas Petazzoni2014-12-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed from "prefer static libraries when possible" to "use only static libraries". The former semantic didn't make much sense, since the user had absolutely no control/idea of which package would use static libraries, and which packages would not. Therefore, for quite some time, we have been starting to enforce that BR2_PREFER_STATIC_LIB should really build everything with static libraries. As a consequence, this patch renames BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS, and adjust the Config.in option accordingly. This also helps preparing the addition of other options to select shared, shared+static or just static. Note that we have verified that this commit can be reproduced by simply doing a global rename of BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* support/script/scancpan: remove duplicated dependencyFrancois Perrad2014-12-091-9/+9
| | | | | | | | | | | | | | Dependencies from metacpan comes as a list of modules which is transformed in a list of distribution for BR. Different modules could be included in the same distribution, so duplication is possible. This can for example be seen with the HTTP-Daemon module, which would get two times the dependencies on HTTP-Message without this commit. [Thomas: slightly extend commit log.] Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/script/scancpan: fix corelist checkFrancois Perrad2014-12-071-2/+2
| | | | | | | | | module could be removed of the core, so check if the module is currently in the core, but not if the module was once time included in the core. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/scripts/scancpan: generate hash fileFrancois Perrad2014-11-221-0/+26
| | | | | | | | | | | retrieve MD5 and SHA256 from metacpan.org, and store them in the hash file for each package. [Thomas: remove the odd indentation of the filename for the md5 hash lines in the hash file.] Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Change /bin/bash shebangs into /usr/bin/env bashBjørn Forsman2014-10-254-4/+4
| | | | | | | | | | | | | | | | | 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 usedFabio 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>
* scripts/mkusers: allow the creation of groups aloneGustavo 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 filesThomas 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 modulesLuca 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 selectionLuca 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>
* support/script/scancpan: add -test optionFrancois 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.1Francois 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>
OpenPOWER on IntegriCloud