From owner-freebsd-ports@FreeBSD.ORG Fri Dec 7 15:41:27 2007 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 005B416A417 for ; Fri, 7 Dec 2007 15:41:26 +0000 (UTC) (envelope-from pauls@utdallas.edu) Received: from smtp3.utdallas.edu (smtp3.utdallas.edu [129.110.10.49]) by mx1.freebsd.org (Postfix) with ESMTP id D559413C457 for ; Fri, 7 Dec 2007 15:41:26 +0000 (UTC) (envelope-from pauls@utdallas.edu) Received: from utd59514.utdallas.edu (utd59514.utdallas.edu [129.110.3.28]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp3.utdallas.edu (Postfix) with ESMTP id 4CF0A65505 for ; Fri, 7 Dec 2007 09:41:26 -0600 (CST) Date: Fri, 07 Dec 2007 09:41:25 -0600 From: Paul Schmehl To: freebsd-ports@freebsd.org Message-ID: <1AC13EBE9864074E09913258@utd59514.utdallas.edu> In-Reply-To: References: <20071207001315.GA58050@owl.midgard.homeip.net> <8B6AA93E1BD6BB1C2A23236A@paul-schmehls-powerbook59.local> X-Mailer: Mulberry/4.0.8 (Linux/x86) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Re: (Very) bogus package dependencies 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: Fri, 07 Dec 2007 15:41:27 -0000 --On Friday, December 07, 2007 00:18:15 -0500 Alex Goncharov , Alex Goncharov wrote: > > I won't dispute the word "beauty" here -- I like the system very much. > But coming from some eight years of using Debian, I am still mystified > about the underling mechanics of ports. > > Your answers definitely help -- thank you! > Any time you see USE_FOO= bar in a Makefile, the answer to what does that mean will be in /usr/ports/Mk/ somewhere. So grep USE_FOO in /usr/ports/Mk/* and you'll find where it appears. Then you can read the file and usually figure out what that means. You may then have to go read Makefiles for the ports to which it refers (in the case of cdrtools, cdrecord) and try to figure out why *that* port is required for "your" port to build. As maintainers, the first thing we have to do is read the requirements for the software and make sure those dependencies are built as well. So, for example, if a new port I'm working on requires that libdir is installed, I have to figure out whether it is or not, and if not, how I get it installed. Whenever possible, we try to use the port macros (USE_FOO), but if not, we have to use BUILD_DEPENDS to require that some other port is installed before ours begins the build. There are some wonderfully talented and highly knowledgeable people working behind the scenes to make sure all this stuff works in harmony, so I don't ask why, I just make sure my ports work as expected. -- Paul Schmehl (pauls@utdallas.edu) Senior Information Security Analyst The University of Texas at Dallas http://www.utdallas.edu/ir/security/