/sr/src/README gives an overview of what is in each although most of that is obvious.
in regards to the contents of /usr/src:
you need cddl for zfs
you need crypto and secure for open ssh/ssl -> crypto = source, secure/* = makefiles
you need bin -> this is code for /bin/*
you need sbin -> this is code for /sbin/*
you need usr.bin -> this is code for /usr/bin/*
you need usr.sbin -> this is code for /usr/sbin/*
you might want kerboos5
you want etc
you want share
you want include
you need libexec
you need lib
If you want a fully functional system you want contrib and gnu
gnu code should generally be in contrib but makefiles and extras in gnu/*.
best reasons to have contrib:
bc, bind, bzip2, cpio, cvs, diff, file, gcc, gdb, gperf, groff -> man page formatter!, less -> pager more and less, libstdc++ -> (gnu) standard C++ library, lukemftp/lukemftpd -> ftp client and server, ncurses -> needed for console TUI, netcat, (n)vi, (one true)awk, pam, pf, sendmail, tcsh, top, traceroute, wpa_supplicant.
Generally speaking, it's just easier to grab the whole tree +/- games unless you have a specific objective in mind like building a system that will only be used to do foo but never bar without change.
You should also look into the build system if you need to do that.
__________________
My Journal
Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''.
|