# from Michael G Schwern
# on Monday 23 July 2007 11:45 am:

>It would be very clever to release perl.pm and have it assign itself a
>$VERSION to match the perl version, but now this is a hack to support
> a hack.

It is a normalization.

  package perl;
  our $VERSION = $];

(or roughly so)

>> I think the conclusion usually comes out at leaving that to the
>> turing-complete configuration code.  Basically, 'perl5' is a
>> configure_requires item (of sorts) but beyond that, the particulars
>> are checked by the Makefile.PL or Build.PL code.
>
>There's a pragmatic subset which can be dealt with.  Once again, look
> to Debian.  They've defined a number of virtual "provides" tags.  For
> example, exim provides a "mail-transport-agent".  mutt can then
> depend on a "mail-transport-agent".  Its up to the toolchain to
> figure out if that dependency has been resolved.

Debian has a great package management system which (sadly) is not 
installed on most target non-debian machines.  We don't usually have a 
database available to determine which versions of which software are 
installed, so the procedure for determining the availability and 
version depends on the platform, the software, etc.

How would a system without a package manager determine the installed 
version of perl?  python?  ruby?  postgres?  It would likely run some 
command for each package, where "some command" means possibly applying 
regexps to the output of `$foo --version`.  Does the META.yml need to 
contain those commands and regexps or do the tools need a-priori 
knowledge of how to get version numbers for *every* possibly 
dependency?

--Eric
-- 
hobgoblin n 1: (folklore) a small grotesque supernatural creature that
          makes trouble for human beings
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to