-
Notifications
You must be signed in to change notification settings - Fork 8
Class Rewrite
There is a desperate need for a solid class model for the perlbrew module. Here are some design ideas how things might look like. Parameters for classes/defines are written in italics.
Provides basic initalisation for the module
- Installs perlbrew script including init
- Installs cpanminus script
- Creates user if desired, which will own the files (default: root)
- Creates group if desired, which will own the files (default: root)
- Installs the needed packages (build-essential, or RHEL stuff)
Provides the basic configuration parameters
- $perlbrew_root - The directory for the perl interpreters
- $perlbrew_bin - The location of the perlbrew script
- $cpanm_bin - The location of cpanminus
- $cpanm_url - The URL where to download cpanm
- $perlbrew_user - The user which owns the files
- $perlbrew_group - The group which owns the files
- $perlbrew_addons - Additional packages which might be helpful
- $perl_buildparams - Parameters which specify the build of the Perl interpreter
Note: Choosing a user and a group might be overkill for the beginning. The daemon puppet runs the actions as root and installing binaries as user root might not be harmful. However, compiling software with an unknown stack and probably using development versions might harm your system fast. As a starting point I would like to see the user perlbrew and the group perlbrew here, without the option to override that. --rhaen
Builds the Perl interpreter of your choice
- $version - The version of the interpreter which should be built
Note: The idea is sane, the user will be provided by perlbrew::params
and will have the default perlbrew:perlbrew
. Anything more clever should be implemented at a later point in time.
--rhaen
Installs a CPAN module using cpanminus
- $name - The name of the module which should be installed