(Very) bogus package dependencies

Paul Schmehl pauls at utdallas.edu
Fri Dec 7 07:41:27 PST 2007

--On Friday, December 07, 2007 00:18:15 -0500 Alex Goncharov 
<alex-goncharov at comcast.net>, Alex Goncharov <alex-goncharov at comcast.net> 
> 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 at utdallas.edu)
Senior Information Security Analyst
The University of Texas at Dallas

More information about the freebsd-ports mailing list