http://www.perlmonks.org?node_id=1025328


in reply to chef cpan cookbook

Did you know about distroprefs (also being referred to as cpanprefs)?


Enjoy, Have FUN! H.Merijn

Replies are listed 'Best First'.
Re^2: chef cpan cookbook
by melezhik (Monk) on Mar 26, 2013 at 07:37 UTC
    If to say about inner layout - mostly CPAN::Shell interface is used. I do not know why should I use CPAN::Distroprefs ? Just give me a hint ((: ...

      These are just examples that I. use. There are more example here,

      In your $HOME/.cpan/prefs you can hold .yml files that describe how cpan should act on the distributions describes in the YAML file, which includes answering questions asked by Makefile.PL or Build.PL. You can make sections specific for os, so these preferences can be shipped portable across OS's. These files can also refer to patches that you want to apply to the modules (for various reasons). These patches are usually stored in $HOME/.cpan/patches.

      $ cat ~/.cpan/patches/XML-Twig.patch --- tools/xml_pp/xml_pp 2010-10-29 13:30:38.000000000 +0200 +++ tools/xml_pp/xml_pp 2010-10-29 13:30:49.000000000 +0200 @@ -10,7 +10,7 @@ my @styles= XML::Twig->_pretty_print_sty my $styles= join '|', @styles; # for usage my %styles= map { $_ => 1} @styles; # to check option -my $DEFAULT_STYLE= 'indented'; +my $DEFAULT_STYLE= 'indented_close_tag'; my $USAGE= "usage: $0 [-v] [-i<extension>] [-s ($styles)] [-p <tag(s) +>] [-e <encoding>] [-l] [-f <file>] [<files>]"; $ cat ~/.cpan/prefs/MIROD.XML-Twig.yml --- match: distribution: "^MIROD/XML-Twig-" pl: expect: - "Do you want to install 'xml_pp'" - "y\n" - "Do you want to install 'xml_grep'" - "y\n" - "Do you want to install 'xml_split'" - "y\n" - "Do you want to install 'xml_merge'" - "y\n" - "Do you want to install 'xml_spellcheck'" - "y\n" depends: requires: Test::Pod::Coverage: 0 patches: - "../../patches/XML-Twig.patch" $ cat ~/.cpan/prefs/NANIS.Crypt-SSLeay.yml --- match: distribution: "^(DLAND|NANIS)/Crypt-SSLeay-" perlconfig: osname: "linux" pl: eexpect: mode: anyorder talk: - "Which OpenSSL build path" - "\n" - "Which SSL install path" - "\n" - "Do you want to run the live tests" - "n\n" --- match: distribution: "^(DLAND|NANIS)/Crypt-SSLeay-" perlconfig: osname: "hpux" pl: eexpect: mode: anyorder talk: - "Which OpenSSL build path" - "\n" - "Which SSL install path" - "/usr/local/ssl\n" - "Do you want to run the live tests" - "n\n" $

      Enjoy, Have FUN! H.Merijn
      /div
        Well, it seems like automation, customizing for installations with cpan client. Useful information. Thank you.