Run-time auto-detection is harmful for packages

Jeremy Messenger mezz7 at cox.net
Thu Jan 29 15:12:46 PST 2009


On Thu, 29 Jan 2009 16:40:27 -0600, Boris Samorodov <bsam at ipt.ru> wrote:

> Hello List,
>
>
> I'd like to be better safe than sorry, but... You know, things may
> happen.
>
> I prefer to use packages for installing/updating since there are at
> least five personal machines which I should take care of (at work, at
> home, my relatives, backups, etc.) and a bunch of servers at
> $dayjob. But there is imho an inconsistency when an auto-detection is
> involved.
>
> Please note, that I'll speak about default environment. And this is
> not about gnome packages. The latter are just an example.
>
> Here is an example. I'm able to install lang/fpc-units only IFF
> there is no x11/gnome2 installed! If x11/gnome2 is installed
> then audio/esound is installed. One of lang/fpc-units dependencies
> (audio/libmikmod) has an auto-detection at the Makefile:
> -----
> .if ${HAVE_GNOME:Mesound}!=""
> USE_GNOME+=     esound
> CONFIGURE_ARGS+=        --enable-esd
> PKGNAMESUFFIX=  -esound
> .else
> CONFIGURE_ARGS+=        --disable-esd
> .endif
> -----
>
> Hence:
> -----
> # (cd /usr/ports/audio/libmikmod; make -V PKGNAME)
> libmikmod-esound-3.1.11_2
> -----
>
> But this package has never been packaged (note: with default
> environment). I can do nothing at my side (you remember, I use
> packages) after I had installed default packaged x11/gnome2.
>
> My proposal is dual.
>
> 1. Give an administrator a key to disable that super intelligence ;-)
>    and replace the line
>    .if ${HAVE_GNOME:Mesound}!=""
>    with the line
>    .if (${HAVE_GNOME:Mesound}!="" || defined(WITH_ESOUND)) &&  
> !defined(WITHOUT_ESOUND)
>
>    That will give an administrator an opportunity to unbreak per host
>    some currently broken package installation/update.

You already can do that. WITHOUT_GNOME=yes or WITHOUT_GNOME=esound.

> 2. Create slave ports to build (non-default so far) packages for those
>    who want to use packages and were unfortunate to install packages
>    used for auto-detection by other packages.
>
>    As an example here may be a slave port audio/libmikmod-esound with
>    CONFIGURE_ARGS+=--enable-esd at makefile.

No thanks, create a slave port that will have CONFLICTS with master is a  
worst solution.

> BTW, this is a long standing (several years at least) trouble with my
> PCs while updating gnome, xorg etc. Only now I had some time to detect
> the problem.
>
> Well, thanks for reading so far. And what do you think?
>
>
> WBR


-- 
mezz7 at cox.net  -  mezz at FreeBSD.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/  -  gnome at FreeBSD.org


More information about the freebsd-ports mailing list