You know what I really came to admire about the ports management system?
That it doesn't try to apply some twisted standard or hierarchy on the software, but instead provides plenty of room for the maintainer to utilize the FreeBSD hierarchy as it is now.
With that I mean so much as: We all know that 
/usr/local is the place where manually installed stuff goes. We all know that this is the de-facto place for the ports to get installed.
So, if we take a look at something cool yet simple such as 
irc/irssi you'll see it gets "split" into several parts, but still parts which make fully sense:
	
	
	
		Code:
	
	
		smtp2:/home/peter $ pkg_info -L irssi* | cut -d '/' -f '1-5' | sort -u
/usr/local/bin/irssi
/usr/local/etc/irssi.conf
/usr/local/etc/irssi.conf.sample
/usr/local/include/irssi
/usr/local/lib/perl5
/usr/local/man/man1
/usr/local/share/doc
/usr/local/share/irssi
Files:
Information for irssi-0.8.15_5:
	 
 As you can see, several "parts": 
bin, 
etc and even 
lib. So what would happen if you had to deal with certain software which provides a "hierarchy" of its own? Here's looking at 
mail/mailman or 
lang/openjdk6?
On FreeBSD with its port system this:
	
	
	
		Code:
	
	
		smtp2:/usr/local $ ls -l mailman | grep -E 'bin|log|lib'
drwxrwsr-x   2 root  mailman  42 Jun  5 18:14 bin
drwxrwsr-x   2 root  mailman  13 Jun  5 16:50 cgi-bin
drwxrwsr-x   2 root  mailman   9 Jun  5 18:03 logs
drwxrwsr-x   2 root  mailman   2 Jun  5 16:50 pythonlib
	 
 All is well here, I 
expect something to appear in 
/usr/local so when I see a whole "root" directory I know that this is special.
On Linux this works a "little" different:
	
	
	
		Code:
	
	
		[peter@smtp ~]$ ls -l /etc/mailman/
total 16
lrwxrwxrwx 1 root mailman    34 Dec 13  2011 mm_cfg.py -> /usr/lib/mailman/Mailman/mm_cfg.py
-rw-r--r-- 1 root mailman 14114 Mar 30  2011 sitelist.cfg
	 
 The problem should be obvious enough by now. Us Linux folks are sometimes "drilled" that all configuration files are under 
/etc. As you can see here; even if they aren't then the "powers that be" will make sure that they will.
One problem though..  Like FreeBSD 
mail/mailman works with "overloading". Or in normal wording: it has configuration files which denote it's default behaviour and if you want to change that behaviour all you need to do is to make a new configuration file and then reconfigure those options you need changed.
mm_cfg.py basically "overloads" the main set up: 
Defaults.py.
So how do I find this on FreeBSD?  Elementary: after having learned (using the 
official documentation) that both sit in the same directory, namely 
$prefix/Mailman I already know all there is. After all: I already learned about 
/usr/local/mailman so the only logical assumption is that this is the prefix the manual talks about.
Linux?
Well, it's not in 
/etc/mailman, you already noticed above. So where the heck is it?
Apparently this is all library-like contents because...  
/usr/lib/mailman/Mailman/Defaults.py.
In all honesty; since this is also the home directory of the 
mailman user it's relatively easy to find.
Yet under the Linux "doctrine" this should be under 
/etc, so what gives?
Not trying to bad mouth anything here (though this is a small rant) but I know for a 
fact that this has confused many Mailman newbies. Simply because they got torn between the way their Linux distribution (supposed) to work and the way Mailman didn't "fit in".
FreeBSD?  One size fits all ;-)