Marcus wrote:
Btw: why don't you directly build against this repository? This would avoid package duplicates on the mirrors.
Because I was told to... see below. Clearly there is some confusion or disagreement on whether it is better to add a repository to your project or aggregate in order to make BuildRequires RPMs available. Maybe the collective wisdom of this list can come up with a definitive "best practice" here? Thanks, -Archie ---------- Forwarded message ---------- From: Peter Nixon <listuser@peternixon.net> Date: Fri, May 23, 2008 at 11:43 AM Subject: Re: Meta-data change for network:telephony To: Archie Cobbs <archie@dellroad.org> Cc: max@novell.com, mrueckert@novell.com, hvogel@novell.com, richard.bos@xs4all.nl, lurch@gmx.li, opensuse.org@jerris.com, pvanveen84@hotmail.com Archie You are not irritating.. I asked all these questions and more to Darix (mrueckert) and he patiently answered them :-) When you put another project as a dependency of your project in the metadata it will allow your packages to build, but then when someone tries to use your repo to install your package those dependencies will not be supplied if they are needed as "Requires" forcing the user to go off in search of those dependencies too. When you "link" a particular package into your project it is rebuilt which takes up resources on the Build Service but is usefull if you want one of IT'S dependencies to be supplied by a package in your project without touching its spec, or if you want to build for a target which is not enable in it's home project. Once built the package is uploaded to the mirrors which also takes up mirror resources, and it also will have a different build version number which means that you may (or may not) randomly upgrade existing packages of the same name on your users system.. When you "aggregate" a particular package into your project it is not rebuilt, but rather copied directly from its home project. It keeps the same version number, so when it is uploaded to mirrors it does take up resources on them but it will not replace the same package if already installed on a users system (from the parent project). This is the preferred and cleanest way of sucking in a few extra dependencies to your project. I hope that makes things clearer. Regards Peter On Fri 23 May 2008, Archie Cobbs wrote:
On Fri, May 23, 2008 at 2:17 AM, Peter Nixon <listuser@peternixon.net> wrote:
It would be much better if you simply aggregated the packages you require rather than linking in extra entire projects. Look at the "freeradius-client" package for an example.
Got it, looks easy.
What follows is a separate question, feel free to ignore if I'm starting to get irritating...
The goal here is simply to have certain RPMs that exist in other projects (but not in standard SuSE) available as Build-Requires.
As I understand it, aggregating is akin to copying in a package from another project into your project. When you aggregate another package X from project A into project B, then when you search for "X" on software.opensuse.org, you get a match for "project A package X" and also "project B package X", and OBS is building package X twice, once in each project, producing two separate downloadable RPMs.
On the other hand, I thought that adding another project to your project (via "osc meta -a PRJ") simply made the RPMs in that other project available to your project (e.g. for Build-Requires, etc). I.e., it did the equivalent of "zypper addrepo otherproject" to your project. The result is that there is no redundant building of any RPM twice, in contrast to linking/aggregating.
It to me seems like (since I don't need to modify these RPMs) that the second option is more sensible than the first.
Obviously, there is some other cost to the second option that I'm unaware of. Can you explain what it is?
Thanks, -Archie
-- Archie L. Cobbs
-- Peter Nixon http://peternixon.net/ -- Archie L. Cobbs --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org