OpenEmbedded "poky" with some sysmocom specific modifications. Mostly used only up to sysmocom release 201310, but the "pyro" branch is still used for 201705
Go to file
Richard Purdie 12e5797e51 fetch2/git: Add workaround for clone using alternates problem
To quote my report of this to the git mailing list:
"""

I have a problem with git clone commands using alternates failing by
mixing up different repositories. I have a situation where I could end
up with both:

/srv/mirrors/repo
/srv/mirrors/repo.git

as bare clones.

I then try cloning "repo" with alternates with the command:

$ git clone -s -n /srv/mirrors/repo /tmp/foo
Cloning into /tmp/foo...
done.

$ cat /tmp/foo/.git/objects/info/alternates
/srv/mirrors/repo.git/objects

Note how I'm now referencing repo.git, not repo. This doesn't work as
expected giving some very bizarre results when actually using the
repository.

I appreciate this is a rather bizarre corner case but its one that is
breaking the build system I work with. Ideally people would use a
consistent URL for the same repository but we have an example where they
haven't and this really shouldn't break like this.

Looking at the code, the cause seems to be

clone.c:get_repo_path():
        static char *suffix[] = { "/.git", ".git", "" };

since its looking in order for:
 repo/.git (fails)
 repo.git (suceeds, incorrect)
 repo (never looked at)

I'm not sure what would break if that order were to change, swapping the
last two options.

I can "force" the issue by running:

git clone -s -n /srv/mirrors/repo/ /tmp/foo

but this results in the slightly odd looking:

$ cat /tmp/foo/.git/objects/info/alternates

/srv/mirrors/repo//objects

which does at least work.
"""

This patch adds the trailing slash to ensure the correct repository is
referenced at the expense of some ugliness in the alternates file.

(Bitbake rev: d978e7b35550e3785c7c567ffe4c40a3c3947450)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 17:42:14 +00:00
bitbake fetch2/git: Add workaround for clone using alternates problem 2012-02-03 17:42:14 +00:00
documentation documentation/Makefile: new 'edison' variable for YP dev manual. 2012-01-30 16:06:03 +00:00
meta linux-yocto: bump kver to v3.0.18 2012-01-30 16:49:49 +00:00
meta-demoapps claws-mail: be carefull with # comments ending with backslash 2011-09-16 13:30:24 +01:00
meta-skeleton useradd-example.bb: update example documentation comments 2012-01-30 16:38:15 +00:00
meta-yocto poky: set linux-yocto-rt preferred version for qemu machines 2012-01-30 16:19:24 +00:00
scripts scripts/runqemu-ifup: Ensure netmask is set correctly 2012-01-30 16:43:48 +00:00
.gitignore Update gitignore to ignore all meta-* directories 2012-01-30 16:37:55 +00:00
LICENSE LICENSE: Clarify the license recipe source code is under 2010-06-10 10:13:18 +01:00
README README: Update to reflect what Poky is today 2011-04-21 13:03:52 +01:00
README.hardware README.hardware: declare support for BeagleBoard xM rev B 2012-01-30 16:30:14 +00:00
oe-init-build-env oe-init-build-env, scripts/oe-buildenv-internal: add error detecting for $BDIR 2011-08-02 14:32:10 +01:00

README

Poky
====

Poky is an integration of various components to form a complete prepackaged
build system and development environment. It features support for building
customised embedded device style images. There are reference demo images
featuring a X11/Matchbox/GTK themed UI called Sato. The system supports
cross-architecture application development using QEMU emulation and a
standalone toolchain and SDK with IDE integration.

Additional information on the specifics of hardware that Poky supports
is available in README.hardware. Further hardware support can easily be added
in the form of layers which extend the systems capabilities in a modular way.

As an integration layer Poky consists of several upstream projects such as 
BitBake, OpenEmbedded-Core, Yocto documentation and various sources of information 
e.g. for the hardware support. Poky is in turn a component of the Yocto Project.

The Yocto Project has extensive documentation about the system including a 
reference manual which can be found at:
    http://yoctoproject.org/community/documentation

For information about OpenEmbedded see their website:
    http://www.openembedded.org/