--===============1076176323970760363== Content-Type: multipart/alternative; boundary="Boundary-01=_uihdPKK0EGcOQF9" Content-Transfer-Encoding: 7bit --Boundary-01=_uihdPKK0EGcOQF9 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Em Friday 30 March 2012, Aaron J. Seigo escreveu: > On Friday, March 30, 2012 11:19:32 Lamarque V. Souza wrote: > > Em Friday 30 March 2012, Marco Martin escreveu: > > > * when a feature is almost ready is merged into integration, people > > > test it, fixes are done in the feature branch, then re-merged > > > > What happened if a feature from on repo depends on a feature from > > > > another repo's integration branch? > > if you are doing devel, you probably want to be running the integration > branch(es). I am asking this because I use obs to compile packages and it removes all dependencies from the build directory when compiling a new package. How can I prevent it from doing that? > > I use obs to compile packages and test > > features here. In my case I would need to hack obs to compile two (or > > more) packages whose .tar.bz2 are not in obs. > > obviously we need to have one of the obs projects tracking the integration > branches. it makes no sense otherwise. > > > more complicated because of the dependencies. People who use Mer SDK > > would have the same problem too. > > no, because they'd be tracking one of: > > * master > * integration > * a device specific target > > > > * when tested enough, it gets merged into master > > > * Device specific (Archos, vivaldi, whatever) releases are branches of > > > master called like Device/Vivaldi (only a stable state needed? or > > > integration/stable for that too?) > > > > > > This reflects in obs in the following way > > > * integration project points to integration branch, (or devel can be > > > repurposed to it) > > > * testing project points to master: master became a stable branch now > > > * Each device specific git branch has an own obs project > > > > Why use a git branches instead of sub-directories? > > because these branches need to track the existing code from a "known good" > point and stabilize around that. that is precisely what branches are for. > > > With sub-directories > > > > we can use only one obs project to build all rpm packages for all devices > > and minimize the burden of maintaining different copies of the same > > files. > > so we'd have a complete copy of all the source code in each subdirectory? > and then manually merge diffs between the sub-directories? that makes no > sense :) No, you copy only the files that need changes. I am not talking about diffs, you copy the whole file, not diffs. > > For instance, we can create a "shared" sub-directory which contains all > > configuration files, > > this has nothing to do with configuration files. this is the code: the > shell, the applications, etc. Ok then, forget my suggestion. > > if a device needs a different configuration file we > > create a sub-directory for that device and copy only the files that it > > needs. > > and when changes are made to the original files that are globally > applicable? we just copy those changes by hand? how long do we keep those > subdirectories? With branches we will have to apply them by hand using git anyway. The difference is that if the change affects affect a file that has never been compiled to a sub-directory then we need to apply it only once. If we use branches for configuration files we will need to apply the change to all branches. > this also ignore the reality that each device target will end up having its > own OBS project anyways, so nothing is really to be gained here. If you say so. > > Then we configure the .spec to, during installation phase, copy the > > shared directory to the BUILD_ROOT and then override the files there with > > the ones from the device's sub-directory. > > and what about files specific to the device? right: you'll need a different > .spec file. .spec supports sub-packages. > and again: this is not about configuration. this is about changes in the > source code in plasma-mobile and stabilization for specific device > targets. Again: forget my suggestion then. -- Lamarque V. Souza http://www.basyskom.com/ --Boundary-01=_uihdPKK0EGcOQF9 Content-Type: text/html; charset="iso-8859-15" Content-Transfer-Encoding: 7bit

Em Friday 30 March 2012, Aaron J. Seigo escreveu:

> On Friday, March 30, 2012 11:19:32 Lamarque V. Souza wrote:

> > Em Friday 30 March 2012, Marco Martin escreveu:

> > > * when a feature is almost ready is merged into integration, people

> > > test it, fixes are done in the feature branch, then re-merged

> >

> > What happened if a feature from on repo depends on a feature from

> >

> > another repo's integration branch?

>

> if you are doing devel, you probably want to be running the integration

> branch(es).

 

I am asking this because I use obs to compile packages and it removes all dependencies from the build directory when compiling a new package. How can I prevent it from doing that?

> > I use obs to compile packages and test

> > features here. In my case I would need to hack obs to compile two (or

> > more) packages whose .tar.bz2 are not in obs.

>

> obviously we need to have one of the obs projects tracking the integration

> branches. it makes no sense otherwise.

>

> > more complicated because of the dependencies. People who use Mer SDK

> > would have the same problem too.

>

> no, because they'd be tracking one of:

>

> * master

> * integration

> * a device specific target

>

> > > * when tested enough, it gets merged into master

> > > * Device specific (Archos, vivaldi, whatever) releases are branches of

> > > master called like Device/Vivaldi (only a stable state needed? or

> > > integration/stable for that too?)

> > >

> > > This reflects in obs in the following way

> > > * integration project points to integration branch, (or devel can be

> > > repurposed to it)

> > > * testing project points to master: master became a stable branch now

> > > * Each device specific git branch has an own obs project

> >

> > Why use a git branches instead of sub-directories?

>

> because these branches need to track the existing code from a "known good"

> point and stabilize around that. that is precisely what branches are for.

>

> > With sub-directories

> >

> > we can use only one obs project to build all rpm packages for all devices

> > and minimize the burden of maintaining different copies of the same

> > files.

>

> so we'd have a complete copy of all the source code in each subdirectory?

> and then manually merge diffs between the sub-directories? that makes no

> sense :)

 

No, you copy only the files that need changes. I am not talking about diffs, you copy the whole file, not diffs.

> > For instance, we can create a "shared" sub-directory which contains all

> > configuration files,

>

> this has nothing to do with configuration files. this is the code: the

> shell, the applications, etc.

 

Ok then, forget my suggestion.

> > if a device needs a different configuration file we

> > create a sub-directory for that device and copy only the files that it

> > needs.

>

> and when changes are made to the original files that are globally

> applicable? we just copy those changes by hand? how long do we keep those

> subdirectories?

 

With branches we will have to apply them by hand using git anyway. The difference is that if the change affects affect a file that has never been compiled to a sub-directory then we need to apply it only once. If we use branches for configuration files we will need to apply the change to all branches.

> this also ignore the reality that each device target will end up having its

> own OBS project anyways, so nothing is really to be gained here.

 

If you say so.

> > Then we configure the .spec to, during installation phase, copy the

> > shared directory to the BUILD_ROOT and then override the files there with

> > the ones from the device's sub-directory.

>

> and what about files specific to the device? right: you'll need a different

> .spec file.

 

.spec supports sub-packages.

> and again: this is not about configuration. this is about changes in the

> source code in plasma-mobile and stabilization for specific device

> targets.

 

Again: forget my suggestion then.

 

--

Lamarque V. Souza

http://www.basyskom.com/

--Boundary-01=_uihdPKK0EGcOQF9-- --===============1076176323970760363== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Active mailing list Active@kde.org https://mail.kde.org/mailman/listinfo/active --===============1076176323970760363==--