From owner-freebsd-questions@FreeBSD.ORG Tue Jun 8 19:28:01 2010 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 749741065679 for ; Tue, 8 Jun 2010 19:28:01 +0000 (UTC) (envelope-from bf1783@googlemail.com) Received: from mail-ww0-f54.google.com (mail-ww0-f54.google.com [74.125.82.54]) by mx1.freebsd.org (Postfix) with ESMTP id 0CCFD8FC14 for ; Tue, 8 Jun 2010 19:28:00 +0000 (UTC) Received: by wwb22 with SMTP id 22so4952468wwb.13 for ; Tue, 08 Jun 2010 12:28:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:received:reply-to:date :message-id:subject:from:to:cc:content-type; bh=waSWwt3UCqLBm0VbYPsPtwEJP9pW3207G5YzNrgnU78=; b=eD/XRAbUeySFqsSSvTYyleoSPncgDdA4v14BHiqaSbupAy2Lh2z3po8WoqEEPTQgFr jAlLPzothn6zmGrBzTM7Mdq27qy4QexUWcuHPtbfOF24yQote42g/3xJV7awoQ/x4GV9 WdZGIYGv0RrDqC+xiaed7pwhagqyUYNRtyNoQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:reply-to:date:message-id:subject:from:to:cc :content-type; b=DSmxn1VhT2meCa0AVIvLiPuACWjb5pvHTMTxgOxfKf7hwd0BDAjdLpymcBuLQj4575 90NFxdtNM2Ftef/GKpFh6RRub2N/aTYeEHNrBuq/8UCCGTUxKjgt9ZgiSo72EMyEcEgI e77aYp3S5VNNkLUHuiuYPhrBEyjg7MvwvqWyU= MIME-Version: 1.0 Received: by 10.227.69.213 with SMTP id a21mr1372859wbj.220.1276025278682; Tue, 08 Jun 2010 12:27:58 -0700 (PDT) Received: by 10.216.183.5 with HTTP; Tue, 8 Jun 2010 12:27:58 -0700 (PDT) Date: Tue, 8 Jun 2010 19:27:58 +0000 Message-ID: From: "b. f." To: Giorgos Tsiapaliokas Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-questions@freebsd.org Subject: Re: can i use flags at once? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: bf1783@gmail.com List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jun 2010 19:28:01 -0000 Just to clarify some of the earlier comments, the ports knobs that can be used to define certain build options are automatically persistent only if the knobs are defined as part of the OPTIONS framework, and if you don't subsequently delete the /var/db/port/*/options files, either directly or via the rmconfig target. You can reset the values of these knobs by re-running the config target. If you do that, it is usually best to run rmconfig first, because obsolete knobs aren't cleared by config, and can clutter up the options files, and thus your build environment. The first time you build a port, and every time thereafter that the available OPTIONS are changed for a port, you will be prompted to reconfigure, unless you set BATCH in your build environment, either directly or via switches in portmaster or portupgrade -- in which case a prior choice for a knob setting will be used, if you have made one, or the default value, if you have not. There are also some knobs that are _not_ OPTIONS, and so must be defined in the build environment each time the port is built/installed/packaged. These knobs are usually either knobs that were meant to be used for a lot of ports (e.g. WITHOUT_X11), or knobs from older ports that weren't converted to the OPTIONS framework, or experimental/maintainer knobs that the maintainer didn't want to expose for wider use. You can find these, for example, by visual inspection of the port Makefiles, by using sed/grep/awk on the port Makefiles, or by using something like the ports-mgmt/portsopt port. You can make these knobs persistent by using the ports-mgmt/portconf port, or the more complicated sysutils/penv port, or by adding them to pkgtools.conf(5) from the ports-mgmt/portupgrade* ports, or by adding them to some included makefile. /etc/make.conf exists partly for this purpose. But it is used for all invocations of make by default, even for the base system and for other software that is not in ports, so it is a good idea to limit the scope of your knob settings in this file by making the definitions conditional, in order to avoid polluting other builds. You can do this, for example, by using statements like: .if${.CURDIR:M*/usr/ports/*} #insert knobs for all ports here WITHOUT_FOO=yes .endif .if${.CURDIR:M*/usr/ports/devel/bar*} #insert knobs for the devel/bar port here WITHOUT_BAR_DEBUG=yes .endif or by using other makefile directives. (This assumes of course, that you haven't changed PORTSDIR to be something other than /usr/ports.) It usually takes some time and effort to determine which settings are best for you, for all of your ports, if you need to customize them -- so be patient. And if you really liked Portage, there is an experimental project to use Portage on FreeBSD (although I'm not sure whether this means stock FreeBSD, or a hybrid system with a FreeBSD kernel and GNU/LInux userland) that you may want to monitor: http://www.gentoo.org/proj/en/gentoo-alt/bsd/index.xml b.