Subject: Re: RFC: new variable SUGGESTS
To: Jan Schaumann <jschauma@netbsd.org>
From: Hubert Feyrer <hubert.feyrer@informatik.fh-regensburg.de>
List: tech-pkg
Date: 07/22/2002 04:29:21
On Sun, 21 Jul 2002, Jan Schaumann wrote:
> >  * If a "suggestion" is accepted, it should be changed into a dependency
> >     - to make sure binary pkgs pull in the proper pkgs
> >     - to prevent deinstallation of the "suggestions" - things might break
> >       else! (imagine a "suggested" lib is gone... boom!)
>
> I disagree.  If a package 'suggests' a library, it *must* be fully
> functional without it.  Otherwise the library would be a dependency, no?
> Therefore, any package that is 'suggested' *must not* influence the
> usability of the suggesting package.  That is why they are installed
> _after_ the initial package is already installed.

That doesn't make sense. Look at how gimp treats 'aalib'. It's found
(without further configure switches) on configure time, and the gimp
binary is linked against the lib. Now install the lib, and have a problem.


> The user should be free to install, remove and re-install suggestions as
> they please.

Yes, that's what we would like to have.
Reality is different though.


> Binary packages should remain unaffected from suggested packages.  I
> guess I'd have to look more carefully at how binary packages are built,
> but when building, TAKE_SUGGESTS should automatically be set to "NO".

That's too late then - see 'gimp' above.


> >  * You do not mention or consider changed configure/build process at all.
> >    Often, GNU configure needs additional switches to make use of
> >    additional software. How do you intend to handle that?
> >    Relying on smart configure scripts is not an option here.
> >    (We already had this discussion quite some time ago... search the
> >     archives!)
>
> Hmmm, this may get hairy:  While the suggested package my be installed,
> it is important to stress (again) that it is (from a purely functional
> point of view) independent of the suggesting package.  It is, in a way,
> just a convenient way to say "Here, this might be useful for you, if you
> like it, install it.  If not, don't."
>
> Given that any completely independant package has no way of knowing what
> else is installed of other optional packages, I don't see how the
> configure-paramters could be adjusted.  This would require that packages

Enable code to _use_ that optional stuff?
Like in sylpheed, tell it to use compface.


> Or did I misunderstand you?

Well, you didn't get the whole picture yet. :)

There are several kinds of these "soft dependencies:
 * additional programs which can be executed by the user if present
   (there's your amanda-plot example)
 * additional libs (which probably need reconfigure/rebuild/relink)
   (see gimp & aalib)
 * additional programs, whic may need additional code to get them run
   (see compmail & sylpheed)


 - Hubert

-- 
Want to get a clue on IPv6 but don't know where to start? Try this:
* Basics -> http://www.onlamp.com/pub/a/onlamp/2001/05/24/ipv6_tutorial.html
* Setup  -> http://www.onlamp.com/pub/a/onlamp/2001/06/01/ipv6_tutorial.html
Of course with your #1 IPv6 ready operating system -> http://www.NetBSD.org/