El Mar, 10 de Marzo de 2009, 22:03, Mikhael Goikhman escribió:
> On 10 Mar 2009 13:02:11 +0100, Jesús Guerrero wrote:
>
>>
>> I don't care if it can work by manually installing whatever perl
>> bindings package is needed. The gentoo policy ask from me that if a
>> feature is enabled when building from an ebuild, all the required deps
>> need to be resolved from the ebuild. Period. That's why there are
>> separate DEPEND and >>RDEPEND<< (for runtime only stuff which would be
>> the case).
>>
>> There's a solution, of course: to add the new package and maintain
>> it along. But, as you said, this is free software, and if no one wants to
>> do that, then the package is not into portage, and hence any fvwm
>> feature depending in that package will need to be disabled.
>>
>> Packages with unresolved dependencies are either "fixed" or scheduled
>> for removal, so the choice here is crystal clear for me. :)
>
> By "unresolved" do you mean some automatic "resolving", causing real
> packaging problem? This is the only reason I may think of for trying some
> drastical things in order to fix it. For example, I discovered that the
> recent rpmbuild automatically insisted about this dependency, but not any
> more with one of my latest fixes.

By unresolved I mean either a build or runtime dependency, in
Gentoo both need to be fulfilled as far as I know. In cases of
marginal functionalities it's possible to disable these, hence
eliminating the need for the given dependency. People in Gentoo
seem reluctant to add packages linked in any way to gtk1 nowadays.

Some of these have already been wiped out of the tree like xmms
and a lot of related packages.

> There are optional dependancies, like Perl/Tk (if one wants to use
> FvwmTabs) or xlock (to use fvwm-menu-xlock), but declaring that fvwm
> now depends on them for all users would contradict the developers
> intention.

That's where USE flags come into scene in Gentoo. If you don't want
to depend on tk just set USE="-tk". Of course, it would be a nightmare
to put a flag for every single ./configure option. The degree of
granularity depends on the package you pick. Of course, any user can
fill an enhancement bug if s/he thinks that a new USE flag should be
added to the ebuild.

The whole idea behind this is that if you add support for tk to fvwm
via USE flags you shouldn't need to emerge anything else, you emerge
fvwm and portage takes care of everything, and all the tk related
parts of fvwm should work without installing anything else.

However there's no xlock use flag, and maybe it should be added
just like there's an rplay use flag. :)

>>> One [real] distribution may decide that fvwm package should depend on
>>>  pyxdg, ImageMagick, libxml2 and other never intended things. But
>>> also decide to exclude two text files that should not have
>>> dependencies.
>>
>> Now that you say it, the libxml2 dep on gentoo might be a candidate
>> for removal. I guess that libxml2 is an indirect dep in the sense that
>> libxslt will require it (and in turn, libxslt is required to build the
>> fvwm documentation). So the ebuild should depend only in libxslt but not
>> libxml2, can you confirm this, please?
>
> Nothing in fvwm uses libxml. The fvwm package should not depend on
> libxslt either. But the build procedure may depend on it although this may
> possibly be moved even to the higher distribution step (just like the
> autotools requirement). This part about building html docs is not fully
> finished yet for the rpm/deb generation, there is still some decision to
> take.

I agree to the libxml2 part.

But for the libxslt part... in Gentoo as said there are
DEPEND and RDEPEND in ebuilds, and all you should need to emerge
fvwm is to type "emerge fvwm". If you do that and fvwm doesn't build
(because libxslt is not found) then the ebuild is defective. This
might seem odd, but Gentoo is not a binary distro, it's a source
distro, and the fact is that if you have USE="doc" then you need
libxslt to build fvwm.

The dependency tree is Gentoo can't every be compared to this of
a binary distro. If you had to go manually fishing packages to
be able to emerge every single package in your system then there
would be no difference between gentoo and lfs, since the whole
dependency system would be pointless then. I hope it makes sense.

Thanks for all the input, Mikhael. It's much appreciated.
-- 
Jesús Guerrero


Reply via email to