Mailinglist Archive: opensuse-buildservice (351 mails)

< Previous Next >
[opensuse-buildservice] Aggregating from non-standard repository name
  • From: "Archie Cobbs" <archie@xxxxxxxxxxxx>
  • Date: Tue, 8 Jul 2008 12:09:53 -0500
  • Message-id: <3bc8237c0807081009wb14ba14xd12bb546d2c28adb@xxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxx>
Date: Fri, May 23, 2008 at 11:43 AM
Subject: Re: Meta-data change for network:telephony
To: Archie Cobbs <archie@xxxxxxxxxxxx>
Cc: max@xxxxxxxxxx, mrueckert@xxxxxxxxxx, hvogel@xxxxxxxxxx,
richard.bos@xxxxxxxxx, lurch@xxxxxx, opensuse.org@xxxxxxxxxx,
pvanveen84@xxxxxxxxxxx


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@xxxxxxxxxxxxxx>
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@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >