From owner-freebsd-ports@FreeBSD.ORG Sat Oct 2 00:26:06 2010 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B6FA106566B for ; Sat, 2 Oct 2010 00:26:06 +0000 (UTC) (envelope-from obrien@NUXI.org) Received: from dragon.nuxi.org (trang.nuxi.org [74.95.12.85]) by mx1.freebsd.org (Postfix) with ESMTP id F37D58FC12 for ; Sat, 2 Oct 2010 00:26:05 +0000 (UTC) Received: from dragon.nuxi.org (obrien@localhost [127.0.0.1]) by dragon.nuxi.org (8.14.4/8.14.4) with ESMTP id o920Q5he008091; Fri, 1 Oct 2010 17:26:05 -0700 (PDT) (envelope-from obrien@dragon.nuxi.org) Received: (from obrien@localhost) by dragon.nuxi.org (8.14.4/8.14.4/Submit) id o920Q5tL008090; Fri, 1 Oct 2010 17:26:05 -0700 (PDT) (envelope-from obrien) Date: Fri, 1 Oct 2010 17:26:05 -0700 From: "David O'Brien" To: David DEMELIER Message-ID: <20101002002605.GA8018@dragon.NUXI.org> References: <4C93AA31.5080202@DataIX.net> <20100918223933.GB85995@dragon.NUXI.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: FreeBSD 9.0-CURRENT X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? User-Agent: Mutt/1.5.16 (2007-06-09) Cc: FreeBSD Ports Subject: OPTIONS (was: editors/vim installs to /) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: obrien@freebsd.org List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Oct 2010 00:26:06 -0000 On Sun, Sep 19, 2010 at 10:24:59AM +0200, David DEMELIER wrote: > What is "sufficiently clean" ? I wonder what is not clean in the > options framework, so please tell me then we still can clean it? When the Ports Collection was invented, ports maintainers were to choose a reasonable set of configuration for the FreeBSD community and have the port build that way. Today we have ports that seem to expose every single option to GNU configure and giving the user a puzzling choice of too many things. Often the explanations are nothing more than restating the option name and the user is left wondering what is X? What does Y mean? How do I know if I really want Z or not? Why is threading so often an OPTION and not just the default? Why do I have to go read the packages README and INSTALLING to figure out the caveats of say enabling threading? Or what the other list of things are and their caveats? 1. One should not have to deal with the OPTIONS dialog just to 'make extract' if one wants to check the license or otherwise investigate a port before deciding to install it. 2. With the way OPTIONS handling is done, there isn't a way for me to query if I built with the defaults or not. Thus leading to every port I manually install looking like it was customized just because /var/db/ports/${PORTNAME} exists. Thus implying I can no longer install the pre-build package. 3. OPTIONS are limited to only checkbox YES/NO settings. Why can I not set PREFIX thru the OPTIONS framework and have it come from /var/db/ports/${PORTNAME}/options on the 2nd and later builds? Even the boolean NOPORTDOCS isn't available thru OPTIONS. Thus it is an inconsistent way to configure a port. 4. When I build misc/mc-light and have "WITHOUT_NLS=yes" in /etc/make.conf, why does the OPTIONS dialog offer me "[X] NLS Enable gettext support" instead of defaulting the dialog to unchecked? 5. One cannot opt-out of OPTIONS. WITHOUT_OPTIONS does not work to just get the defaults while skipping the OPTIONS dialog. Note, setting BATCH does a lot more than just make OPTIONS non-interactive (for some ports it stops other non-OPTIONS interaction with the user that one should see). Thus there is no way to get an uninterrupted default build of something. 6. One cannot opt-in/opt-out on a per-port basis. WITH[OUT]_${PORTNAME}_OPTIONS and ${PORTNAME}_WITH[OUT]_OPTIONS should be supported to control the OPTIONS dialog just when building ${PORTNAME}. 7. Setting ${PORTNAME}_WITH[OUT]_ (or WITH[OUT]_${PORTNAME}_) should set WITH[OUT]_ just when building ${PORTNAME}. So that folks who don't want to be interrupted with OPTIONS every time there is an update to the list can hardcode their choices in /etc/make.conf. 8. OPTIONS make a mess in the typescript file from 'script typescript make', and the choices are totally unreadable vs. 'script typescript make -DWITH_FOO -WITHOUT_BAR'. -- -- David (obrien@FreeBSD.org) Q: Because it reverses the logical flow of conversation. A: Why is top-posting (putting a reply at the top of the message) frowned upon? Let's not play "Jeopardy-style quoting"