Devel::CheckOS::Families - what OS "families" are supported "out
of the box" by Devel::CheckOS and Devel::AssertOS?
Computing platforms fall into several categories. For example, there is the
category of Unix-a-likes. Each of these categories is a "family". A
platform can fall into several families.
Broadly speaking, these are platforms where:
- Devices are represented as pseudo-files in the filesystem
- Symlinks and hardlinks are supported in at least some filesystems
- "Unix-style" permissions are supported
- That is, there are seperate read/write/execute permissions for file owner,
group and anyone. This implies the presence of multiple user accounts and
user groups. Permissions may not be supported on all filesystems.
- The filesystem has a single root
- The C API for the operating system is largely POSIX-compatible
This includes both ordinary Linux and Android. Plain old Linux will match
'Linux'. Android will match both that and 'Android'.
Up until version 1.84 this wasn't a family, and would match any platform which
claimed to be Debian via "lsb_release -i" or
on which a file called "/etc/debian_version"
existed. That meant that as well as matching real Debian, it would also match
Ubuntu, Raspbian, and so on. As of version 1.85
"Linux::Debian" has become a family of all
the Debian-based Linuxes. If you want to test which particular family member
you're on then look at
"list_family_members("Linux::Debian")"
to see what's available.
NB the difference between
"Linux::RealDebian" (which uses
"lsb_release" for identification) and
"Linux::UnknownDebianLike" (which uses the
existence of "/etc/debian_version" for
identification). In particular beware that some *very* old Debians don't
have "lsb_release" available and so will
be detected as
"Linux::UnknownDebianLike".
This includes any version of Windows and also includes things like Cygwin which
run on top of it.
These include any OS written by, respectively, DEC, Sun, and Apple. They exist
because, while, eg, Mac OS Classic and Mac OS X are very different platforms,
they do support some unique features - such as AppleScript.
This is for all real-time OSes. So far, it only includes QNX.
OSes which use EBCDIC instead of ASCII.
Copyright 2008 - 2010 David Cantrell <david@cantrell.org.uk>
This documentation is free-as-in-speech. It may be used,
distributed and modified under the terms of the Creative Commons
Attribution-Share Alike 2.0 UK: England & Wales License, whose text you
may read at <http://creativecommons.org/licenses/by-sa/2.0/uk/>.
This documentation is also free-as-in-mason.