* [Buildroot] SVN, sources out of tree / VPATH... How?
@ 2011-08-19 23:10 Ulrich Prinz
2011-08-30 16:13 ` Arnout Vandecappelle
0 siblings, 1 reply; 2+ messages in thread
From: Ulrich Prinz @ 2011-08-19 23:10 UTC (permalink / raw)
To: buildroot
Hi!
I want to do some development for a new platform with buildroot. But I
work with SVN. The first steps with a plain buildroot look good, but now
I want to make changes to some existing code in buildroot (u-boot,
kernel). And I want to checkin these changes into my SVN.
AFAIK all code for the target is in output/build, extracted from the
source-code *.gz downloaded by the configuration and settings in
menuconfig of buildroot.
If I now change some code, the system drops the extracted codes into the
source directories for each package. I can check these in.
But then, if I 'make clean' all code is deleted and re-extracted with
the next make.
That's a pretty collision with SVN.
Another problem rises, if a friend of mine wants to get may changes. He
needs to do a clean buildroot install, set up everything like I did (or
copy in my .config files), run a make and then delete the generated
build/ directories and checkout my SVN repository...
I worked with a commercial toolchain, where this was solved pretty easy:
They have a mainline kernel in one directory.
In parallel they have a board support package in a second directory.
And additionally they have a user source directory.
The trick is, that you replicate the original mainline kernel paths in
the other two sources and then make follows the priority of user/linux
then bsp/kernel-x.y.z and then kernel-x.y.z/
So if you need to modify kernel-x.y.z/drivers/net/abcd.c you copy it to
user/linux/drivers/net/abcd.c, modify it and with the next kernel build
your version is in.
This leaves the original sources fully untouched and all your changes
can be checked into any kind of versioning system.
Is there any similar thing available in buildroot so I do not have to
check in all the compressed sources and do not need to generate patches
for everything, check these in and describe what to change wehere for
the correct patches... You know what I mean :)
Or is there already a (simple) how-to that describes this?
Best regards
Ulrich
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Buildroot] SVN, sources out of tree / VPATH... How?
2011-08-19 23:10 [Buildroot] SVN, sources out of tree / VPATH... How? Ulrich Prinz
@ 2011-08-30 16:13 ` Arnout Vandecappelle
0 siblings, 0 replies; 2+ messages in thread
From: Arnout Vandecappelle @ 2011-08-30 16:13 UTC (permalink / raw)
To: buildroot
On Saturday 20 August 2011 01:10:17, Ulrich Prinz wrote:
> I want to do some development for a new platform with buildroot. But I
> work with SVN. The first steps with a plain buildroot look good, but now
> I want to make changes to some existing code in buildroot (u-boot,
> kernel). And I want to checkin these changes into my SVN.
There are patches on the mailing list to support local directories as the
source of a package. With those patches, you can extract the package source
somewhere outside the buildroot tree (under version control), and use this as
the source instead of a downloaded tar.
> The trick is, that you replicate the original mainline kernel paths in
> the other two sources and then make follows the priority of user/linux
> then bsp/kernel-x.y.z and then kernel-x.y.z/
That's actually an overlay. I think OpenEmbedded uses something like that.
Buildroot prefers to work with patches.
As an approximation of an overlay, you can write a script that automatically
generates patches out of your revision control system and dumps them in the
package directory. The package infrastructure will apply all patches that are
named <package>-<version><description>.patch.
quilt is a tool that helps to work with this approach. It's not trivial to
use, but not much more difficult than any other VCS.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 31BB CF53 8660 6F88 345D 54CC A836 5879 20D7 CF43
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20110830/fc6b727e/attachment.html>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-08-30 16:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-19 23:10 [Buildroot] SVN, sources out of tree / VPATH... How? Ulrich Prinz
2011-08-30 16:13 ` Arnout Vandecappelle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox