Donnerstag, 5. April 2007

exclude=*-devel.i386 [Update]

I'm normally trying to use the default software and settings my linux distribution provides as much as possible, as everything that one changes in my experience fires back sooner or later and requires manual adjustments (read: time) to make it work again; that makes slightly advantages often obsolete if looked back at the situation in retrospective later.

But well, today I made a big exception again. I added "exclude=*-devel.i386" to my /etc/yum.conf; getting all those *-devel.i386 packages by default really annoyed me, as I always forgot to add the ".x86_64" when running "yum install foo-devel". The download of those i386 packages consumes bandwidth and takes time; installing and updating the packages later takes even more time. And even worse: you end with lots of unwanted and unneeded userspace apps and libs for i386 as well, as the devel packages normally depend on them; those packages are not cached by rpmdev-rmdevelrpms either, so I end up with lots of cruft on my hardisk.

All this IMHO for a small benefit: to be able to develop i386 packages on a x86_64 host. How big is the number of users doing that? And does it really work in practice? A lot of configure scripts and apps (including rpm) in my experience seem to get confused if you try to compile something for i386 on a x86_64 host (even when remembering to use setarch). So it's really the best and the safest to use a chroot (e.g. mock) for this purposes as far as I can see.

So in other words: is installing *-devel.i386 packages on x86_64 really a sane default for Fedora? I really doubt it. It creates more trouble for the growing number of x86_64 users and makes it a slightly bit easier for only a small group of users. I'm really wondering if it would be better to have those *-devel.i386 packages in a separate Fedora-add-on repository that people just can enable if they really want them.

[Update] Seems I need to clarify something, as I got two comments on this blog now, and it seems both users got tracked into the wrong direction. Rahul for example wrote:

>> All this IMHO for a small benefit: to be able to
>> develop i386 packages on a x86_64 host
> This is not the primary benefit. The primary reason
> is that there is a number of third party software that
> are still 32 bit and multi lib by default helps them
> work better without fiddling.

You got me wrong here. I'm all for having .i386 libs and maybe even some i386 apps (like firefox) in the repo, because (as your write) they are needed for third party software (for example). I was taking about the *-devel.i386 packages only.

Kommentare:

Michel hat gesagt…

I've complained about this several times on fedora-devel, so yes, I agree it's not really useful by default (Jesse gets quite defensive about this, though).

Especially when tracking Rawhide, and sometimes the i386 RPM is not in sync with the x86_64 RPM, botching an upgrade attempt.

Rahul hat gesagt…
Dieser Kommentar wurde vom Autor entfernt.
Rahul hat gesagt…

Thorsten,

" All this IMHO for a small benefit: to be able to develop i386 packages on a x86_64 host"

This is not the primary benefit. The primary reason is that there is a number of third party software that are still 32 bit and multi lib by default helps them work better without fiddling.

I dont think this is good enough a reaosn to have this behavior by default especially considering the amount of pain it is causing but just wanted you to understand the proposed benefit clearly.

Also this behavior is perhaps better discussed by something like FESCo rather than a blog.

Thorsten "thl" Leemhuis hat gesagt…

>This is not the primary benefit. [...]

See the updated blog post.

>Also this behavior is perhaps better >discussed by something like FESCo rather >than a blog.

Well, it was discussed in the past multiple times already. But yes, my plan is to bring this up to FESCo; but for F7 it's to late IMHO, so I don't think it's worth spending time on now. And I want to see if this "exclude=*-devel.i386" works fine in real life before I propose to make this the default.

Rahul hat gesagt…

Thorsten,

" You got me wrong here. I'm all for having .i386 libs and maybe even some i386 apps (like firefox) in the repo, because (as your write) they are needed for third party software (for example). I was taking about the *-devel.i386 packages only."

So, I would request one more clarification there. Are you for or against non-devel i386 packages being installed on a x86_64 system by default?

Thorsten "thl" Leemhuis hat gesagt…

> So, I would request one more
> clarification there.
> Are you for or against non-devel
> i386 packages being installed on a
> x86_64 system by default?

I'm "for non-devel i386 packages on x86_64 machines by default". Only installing the i386 devel packages by default on x86_64 is the big pain in my eyes.