summaryrefslogtreecommitdiff
path: root/support
AgeCommit message (Collapse)Author
2019-02-06testing/tests/download: test git submodulesRicardo Martincoski
Add two submodules as static repos, add a branch to the main static repo and check on the git refs test case the download of a git package: - repo with submodule but without support in the package; - repo with recursive submodules with support in the package. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br> Cc: Arnout Vandecappelle <arnout@mind.be> [Arnout: remove handling of inconsistent tarball hashes - that's an actual bug that should be fixed] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-02-05support/testing: add docker / docker-compose testsPeter Korsgaard
Build for x86-64 as public containers in general are only available for x86-64. Docker needs a number of kernel options enabled, so use a custom kernel config based on the qemu one. Docker needs entropy at startup, so enable the virtio-rng-pci device to expose entropy to the guest. The default RAM amount (128M) is not enough to run docker / docker-compose, so bump to 512MB. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Reviewed-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-05support/download/scp: fix download with scheme prefix 'scp://'Thomas De Schampheleire
The scp download helper is broken when the server URL starts with 'scp://'. Such prefix is used in two situations: 1. to let FOO_SITE point to an scp location without explicitly having to set 'FOO_SITE_METHOD = scp' 2. when BR2_PRIMARY_SITE or BR2_BACKUP_SITE points to an scp location. In this case, there is no equivalent of 'SITE_METHOD'. Strip out the scheme prefix, similarly to how the 'file' download helper does it. That helper has the same cases as above. Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-05support/testing: test_dropbear.py: drop ssh port forward to the hostPeter Korsgaard
It is not used and may conflict with other services running on port 2222 on the host machine. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-05support/testing: test_dropbear.py: add test for ssh connection to localhostPeter Korsgaard
Use sshpass to pass the password on the command line. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-05support/testing: test_dropbear.py: use a constant for the passwordPeter Korsgaard
The password is used in multiple places, so add a constant for it instead of hardcoding it multiple times. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-05testing/tests/download: test git branchRicardo Martincoski
Add a branch to the static repo and check on the git refs test case the download of a git package: - with a sha1 reachable by a branch name, but not pointed by it, as version. This is the most common use case for git refs in the tree; - with a partial sha1 of a commit reachable by a branch as version; - with a sha1 of the commit head of a branch as version; - with a partial sha1 of the commit head of a branch as version; Enforce the download always occurs by removing the BR2_DL_DIR used for the tarballs generated by the git download infra. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br> Cc: Arnout Vandecappelle <arnout@mind.be> Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-02-04support/scripts/setlocalversion: ignore user settings for MercurialThomas De Schampheleire
setlocalversion will use 'hg id' to determine whether or not the current revision is tagged. If there is no tag, the Mercurial revision is printed, otherwise nothing is printed. The problem is that the user may have custom configuration settings (in their ~/.hgrc file or similar) that changes the output of 'hg id' in a way that the script does not expect. In such cases, the Mercurial revision may not be printed or printed incorrectly. It is good practice to ignore the user environment when calling Mercurial commands from a well-defined script, by setting the environment variable HGRCPATH to the empty string. See also 'hg help environment'. In the particular case of Nokia, a custom extension adds dynamic tags in the repository, i.e. tags that are stored in a file external to the repository and only visible when the extension is active. These tags should not influence the behavior of setlocalversion as they are not official Buildroot tags, i.e. even if a revision is tagged, the Mercurial revision should still be printed. Note that this still does not solve the problem where an organization adds _real_ tags in their Buildroot repository. For example, there might be a moving tag 'last-validated' or tags indicating in which product release that Buildroot revision was used. In these cases, setlocalversion will still not behave as expected, i.e. show the Mercurial revision. Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-02-04support/scripts/setlocalversion: fix detection of hg revision when _not_ on ↵Thomas De Schampheleire
branch 'default' When Buildroot is stored in a Mercurial repository on a branch other than 'default' ('master' in git terms), setlocalversion (used to populate /etc/os-release) will incorrectly think that this is a tagged version and will NOT print out the revision hash. This is due to the fact that the output of 'hg id' is assumed to be "<revision> <tags-if-any>" but when on a branch it actually is: "<revision> (<branch>) <tags-if-any>" To let setlocalversion receive the output it expects, explicitly ask 'hg id' to retrieve only the revision hash and any tags, ommitting any branch information. Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-02-04testing/tests/download: test case for git refsRicardo Martincoski
All upcoming tests for git refs will rely on the return code of make to determine whether a git ref can be downloaded or not and also to determine whether the downloaded content is correct (all of this taking advantage of the check-hash mechanism already in place for git packages). So to avoid false results i.e. in the case the check-hash mechanism become broken in the master branch, add some sanity checks before the actual test of download git refs. Add the minimum test case for git refs containing only sanity checks. Reuse the commit in the static repo. Add a br2-external with two packages to check that: - trying to download an invalid sha1 generates an error; - downloading a valid sha1 that contains unexpected content generates an error. In order to ease the maintenance and review, each upcoming patch adding checks to this test case will add at same time the commits to the static repo, the equivalent packages to the br2-external and code to the test case. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br> Cc: Arnout Vandecappelle <arnout@mind.be> Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-02-04support/testing/tests/download/gitremote: remove trailing whitespaceThomas Petazzoni
Fixes the following flake8 warnings: support/testing/tests/download/gitremote.py:29:67: W291 trailing whitespace support/testing/tests/download/gitremote.py:30:60: W291 trailing whitespace Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-02-04testing/tests/download: add git hash testRicardo Martincoski
Add one test case to ensure the hash is checked for git packages: - correct hash; - wrong hash; - no hash file. Add required infra: - a GitRemote class, that can start a git server in the host machine to emulate a remote git server under the control of the test; - a new base class, called GitTestBase, that inherits from BRTest and must be subclassed by all git test cases. Its setUp() method takes care of configuring the build with a br2-external, avoiding to hit http://sources.buildroot.net by using an empty BR2_BACKUP_SITE. It also avoids downloading not pre-installed dependencies (i.e. lzip) every time by calling 'make dependencies' using the common dl directory, and it instantiates the GitRemote object. Besides the Python scripts, add some fixtures used during the tests: - a br2-external (git-hash) with one package for each part of the test case; - a static git bare repo (repo.git) to be served using GitRemote class. Neither the br2-external nor the check hash functionalities are the subject of these tests per se, so for simplicity limit the check to the error codes and don't look for the messages in the log. Thanks to Arnout for the hint about how to add a bare repo to test. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br> Cc: Arnout Vandecappelle <arnout@mind.be> Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com> [Arnout: split long line; reorder imports to satisfy flake8] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-02-04infra: add force build flag for host dependenciesBryce Ferguson
This commit adds a config option which will force buildroot to build all host dependencies even if they are already present on the host system. This may be a desirable option if different hosts are used to build the same source. In this case, some packages will be built on one host that are not built on another. This is problematic if build source archives are cached afterwards for offline builds. Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Bryce Ferguson <bryce.ferguson@rockwellcollins.com> Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com> [Peter: reword, drop exit 1, reshuffle] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-02-04support/scripts/graph-build-time: replace confusing colorsThomas De Schampheleire
The color for 'extract' is very similar to the one for 'install-images'. Both are cyan-like. Replace the former by a pale blue to make all colors sufficiently distinct. Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-02-04support/scripts/graph-build-time: add download timesMathias De Mare
Total build time also involves download. Getting a visibility on the impact of that step can be important for users/admins, e.g. to evaluate different methods of BR2_PRIMARY_SITE. Colors used are some kind of purple (primary scheme) and light orange (alternate scheme). Signed-off-by: Mathias De Maré <mathias.de_mare@nokia.com> [ThomasDS: rebase and update colors to avoid confusion] Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-02-04dependencies.sh: Check for a host python version >= 2.7Adam Duskett
Older distributions such as CentOS6 come with python2.6, which causes build failures in packages such as host-libglib2 because they require python2.7 and above. host-libglib2 will produce the error message: /bin/sh: python2.7: command not found Python2.7 is a hard-coded value in configure.ac. If one changes the value to just "python," the following stack trace is produced: Traceback (most recent call last): File "./gdbus-2.0/codegen/gdbus-codegen.in", line 55, in <module> self.outfile.write(LICENSE_STR.format(config.VERSION)) ValueError : sys.exit(codegen_main.codegen_main()) zero length field name in format Instead of supporting an ancient version of Python that had its support ended in October os 2013, it would be more pragmatic only to support Python2.7 and above. Luckily; CentOS6 has the centos-release-scl repository, which allows users to install python2.7, and Debian 8 comes with Python2.7 already, making this patch relatively low impact. Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Peter: only look at major.minor to handle x.y.z with z < 10] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-01-29support/testing/infra/basetest: support br2-externalRicardo Martincoski
Some upcoming test cases can use one or more br2-external trees as fixtures that provide packages used only in runtime tests. Add support for br2-external into the BRTest class. Any test case can then provide a list of paths for being used as br2-external trees during the build of the image to test. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Daniel J. Leach <dleach@belcan.com> Signed-off-by: Adam Duskett <Aduskett@gmail.com> Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com> [Thomas: use named argument for make_extra_opts.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-01-29support/testing/infra/builder: configure and build with make target and ↵Ricardo Martincoski
environment Make the builder able to call 'VAR1=1 make VAR2=2 target'. Allow sending extra parameters to be added to the end of make command line. Uses for these purposes: - to configure a br2-external, using the 'BR2_EXTERNAL="dir" variable. - to specify a make target, such as 'foo-source.' Allow adding variables to the environment when calling make. These added variables allow a user to override default values from BuildRoot, such as 'BR2_DL_DIR="dl"'. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Daniel J. Leach <dleach@belcan.com> Signed-off-by: Adam Duskett <Aduskett@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-01-28support/testing: add atop testRicardo Martincoski
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-01-17support/scripts/check-host-rpath: document existing functionsThomas Petazzoni
As suggested by Arnout Vandecappelle, let's document the elf_needs_rpath() and check_elf_has_rpath() functions, before we make them a bit more complicated with per-package directory support. Suggested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-01-16infra/pkg-cmake: use an obviously-invalid value for CMAKE_SYSTEM_VERSIONYann E. MORIN
In 36568732e4, we expanded toolchain.cmake to also define the value for CMAKE_SYSTEM_VERSION, as the cmake documentation states that it must be manually defined when doing cross-compilation [0]: When the CMAKE_SYSTEM_NAME variable is set explicitly to enable cross compiling then the value of CMAKE_SYSTEM_VERSION must also be set explicitly to specify the target system version. However, the fix in 36568732e4 uses the version of the kernel headers, assuming that would be the oldest kernel we could run on. Yet, this is not the case, because glibc (for example) has fallbacks to support running on kernels older than the headers it was built against. The cmake official wiki [1] additionally states: * CMAKE_SYSTEM_VERSION : optional, version of your target system, not used very much. Folllowed a little bit below, by: * CMAKE_TOOLCHAIN_FILE : absolute or relative path to a cmake script which sets up all the toolchain related variables mentioned above For instance for crosscompiling from Linux to Embedded Linux on PowerPC this file could look like this: # this one is important SET(CMAKE_SYSTEM_NAME Linux) #this one not so much SET(CMAKE_SYSTEM_VERSION 1) [...] Furthermore, using the kernel headers version can be a bit misleading (as it really looks like is is the correct version to use when it is not), while it is obvious that 1 is not really the output of `uname -r` and thus is definitely not misleading. Finally, random searches [2] about CMAKE_SYSTEM_VERSION, mostly only turns up issues related with Windows, Mac-OS, and to a lesser extent, Android (where it is forcibly set to 1), with issues realted to running under just Linux (as opposed to Adnroid) mostly non-existent. Consequently, we revert to using the value that is suggested in the cmake WiKi, i.e. 1, and which is basically what we also used as a workaround in the azure-iot-sdk-c paclkage up until d300b1d3b1. A case were we will need to have a real kernel version, is if we one day have a cmake-based pacakge that builds and installs a kernel module [3], because it will need the _running_ kernel version to install it in /lib/modules/VERSION/, but in that case it will anyway most probably not be the headers version. [0] https://cmake.org/cmake/help/v3.8/variable/CMAKE_SYSTEM_VERSION.html [1] https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/CrossCompiling [2] https://duckduckgo.com/?q=CMAKE_SYSTEM_VERSION [3] https://stackoverflow.com/questions/38205745/cmake-system-version-not-updated-for-new-kernel Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Samuel Martin <s.martin49@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-01-12package/pkg-cmake: add CMAKE_SYSTEM_VERSION to toolchainfile.cmakeArnout Vandecappelle (Essensium/Mind)
Quoting the CMake documentation: When the CMAKE_SYSTEM_NAME variable is set explicitly to enable cross compiling then the value of CMAKE_SYSTEM_VERSION must also be set explicitly to specify the target system version. Thus, we should also set CMAKE_SYSTEM_VERSION in toolchainfile.cmake. It is supposed to be set to the value of `uname -r` on the target. We don't have that exact value available (unless we build the kernel), but the value of BR2_TOOLCHAIN_HEADERS_AT_LEAST contains the (minimum) version of the kernel it will run on, so it should be OK for all practical purposes. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-01-10support/config-fragments: add RISC-V 32-bit to autobuild configsMark Corbin
Add a minimal RISC-V 32-bit autobuild configuration for the internal toolchain with glibc. Signed-off-by: Mark Corbin <mark.corbin@embecosm.com> Reviewed-by: Matt Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-01-06arch: add support for RISC-V 32-bit (riscv32) architectureMark Corbin
This enables a riscv32 system to be built with a Buildroot generated toolchain (gcc >= 7.x, binutils >= 2.30, glibc only). This requires a custom version of glibc 2.26 from the riscv-glibc repository. Note that there are no tags in this repository, so the glibc version just consists of the 40 character commit id string. Thanks to Fabrice Bellard for pointing me towards the 32-bit glibc repository and for providing the necessary patch to get it to build. Signed-off-by: Mark Corbin <mark.corbin@embecosm.com> Reviewed-by: Matt Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-01-03support/download: fix scp downloadsThomas De Schampheleire
scp download is broken, because scp is called without filename argument and only the server is specified. The call is: scp <server> <outputfile> but should be: scp <server>/<filename> <outputfile> Instead of assuming '-u' lists a full URL including filename (which it is not), align with the wget helper where -u is the server URL and -f gives the filename. With this commit, an scp download can work if FOO_SITE_METHOD is explicitly set to 'scp' and the server does not have a scheme prefix 'scp://'. The next commit will handle the case where a scheme prefix is present. Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> [Thomas: s/URL/URI/, as noticed by Yann.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-09Makefile: offload .gitlab-ci.yml generationRicardo Martincoski
GitLab has severe limitations imposed to triggers. Using a variable in a regexp is not allowed: | only: | - /-$CI_JOB_NAME$/ | - /-\$CI_JOB_NAME$/ | - /-%CI_JOB_NAME%$/ Using the key 'variables' always lead to an AND with 'refs', so: | only: | refs: | - branches | - tags | variables: | - $CI_JOB_NAME == $CI_COMMIT_REF_NAME would make the push of a tag not to trigger all jobs anymore. Inheritance is used only for the second level of keys, so: |.runtime_test: &runtime_test | only: | - tags |tests.package.test_python_txaio.TestPythonPy2Txaio: | <<: *runtime_test | only: | - /-TestPythonPy2Txaio$/ would override the entire key 'only', making the push of a tag not to trigger all jobs anymore. So, in order to have a trigger per job and still allow the push of a tag to trigger all jobs (all this in a follow up patch), the regexp for each job must be hardcoded in the .gitlab-ci.yml and also the inherited values for key 'only' must be repeated for every job. This is not a big issue, .gitlab-ci.yml is already automatically generated from a template and there will be no need to hand-editing it when jobs are added or removed. Since the logic to generate the yaml file from the template will become more complex, move the commands from the main Makefile to a script. Using Python or other advanced scripting language for that script would be the most versatile solution, but that would bring another dependency on the host machine, pyyaml if Python is used. So every developer that needs to run 'make .gitlab-ci.yml' and also the docker image used in the GitLab pipelines would need to have pyyaml pre-installed. Instead of adding the mentioned dependency, keep using a bash script. While moving the commands to the script: - mimic the behavior of the previous make target and fail on any command that fails, by using 'set -e'; - break the original lines in one command per line, making the diff for any patch to be applied to this file to look nicer; - keep the script as simple as possible, without functions, just a script that executes from the top to bottom; - do not perform validations on the input parameters, any command that fails already makes the script to fail; - do not add an usage message, the script is not intended to be called directly. This patch does not change functionality. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> [Thomas: make the script output on stdout rather than take the output file name as second argument.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-09support/download/dl-wrapper: fix urlencode option never being sent to backendDamien Thébault
Since commit 38de434123 ("download: fix file:// BR2_PRIMARY_SITE (download cache)"), the urlencode option is no longer passed to the download backend, because we use ${backend} instead of ${backend_urlencode}. We must get the urlencode information from backend_urlencode. Signed-off-by: Damien Thébault <damien.thebault@vitec.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> [Thomas: rework commit log] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-08support/testing: drop docstring in TestPythonPackageBase::test_run()Thomas Petazzoni
Having a docstring in the test_run() method clutters the "run-tests -l" output: test_run (tests.package.test_python_crossbar.TestPythonPy3Crossbar) Test a python package. ... ok [...] test_run (tests.package.test_python_pexpect.TestPythonPy2Pexpect) Test a python package. ... ok test_run (tests.package.test_python_pexpect.TestPythonPy3Pexpect) Test a python package. ... ok test_run (tests.package.test_python_twisted.TestPythonPy2Twisted) Test a python package. ... ok test_run (tests.package.test_python_twisted.TestPythonPy3Twisted) Test a python package. ... ok test_run (tests.package.test_python_pynacl.TestPythonPy2Pynacl) Test a python package. ... ok test_run (tests.package.test_python_pynacl.TestPythonPy3Pynacl) Test a python package. ... ok So let's simply drop this docstring that is not particularly useful. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-12-06support/testing: add prosody testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-06support/testing: add lua testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-06support/testing: add perl-io-socket-ssl testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-06support/testing: add perl-io-socket-multicast testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-06support/testing: add perl-encode-decode testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-06support/testing: add perl-dbd-mysql testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-06support/testing/tests/packages/test_perl_*: regenerationFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-06support/scripts/graph-depends: introduce MANDATORY_DEPS arrayThomas Petazzoni
This array will be re-used in another function in a follow-up commit, so it makes sense to factor it out. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-06support/scripts/graph-depends: use proper rootpkg in remove_extra_deps()Thomas Petazzoni
The remove_extra_deps() function removes dependencies that we are not interested in seeing in the dependency graph. It does this for all packages, except the 'all' package, which on full dependency graphs is the root of the tree. However, this doesn't take into account package-specific dependency graphs (i.e make <pkg>-graph-depends) where the root is not 'all', but '<pkg>'. Due to this, dependencies on "mandatory deps" were not visible at all, i.e the toolchain package (and its dependencies) and the skeleton package (and its dependencies) were not displayed in package-specific dependency graphs. To fix this, we use the existing rootpkg variable instead of hardcoding 'all'. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-06support/graph-depends: drop legacy target-exceptionsYann E. MORIN
Currently, we avoid drawing the dependencies that we call 'target exceptions', becasue they initially were returned by 'show-targets', when they in fact were not really packages and thus should not be on the graph. However, those two exceptions have no longer been reported in the output of show-targets since we merged very old initial top-level parallel build way back in 2014, with commit a24877586a56 (Makefile: add support for top-level parallel make), where they had been converted into purely internal rules. 4 years have passed, we can now drop those exceptions from the graph-depends script. This concludes the cleanup initiated three years ago with commit 0b32791f0076 (graph-depends: remove absent targets from TARGET_EXCEPTIONS). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-03support/testing: add perl-xml-libxml testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> [https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872335] Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-03support/testing: add perl-x10 testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> [https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872334] Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-03support/testing: add perl-mail-dkim testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> [https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872333] Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-03support/testing: add perl-libwww-perl testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> [https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872332] Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-03support/testing: add perl-gdgraph testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> [https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872330] Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-03support/testing: add perl-class-load testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> [https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872329] Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-03support/testing: add perl testFrancois Perrad
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-02Merge branch 'next'Peter Korsgaard
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-12-01Update for 2018.11Peter Korsgaard
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-11-26boot/grub2: add option to install toolsErico Nunes
Add an option to install grub2 support tools to the target. In the context of Buildroot, some useful target tools provided are grub2-editenv, grub2-reboot, which provide means to manage the grub2, environment, boot order, and others. Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-11-26support/scripts/check-host-rpath: split condition on two statementsThomas Petazzoni
Inside the check_elf_has_rpath(), we check if the host binary has a correct RPATH, which should be either an absolute path to $(HOST_DIR)/lib, or a relative path using $ORIGIN. Those two conditions are checked in a single statements, but as we are going to add a third condition, let's split this up a bit: - If we have a RPATH to $(HOST_DIR)/lib -> we're good, return 0 - If we have a RPATH to $ORIGIN/../lib -> we're good, return 0 - Otherwise, we will exit the loop, and return 1 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-11-24support/dependencies: add a check for a suitable gzipYann E. MORIN
Recently, some hash mismatch have been reported, both by users as well as autobuilder failures, about tarballs generated from git repositories. This turned out to be caused by users having the 'gzip' command somehow aliased to 'pigz' (which stand for: parallel implementation of gzip, which takes advantage of multi-processor system to parallelise the compression). Unfortunately, the output of pigz-compressed archives differ from that of gzip (even though they *are* valid gzip-compressed streams). Add a dependency check that ensures that gzip is not pigz. If that is the case, define a conditional dependency to host-gzip, that is used as a download dependency for packages that will generate compressed files, i.e. cvs, git, and svn. Fixes: http://autobuild.buildroot.org/results/330/3308271fc641cadb59dbf1b5ee529a84f79e6d5c/ Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Marcin Niestrój <m.niestroj@grinn-global.com> Cc: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>