Hello,
this is written for group-foresighters,so I will write how that group
works. As other groups can have other specialties that do other things.
About groups and how they come in handy.
A group contains several single packages and specifies 32bit,
64bitforpackages. As some might only be 32bit.
The group makes sure packages gets rebuild together with buildreqs from
same group.
let's say we have these packages in foresighters:
gtk3
pango
glib
same packages in fl:2-devel.
you have updated all 3 in foresighters repo and start to install glib,
then pango, it will complain that glib has the wrong version when
installing pango. as when you build pango it took the version of glib
from fl:2-devel
This is where groups make things little easier.
we add glib in group-foresighters. then run: .cook.sh to get a binary
from group-foresighters, so we know group-foresighters knows it's there.
Then we just build pango and it will automatically take glib from
foresighters group as buildreq and the rest of buildreqs from
fl:2-devel. When it is done, we add pango to group-foresighters and
commit the recipe, then run /.cook.sh
Now we got pango and glib in group-foresighters. So now I can easily
install both of them without getting a conflict that pango used glib
from fl:2-devel when I got glib from foresighters repo.
sudo conary install {glib,pango}=foresighters.rpath.org@fl:2-devel
That will now work perfectlytoinstall. As pango now want glib from
group-foresighters group and we want that one.
We need to always run: cvc update
inside group-foresighters folder, to see if someone else have done any
changes first. Before we add or change anything inside it. And we always
need to commit recipe if we make changes inside it.
And we have thisin our .rmakerc file:
resolveTroves group-world=foresighters.rpath.org@fl:2-devel
That will tell rmake to always first grab buildreqs from group-world in
foresighters repo. Group-world is created from group-foresighers recipe.
And if it's not any buildreqs there, it will continue to look in
fl:2-devel repo instead after buildreqs.
And if a package is updated in fl:2-devel, then we only need to remove
it inside group-foresighters (comment it out) and commit recipe, then
./cook.sh then it will no longer be available for our rmaketo grab it
from foresighters repo, then it will take it from fl:2.devel instead.
You don't have to add so much time to make sure they are built against
the right version of packages.
Starting with thisfor now.
Probably some other can jump in and explain abit more, if needed.
// Tomas Forsman
_______________________________________________
Foresight-devel mailing list
[email protected]
https://lists.foresightlinux.org/mailman/listinfo/foresight-devel