Yocto source tarball is oversized ... (meta-swi-extras > 1G)


#1

Can i suggest that you expire and remove the downloads directory from meta-swi-extras as follows

git filter-branch --index-filter ‘git rm -r --cached --ignore-unmatch downloads’ --prune-empty -f – --all
git reflog expire --expire=now --all
git gc --aggressive --prune=now

This reduces the repository to < 100M

It appears at some stage there were downloads pushed into this repository that can/should be removed.

I would also suggest supplying the git repositories for the kernel at least and spliting the source into seperate files.

there is no need to include the kernel/poky/meta-openembedded into the source tarball.

git clone git://git.yoctoproject.org/poky -b dizzy yocto2/poky/
git clone git://git.openembedded.org/meta-openembedded -b dizzy yocto2/meta-openembedded


#2

Hi gregnietsky,

Thanks for your good suggestions, I think I’m going to remove the .git repositories from meta-swi/meta-swi-extras as it is useless as it delivered today. It’s not exactly the repositories that we have within SWI but it is transposed to some repository that was meant to be maintained automatically on a per-release basis. That was however not done and we are looking into releasing the actual repository we use internally, which would hopefully work out (in which case there would be a meta-swi .git in there, and a meta-swi-extras with the downloads/ repose as per your suggestion).

One thing with that tarball is that we are trying to keep it standalone.
Ie someone shouldn’t need Internet to be able to build the distribution, which is unfortunately the case of some of our customers. This is quite a big requirement and not an easy one either.

For kernel/poky/meta-openembedded I wonder if by using a shallow clone we could provide something while still being conscious about the size of what we provide.


#3

Splitting it into smaller separate tarballs and having a single all in one will be little extra work and make it more manageable … and yes a shallow clone will be much more useful.


#4

I have put up the source on our bitbucket with a default swi branch to build it out the box.

https://bitbucket.org/combcommunications/yocto/src/swi