[oe] versioning madness
Tom Walsh
tom at openhardware.net
Tue Apr 10 01:16:14 UTC 2007
Cliff Brake wrote:
> On 4/9/07, Tom Walsh <tom at openhardware.net> wrote:
>
>> Tom Walsh wrote:
>>
>>> AH! You know, I use svn regularly and I didn't even think about using
>>> it against the OE tree! Thanks, that would be the best solution for me.
>>>
>>>
>>>
>> Nope, didn't work as well as I had hoped. Both monotone and subversion
>> bit^H^H^H complain about having an existing directory, so, I cannot
>> "overlay" into the OE tree with either.
>>
>> I'll just have to do it the old-fashioned way and edit the stuff with vi.
>>
>
> I don't understand? I have two trees that are completely separate
> from each other:
>
> openembedded (HEAD of OE managed with monotone)
> openembedded.custom (custom stuff managed with SVN)
>
> The beauty of this setup is the trees do not interfere with each other.
>
>
True, I was doing it that way, having two source trees. That works fine
if your recipes are for something that is not already in the OE tree.
However, it becomes problematic where you have the same recipe in both
trees.
For example, sysvinit. I have changes to sysvinit that I want to make.
So, you can do that only one of two ways:
1. create a subdir under the OE tree as
'$projroot/org.openembedded.dev/packages/sysvinit/sysvinit/zipit', where
'zipit' is the name of my MACHINE. Copy initab into the 'zipit' dir,
then edit your changes. Done.
2. duplicate the recipe for sysvinit into the private tree
($projroot/zipitbbfiles/sysvinit). Do the same here with creating the
new MACHINE dir ($projroot/zipitbbfiles/sysvinit/sysvinit/zipit/), copy
& edit inittab as before.
When the two recipe trees are specified within
$projdir/build/conf/local.conf as BBFILES :=
"$projdir/zipitbbfiles/*/*.bb
$projdir/org.openembedded.dev/packages/*/*.bb", still no problem.
The problem comes up later when someone edits the recipe for
$projroot/org.openembedded.dev/packages/sysvinit/sysvinit_2.86.bb and
changes the PR = "rX" to a value larger than the one contained inside
$projdir/zipitbbfiles/sysvinit_2.86.bb. Guess what happens now? The
undesired recipe now takes precedence over the private recipe copy as PR
gets asserted in the numerical version vote!
Do you see the problems?
A) The problem is that my recipe would be outvoted in the second case
structure of a private tree having a duplicate recipe.
B) There appears no convenient way to manage the addition of an
extension to a recipe that is kept inside the OE tree (without commiting
that into the main OE repository). That is the problem with the first
case example.
I guess that the issue(s) are not so much "versioning" but "source
control" as the PV version voting borks private copies. And, a code
versioning system like subversion (or another copy of monotone, perhaps)
is unable to do source control within the org.openembedded.dev OE main
tree copy.
That's what I would like to resolve. I could commit my board changes
into the OE repository, but, as it is a proprietary hardware design, I
doubt that anyone would encounter one as surplus.
There are some more issues, but, I'll stop here. heh.
Regards,
TomW
> Cliff
>
>
--
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net http://cyberiansoftware.com http://openzipit.org
"Windows? No thanks, I have work to do..."
----------------------------------------------------
More information about the Openembedded-devel
mailing list