[arch-general] Frustrating Dependencies
André Ramaciotti da Silva
andre.ramaciotti at gmail.com
Mon Nov 23 09:16:46 EST 2009
On Mon, Nov 23, 2009 at 02:49:19PM +0100, Heiko Baums wrote:
> Am Mon, 23 Nov 2009 11:17:13 -0200
> schrieb André Ramaciotti da Silva <andre.ramaciotti at gmail.com>:
> > I don't want to flame, but that's why I recently moved to Gentoo.
> > Arch is one of the best distros I've used, but when you use a
> > (primarily) binary distro, the number of choices you have is reduced.
> > I don't blame the devs, though. They must make packages that appeal
> > to a large number of users and Arch ends up with packages with a big
> > number of dependencies. If you think about it, using a little bit
> > more of disk space isn't a big problem compared to the problem some
> > people would have if the default packages weren't compiled with these
> > extra dependencies, because they would have to compile their own
> > packages, defeating the reason to use a binary-based distro.
> > I know, Arch has ABS, which is a great improvement compared to others
> > binary-based distros, but it's still not perfect. Pacman doens't look
> > for custom PKGBUILDs and automatically create the new packages based
> > on them, and I guess it won't. Pacman wasn't meant to do that.
> > You can make scripts based on pacman and ABS that will do this (I've
> > made one shortly before changing distros), but then I realised I
> > don't know all the ./configure options a package has, and I find
> > documentation on this a little scarce. Using the 'USE' flags with
> > emerge is much simpler in this aspect.
> I don't think that you will stay too long with Gentoo. ;-)
> It is right that you can reduce the dependencies a bit and that you are
> more flexible by setting USE flags. As far as I recall the difference
> between Gentoo and Arch Linux regarding the disk space is not
> significant if there's a difference at all, but you will need a lot more
> temporary disk space for compiling and it takes several days to compile
> the whole system and every update takes much longer than on Arch Linux.
> So I think "wasting" a bit disk space for dependencies which aren't
> needed is better than wasting too much time for compiling the whole
> system. That's why I switched from Gentoo to Arch Linux a while ago. On
> Arch Linux you still have the same control over the installed packages
> as you have on Gentoo. Don't overvalue the USE flags.
> There's optdepends to reduce the dependencies a bit as long as a
> dependency can be made optionally. Otherwise more comfort for the common
> users is better I think.
> And pacman and ABS are good as they are. There's still the
> NoUpgrade option in pacman.conf if you build a package from ABS.
I know, I know, they always come back. :P
My Arch installation is still in my HD, just in case.
About disk usage, don't forget that arch keeps a cache of downloaded
packages. So I don't think Gentoo is in disadvantage here. My installation
uses 1GB less than Arch (both have basically the same packages). It may
not sound like a lot, thinking of the size most HD have nowadays, but it's
a 20% improvement.
I don't think compiling takes that much. If you're in a hurry, then yes,
it'll seem like forever. I installed in a weekend, basically the same time
I took to install Arch (because I install some packages, then I remember
of others, then others...). But it wasn't 48h compiling, it was way, way
I agree that with Arch you still have control over your packages, but USE
flags make it easier. Somebody already went into the ./configure of all
packages and put it in an easier way to do it. If programs could talk,
emerge would be like:
- I want my mplayer with samba and lirc support.
- OK, I'll configure it this way, but then you also need to install this
and this packages.
While pacman would be something like:
- I want my mplayer without samba support.
- Wakka wakka wakka. Make a custom PKGBUILD then, wakka wakka.
And finally, yes, there are optdeps, but pacman don't handle them as
nicely it handles obligatory dependencies. If I install an optdep as an
explicit installed package, when I uninstall the other package, the optdep
will stay in my system. If I install it as a dependency, pacman will list
it as an unnecessary dependency when I run pacman -Qdt.
More information about the arch-general