summaryrefslogtreecommitdiffstats
path: root/support
Commit message (Collapse)AuthorAgeFilesLines
* support/scripts/pkg-stats: URL check using threadsMatt Weber2018-10-091-6/+19
| | | | | | | | | | | | | Adds a pool of worker threads to accelerate connection testing. ~7.5MB and 2% CPU per thread on a Intel i5-3230M CPU @ 2.60GHz. Runtime is ~3min in parallel vs ~15min. CC: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/scripts/pkg-stats: URL checking supportMatt Weber2018-10-091-0/+57
| | | | | | | | | | | | | | | | | | | - Adds support to check if a package has a URL and if that URL is valid by doing a header request. - Reports this information as part of the generated html output The URL data is currently gathered from the URL string provided in the Kconfig help sections for each package. This check helps ensure the URLs are valid and can be used for other scripting purposes as the product's home site/URL. CPE XML generation is an example of a case that could use this product URL as part of an automated update generation script. CC: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/kconfig: bump to kconfig from Linux 4.17-rc2Petr Vorel2018-09-2047-3099/+3455
| | | | | Signed-off-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/scripts/mkusers: preserve group membersJohan Oudinet2018-09-121-2/+11
| | | | | | | | | | | | When the function add_one_group is called on an existing group, make sure the members of this group are not removed in the process of deleting then re-adding the group. Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> [Thomas: add curly braces when referencing ${members}, as suggested by Yann.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* download/git: fix code-styleYann E. MORIN2018-09-101-1/+1
| | | | | | | | This file uses leading spaces, not TABs. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* dependencies: host-make version checkRomain Naour2018-09-082-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | The host make program is already checked by dependencies.sh but we want to check the version number even if Buildroot is able to use GNU make >= 3.81 but some packages may require a more recent version. For example, since version 2.28 [1], glibc requires GNU Make >= 4.0. For packages requiring make >= 4.0, the package makefile must use: <PKG>_DEPENDENCIES = $(BR2_MAKE_HOST_DEPENDENCY) ... <PKG>_MAKE = $(BR2_MAKE) BR2_MAKE1 is also available if needed. [1] https://www.sourceware.org/ml/libc-alpha/2018-08/msg00003.html Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Tested-by: Matt Weber <matthew.weber@rockwellcollins.com> [Thomas: remove extraction of "bugfix" part of the version, since it's not used anywhere.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* Merge branch 'next'Peter Korsgaard2018-09-073-47/+7
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * support/misc: updating Vagrantfile to ubuntu 18.04Angelo Compagnucci2018-08-131-1/+1
| | | | | | | | | | | | | | | | | | This patch updates the vagrant box to ubuntu bionic 64 and switches back to the official ubuntu image cause the issues with the official image are now solved. Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * support/testing/infra: rm extra log flush in builder.pyMatt Weber2018-08-111-1/+0
| | | | | | | | | | | | | | | | While integrating proxy support in builder.py, a log flush was left in the code. This commit cleans/removes that code. Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * support/testing: runtest proxy supportMatt Weber2018-08-101-0/+6
| | | | | | | | | | | | | | | | | | Allow builder.py to inherit the system proxy settings from the env if they are present. Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
| * support/download: remove help from wrapperYann E. MORIN2018-08-091-46/+1
| | | | | | | | | | | | | | | | | | | | The download wrapper is a purely internal helper, and is not supposed to be callable manually. No need to offer some help. Besides, the help text was way out-dated. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* | Update for 2018.08Peter Korsgaard2018-09-061-1/+1
| | | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | download: fix file:// BR2_PRIMARY_SITE (download cache)Hollis Blanchard2018-08-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wget is the only downloader currently usable with BR2_PRIMARY_SITE, and that doesn't work at all for file:// URLs. The symptoms are these: support/download/dl-wrapper -c '2.4.47' -d '/PATH/build/sw/source/attr' -D '/PATH/build/sw/source' -f 'attr-2.4.47.src.tar.gz' -H 'package/attr//attr.hash' -n 'attr-2.4.47' -N 'attr' -o '/PATH/build/sw/source/attr/attr-2.4.47.src.tar.gz' -u file\|urlencode+file:///NFS/buildroot_dl_cache/attr -u file\|urlencode+file:///NFS/buildroot_dl_cache -u http+http://download.savannah.gnu.org/releases/attr -u http\|urlencode+http://sources.buildroot.net/attr -u http\|urlencode+http://sources.buildroot.net -- file:///NFS/buildroot_dl_cache/attr/attr-2.4.47.src.tar.gz: Unsupported scheme `file'. ERROR: attr-2.4.47.src.tar.gz has wrong sha256 hash: ERROR: expected: 25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859 ERROR: got : e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ERROR: Incomplete download, or man-in-the-middle (MITM) attack In the case of custom Linux kernel versions, this is fatal, because there isn't necessarily a hash file to indicate that wget's empty tarball is wrong. This seems to have been broken by commit c8ef0c03b0b, because: 1. BR2_PRIMARY_SITE always appends "urlencode" (package/pkg-download.mk) 2. Anything with the "|urlencode" suffix in $uri will end up using wget due to the backend case wildcarding. 3. The wget backend rejects file:/// URLs ("unsupported scheme"), and we end up with an empty .tar.gz file in the downloads directory. Fix that by shell-extracting the backend name from the left of "|". I'm not positive if all URLs will have a "|", so this code only looks for a "|" left of the "+". Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* | support/dependencies: check for system-provided bison and flexYann E. MORIN2018-08-201-0/+10
| | | | | | | | | | | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* | support/testing: add test for file capabilitiesRicardo Martincoski2018-08-103-0/+55
|/ | | | | Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* support/misc/toolchainfile.cmake.in: use TARGET_LDFLAGS for shared and ↵Damien Thébault2018-07-191-0/+2
| | | | | | | | | | | | | | module libraries With cmake packages, we are only using TARGET_LDFLAGS for executables and not for shared libraries. This patch adds CMAKE_SHARED_LINKER_FLAGS and CMAKE_MODULE_LINKER_FLAGS to the cmake toolchain file so that buildroot TARGET_LDFLAGS are used for shared and module libraries. Signed-off-by: Damien Thébault <damien.thebault@vitec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/dependencies/dependencies.sh: add details for Redhat/FedoraDavid De Grave (Essensium/Mind)2018-07-021-0/+2
| | | | | | | | | Add the i686 package list to install when using pre-built 32 bits binaries with a redhat/fedora host distribution (glibc.i686 and zlib.i686). Signed-off-by: David De Grave (Essensium/Mind) <david.degrave@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/config-fragments/autobuild: update pre-built Buildroot toolchainsThomas Petazzoni2018-06-3028-28/+28
| | | | | | | | All pre-built Buildroot toolchains have been rebuilt with Buildroot 2018.05, so this commit updates the corresponding configuration fragments to make sure the autobuilders use the new toolchains. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/config-fragments/autobuild: add Linaro AArch64 BE supportOfer Heifetz2018-06-282-0/+4
| | | | | | Signed-off-by: Ofer Heifetz <oferh@marvell.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/docker: use the distro-provided flake8Yann E. MORIN2018-06-171-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we install flake8 and its dependencies via pip. We tried to be reproducible by pinning the version of those python packages, but we did forget quite a few of them, and thus some dependencies for flake8 are installed as uncontrolled versions. Furthermore, before we install flake8 and its dependencies, we forcibly update pip, setuptools, and wheels packages to their latest versions. This explicitly breaks reproducibility. While we could enforce a specific version of all those packages and still grab them from PyPI, we can simply grab them from the distribution-provided packages instead. Since we're using a pinned version of stretch, this already guarantees we'll reproducibly get the same versions over and over again. Besides, we just need to list flake8 as a package to install to automatically get all its dependencies (again, in a reproducible way). This has the slight unfortunate drawback of downgrading flake8 to version 3.2.1, from version 3.5.0, as well as downgrading a few of flake8's dependencies, as noticed by Ricardo: http://lists.busybox.net/pipermail/buildroot/2018-May/222376.html However, as Ricardo said, there isn't "any serious limitation of this old version, the release notes for a version in the between mentions 'Dramatically improve the performance' but we have a limited number of scripts and running on Gitlab for all of them still takes less than 5 minutes". Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Acked-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/docker: sort the list of installed packagesYann E. MORIN2018-06-171-6/+23
| | | | | | | | | | | | | | | As suggested in the docker best practices [0], order the package list alphabetically, and list only one package per line. This will be much usefull later, we need to update the list of installed packages, like adding new ones for example. [0] https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#sort-multi-line-arguments Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/testing: fix python syntaxYann E. MORIN2018-06-103-18/+18
| | | | | | | | | | | | Fix three issues with code style in our test infra: - 'print' is now a function, - exceptions need to be caught-assigned with the 'as' keyword, - old-style "%s"%() formatting is deprecated. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> [Thomas: drop indices in format strings.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* dependencies.sh: add perl autodie for whoisFabrice Fontaine2018-06-051-0/+4
| | | | | | | | | | Add dependency on perl autodie if whois package is selected Fixes: - http://autobuild.buildroot.net/results/4d2ca14580cbc73f94e86ee834fac6d2541298ec Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* dl-wrapper: Fix support for URIs containing '+'Robert Beckett2018-06-041-1/+1
| | | | | | | | | | | | | | | | | | | | | '+' is a valid character in a url. The current dl-wrapper gets the URI scheme by dropping everything after the last '+' character, with the intension of finding 'git' from e.g. 'git+https://uri'. If a uri has a '+' anywhere in it, it ends up using too much of the string as a scheme, and fails to match the handler properly. An example of where this form of URI is used is when using deploy tokens in gitlab. It uses a form like https://<username>:<password>@gitlab.com/<group>/<repo.git> where username for deploy token is of the form 'gitlab+deploy-token-<number>'. Use the %% operator to search backwards until the last '+' character when dropping the rest of the string as we know that the first '+' in the string should be the scheme. Signed-off-by: Robert Beckett <bbeckett@netvu.org.uk> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/docker: run apt-get update and apt-get install in two RUNsYann E. MORIN2018-06-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | In commit 7517aef4d (support/docker: limit the number of layers), we reduced the number of layers by coalescing multiple RUN commands into less commands. In doing so, we especially coalesced "apt-get update" with "apt-get install". However, the distribution we used is a pinned version of stretch, so we know that running apt-get update will always yield the same apt database. If we split the two apt-get commands, then we can re-use any local intermediate image when we need to update the list of packages to install; this helps quite a bit when testing the docker files over and over again, with just slight variants in the packages list. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Peter Korsgaard <peter@korsgaard.com> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* Merge branch 'next'Peter Korsgaard2018-06-021-6/+6
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * support/scripts/pkg-stats: use parenthesis for printMatt Weber2018-05-191-6/+6
| | | | | | | | | | | | | | | | | | Use Python 3 style print calls, in order to make pkg-stats Python 3 compliant. Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Reviewed-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* | Update for 2018.05Peter Korsgaard2018-06-011-1/+1
| | | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | download/cvs: add a 10 minute timeoutArnout Vandecappelle (Essensium/Mind)2018-05-311-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently, CVS servers can be deadlocked and in that case clients will retry connecting to them indefinitely. Cfr. http://autobuild.buildroot.net/results/23d/23d1034b33d0354de15de2ec4a8ccd0603e8db78/build-end.log Apparently, the sf.net CVS server got in such a deadlock on 2018-05-18, and almost 2 weeks later it is still not fixed. Instead of just hanging, we should fall back on BR2_SECONDARY_SITE. To achieve this, it's sufficient to add a timeout to the CVS command. The timeout value is of course arbitrary. However, we can assume that nobody will be putting large projects under CVS any more. So if the download takes more than 5 minutes, it's probably broken. Let's put the timeout at 10 minutes then. Fixes: http://autobuild.buildroot.net/results/db3/db33d4fa507fb3b4132423cd0a7e25a1fe6e4105 http://autobuild.buildroot.net/results/b6d/b6d927dcc73ac8d754422577dacefff4ff918a5c http://autobuild.buildroot.net/results/23d/23d1034b33d0354de15de2ec4a8ccd0603e8db78 http://autobuild.buildroot.net/results/127/1272a3aa3077e434c9805ec3034f35e6fcc330d4 Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | support/download/file: remove set -xAngelo Compagnucci2018-05-131-1/+0
| | | | | | | | | | | | Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* | support/download/file: fix file:// protocol handlingAngelo Compagnucci2018-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the rework of the download infrastructure, the "file" download helper gets passed an URL that starts with file://, but forgets to strip it before passing it to "cp", causing a failure as the "cp" program isn't prepared for file paths starting with file://. This is fixed by stripping the file:// at the beginning of the URL. In addition, the path passed to cp lacked a slash between the directory path and the filename part of the url. This is fixed by adding a slash at the appropriate places. Fixes the following build failure when the "file" download method is used: cp: cannot stat 'file:///home/angelo/DEV/TOOLCHAINSarmv7-eabihf--glibc--bleeding-edge-2017.11-1.tar.bz2': No such file or directory Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* | support/kconfig: Add missing target to README.buildrootPetr Vorel2018-05-131-0/+1
| | | | | | | | | | Signed-off-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* | support/dependencies: check that PATH does not contain CWDYann E. MORIN2018-05-091-36/+23
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | A person on IRC reported a build failure with the util-linux package, looking like this: for I in uname26 linux32 linux64 ; do \ cd /home/aep/consulting/chargery/tracker/output/target/usr/bin && ln -sf setarch $I ; \ done [...] /bin/sh: line 1: ./ln: cannot execute binary file: Exec format error /bin/sh: line 1: ./ln: cannot execute binary file: Exec format error /bin/sh: line 1: ./ln: cannot execute binary file: Exec format error The issue was an empty path in the PATH variable, which means "current working directory", causing a "ln" binary built by util-linux for the target to be used instead of the system-provided "ln". We already check a number of things in the PATH and LD_LIBRARY_PATH variables in support/dependencies/dependencies.sh, but we were not checking that PATH did not contain an empty path. This commit fixes that and takes this opportunity to simplify the test code for PATH and LD_LIBRARY_PATH. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> [Thomas: improve commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* download/git: always do full-cloneYann E. MORIN2018-05-011-21/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently attempt a shallow clone, as tentative to save bandwidth and download time. However, now that we keep the git tree as a cache, it may happen that we need to checkout an earlier commit, and that would not be present with a shallow clone. Furthermore, the shallow fetch is already really broken, and just happens to work by chance. Consider the following actions, which are basically what happens today: mkdir git git init git cd git git remote add origin https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch origin --depth 1 v4.17-rc1 if ! git fetch origin v4.17-rc1:v4.17-rc1 ; then echo "warning" fi git checkout v4.17-rc1 The checkout succeeds just because of the git-fetch in the if-condition, which is initially there to fetch the special refs from github PRs, or gerrit reviews. That fails, but we just print a warning. If we were to ever remove support for special refs, then the checkout would fail. The whole purpose of the git cache is to actually save bandwidth and download time, but in the long run. For one-offs, people would preferably use a wget download (e.g. with the github macro) instead of a git clone. We switch to always doing a full clone. It is more correct, and pays off in the long run... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* download/git: ensure we can checkout repos with submodule conversionsYann E. MORIN2018-05-011-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a git tree has had sub-dir <-> sub-module conversions, or has had submodules added or removed over the course of time, checking out a changeset across those conversions/additions/removals may leave untracked files, or may fail because of a conflict of type. So, before we checkout the new changeset, we forcibly remove the submodules. The new set of submodules, if any, will be restored later. Ideally, we would use a native git command: git submodule deinit --all. However, that was only introduced in git 1.8.3 which, while not being recent by modern standards, is still too old for some enterprise-grade distributions (RHEL6 only has git-1.7.1). So, instead, we just use git submodule foreach, to rm -rf the submodules directory. Again, we would ideally use 'cd $toplevel && rm -rf $path', but $toplevel was only introduced in git 1.7.2. $path has always been there. So, instead, we just cd back one level, and remove the basename of the directory. Eventually, we need to get rid of now-empty and untracked directories, that were parents of a removed submodule. For example. ./foo/bar/ was a submodule, so ./foo/bar/ was removed, which left ./foo/ around. Yet again, recent-ish git versions would have removed it during the forced checkout, but old-ish versions (e.g. 1.7.1) do not remove it with the forced checkout. Instead we rely on the already used forced-forced clean of directories, untracked, and ignored content, to really get rid of extra stuff we are not interested in. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> 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>
* download/git: ensure we checkout to a clean stateYann E. MORIN2018-05-011-1/+5
| | | | | | | | | | | | | | | | | | | | Force the checkout to ignore and throw away any local changes. This allows recovering from a previous partial checkout (e.g. killed by the user, or by a CI job...) git checkout -f has been supported since the inception of git, so we can use it without any second thought. Also do a forced-forced clean, to really get rid of all untracked stuff. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Arnout Vandecappelle <arnout@mind.be> 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>
* download/git: try to recover from utterly-broken repositoriesYann E. MORIN2018-05-011-3/+34
| | | | | | | | | | | | | | | | In some cases, the repository may be in a state we can't automatically recover from, especially since we must still support oldish git versions that do not provide the necessary commands or options thereof. As a last-ditch recovery, delete the repository and recreate the cache from scratch. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* download/git: quickly exit when the cset does not existYann E. MORIN2018-05-011-0/+7
| | | | | | | | | | | | | | | | | | | | | Check that the given cset is indeed something we can checkout. If not, then exit early. This will be useful when a later commit will trap any failing git command to try to recover the repository by doing a clone from scratch: when the cset is not a commit, it does not mean the repository is broken or what, and re-cloning from scratch would not help, so no need to trash a good cache. Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> 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>
* download/git: run all git commands in the current directoryYann E. MORIN2018-05-011-4/+4
| | | | | | | | | | | | | | That way, we can pushd earlier, which will help with last-ditch recovery in a followup commit. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> 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>
* download/git: add warning not to use our git cacheYann E. MORIN2018-05-011-0/+18
| | | | | | | | | | | | | | | | | | | | | | | We really want the user not to use our git cache manually, or their changes (committed or not) may eventually get lost. So, add a warning file, not unlike the one we put in the target/ directory, to warn the user not to use the git tree. Ideally, we would have carried this file in support/misc/, but the git backend does not have access to it: the working directory is somewhere unknown, and TOPDIR is not exported in the environment. So, we have to carry it in-line in the backend instead. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> 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>
* support/testing: set $USER in rust testsEric Le Bihan2018-04-291-0/+1
| | | | | | | | | | | When the run-time tests to build rust and rust-bin packages are run via Docker, the $USER environment variable is not set, which makes cargo fail when initializing the test project. So add it to make cargo happy. Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/scripts: drop xorg-release scriptThomas Petazzoni2018-04-271-180/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This script causes a large number of flake8 warnings, is rarely used (but even never used), and is going to be replaced at some point by the improved pkg-stats that will give details about the upstream version available for all packages, not just X.org packages. Therefore, let's drop the xorg-release script in order to silence all those flake8 warnings: support/scripts/xorg-release:36:1: E302 expected 2 blank lines, found 1 support/scripts/xorg-release:58:27: E201 whitespace after '{' support/scripts/xorg-release:58:44: E203 whitespace before ':' support/scripts/xorg-release:58:54: E202 whitespace before '}' support/scripts/xorg-release:63:1: E305 expected 2 blank lines after class or function definition, found 1 support/scripts/xorg-release:64:15: E261 at least two spaces before inline comment support/scripts/xorg-release:67:32: E261 at least two spaces before inline comment support/scripts/xorg-release:86:1: E302 expected 2 blank lines, found 1 support/scripts/xorg-release:95:1: E302 expected 2 blank lines, found 1 support/scripts/xorg-release:107:1: E302 expected 2 blank lines, found 1 support/scripts/xorg-release:115:20: W601 .has_key() is deprecated, use 'in' support/scripts/xorg-release:123:34: E201 whitespace after '{' support/scripts/xorg-release:124:46: E203 whitespace before ':' support/scripts/xorg-release:124:50: E202 whitespace before '}' support/scripts/xorg-release:127:1: E302 expected 2 blank lines, found 1 support/scripts/xorg-release:141:15: W601 .has_key() is deprecated, use 'in' support/scripts/xorg-release:146:21: W601 .has_key() is deprecated, use 'in' support/scripts/xorg-release:176:1: E305 expected 2 blank lines after class or function definition, found 1 support/scripts/xorg-release:180:1: W391 blank line at end of file Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Acked-by: Bernd Kuhls <bernd.kuhls@t-online.de> Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/testing: fix Marvell ATF source codeThomas Petazzoni2018-04-251-1/+1
| | | | | | | | | | | | | | The version of the ARM Trusted Firmware from Marvell was a Git branch, not a Git commit, leading to unreproducible results. So let's use a Git commit instead, which is the latest available from the branch that was previously used. More specifically, this branch has recently seen a fix that is needed for ATF to build properly with recent gcc versions: https://github.com/MarvellEmbeddedProcessors/atf-marvell/commit/c96ec59f8b819123a06e1839ab5578030cf263b0 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/testing: fix ATF Vexpress test caseThomas Petazzoni2018-04-251-1/+1
| | | | | | | | | | | | | | | | | | This test case currently fails to build with: ./build/juno/release/bl1/context_mgmt.o: In function `cm_prepare_el3_exit': context_mgmt.c:(.text.cm_prepare_el3_exit+0x54): undefined reference to `cm_set_next_context' context_mgmt.c:(.text.cm_prepare_el3_exit+0x54): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `cm_set_next_context' This issue has been fixed upstream in commit 10c252c14b7f446c0b49ef1aafbd5d37804577dd, available since v1.3. So while we bump, let's bump to the latest version of ATF, v1.5. Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/64360659 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/scripts/check-uniq-files: remove csv module importThomas Petazzoni2018-04-251-1/+0
| | | | | | | | | | | | | | Since commit 5563a1c6a48716debe2983869ddb757318094dce ("support/check-uniq-files: support weird locales and filenames"), the 'csv' Python module is no longer used by the check-uniq-files. Due to this, flake8 complains with: support/scripts/check-uniq-files:4:1: F401 'csv' imported but unused Fix this by dropping the useless csv import. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/config-fragments/autobuild: update ARC pre-built toolchainThomas Petazzoni2018-04-221-1/+1
| | | | | | | | | | The toolchain has been rebuilt to fix the RPATH of the binutils programs. Fixes: http://autobuild.buildroot.net/results/b2562b05d397d4e1ffe0f8d2f4ce4c84ab6feae1/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/config-fragments/autobuild: update OpenRISC pre-built toolchainThomas Petazzoni2018-04-221-1/+1
| | | | | | | | | | | | The toolchain has been rebuilt after commit 7fb6fe883a6ee360aa861fdae93d7441f9f5d52d, which adds more fcntl() definitions in uClibc for OpenRISC. Fixes: http://autobuild.buildroot.net/results/664e7ee968e46b7ac0054ce4d5d4f9a82201550e/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/config-fragments/autobuild: update all Buildroot pre-built toolchainsThomas Petazzoni2018-04-2130-56/+54
| | | | | | | | | | This commit updates all the pre-built Buildroot toolchains, which have all been rebuilt with Buildroot as of commit 046c5e2. The initial motivation for this update is that an upcoming bump of procps-ng uses fopencookie(), which has only been introduced in musl 1.1.19, which itself started being used in Buildroot after the 2018.02 release. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* download/git: fix transform regexp for older tar versionsYann E. MORIN2018-04-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Older versions of tar (e.g. 1.27.1) incorrectly interpret the escaping of the regexp separator, and generate broken tarballs. For example, given the following transform expression: --transform="s/^\.\//squashfs-e38956b92f738518c29734399629e7cdb33072d3\//" the resulting paths in the generated tarball would be: squashfs-e38956b92f738518c29734399629e7cdb33072d3\/ i.e. a directory which last character is indeed a '\'. We fix that by using a separator which is very unlikely to occur in a filename. Fixes: http://autobuild.buildroot.org/results/742/7427f34e5c9f6d043b0fe6ad2c66cc0f31d2b24f/ and probably a slew of others as well... Take this opportunity to fix indentation on the following line (leading spaces, not TABs). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/testing: add test for syslog-ngRicardo Martincoski2018-04-191-0/+34
| | | | | | | | | | | | | | | | | | Check: - the daemon is started; - a message is collected; - the daemon does not issue a warning message on startup. When the .conf file version does not match the package version a warning message shows up on serial on every boot. This message is generated by syslog-ng before it is running, so it is not logged to /var/log/messages. So in order to test the message is generated, restart the server. It makes the message appears on /var/log/messages (since the server is already running) where its existence can be easily tested using grep. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
OpenPOWER on IntegriCloud