FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Development

 
 
LinkBack Thread Tools
 
Old 09-18-2011, 06:22 PM
Panu Matilainen
 
Default how to have yum prefer one dependency over others

On 09/18/2011 08:40 PM, Rahul Sundaram wrote:
> On 09/17/2011 01:02 AM, Richard Hughes wrote:
>> On 16 September 2011 20:02, Richard W.M. Jones<rjones@redhat.com> wrote:
>>> Is Zif a SAT solver?
>> No, but I've been playing a few times with libsatsolver in the past year or so.
>
> Since Panu Matilainen has said that he is willing to merge in a
> depsolver in RPM directly, that seems to be the optimal choice at this
> point. IMO, you should work with Michael Schrder and Panu Matilainen
> to do that. If we (Red Hat, SUSE etc) have a fighting chance to
> standardize on a single depsolver that is a really big win.

I've a feeling people are going to interpret the "merge a depsolver into
rpm" thing in various different ways, lets clarify this a bit:

I'm talking about means of having all the rpm-related tools use the same
abstract dependency resolution algorithm though an API. Whether that is
/in/ rpm, or something that rpm itself /uses/ (and possibly further
exports via its own API) is not terribly relevant to that goal.

What I'm NOT talking about is turning rpm into
yum/zif/apt/smart/zypp/urpmi kind of tool which deal with concrete
repositories, downloading information from them etc.

- Panu -
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 09-18-2011, 07:53 PM
Richard Hughes
 
Default how to have yum prefer one dependency over others

On 18 September 2011 19:22, Panu Matilainen <pmatilai@laiskiainen.org> wrote:
> I'm talking about means of having all the rpm-related tools use the same
> abstract dependency resolution algorithm though an API. Whether that is
> /in/ rpm, or something that rpm itself /uses/ (and possibly further
> exports via its own API) is not terribly relevant to that goal.

If rpm exposed a depsolve API, I would switch to it in a heartbeat. If
it's C, it's good for me. If it's based around libsolv, then even
better.

Richard.
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 09-18-2011, 10:44 PM
Kevin Kofler
 
Default how to have yum prefer one dependency over others

Richard Hughes wrote:
> Naa, try the version of zif in F16, or grab the latest upstream SRPM
> and rebuild it for f15 from here:
> http://people.freedesktop.org/~hughsient/fedora/15/SRPMS/

I submitted a Koji scratch build of zif-0.2.4-0.78.20110918git for F15:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3359296

It's a scratch build, so it will NOT be pushed to any repository (download
the build output directly from Koji if you want it) and it will expire in 2
weeks.

I might set up a zif backport repository for F15 on repos.fedorapeople.org
like I did with gtk3 for F14 if there's interest and if you (Richard Hughes)
are OK with it.

Kevin Kofler

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 09-19-2011, 12:40 AM
Kevin Kofler
 
Default how to have yum prefer one dependency over others

Björn Persson wrote:
> Do you actually mean that you would prefer a package manager that always
> chooses the same package regardless of what the user has already
> installed? If Gizmo requires frobnicator, which is provided by both
> Gnome-frobnicator and KDE-frobnicator, and the user has only installed
> KDE, do you really want Gizmo to pull in half of Gnome even though it
> works fine with KDE? I can't believe that you would find that acceptable.
>
> But if you actually want that – from a developer's perspective – then it's
> dead simple to achieve: Just don't use virtual provides. Write "Requires:
> Gnome-frobnicator" in Gizmo.spec. Problem solved; no need to replace the
> package manager.

The use case I have in mind, which is a real-world case, is this:
phonon Requires: phonon-backend
phonon-backend-* Provides: phonon-backend
phonon-backend-* Requires: phonon
I want any random phonon-backend-* to satisfy the dependency, HOWEVER, I
want installing phonon when it previously wasn't installed to always drag in
phonon-backend-gstreamer, our default backend and the one working the best,
not some random backend which happens to have fewer dependencies. Yum's
convoluted logic is making it basically impossible to do that, and in fact,
on the RPM Fusion builders, phonon-backend-vlc is selected instead, which is
always fun because it means vlc's regular broken dependencies can break
builds of anything KDE-related in RPM Fusion. (I had a k3b-extras-freeworld
build break because of this very issue.) I guess users installing KDE with
RPM Fusion Free enabled will also get the VLC backend by default, which is
not what we want.

We really need a way to be able to specify an explicit default which is used
independently of what the user has installed, even if we don't always use it
(I can see the case of gnome-* vs. kde-*); the version number of the
Provides would be one solution. ("Shortest name" or "first in the alphabet"
is just a hack, which forces silly things like using "phonon-bknd-gst", so I
don't think that's a good way to make the decision, though even that was
better than what we have now, which is almost unpredictable.)

Kevin Kofler

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 09-19-2011, 12:46 AM
Kevin Kofler
 
Default how to have yum prefer one dependency over others

I wrote:

