On Thu, Aug 8, 2013 at 4:18 PM, Paul LeoNerd <leon...@leonerd.org.uk> wrote: > On Thu, 8 Aug 2013 21:21:39 +0200 > Leon Timmermans <faw...@gmail.com> wrote: > >> On Thu, Aug 8, 2013 at 9:16 PM, Aristotle Pagaltzis >> <pagalt...@gmx.de> wrote: >> > Yeah, that’ll work great until the moment someone supports three >> > OSes. Or supports all OSes except a specific one. >> > (Alien::NotVMS::FooBar?) >> >> Or only recent versions of an OS… > > I think we're still missing some essential question here. To take a > really concrete example - does Alien::libtermkey "support" Linux? > > * It works on -my- Linux box. > > * It won't work on any Linux box that lacks GNU libtool, or GNU make, > even though those can just be installed. > > * It won't work on any Linux box that lacks both unibilium and > ncurses's development headers. > > Chris: Given the above, would you say that Alien::libtermkey supports > Linux or not?
I would suggest that the above failures could be addressed with appropriate conditions on the success, something like: * It works on -my- Linux box. * It works on any Linux box that lacks GNU libtool, or GNU make, though you will have to install them. * It works on any Linux box that lacks both unibilium and ncurses development headers. but you may have to install them. Looked at that way then, I would say it supports any linux box provided that certain conditions are met. (BTW, explaining these conditions are exactly the point of the helpful diagnostic output). > If no => then surely no Alien:: module can ever be said to support > -any- OS, since its dependencies could just not be present. > If yes => then surely in my case at least, Alien::libtermkey can be > said to support Windows too. To say yes, you would need to be able to answer in the affirmative to things like this: * Does it work on --my or someone's-- windows box? * Does it work on some windows box provided you install libtool and gmake? * Does it work if you install the needed headers from unibilium and ncurses? My answers for the above would be no, no, and no. I could answer based on CPAN Testers results (after decoding them), there are no PASS results for win32 or cygwin so again, no, it doesn't work on windows. Similarly, for the OS platforms that work, I could check the CPAN Testers matrix and ask * Which perl platforms have _any_ PASS reports? darwin, dragonfly, freebsd, linux, midnightbsd, openbsd * Which perl platorms have _multiple_ PASS reports? dragonfly, freebsd, linux, midnightbsd, openbsd * Which perl platforms have _mostly_ PASSes? dragonfly, freebsd, openbsd The answers above come from the CPAN Testers reports for Alien::libtermkey version 0.15. From those results I would say Alien::libtermkey supports (dragonfly|free|open)bsd and partial support for linux|midnightbsd. From the full results I would say that it does not support cygwin, gnukfreebsd,mswin32, netbsd, or solaris at all. Where you cut things off is a matter of judgement. You'll be able to make a better call for the platforms you have targeted in your implementation. However, if you can't produce a working example for a given platform, and your implementation specifically targets or is based on things that are not typically present on a given platform, then I think it is reasonable (and much, much, much,..., more helpful) to say "As of version 0.15, Alien::libtermkey does not build for MSWin32 platforms. For detailed diagnostics, please try installing Alien::libtermkey and inspect the log from the build process". > This really is the core of my confusion here. I hope that helps. Again, the idea is to make it possible to more simply provide Alien modules that provide at least partial functionality on all perl platforms (even if only by detecting an existing install and configuring things from that. Cheers, Chris