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