From owner-freebsd-ports@FreeBSD.ORG Mon Jun 4 13:34:05 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 84600106566B; Mon, 4 Jun 2012 13:34:05 +0000 (UTC) (envelope-from rflynn@acsalaska.net) Received: from mailhub.rachie.is-a-geek.net (rachie.is-a-geek.net [66.230.99.27]) by mx1.freebsd.org (Postfix) with ESMTP id 1CF048FC0C; Mon, 4 Jun 2012 13:34:05 +0000 (UTC) Received: from [127.0.0.1] (squeeze.lan.rachie.is-a-geek.net [192.168.2.30]) by mailhub.rachie.is-a-geek.net (Postfix) with ESMTP id D84BF7E858; Mon, 4 Jun 2012 05:34:01 -0800 (AKDT) Message-ID: <4FCCB947.9070606@acsalaska.net> Date: Mon, 04 Jun 2012 15:33:59 +0200 From: Mel Flynn User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 MIME-Version: 1.0 To: Bernhard Froehlich References: <4FCBF310.3090607@FreeBSD.org> <4FCC862F.9080203@quip.cz> <4FCC9C24.5070001@quip.cz> <5e92b4eb2f005da7638701dfbc22220f@bluelife.at> In-Reply-To: <5e92b4eb2f005da7638701dfbc22220f@bluelife.at> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Baptiste Daroussin , Doug Barton , Bernhard Froehlich , Miroslav Lachman <000.fbsd@quip.cz>, FreeBSD ports list Subject: Re: New OPTIONS and make.conf knobs 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: Mon, 04 Jun 2012 13:34:05 -0000 On 4-6-2012 14:58, Bernhard Froehlich wrote: > On 04.06.2012 13:29, Miroslav Lachman wrote: >> Bernhard Froehlich wrote: >>> On 04.06.2012 11:55, Miroslav Lachman wrote: >>>> There is another problem with options and portmaster. >>>> >>>> I have WITHOUT_X11=yes in make.conf and if I try to install >>>> emulators/virtualbox-ose for the first time it immediately ends with >>>> error message instead of showing options dialog. >>>> >>>> -------------------------------------------------------- >>>> # portmaster emulators/virtualbox-ose >>>> >>>> ===>>> Currently installed version: virtualbox-ose-4.1.16 >>>> ===>>> Port directory: /usr/ports/emulators/virtualbox-ose >>>> >>>> ===>>> This port is marked BROKEN >>>> ===>>> QT4 frontend requires X11 support. Run 'make config' again! >>>> >>>> >>>> ===>>> If you are sure you can build it, remove the >>>> BROKEN line in the Makefile and try again. >>>> Terminated >>>> -------------------------------------------------------- >>>> >>>> >>>> I don't know the order of processing options / knobs so I don't know >>>> if this is the problem of portmaster, OPTIONSng or Makefile it-self. >>>> >>>> To fix this problem, I must manually run `make config` in ports >>>> directory and uncheck QT4, then run portmaster again. >>> >>> That is not a bug at all. It was that way for the last 2 years and still >>> is. The virtualbox ports do not use the new optionsng stuff yet and the >>> problem that you are seeing is just because QT4 GUI without X11 doesn't >>> make sense. If you don't want X11 you also don't want QT4. >> >> Yes, that's right. But I am confused why portmaster does not show the >> options dialog to let user uncheck QT4? >> >> What I expect is: >> - run portmaster >> - show dialog with unchecked X11 >> - let user uncheck QT4 >> - save options in /var/db/ports >> - show error about conflicting options >> >> Now is: >> - run portmaster >> - show error about conflicting options >> >> I don't know if it can be solved by portmaster, ports framework or >> anything else. > > From the BROKEN message: > > QT4 frontend requires X11 support. Run 'make config' again! > > > I think it will be fixed once virtualbox uses optionsng because it is > able to handle such option dependencies but for now it's the same as > it ever was. I think only the port can handle this as it falls in the "sane defaults" category and a framework can never assess what is sane in the specific port's case. A solution that works with old options is to assign the On/Off state with a variable: .ifdef WITHOUT_X11 QT4_DEFAULT= off .else QT4_DEFAULT= on .endif OPTIONS= QT4 "Enable QT4 support" ${QT4_DEFAULT} I think the same will work with optionsng and probably offers better sanity checking as you can query for ${UNIQUENAME}_SET of a related port, like OPENLDAP24_SASL_SET to set the default for ldap sasl support accordingly instead of throwing an exception. -- Mel