[meta-virtualization] go-distribution-digest failing

Mark Asselstine mark.asselstine at windriver.com
Thu Aug 4 08:24:40 PDT 2016


On Mon, Aug 1, 2016 at 7:08 AM, Jack Mitchell <ml at embed.me.uk> wrote:
> Hi,
>
> Seems like its (weird) unpack method it uses is failing somehow. I have no
> understanding of why it's done like this and not just a normal git repo but
> this is the error I'm getting.
>
> DEBUG: Executing shell function do_install
> cp: cannot stat
> '/home/jack/work/vispp/docker-oe/build/tmp-glibc/work/aarch64-oe-linux/go-distribution-digest/git-r0/git/*':
> No such file or directory
> WARNING:
> /home/jack/work/vispp/docker-oe/build/tmp-glibc/work/aarch64-oe-linux/go-distribution-digest/git-r0/temp/run.do_install.3442:1
> exit 1 from 'cp -r
> /home/jack/work/vispp/docker-oe/build/tmp-glibc/work/aarch64-oe-linux/go-distribution-digest/git-r0/git/*
> /home/jack/work/vispp/docker-oe/build/tmp-glibc/work/aarch64-oe-linux/go-distribution-digest/git-r0/image/usr/local/go/src/github.com/docker/distribution/'
> ERROR: Function failed: do_install (log file is located at
> /home/jack/work/vispp/docker-oe/build/tmp-glibc/work/aarch64-oe-linux/go-distribution-digest/git-r0/temp/log.do_install.3442)
>
> Anyone with insight into the unpack method any idea why it's failing?


The unpack is not failing, all of the above is do_install related.
Looking at the recipe history the unpack is manipulated to only leave
the digest part of the project (see commit
fe357d8c80137595ee6d0a84b9178f2f846ba441 [docker uprev 1.6.2]).

This being said my gut is agreeing with you that the issue is actually
in the do_unpackpost() in that the 'rm' is not functioning as
expected. The regex is setup to leave only 'digest' and 'LICENSE'
(note the rm regex leave uppercase 'L' and lowercase 'd' elements). If
the rm regex is misbehaving and removing all the contents then the
'cp' error you are seeing would be hit.

I would start by doing something very simple like:
mkdir /tmp/test
touch /tmp/test/blah
touch /tmp/test/digest
touch /tmp/test/LICENSE
rm -rf /tmp/test/[A-KM-Za-ce-z]*

Then I might  do 'bitbake go-distribution-digest -c devshell' which
will dump you in $S so you can inspect the directory, which I am
guessing is empty in your case. Then 'mkdir digest' and then rerun the
unpackpost using '../temp/run.do_unpackpost' and again inspect that
'digest' still exists.

This really feels like an issue with regex handling in the shell.

Mark



>
> Regards,
> Jack.
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization


More information about the meta-virtualization mailing list