[yocto] [yocto-autobuilder][PATCH v1 0/4] fixes for use with Angstrom

Stefan Agner stefan at agner.ch
Sat May 17 06:31:41 PDT 2014


Hi Beth,

Am 2014-05-15 17:32, schrieb Flanagan, Elizabeth:
>> Today I had troubles with our builder. After removing the whole source
>> directory and restart the build, the autobuilder somehow checked out and
>> resetted the autobuilder git! (the dora branch was checked out, which I
>> tried to checkout from a source branch). So far I could not reconstruct
>> what exactly happend, but the builder must have been in the wrong
>> directory when issuing some commands... Ugly. Calls for sandboxes :-)
>>
> 
> Ah. Please switch to master. There was a VERY VERY nasty bug that is
> probably still in dora caused by the yoctogit fetcher. I'll look at
> dora today and backport the patch.


Actually I was running master of Autobuilder. However, somehow
Autobuilder checked the branch dora out (its the branch I tried to
build, hence all my layers had "dora" as branch name).

> 
>> Anyway, I lost my custom master.cfg since git restored the version from
>> the dora branch (always remember to backup!)...
> 
> Yeah, when I was debugging it, I ended up scripting my setup just to
> figure out what was wrong.

Inbetween I figured out what happened: A git repository (fsl-arm-extra)
was somehow broken in my download folder. Hence the clone from the
download folder to the source directory failed. However, the git fetch
was done anyway, but since the clone failed that folder was not a valid
git repository. But since the yocto-slave lives under the Yocto
Autobuilder repository, git checked out the dora branch of the Yocto
Autobuilder repository...

Its crucial to check the return status of the git clone command and
don't call further commands if clone fails. If those two commands would
be two BuildBot steps, wouldn't it do this automatically?

First command:

git clone -s -n
/tmp/yocto-autobuilder/git/mirror/git.yoctoproject.org/meta-fsl-arm/ .
 in dir
/build/linuxdev/yocto-autobuilder/yocto-slave/toradex/source/git://git.yoctoproject.org/meta-fsl-arm
(timeout 100000 secs)
 watching logfiles {}
 argv: ['git', 'clone', '-s', '-n',
'/tmp/yocto-autobuilder/git/mirror/git.yoctoproject.org/meta-fsl-arm/',
'.']

Output:
Cloning into '.'...
error: refs/heads/master does not point to a valid object!
error: refs/remotes/origin/1.4_M3 does not point to a valid object!
error: refs/remotes/origin/1.4_M5 does not point to a valid object!
error: refs/remotes/origin/danny does not point to a valid object!
error: refs/remotes/origin/danny-next does not point to a valid object!
error: refs/remotes/origin/denzil does not point to a valid object!
error: refs/remotes/origin/dora does not point to a valid object!
error: refs/remotes/origin/dora-next does not point to a valid object!
error: refs/remotes/origin/dylan does not point to a valid object!
error: refs/remotes/origin/dylan-next does not point to a valid object!
error: refs/tags/1.2 does not point to a valid object!
error: refs/tags/1.2-rc1 does not point to a valid object!
error: refs/tags/1.3 does not point to a valid object!
error: refs/tags/1.4 does not point to a valid object!
error: refs/tags/1.5 does not point to a valid object!
done.
error: Trying to write ref HEAD with nonexistent object
c91ef2d2a12cd51af20011a4de8d9438e2d4890e
fatal: Cannot update the ref 'HEAD'.
fatal: The remote end hung up unexpectedly

Then, the second command:
git fetch -t --prune git://git.yoctoproject.org/meta-fsl-arm
+refs/heads/dora:refs/remotes/dora
 in dir
/build/linuxdev/yocto-autobuilder/yocto-slave/toradex/source/git://git.yoctoproject.org/meta-fsl-arm
(timeout 100000 secs)
 watching logfiles {}
 argv: ['git', 'fetch', '-t', '--prune',
'git://git.yoctoproject.org/meta-fsl-arm',
'+refs/heads/dora:refs/remotes/dora']
...

This resetted my head of the Yocto Autobuilder to dora...

--
Stefan



More information about the yocto mailing list