From owner-freebsd-ports@FreeBSD.ORG Thu Jan 29 22:40:29 2009 Return-Path: Delivered-To: freebsd-ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9466C10656CB for ; Thu, 29 Jan 2009 22:40:29 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from mail.ipt.ru (mail.ipt.ru [194.62.233.102]) by mx1.freebsd.org (Postfix) with ESMTP id 35F488FC29 for ; Thu, 29 Jan 2009 22:40:29 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from sp34.ipt.ru ([194.62.233.107] helo=bs1.sp34.ru) by mail.ipt.ru with esmtp (Exim 4.62 (FreeBSD)) (envelope-from ) id 1LSfYh-000M8e-TD for freebsd-ports@FreeBSD.org; Fri, 30 Jan 2009 01:40:27 +0300 Received: from bsam by bs1.sp34.ru with local (Exim 4.69 (FreeBSD)) (envelope-from ) id 1LSfYh-0000QN-Cg for freebsd-ports@FreeBSD.org; Fri, 30 Jan 2009 01:40:27 +0300 To: freebsd-ports@FreeBSD.org From: Boris Samorodov Date: Fri, 30 Jan 2009 01:40:27 +0300 Message-ID: <13578868@bs1.sp34.ru> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Subject: Run-time auto-detection is harmful for packages X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jan 2009 22:40:30 -0000 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. 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. 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 -- Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD committer, http://www.FreeBSD.org The Power To Serve