> Richard Hughes wrote:
>> Naa, try the version of zif in F16, or grab the latest upstream SRPM
>> and rebuild it for f15 from here:
>> http://people.freedesktop.org/~hughsient/fedora/15/SRPMS/
>
> I submitted a Koji scratch build of zif-0.2.4-0.78.20110918git for F15:
> http://koji.fedoraproject.org/koji/taskinfo?taskID=3359296
>
> It's a scratch build, so it will NOT be pushed to any repository (download
> the build output directly from Koji if you want it) and it will expire in
> 2 weeks.
>
> I might set up a zif backport repository for F15 on repos.fedorapeople.org
> like I did with gtk3 for F14 if there's interest and if you (Richard
> Hughes) are OK with it.

Well, looks like we also need a rebuild of PackageKit-zif against the new
soname (libzif.so.3, the package in F15 is built against libzif.so.2), so I
think the repo is the best solution if we want people to be able to test
this. Richard, what do you think?

Kevin Kofler

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 09-19-2011, 01:32 AM
Matthew Garrett
 
Default how to have yum prefer one dependency over others

On Mon, Sep 19, 2011 at 02:40:30AM +0200, Kevin Kofler wrote:

> We really need a way to be able to specify an explicit default which is used
> independently of what the user has installed, even if we don't always use it
> (I can see the case of gnome-* vs. kde-*); the version number of the
> Provides would be one solution. ("Shortest name" or "first in the alphabet"
> is just a hack, which forces silly things like using "phonon-bknd-gst", so I
> don't think that's a good way to make the decision, though even that was
> better than what we have now, which is almost unpredictable.)

Debian policy is that any virtual dependencies must also have an
explicit dependency. In your case it would be something like

Requires: phonon-backend-gstreamer | phonon-backend

If the virtual dependency is already satisfied then nothing happens,
but if not phonon-backend-gstreamer would be used to satisfy it. This
works fine for package dependencies, but I'd imagine file-based
dependencies would make things more awkward.

--
Matthew Garrett | mjg59@srcf.ucam.org
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 09-19-2011, 07:02 AM
Richard Hughes
 
Default how to have yum prefer one dependency over others

On 19 September 2011 01:46, Kevin Kofler <kevin.kofler@chello.at> wrote:
> Well, looks like we also need a rebuild of PackageKit-zif against the new
> soname (libzif.so.3, the package in F15 is built against libzif.so.2), so I
> think the repo is the best solution if we want people to be able to test
> this. Richard, what do you think?

This is why I didn't backport the new zif to F15.

If you're confident doing the PK and zif rebuild for F15 at the same
time then I'm happy just to stick it in F15 properly rather than
having a separate repo. I didn't trust myself enough to not break PK
in a stable release, although it would only affect people with
PackageKit-zif already installed.

I'm okay with either solution. Thanks.

Richard.
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 09-19-2011, 09:59 AM
Michael Schroeder
 
Default how to have yum prefer one dependency over others

On Mon, Sep 19, 2011 at 02:40:30AM +0200, Kevin Kofler wrote:
> The use case I have in mind, which is a real-world case, is this:
> phonon Requires: phonon-backend
> phonon-backend-* Provides: phonon-backend
> phonon-backend-* Requires: phonon
> I want any random phonon-backend-* to satisfy the dependency, HOWEVER, I
> want installing phonon when it previously wasn't installed to always drag in
> phonon-backend-gstreamer, our default backend and the one working the best,
> not some random backend which happens to have fewer dependencies. Yum's
> convoluted logic is making it basically impossible to do that, and in fact,
> on the RPM Fusion builders, phonon-backend-vlc is selected instead, which is
> always fun because it means vlc's regular broken dependencies can break
> builds of anything KDE-related in RPM Fusion. (I had a k3b-extras-freeworld
> build break because of this very issue.) I guess users installing KDE with
> RPM Fusion Free enabled will also get the VLC backend by default, which is
> not what we want.

Sounds like you want weak dependencies (i.e. "Suggests" et al).

Cheers,
Michael.

--
Michael Schroeder mls@suse.de
SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 09-19-2011, 11:00 AM
Kevin Kofler
 
Default how to have yum prefer one dependency over others

Matthew Garrett wrote:
> Debian policy is that any virtual dependencies must also have an
> explicit dependency. In your case it would be something like
>
> Requires: phonon-backend-gstreamer | phonon-backend

Unfortunately, RPM does not support this idiom.

Kevin Kofler

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 09-19-2011, 11:02 AM
Kevin Kofler
 
Default how to have yum prefer one dependency over others

Michael Schroeder wrote:
> Sounds like you want weak dependencies (i.e. "Suggests" et al).

In this case, I think disjunctive dependencies (default | virtual), as
Matthew Garrett pointed out, are the right solution, not soft dependencies
(though those would also be nice).

Kevin Kofler

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 

Thread Tools




All times are GMT. The time now is 09:45 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org