On Friday, October 26, 2012 2:31:56 PM UTC-4, Tim Mooney wrote:
>
> In regard to: [Puppet Users] Have Class Only Perform Actions When There
> Is...:
>
> I would highly recommend you just package your custom python and install
> it using a package management system, rather than doing what you're doing.
> Depending on what host OS you're using, it's not too difficult, and it
> works a lot better with puppet *and* you get all the benefits of having
> the package installed through a more coherent means.
>
> As you're discovering, these kind of exec chains, where the first part
> of the chain involves temporary files, don't really fit into the puppet
> paradigm very well. About the best you can do is something like
>
> exec { '/usr/local/sbin/install-python-if-necessary.sh':
> source => '
> http://your_module/install-python-if-necessary.sh',
> creates => '/your/python/lib/dir',
> }
>
> and then bury all the fetch/extract/configure/compile/install logic
> in the shell script, which puppet will make certain is always present
> on the system. It will only execute it if /your/python/lib/dir is not
> present.
>
> But if you're going to build fetch/extract/configure/compile/install logic
> into a shell script, you're probably 85% of the way to packaging the
> software appropriately anyway.
>
>
Interesting. It sounds like you're actually advocating _for_ the bash
script approach. I wanted to avoid package management systems only because
they are way more complicated than a basic install of python requires:
wget python.tgz
tar -xzvf python.tgz
cd python
./configure --prefix=/install/path
make
make test
make install
I wanted to make (I have made?) a simple "python" class that accepts a
python version number, downloads it, and runs those steps, irrespective of
the base Linux flavor. I don't know much of anything about deb or rpm files
other than that they are more complicated than that; and I don't want to
have to package up and maintain several different python versions for
several different package managers.
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/puppet-users/-/mAWFxrBz_kYJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.