On Sun, Jan 23, 2011 at 09:06:01PM +0100, Stefan Reinauer wrote:
- Kevin O'Connor kevin@koconnor.net [110122 17:28]:
Use a tag (rel-0.6.1.3) for SeaBIOS stable checkouts instead of the stable branch. The tag is a little safer because it prevents an incorrect commit to the stable branch from being immiediately picked up by coreboot users.
Note - rel-0.6.1.3 (and 0.6.1-stable) now have the CFLAGS build fix that was causing build failures for coreboot users.
Signed-off-by: Kevin O'Connor kevin@koconnor.net
[...]
Not sure what the right fix is for this. I neither want to check the changes I make to the config file in to the local repository nor do I want to undo/redo the changes for every build, nor do I want to re-checkout for every target. Is this possible with git?
The following makes it less of a problem for me, but I'm not sure it's the right way either.
--- a/payloads/external/SeaBIOS/Makefile.inc +++ b/payloads/external/SeaBIOS/Makefile.inc @@ -1,6 +1,6 @@
-TAG-$(CONFIG_SEABIOS_MASTER)=master +TAG-$(CONFIG_SEABIOS_MASTER)=origin/master TAG-$(CONFIG_SEABIOS_STABLE)=rel-0.6.1.3
all: seabios @@ -18,9 +18,9 @@ patch: checkout
checkout: echo "Checking out SeaBIOS $(TAG-y)" - test -d seabios && ( cd seabios; git pull ) || \ + test -d seabios && ( cd seabios; git fetch ) || \ git clone git://git.linuxtogo.org/home/kevin/seabios.git seabios - cd seabios; git checkout $(TAG-y) + cd seabios; git checkout -m $(TAG-y)
clean: test -d seabios && (cd seabios; $(MAKE) CC="$(CC)" LD="$(LD)" clean) || exit 0
The best way is probably to never checkout a branch - only ever pull a tag. Then the build can detect if the tag ever changes and reapply the patch.
-Kevin