How to Build a Custom Port Tree

Kevin D. Kinsey, DaleCo, S.P. kdk at daleco.biz
Thu Aug 19 16:54:23 PDT 2004


Abid Saigol wrote:

>I am a newbie to FreeBSD
>
>  
>
Welcome!

> <>I'm using an old machine right now with limited disk space, so I 
> don't want to install
> the entire ports collection. I want to build a custom port tree, and 
> I'm finding
> the docs to be a bit silent on this account as I guess nowadays disk 
> space is
> usually abundant so installing the entire port tree is the preferred 
> route.
>

Probably because it's not really that big, and more importantly
for reasons that will soon become more clear ...

> <>Can someone give some basic guidance on:
>
> 1) Do I install a compiler or does the basic FreeBSD install have it 
> installed already?


FreeBSD's compiler is GNU's gcc; it is included in the base install,
as it's necessary to have a compiler for make world(s) and
kernels... and anyone who desires to program in c/c++

> <>2) How do I setup a single application port?


You would need the skeleton installed in some directory,
(generally /usr/ports/somecategory/someapp), and then
go to that location and type "make install clean", most
usually.

> <>3) Will I need to trace dependence or will make pull in the required 
> libraries?


If you have all the necessary ports skeletons in place, make will take
care of it.  However, if you want to be "selective" about the tree,
I don't know of a tool that will help a great deal.

> <>4) Can I use CVsup to keep a limited number of ports up to date?
>

CVsup is used to keep the ports tree (or any collection of code)
up to date by connecting to a CVS (Concurrent versioning system)
server. 

Many people rely on portupgrade (/usr/ports/sysutils/portupgrade) to
handle the actual updating of the ports themselves, as it compares
versions, handles dependencies (recursively!) etc., etc.   It's written
in the Ruby language, and has ruby, rubydb, and openssl as dependancies.

> <>Any and all guidance in this regard will be highly appreciated.
>
> Abid


If you're limited on space and don't want the ports tree, I'd suggest
you not install it at all, and use packages instead.  You could always
see what's out there by browsing over at freshports.org, or, for a small
set of apps, the individual home pages of each project, and simply use
pkg_add(1) and friends...

HTH,

Kevin Kinsey
DaleCo, S.P.


More information about the freebsd-questions mailing list