On Fri, 08 Oct 2010 13:53:26 -0700, Tim C wrote:
> 
> On Oct 7, 11:46 am, Tim C <[email protected]> wrote:
> > I am trying to figure out the proper way to update/upgrade a deb
> > package using puppet from a local source deb file. My current config
> > looks like this...
> >
> > class adobe-air-2-0-4 {
> >
> >   file { "/opt/air-debs":
> >     ensure => directory
> >   }
> >
> >   file { "/opt/air-debs/adobeair-2.0.4.deb":
> >     owner   => root,
> >     group   => root,
> >     mode    => 644,
> >     ensure  => present,
> >     source  => "puppet://puppet/adobe-air-2-0-4/adobeair-2.0.4.deb"
> >   }
> >
> >   package { "adobeair":
> >     provider => dpkg,
> >     ensure => installed,
> >     source => "/opt/air-debs/adobeair-2.0.4.deb"
> >   }
> >
> > }
> >
> > I first copy the deb file down to the client machine and then use
> > 'package' with the provider set to 'dpkg'. This works and I get the
> > correct version installed.
> >
> > My question is what is the proper way to update this package in the
> > future. Can I simply change out the source file and puppet will know
> > that it's a different version and update this package? How does puppet
> > determine what version of a package it has installed versus the
> > version of the source deb file?
> >
> > I am pretty new to puppet, so if you have an suggestions for
> > improvements to my existing config they are very much appreciated.
> >
> > I have also posted this question 
> > here...http://serverfault.com/questions/188632/how-to-update-a-package-using...
> 
> Can anyone help me with this or point me in the right direction?  Do I
> have to use a package repository to ensure a correct version or can I
> do it using the approach below?
> 

Tim,

I've never really used the dpkg provider before, but a quick test seems
to indicate that just changing the source file isn't sufficient to get
the new version installed.

Installing first with:

package { "puppet-dashboard":
  provider => dpkg,
  ensure   => installed,
  source   => "/tmp/puppet-dashboard_1.0.4rc2-1_all.deb"
}

Then changing the source to be:

package { "puppet-dashboard":
  provider => dpkg,
  ensure   => installed,
  source   => "/tmp/puppet-dashboard_1.0.4rc2-2_all.deb"
}

The 1.0.4rc2-2 version is not installed.

Off hand, I'm not sure what the right way to do it would be, but I can
confirm that just changing the source with the dpkg provider is not
sufficient.

-- 
Jacob Helwig

Attachment: signature.asc
Description: Digital signature

Reply via email to