Dependencies a little excessive?

Horst H. von Brand vonbrand at inf.utfsm.cl
Wed Aug 16 15:26:19 UTC 2006


Toshio Kuratomi <toshio at tiki-lounge.com> wrote:

[...]

> Better rhetorical question:

> How should I know that yum is going to install an i386 of xfsprogs but
> not vim ahead of time?

Mostly because a package isn't available natively... and this is (mostly) a
repository setup decision.

> I don't know that there's an i386 version of the package within the tree
> until yum tells me.

Then ask...

>                      So if I don't want to waste time with yum trying to
> download the i386 package I need to waste time ftp'ing into the
> repository to list the exact filenames of the packages I'm interested
> in.

Again, a repository setup decision.

> This is a case where "do what I mean" and "do what I say" don't match
> up.  I think that part of it is because yum's overloading a field.  In
> yum install [PACKAGE], PACKAGE sometimes means package name and
> PACKAGENAME.ARCH in others.  If we break arch out of that field another
> issue is easier to see:
> 
> On x86_64:
> 
> yum remove [multilib package]* will remove whichever versions of the
> packages are present on the system.

OK.

> yum remove [multilib package]* --arch=i386 will remove the i386 packages
> if they exist on the system

OK.

> yum upgrade [multilib package]* will upgrade whichever versions of the
> packages are present on the system

OK.

> yum upgrade [multilib package]* --arch=i386 will upgrade the i386
> packages if they exist on the system.

Breaks badly if it is truly multiarch (in that case, you can't have one
version of one arch and another one of the other one).

> yum install [multilib package]* will install the packages from the
> repository.

Which ones? Native only? All?

> yum install [multilib package]* --arch=i386 will install the i386
> packages if they exist in the repository.

OK, unless it conflicts with an installed (older) package for the other
arch. What do you want done in that case? Error out? Upgrade the other
arch?

> The install case is different from the remove and upgrade cases because
> remove and upgrade deal with the installed system while install deals
> with the repository.

/All/ interact with the repository.

>                       To be truly consistent between yum install and yum
> upgrade, if I had vim-common on my system and ran "yum upgrade vim*",
> yum would look in the repository, discover vim-minimal, vim-enhanced,
> and vim-X11 and "upgrade" those as well.  You don't have yum do that
> because yum install and yum upgrade are operating in different contexts
> with different expectations.  If the expectation for the install case is
> "best arch for the system" instead of "all packages present in the
> repository" then it shouldn't be a surprise that it isn't consistent
> with the upgrade or remove case for the same reason.

What is so wrong with "yum install 'vim*.i?86'" here? (Not that I'd expect
vim.i386 to be in the x86_64 repository, but...).
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513




More information about the devel mailing list