summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/fetch2
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: fetch2: make fetch failure errors more readablePaul Eggleton2012-09-241-1/+7
| | | | | | | | | | | | | Most of the time we don't need to see the fetch command; the fetch log includes the command as a debug message in any case, so omit it. Also adjust the way command output is printed (we don't need stderr/stdout labelled, and print "no output" instead of "output:\nNone" when there is no output. (Bitbake rev: a75505a52e4da918222100221f79e8a658f90446) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/cvs: Fix parameter spacingRichard Purdie2012-09-201-2/+2
| | | | | | | | | Add in misssing space between the parameters. Reported by Jate Sujjavanich <Jate.Sujjavanich@myfuelmaster.com>. (Bitbake rev: 55382f0aac84b8f81cad0b82053c0b8295c33e54) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/cvs: Clean up various data store referencesRichard Purdie2012-09-201-12/+8
| | | | | | | | | The code in the CVS fetcher is elderly and there are simpler ways of using the data store. This updates to use the modern APIs. (Bitbake rev: 78eee8c70a80997293df99475153aed0b2ad0a17) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/cvs: Fix localdata variable referenceRichard Purdie2012-09-201-1/+1
| | | | | | | | The localdata variable was removed, fix up a lost reference to this. (Bitbake rev: 02ccc1396005ce0b7a2150a5ce12b723df21d464) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: fix malformed URL causing a useless tracebackPaul Eggleton2012-09-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation of NoMethodError and MalformedUrl was broken - if you just set self.args in an exception class to a string it treats it as a list and then fails later on with a TypeError due to the number of arguments not matching up. This nasty exception during exception handling was breaking the normal exception flow (fixed separately), which meant that if you had a malformed URL or invalid protocol in SRC_URI you would get the following: ERROR: Command execution failed: Traceback (most recent call last): File "/home/user/poky/poky/bitbake/lib/bb/command.py", line 84, in runAsyncCommand self.cooker.updateCache() File "/home/user/poky/poky/bitbake/lib/bb/cooker.py", line 1207, in updateCache if not self.parser.parse_next(): File "/home/user/poky/poky/bitbake/lib/bb/cooker.py", line 1694, in parse_next logger.error('Unable to parse %s', value.recipe, AttributeError: 'exceptions.TypeError' object has no attribute 'recipe' A specific fix for [YOCTO #2977]. (Bitbake rev: 9d4150d99051d24ff218e8a43664ceaf524b19c7) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: replace double slashes in paths in encodeurl()Paul Eggleton2012-09-071-0/+3
| | | | | | | | | | | | This ensures that if all a MIRRORS entry does is add a slash, this does not result in a circular loop. Fixes [YOCTO #3073]. (Bitbake rev: 57055d337a2c9997a6e5d5bdabaec396e3e128e9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: unpack rpm, ipk and deb binary packageRobert Yang2012-09-071-1/+3
| | | | | | | | | | | | | | | * Unpack the ".rpm" binary package (only .src.rpm in the past) * Unpack the .deb and .ipk binary package, their unpack commands are the same. * This is useful for binary package recipe. [YOCTO #1592] (Bitbake rev: de7ceb9459574f33920ccc06255b533434f0ec25) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: Work around git confusion between foo.git and foo ↵Richard Purdie2012-08-181-1/+16
| | | | | | | | | | | | | | repositories If you have foo and foo.git in GITDIR, the two can end up being confused by git with some horrible union of the two being cloned. This adds a workaround to avoid this happening until git 1.7.9.2 onwards is common enough for this to be removed. We use a symlink to hide the directories we don't want git to know about. (Bitbake rev: bbf1f6fe594c721a296ca09ee7c583d4a205c591) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/local: Add search paths to the debug log to improve log ↵Richard Purdie2012-08-021-0/+3
| | | | | | | | usefullness (Bitbake rev: 2054c7d99933c1523d4b5c7f65d37c69b8472e47) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/local.py: Provide better debug output when fetch of a local ↵Richard Purdie2012-08-021-6/+19
| | | | | | | | | | | file fails When a fetch failure occurs for a local file, this patch ensures we print the locations searched making it easier for the user to debug the problem. (Bitbake rev: a461adbc5f09b41c771a7603370f6f2d1299ae8e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: print checksums when they are different then expectedMartin Jansa2012-08-021-0/+6
| | | | | | | | | | | | | | | | * in form which can be copied into a recipe without modification * like oe-classic did since: http://git.openembedded.org/openembedded/commit/?id=68abc465559a68e9201c9525be3c4acc6297eaed * it shows them in right form when they are missing completely, but in more verbose form when different * it needs to print that only when checksums were requested, e.g. fetching from sstate mirror sets both md5mismatch and sha256mismatch, but your checksums shouldn't be shown (Bitbake rev: 9eb34fc866775fd8310759a0111f232a9dc98981) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: handle broken symlinks in local mirror handlingChristopher Larson2012-08-021-1/+5
| | | | | | | | | | | | If a file:// mirror is being used, the fetcher will create a symlink to the local file. However, if the local file gets removed, that link will be dead, and os.path.exists() returns False in that case, so it tries and fails to recreate the link. Now we unlink such a dead link if it exists. (Bitbake rev: 229ed3857e826e3e215e843cb51f729c1e13ed37) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/__init__.py: Add NoChecksumError exceptionMark Hatle2012-08-021-1/+13
| | | | | | | | | | | | | | | | Without the new exception, when the system is configured to use premirrors, but not allow network access (via BB_NO_NETWORK), when a recipe was lacking a checksum the wrong error message(s) were being generated. Instead of complaining about trying to perform network access, if the system was able to find the item in the premirror, it should inform the user of the lack of checksums, and the two SRC_URI fields they should use to update their recipe. (Bitbake rev: cb10e9c03a3f96d94e27e18330009616dde5e2b3) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch/local: Allow preservation of path components in relative ↵Richard Purdie2012-07-261-3/+4
| | | | | | | | | | | file:// urls This enhances the fetcher to allow preservation of the path component in urls like: file://xxx/yyy/somefile.patch. (Bitbake rev: e49a656a499355a5c6e7eb00bf5b8f1795e8dddb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake wget fetcher: add parameter: downloadfilenameNitin A Kamble2012-07-241-1/+8
| | | | | | | | | | | | | | | this allows wget fetcher to store the downloaded file in a specified custom filename in ${DL_DIR} Exmaple: SRC_URI = "https://edc.intel.com/Download.aspx?id=6190;downloadfilename=LIN_IEMGD_1_14_GOLD_2443.tgz" This fixes bug: [YOCTO #2570] (Bitbake rev: ceb5871007f221c4d86a7bee421d4dd8d9100aaf) Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Change bzr fetcher to use branch instead of co. Fixes: bzr: ERROR: ↵Martin Ertsaas2012-07-241-1/+1
| | | | | | | | | | | | No pull location known or specified. This problem occurs when fetching a different revision of the same source. Which mean every time you update a bzr package. Using branch sets the pull location, and are the preferred way of cloning/branching a repository in bzr. (Bitbake rev: 877a04d0b3cea9d5dbdf3c54fe0feb54cb997dda) Signed-off-by: Martin Ertsaas <mertsas@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/svn.py: Use protocol parameter to get the protocolMartin Jansa2012-07-181-1/+1
| | | | | | | | | | | * it was send in v1 of proto -> protocol changes but then wasn't in V2 http://patchwork.openembedded.org/patch/31617/ where warning about proto= was moved to shared __init__ (Bitbake rev: b2017f493ab730d804ae44ec5a168d464626d046) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/__init__.py: Warn user if SRC_URI is using "proto" and not ↵Andrei Gherzan2012-07-111-0/+4
| | | | | | | | | | | "protocol" As well, if "proto" is used, get the associated value as "protocol" (Bitbake rev: 53e6b630f0463d2d07cdaa9c9eb36794dc9b6b69) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/bzr.py: Use "protocol" parameter to get the protocolAndrei Gherzan2012-07-111-1/+1
| | | | | | | (Bitbake rev: 630876b40ed181312e84f902c4cfb97361afbe81) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/hg.py: Use "protocol" parameter to get the protocolAndrei Gherzan2012-07-111-1/+1
| | | | | | | (Bitbake rev: f4a780a7f50fdd8f2bd75888dad790bcfe95b873) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/osc.py: Use "protocol" parameter to get the protocolAndrei Gherzan2012-07-111-1/+1
| | | | | | | (Bitbake rev: 01040efce82cfbaa76f46d9f95c984be8f9ea810) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/wget: Use FETCHCMD_wget to provide the commandline and optionsRichard Purdie2012-07-101-3/+5
| | | | | | | | | This also changes to use -t 2 -T 30 as the defaults which are more sane for a modern fetcher and already specified in OpenEmbedded metadata. (Bitbake rev: bf0e5dddf0f63cdb0648fb6d872af5ceef6fbfb0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/cvs.py: Switch to use FETCHCMD_cvs and handle parameters in ↵Richard Purdie2012-07-101-9/+3
| | | | | | | | | | | the fetcher itself This brings the cvs fetcher more into line with the others and allows consistent usage of the FETCHCMD variable and option handling. (Bitbake rev: 390ad59739356422852e976fa246375abc6aba08) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/svn: Enhance to cope with subversion 1.7 upgradeRichard Purdie2012-07-041-5/+10
| | | | | | | | | | | | | svn changed working checkout formats between 1.6 and 1.7. Its convoluted to detect what format a given working copy is in so the simplest solution is simply to run "svn upgrade" within the working copy. The base svn command variable is relocated slightly to enable this new code to work effectively. (Bitbake rev: ebd3ecdb5f3c6d3fe1fad27cbed4d80f4277e92e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git: do not execute 'git remote prune'Enrico Scholz2012-07-041-1/+0
| | | | | | | | | | | | | | | | 'git remote prune' at this location does not make much sense because the following 'git remote rm' will prune stale and non-stale branches. The 'prune' can cause trouble because it will access the network bypassing the no-network code in bitbake. When this operation fails and throws an exception, the next command (--> 'git remote rm') will be skipped. This in turn, will make all the following operations fail, because they assume that the remote does not exist yet. (Bitbake rev: 2ba23df5fad4b94d38a6aed97f7822226d72eb89) Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Revert the regexp removal for the type field and instead ↵Richard Purdie2012-06-281-9/+8
| | | | | | | | | | | | | | anchor regexp People are using regexps in the url type field so we need to preserve this bitbake behaviour. To address the issues with https:// urls mapping badly to file:// urls we anchor the regexp if its not already anchored. There should be no expressions in the wild which would break with this change. (Bitbake rev: ce0579dc256251e523c6330641f98b9f5a0e5761) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Ensure star character doesn't end up in mirror tarball namesRichard Purdie2012-06-252-2/+2
| | | | | | | | | | | | If '*' does end up in mirror urls accidently, some strange things can break since supports_checksum() looks for this, ud.localpath can then get ignored and this can lead to empty directories being downloaded "successfully". '*' is a special case for file urls only at this point so remove any entries that accidentlly make it in through url mapping. (Bitbake rev: 1369bec2404d942acc3618a8d005ec6868dcfd41) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Add new mirror syntax to simplify mirror specificationsRichard Purdie2012-06-251-2/+11
| | | | | | | | | | | | | | | | | | | | | | | When writing mirror specifications, the current regexp syntax can be awkward and hard to get it to do what you want. For example, extracting the 'basename' of a repository: PREMIRRORS = "git://.*/([^/]+/)*([^/]*) git://somewhere.org/somedir/\\2;protocol=file" can now become: PREMIRRORS = "git://.*/.* git://somewhere.org/somedir/BASENAME;protocol=file" which is much clearer. A MIRRORNAME substitution is also added which contains an encoded form of both host and path. One of the problems with the existing regexp syntax is you couldn't access HOST information from PATH and vice-versa which is an issue this patch also addresses. Tests for the new syntax are also added. (Bitbake rev: c6b1acbad7b3d2698530eb8b5249adb4ab95da21) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Handle errors orruring when building mirror urlsRichard Purdie2012-06-251-2/+11
| | | | | | | | | | | | When we build the mirror urls, its possible an error will occur. If it does, it should just mean we don't attempt this mirror url. The current code actually aborts *all* the mirrors, not just the failed url. This patch catches and logs the exception allowing things to continue. (Bitbake rev: c35cbd1a1403865cf4f59ec88e1881669868103c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git.py: Remove -l option, its not necessaryRichard Purdie2012-06-251-1/+2
| | | | | | | | | | | | | If -l is specified and the source and destination are not on a common filesystem an error occurs. The -l option is however the default for git for local paths which the fetcher already now ensures in the file:// case. We can therefore safely drop the -l option. (Bitbake rev: 3aeb268b2aaab4bb8b1cfff1450e0b76aa8ce855) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git.py: Optimize clone fall back when it is localJason Wessel2012-06-211-1/+3
| | | | | | | | | | A file:// url should use "clone -l" to greatly speed up the clone in the case of a kernel when it is local. (Bitbake rev: 2bab2cc3ffe67ee2a308074a6e4c2c7be5636d2f) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Update replace_uri to handle uri types explicitlyRichard Purdie2012-06-211-0/+6
| | | | | | | | | | | | | | For mirror mapping, we never use regexps for the type component of the url. Doing so causes various slightly bizarre behaviour such as https:// urls being translated to files:// urls which we have no handler for. This patch forces the type matches to be direct, not regexp based and gives the expected bahvriour. (From Poky rev: 695d8aca0999d2d61970b990e83c3132ba6f12cb) (Bitbake rev: 604df1b25cf114e083f52917df2df64e01279c25) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: uri_replace() only consider ud.localpath where its a fileRichard Purdie2012-06-211-1/+1
| | | | | | | | | | | | Using ud.localpath as a basename when it points at a directory causes problems. The supports_checksum() method gives a good indication of whether ud.localpath can be used in the way we need. (From Poky rev: 933ec8a44634e33f92f6f76de3a34094c3d63aa6) (Bitbake rev: dcd79ae20ab2c72c3312b2251c2b6dc4cabe988e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: uri_replace() improve mirrortarball handlingRichard Purdie2012-06-211-1/+4
| | | | | | | | | | | | We only consider mirror tarballs when the source and target urls are of differing types. We also should clear all url paramters when handling mirror tarballs. (From Poky rev: da140b8b0b3dda5429f9eee68829ef5247cdfe12) (Bitbake rev: 7619dcad29a6c2405b15a8fbadfa11e81b399ae1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: uri_replace() remove what amounts to a null operation and ↵Richard Purdie2012-06-211-2/+2
| | | | | | | | | | add some comments (From Poky rev: 6d67200d052ba72258f5a0a178542ef99500a9cc) (Bitbake rev: e67af4d12f390ce6083965509ca9ea85a76dc351) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Add parameter handling to uri_replace()Richard Purdie2012-06-211-1/+9
| | | | | | | | | | | | This means that parameters in the source expression are used as part of the match. Parameters in the destination are used explicitly in the final url. (From Poky rev: c465cb0c5c927dd41d96ad6d6fa1566349574bb7) (Bitbake rev: 3c468ac3ed6d045561afce19b85ae9dd18d87cea) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Remove basestring test and simplify uri_replaceRichard Purdie2012-06-211-17/+18
| | | | | | | | (From Poky rev: d5657883d34bfef6beec594ac8d799f617b6b3ad) (Bitbake rev: 84ffc261f376429b3a6b5d7bf2f6217cd10ca12a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Simplify some looping constructs in uri_replace()Richard Purdie2012-06-211-3/+2
| | | | | | | | (From Poky rev: c6bd25150a842a530f958d7233b15ae50d42c6c8) (Bitbake rev: 075296f3e5e5e3662290a888a6ba11229a36b95a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Improve mirror looping to consider more casesRichard Purdie2012-06-211-12/+29
| | | | | | | | | | | | | | | | Currently we only consider one pass through the mirror list. This doesn't catch cases where for example you might want to setup a mirror of a mirror and allow multiple redirection. There is no reason we can't support this and the patch loops through the list recursively now. As a safeguard, it will stop if any duplicate urls are found, hence avoiding circular dependency looping. (From Poky rev: 0ec0a4412865e54495c07beea1ced8355da58073) (Bitbake rev: e585730e931e6abdb15ba8a3849c5fd22845b891) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Explicitly check for mirror tarballs in mirror handling codeRichard Purdie2012-06-211-1/+2
| | | | | | | | | | | | With support for things like git:// -> git:// urls, we need to be more explicity about the mirrortarball check since we need to fall through to the following code in other cases. (From Poky rev: 28e858cd6f7509468ef3e527a86820b9e06044db) (Bitbake rev: a2459f5ca2f517964287f9a7c666a6856434e631) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Split try_mirrors into two partsRichard Purdie2012-06-211-52/+59
| | | | | | | | | | There are no functionality changes in this change (From Poky rev: d222ebb7c75d74fde4fd04ea6feb27e10a862bae) (Bitbake rev: db62e109cc36380ff8b8918628c9dea14ac9afbc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Ensure when downloading we are consistently in the same ↵Richard Purdie2012-06-211-1/+5
| | | | | | | | | | | | | | directory This assists with build reproducuility. It also avoids errors if cwd happens not to exist when we call into the fetcher. That situation would be unusual but I hit it with the unit tests. (From Poky rev: 86517af9e066c2da1d580fa66b7c7f0340f3403e) (Bitbake rev: b886c6c15a58643e06ca5ad7a3ff1f7766e4f48c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Only cache data if fn is set, its pointless caching it ↵Richard Purdie2012-06-211-2/+2
| | | | | | | | | | against a None value (From Poky rev: c2df30bf6d1f8c263a38c45866936c1bf496ece5) (Bitbake rev: f4b59cc6e1c3ddc168a1678ce39ff402ea1ff4cc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Fix error handling in uri_replace()Richard Purdie2012-06-211-1/+2
| | | | | | | | (From Poky rev: 1bfba28a583cb167f60e05ecdf34d0786dc1eec5) (Bitbake rev: aa7467a764ddcbc7d65af99e88cf093b6ec6d24e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/__init__: Make it clearer when uri_replace doesn't return a ↵Richard Purdie2012-06-211-2/+4
| | | | | | | | | | match (From Poky rev: dc9976331c5cbb0983adb54f6deb97b9203bacbc) (Bitbake rev: eb96609864dec95a516e6e687dd6a2f31d523acf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/local: Ensure quoting is handled correctly from the urlRichard Purdie2012-06-141-1/+3
| | | | | | | | | | | | | The commit 420eb112a4f (fetch2: quote/unquote url paths) caused a regression since local file urls containing quoted characters are no longer being handled correctly. This fixes things so the url is dequoted correctly, fixing various fetcher failures with recipes like "gtk+". [YOCTO #2558] (Bitbake rev: 95c0595d66b3f8a5f0716662ba2a878600f312ea) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2: Fix missing output from stderr in fetcher logsJason Wessel2012-06-141-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are actually two problems to fix 1) The exception for bb.process.ExecutionError must be processed first because it is a derived from the bb.process.CmdError class and we never reach the ExecutionError otherwise. 2) The stderr needs to be printed as well as stdout to determine the root cause of a fetch failure. The example I have is that I got a log that looked like: -- ERROR: Function failed: Network access disabled through BB_NO_NETWORK but access requested with command /usr/bin/env wget -t 5 -nv --passive-ftp --no-check-certificate -P /localds 'http://downloads.yoctoproject.org/[...CLIPPED...] url None) -- That really didn't tell me much, but with this patch I get error above plus the following: -- STDERR: /net/[...CLIPPED...]kernel-tools.git: Read-only file system -- (Bitbake rev: af2133a04e1f4b22b181adf9c71f89c439bb88cf) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/bb/fetch2: ignore remote URIs when doing file checksumsPaul Eggleton2012-05-301-6/+20
| | | | | | | | | | | | | | | | Skip evaluating remote URIs when doing local file checksums, because we don't need to process them and doing so will trigger a parse failure if SRCREV is not fully specified. Whilst this is just delaying a check until runtime (when do_fetch runs for the recipe) we're only validating this here accidentally and if we did wish to check it during parsing it ought to be done explicitly. Fixes [YOCTO #2512] (Bitbake rev: 99feb77c2de707f2d825566cf48371c48f450e3e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/bb/fetch2: fix comments for verify_checksumPaul Eggleton2012-05-251-6/+3
| | | | | | | | | | This function no longer returns a value, it raises errors instead, so update the comments to reflect this. (Bitbake rev: 8b61b9584a8b00378f9fd8f165dbd65dcfd3c14e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* replace os.popen with subprocess.PopenRobert Yang2012-05-232-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace os.popen with subprocess.Popen since the older function would fail (more or less) silently if the executed program cannot be found There is a bb.process.run() which will invoke the Popen to run command, use it for simplify the code. For the: p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot)) ... for file in p4file: list = file.split() in bitbake/lib/bb/fetch2/perforce.py, it should be an error in the past, since it didn't use readline() to read the pipe, but directly used the split() for the pipe. Use the bb.process.run would fix the problem since bb.process.run will return strings. More info: http://docs.python.org/library/subprocess.html#subprocess-replacements [YOCTO #2075] (Bitbake rev: 8d6700255a6d4dda403c89b171a6d4a1883e5aae) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>