From owner-freebsd-ports@FreeBSD.ORG Sun May 31 11:51:55 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 04C44106566C for ; Sun, 31 May 2009 11:51:55 +0000 (UTC) (envelope-from uqs@spoerlein.net) Received: from acme.spoerlein.net (cl-43.dus-01.de.sixxs.net [IPv6:2a01:198:200:2a::2]) by mx1.freebsd.org (Postfix) with ESMTP id 863798FC16 for ; Sun, 31 May 2009 11:51:54 +0000 (UTC) (envelope-from uqs@spoerlein.net) Received: from acme.spoerlein.net (localhost.spoerlein.net [127.0.0.1]) by acme.spoerlein.net (8.14.3/8.14.3) with ESMTP id n4VBpqeE043337 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 31 May 2009 13:51:53 +0200 (CEST) (envelope-from uqs@spoerlein.net) Received: (from uqs@localhost) by acme.spoerlein.net (8.14.3/8.14.3/Submit) id n4VBpq6f043311; Sun, 31 May 2009 13:51:52 +0200 (CEST) (envelope-from uqs@spoerlein.net) Date: Sun, 31 May 2009 13:51:51 +0200 From: Ulrich =?utf-8?B?U3DDtnJsZWlu?= To: Randy Bush Message-ID: <20090531115151.GC18676@acme.spoerlein.net> Mail-Followup-To: Randy Bush , Erik Trulsson , ports References: <20090526113714.GC1043@straylight.m.ringlet.net> <20090526120948.GA14134@owl.midgard.homeip.net> <20090526194617.GA16353@owl.midgard.homeip.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.19 (2009-01-05) Cc: ports Subject: Re: make.conf no x option 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: Sun, 31 May 2009 11:51:55 -0000 On Wed, 27.05.2009 at 05:01:31 +0900, Randy Bush wrote: > >> i think this whole thing is worth a few days to settle in our heads. > >> essentially, if we believe that freebsd is used extensively in > >> headless server deployments, we should make that easy and smooth. > > But even a headless server can run X clients with the display being on > > some other (presumably non-headless) machine. That is on of the > > beauties of the X Windowing System. > > [ thanks, but i am overly-familiar with the beauties and the some of the > warts of x. ] > > someone installing a server may or may not want the x client version of > a package as opposed to readline or curses. but, imiho, it would be > good to make such decisions centralized, somewhat strong, and pretty > clear. > > > The only part that would make no sense to install on a headless > > machine is the X server itself > > and the support for it and the toys it occasionally seems to drag in. > > i really do not want the x client versions of emacs, cvsup, ... > actually, i can not think of any ports i run on headless machines that i > want spawning windows on my glass. ymmv, of course. > > i think that i would like to be able to say headless install and have to > ack any port which wants to drag in x. First of all, try figuring out which ports got you into the X11 mess. On my server I got: % pkg_info -R libX11-1.2.1,1 Information for libX11-1.2.1,1: Required by: jabber-pyicq-transport-0.8.1.3,1 jdk-1.6.0.3p4_9 libXext-1.0.5,1 libXi-1.2.1,1 libXtst-1.0.3_1 py25-imaging-1.1.6_2 py25-tkinter-2.5.4_3 tk-8.4.19_2,2 Then, adjust their flags and options to not get there again. Then, instead of patch bsd.port.mk you could try something like this in your /etc/make.conf .if ${.CURDIR:M*/x11/libX11} .error "me no want X11" .endif Which will work only when building the packages by yourself. To not break 'make index' you should wrap the error in .if target(do-build)/.endif or other suitable make targets. I cannot test the idiom right now, but there's little need to change the WITHOUT_X11 meaning globally for all users. Besides, the approach above can also be used to "break" other ports and keep them from installing. Cheers, Ulrich Spörlein -- http://www.dubistterrorist.de/