Debian GNU/kFreeBSD port naming convention ========================================== Written by Guillem Jover and Robert Millan 0. What does mean the k in kFreeBSD ? [theory] The k means "kernel of", because FreeBSD is a complete system we need to distinguish them from its kernel. "FreeBSD is a *system*, not a kernel with a bunch of other stuff thrown on top to make a "distro." The kernel, userland programs, libraries, booting system, etc., are all tested together to make a release that's known good." -- Wes Peters (FreeBSD Core Team Member) 1. What is an Operating System ? [theory] The usual meaning of "Operating System" is the one that implies the kernel and a set of userland components (C library, shell, basic utilities, etc). [Wether this definition fits better for "Debian" or "GNU/Linux" is beyond the scope of this document]. This is the definition that we use in this document although we acknowledge that there are different opinions on this matter. 2. Current uname -s output. [practice] POSIX does not define explicitly what's an OS but it's defined implicitly by the scope of the standard itself, which covers from the system library API to basic userland utilities. This is true for almost every Unix-like around. Some would argue that it may print the kernel used, showing these counter-examples: [ Solaris -> SunOS (this is due to legacy name change) GNU/Linux -> Linux (flames) ] -> expand 3. Our port uname -s output. [practice] We have chosen to output GNU/kFreeBSD because most build systems assume this output to match with the userland. The problem we face is that our mix has not been done before so most build systems will break. The correct way to act would be to fix the hundreds of systems broken but we want a working system now, and we don't have enough man power. So we have decided to output the complete userland/kernel. Build Systems: 3.1 FreeBSD || -freebsd may be missparsed, break builds 3.2 kFreeBSD is not enough to distinguish userland 3.3 GNU/* is the best technical compromise we can afford 4. What have we decided ? uname -s: GNU/kFreeBSD config.guess triplet: -pc-kfreebsd-gnu Debian name: Debian GNU/kFreeBSD Debian arch name: kfreebsd-