David Golden wrote:
Well, the more generalized problem is how to you signal to an automated
test that you're bailing out as N/A for whatever reason? For Perl
itself, it's easy enough for the smoke test to check if the required
version of Perl is available -- and the smoke test is smart enough not
to try to install an updated version of Perl to satisfy the dependency.
It bails out with N/A instead.
What's a clean, generic mechanism for a distribution to signal "please
check this dependency and abort if it's not satisfied"?
die("wrong platform, you didn't read the documentation\n")
unless(
$Config::capabilities{filesystem}{casesensitive} &&
...
);
With the capabilities database being built when perl is built, similarly
to how it knows about things like ldlibpathname. But this gets REALLY
complicated. An OS can support several filesystems each with different
capabilities - for example, on OS X, HFS+ is case-preserving but
case-insensitive. UFS is case-sensitive. And FAT16 smashes case.
So things like that need to be figured out on the fly, based on some
kind of context information. And god help you if you're looking at a
TranslateFilenamesUsingFiglet fs (which you wrote using fuse when very
very drunk).
--
David Cantrell