From owner-freebsd-ports@FreeBSD.ORG Sat Dec 8 00:23:02 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 B078816A420 for ; Sat, 8 Dec 2007 00:23:02 +0000 (UTC) (envelope-from beech@freebsd.org) Received: from freebsd.alaskaparadise.com (freebsd.alaskaparadise.com [208.79.80.117]) by mx1.freebsd.org (Postfix) with ESMTP id 6A67413C467 for ; Sat, 8 Dec 2007 00:23:02 +0000 (UTC) (envelope-from beech@freebsd.org) Received: from 137-42-178-69.gci.net (137-42-178-69.gci.net [69.178.42.137]) by freebsd.alaskaparadise.com (Postfix) with ESMTP id 0835A2383339; Sat, 8 Dec 2007 00:23:00 +0000 (UTC) From: Beech Rintoul To: freebsd-ports@freebsd.org Date: Fri, 7 Dec 2007 15:22:43 -0900 User-Agent: KMail/1.9.7 References: <1AC13EBE9864074E09913258@utd59514.utdallas.edu> <48377132-3BFB-4514-9DB6-BD7F414390AD@u.washington.edu> In-Reply-To: <48377132-3BFB-4514-9DB6-BD7F414390AD@u.washington.edu> X-Face: jC2w\k*Q1\0DA2Q0Eh&BrP/Rt2M,^2O#R07VoT98m*>miQF9%Bi9vy`F6cPjwEe?m,)=?utf-8?q?2=0A=09X=3FM=5C=3AOE9QgZ?="xT3/n3,3MJ7N=Cfkmi%f(w^~X"SUxn>; 27NO; C+)g[7J`$G*SN>{<=?utf-8?q?O=3Bg7=7C=0A=09o=7D=265A=5D4?=@7D`=Eb@Zs1Ln814?]|k@'bG=.Ca"[|8+_.OsNAo8!#?4u MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200712071522.54401.beech@freebsd.org> Cc: Paul Schmehl , Garrett Cooper Subject: Re: (Very) bogus package dependencies X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Beech Rintoul List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Dec 2007 00:23:02 -0000 On Friday 07 December 2007, Garrett Cooper said: > On Dec 7, 2007, at 7:41 AM, Paul Schmehl wrote: > > --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! > > I'm not sure about you, but I rather like not having 5~10 variants > of the same package for every single option available at build-time > :). > > > 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. > > Correct. The option was required at build-time and is a requirement > for running the package (RUN_DEPENDS), which means that > unfortunately it's required for installation too. > > > 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. > > Indeed. There's a lot of work put in by a lot of pkg/ports > maintainers to ensure that stuff works out of the box with as > little work / maintenance knowledge on the end-user portion as > possible, and in the long run not having to keep track of a billion > different options and/or other 'useless' information is the correct > way to go IMHO. Lets not forget the developers who make up portmgr. They support and guide us also keeping the whole project going in the same (relative) direction, insuring that all of the ports build and install in the same way. This further lessens the burdon on users who "just want it to work". They have the unenviable task of actually building close to 90,000 ports for the new releases. They also actively maintain the software that keeps track of all these dependencies. As you have seen the dependencies from just one port can become complicated. Imagine trying to map all 18,000 ports in the tree. Our system isn't perfect, but it's constantly being improved. I'll take our port/pkg system over any of the other *nix systems. Beech -- --------------------------------------------------------------------------------------- Beech Rintoul - FreeBSD Developer - beech@FreeBSD.org /"\ ASCII Ribbon Campaign | FreeBSD Since 4.x \ / - NO HTML/RTF in e-mail | http://www.freebsd.org X - NO Word docs in e-mail | Latest Release: / \ - http://www.FreeBSD.org/releases/6.2R/announce.html ---------------------------------------------------------------------------------------