Bug#532398: [Pkg-puppet-devel] Bug#532398: Bug#532398: trying to pull packages from backports may introduce 'dependency hell'

2009-06-17 Thread Nigel Kersten
2009/6/9 Jayen Ashar ja...@science.unsw.edu.au:
 Matthew Palmer wrote:

 On Wed, Jun 10, 2009 at 10:44:46AM +1000, Jayen Ashar wrote:
 Default the provider for the Package type to be aptitude.  There's docs on
 that.

 I really can't find them.  I've search for default provider (and variants)
 and still can't find it.  All I can find are things saying puppet chooses a
 default provider, based on the os.  I can't actually find the name nor
 location of a global setting.  Could you please provide a pointer?  Thanks.

(you'd get a faster response on the puppet-users list upstream)

You really should go through the Language Tutorial. It answers this question.

http://reductivelabs.com/trac/puppet/wiki/LanguageTutorial#resource-defaults

So here is how you would set an individual package:

package { foo:
  provider = aptitude,
  ...
}

and here is how you would set it as a default for all packages (unless
overridden in an individual package resource definition)

Package { provider = aptitude, }



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#532398: trying to pull packages from backports may introduce 'dependency hell'

2009-06-17 Thread Jayen Ashar

Thanks Nigel!  That did the trick!

I kept searching for package defaults, provider defaults, and type 
defaults.  Didn't expect it to be a resource default.  I also thought 
it would be in the puppetd.conf, so didn't think to check the language 
tutorial.


I hope aptitude becomes the default for debian, since it's a little bit 
of a hassle to do things like this with apt-get.


Thanks,
Jayen

On 18/06/09 01:28, Nigel Kersten wrote:

2009/6/9 Jayen Ashar ja...@science.unsw.edu.au:

Matthew Palmer wrote:

On Wed, Jun 10, 2009 at 10:44:46AM +1000, Jayen Ashar wrote:
Default the provider for the Package type to be aptitude.  There's docs on
that.

I really can't find them.  I've search for default provider (and variants)
and still can't find it.  All I can find are things saying puppet chooses a
default provider, based on the os.  I can't actually find the name nor
location of a global setting.  Could you please provide a pointer?  Thanks.


(you'd get a faster response on the puppet-users list upstream)

You really should go through the Language Tutorial. It answers this question.

http://reductivelabs.com/trac/puppet/wiki/LanguageTutorial#resource-defaults

So here is how you would set an individual package:

package { foo:
  provider = aptitude,
  ...
}

and here is how you would set it as a default for all packages (unless
overridden in an individual package resource definition)

Package { provider = aptitude, }


--
Jayen Ashar
Free Software Apostle (Linux SysAdmin)
Computing Center
School of Mathematics and Statistics
M029, Red Center
The University of New South Wales SYDNEY NSW 2052
Ph: + 61 (2) 93857016
Fax: + 61 (2) 93857192
CRICOS provider code: 00098G



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#532398: trying to pull packages from backports may introduce 'dependency hell'

2009-06-17 Thread Jayen Ashar

How about changing it to a wishlist item to make aptitude the default?

On 18/06/09 14:48, Andrew Pollock wrote:

On Thu, Jun 18, 2009 at 11:53:23AM +1000, Jayen Ashar wrote:

Thanks Nigel!  That did the trick!

I kept searching for package defaults, provider defaults, and type 
defaults.  Didn't expect it to be a resource default.  I also thought 
it would be in the puppetd.conf, so didn't think to check the language 
tutorial.


I hope aptitude becomes the default for debian, since it's a little bit 
of a hassle to do things like this with apt-get.


Okay, so I think there's no actual bug here, so I'm closing this.
 

Thanks,
Jayen

On 18/06/09 01:28, Nigel Kersten wrote:

2009/6/9 Jayen Ashar ja...@science.unsw.edu.au:

Matthew Palmer wrote:

On Wed, Jun 10, 2009 at 10:44:46AM +1000, Jayen Ashar wrote:
Default the provider for the Package type to be aptitude.  There's docs 
on

that.
I really can't find them.  I've search for default provider (and 
variants)
and still can't find it.  All I can find are things saying puppet chooses 
a

default provider, based on the os.  I can't actually find the name nor
location of a global setting.  Could you please provide a pointer?  
Thanks.

(you'd get a faster response on the puppet-users list upstream)

You really should go through the Language Tutorial. It answers this 
question.


http://reductivelabs.com/trac/puppet/wiki/LanguageTutorial#resource-defaults

So here is how you would set an individual package:

package { foo:
 provider = aptitude,
 ...
}

and here is how you would set it as a default for all packages (unless
overridden in an individual package resource definition)

Package { provider = aptitude, }

--
Jayen Ashar
Free Software Apostle (Linux SysAdmin)
Computing Center
School of Mathematics and Statistics
M029, Red Center
The University of New South Wales SYDNEY NSW 2052
Ph: + 61 (2) 93857016
Fax: + 61 (2) 93857192
CRICOS provider code: 00098G



___
Pkg-puppet-devel mailing list
pkg-puppet-de...@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-puppet-devel



--
Jayen Ashar
Free Software Apostle (Linux SysAdmin)
Computing Center
School of Mathematics and Statistics
M029, Red Center
The University of New South Wales SYDNEY NSW 2052
Ph: + 61 (2) 93857016
Fax: + 61 (2) 93857192
CRICOS provider code: 00098G



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#532398: trying to pull packages from backports may introduce 'dependency hell'

2009-06-10 Thread Jayen Ashar

Matthew Palmer wrote:

On Wed, Jun 10, 2009 at 11:40:49AM +1000, Jayen Ashar wrote:

Matthew Palmer wrote:


From http://backports.org/debian/dists/lenny-backports/Release:

NotAutomatic: yes

Join the dots from there.


The bug report didn't include my apt_preferences, which contains:
  Package: *
  Pin: release a=lenny-backports
  Pin-Priority: 200


Which almost certainly doesn't do what you want, as per apt_preferences(5).


If I didn't override the Pin-Priority, then NotAutomatic: yes would 
give it a Pin-Priority of 1, right?  That, as per apt_preferences(5), 
causes a version to be installed only if there is no installed version 
of the package.


This isn't what I want.  I want to install something from backports, 
then track updates in backports, so I set the Pin-Priority to 200, 
which, as per apt_preferences(5), causes a version to be installed 
unless there is a version available belonging to some other distribution 
or the installed version is more recent.


But we digress.  How can I use puppet+apt to track backports for some 
packages, while using official debian repos for most packages?


Thanks,
Jayen



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#532398: trying to pull packages from backports may introduce 'dependency hell'

2009-06-09 Thread Jayen Ashar
Package: puppet
Version: 0.24.8-1~bpo50+1
Severity: normal

I'm trying to push out openoffice 3 from lenny backports to some lenny 
machines, but it appears that I have to explicitly list each version of each 
package, thereby introducing 'dependency hell.'  perhaps puppet could use 
aptitude instead of apt-get?

Example:
In my pp file, I have:
class debian_lenny_openoffice {
  #20090609 oo3
  $desired = 1:3.0.1-11~bpo50+2
  package { 
mozilla-openoffice.org  : ensure = $desired;
openoffice.org-base-core: ensure = $desired;
openoffice.org-base : ensure = $desired;
openoffice.org-calc : ensure = $desired;
openoffice.org-common   : ensure = $desired;
openoffice.org-core : ensure = $desired;
openoffice.org-draw : ensure = $desired;
openoffice.org-dtd-officedocument1.0: ensure = $desired;
openoffice.org-emailmerge   : ensure = $desired;
openoffice.org  : ensure = $desired;
openoffice.org-evolution: ensure = $desired;
openoffice.org-filter-binfilter : ensure = $desired;
openoffice.org-filter-mobiledev : ensure = $desired;
openoffice.org-gnome: ensure = $desired;
openoffice.org-gtk  : ensure = $desired;
openoffice.org-help-en-gb   : ensure = $desired;
openoffice.org-help-en-us   : ensure = $desired;
openoffice.org-impress  : ensure = $desired;
openoffice.org-java-common  : ensure = $desired;
openoffice.org-kab  : ensure = $desired;
openoffice.org-kde  : ensure = $desired;
openoffice.org-l10n-en-gb   : ensure = $desired;
openoffice.org-math : ensure = $desired;
openoffice.org-officebean   : ensure = $desired;
openoffice.org-report-builder-bin   : ensure = $desired;
openoffice.org-style-andromeda  : ensure = $desired;
openoffice.org-style-crystal: ensure = $desired;
openoffice.org-style-galaxy : ensure = $desired;
openoffice.org-style-hicontrast : ensure = $desired;
openoffice.org-style-industrial : ensure = $desired;
openoffice.org-style-tango  : ensure = $desired;
openoffice.org-writer   : ensure = $desired;

openoffice.org-pdfimport: ensure = 0.3.2+OOo3.0.1-11~bpo50+2;
openoffice.org-presentation-minimizer: ensure = 
1.0+OOo3.0.1-11~bpo50+2;
openoffice.org-presenter-console: ensure = 1.0+OOo3.0.1-11~bpo50+2;
openoffice.org-report-builder: ensure = 1:1.0.5+OOo3.0.1-11~bpo50+2;
openoffice.org-wiki-publisher: ensure = 1.0+OOo3.0.1-11~bpo50+2;
  }
}

But even this list isn't complete enough and gives errors like:
err: 
//Node[default]/debian_lenny/debian_lenny_openoffice/Package[openoffice.org-core]/ensure:
 change from 1:2.4.1+dfsg-1 to 1:3.0.1-11~bpo50+2 failed: Could not update: 
Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install 
openoffice.org-core=1:3.0.1-11~bpo50+2' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  openoffice.org-core: Depends: ure (= 1.4.1) but 1.4+OOo2.4.1+dfsg-1 is to be 
installed
E: Broken packages
 at /etc/puppet/manifests/classes/debian_lenny.pp:240


-- System Information:
Debian Release: 5.0.1
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-2-686 (SMP w/1 CPU core)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages puppet depends on:
ii  adduser   3.110  add and remove users and groups
ii  facter1.5.1-0.1  a library for retrieving facts fro
ii  libopenssl-ruby   4.2OpenSSL interface for Ruby
ii  libruby [libxmlrpc-ruby]  4.2Libraries necessary to run Ruby 1.
ii  libshadow-ruby1.8 1.4.1-8Interface of shadow password for R
ii  libxmlrpc-ruby4.2transitional dummy package
ii  lsb-base  3.2-20 Linux Standard Base 3.2 init scrip
ii  ruby  4.2An interpreter of object-oriented

Versions of packages puppet recommends:
pn  libaugeas-ruby1.8 none (no description available)
ii  rdoc  4.2Generate documentation from ruby s

puppet suggests no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. 

Bug#532398: [Pkg-puppet-devel] Bug#532398: trying to pull packages from backports may introduce 'dependency hell'

2009-06-09 Thread Micah Anderson
* Jayen Ashar ja...@science.unsw.edu.au [2009-06-09 02:04-0400]:
 Package: puppet
 Version: 0.24.8-1~bpo50+1
 Severity: normal
 
 I'm trying to push out openoffice 3 from lenny backports to some lenny 
 machines, but it appears that I have to explicitly list each version of each 
 package, thereby introducing 'dependency hell.'  perhaps puppet could use 
 aptitude instead of apt-get?

Yes, you can set aptitude as your preferred package provider globally,
or for individual operations. 




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#532398: [Pkg-puppet-devel] Bug#532398: trying to pull packages from backports may introduce 'dependency hell'

2009-06-09 Thread Jayen Ashar
How can I set aptitude as my preferred package provider globally?  I 
can't find any documentation on it, and a google search for global 
preferred package provider (and variants) doesn't give me anything useful.


Is there any documentation on why apt-get is the default for 
debian/ubuntu, when aptitude is installed?


Thanks,
Jayen

Micah Anderson wrote:

* Jayen Ashar ja...@science.unsw.edu.au [2009-06-09 02:04-0400]:

Package: puppet
Version: 0.24.8-1~bpo50+1
Severity: normal

I'm trying to push out openoffice 3 from lenny backports to some lenny 
machines, but it appears that I have to explicitly list each version of each 
package, thereby introducing 'dependency hell.'  perhaps puppet could use 
aptitude instead of apt-get?


Yes, you can set aptitude as your preferred package provider globally,
or for individual operations. 





--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#532398: [Pkg-puppet-devel] Bug#532398: trying to pull packages from backports may introduce 'dependency hell'

2009-06-09 Thread Matthew Palmer
On Wed, Jun 10, 2009 at 10:44:46AM +1000, Jayen Ashar wrote:
 How can I set aptitude as my preferred package provider globally?  I  
 can't find any documentation on it, and a google search for global  
 preferred package provider (and variants) doesn't give me anything 
 useful.

Default the provider for the Package type to be aptitude.  There's docs on
that.

 Is there any documentation on why apt-get is the default for  
 debian/ubuntu, when aptitude is installed?

Because nobody's put forward a patch to do it differently.

Your problem isn't aptitude vs apt-get, though -- apt-get is perfectly
capable of resolving and installing dependencies.  My guess is that you
haven't setup your preferences correctly to tell Puppet to install dependent
packages from your backports repo:

  APT prefers stable
  APT policy: (500, 'stable')

Basically, your system config is screwed, and it's not Puppet's fault.  Nor
will switching to aptitude solve your problem (unless it ignores repo
preferences).

- Matt



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#532398: [Pkg-puppet-devel] Bug#532398: trying to pull packages from backports may introduce 'dependency hell'

2009-06-09 Thread Jayen Ashar

Matthew Palmer wrote:

On Wed, Jun 10, 2009 at 10:44:46AM +1000, Jayen Ashar wrote:
How can I set aptitude as my preferred package provider globally?  I  
can't find any documentation on it, and a google search for global  
preferred package provider (and variants) doesn't give me anything 
useful.


Default the provider for the Package type to be aptitude.  There's docs on
that.


I really can't find them.  I've search for default provider (and 
variants) and still can't find it.  All I can find are things saying 
puppet chooses a default provider, based on the os.  I can't actually 
find the name nor location of a global setting.  Could you please 
provide a pointer?  Thanks.


Is there any documentation on why apt-get is the default for  
debian/ubuntu, when aptitude is installed?


Because nobody's put forward a patch to do it differently.

Your problem isn't aptitude vs apt-get, though -- apt-get is perfectly
capable of resolving and installing dependencies.  My guess is that you
haven't setup your preferences correctly to tell Puppet to install dependent
packages from your backports repo:

  APT prefers stable
  APT policy: (500, 'stable')

Basically, your system config is screwed, and it's not Puppet's fault.  Nor

will switching to aptitude solve your problem (unless it ignores repo
preferences).


If my system config were screwed, or I didn't set backports in my 
preferences, then I would have the opposite problem, and backports would 
take precedence over stable, since backports contains higher versions. 
The bug report didn't include my apt_preferences, which contains:

  Package: *
  Pin: release a=lenny-backports
  Pin-Priority: 200

Furthermore, I've tested apt-get and aptitude, and while 
/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install 
openoffice.org-core=1:3.0.1-11~bpo50+2 doesn't do what I want, 
/usr/bin/aptitude -q -y -o DPkg::Options::=--force-confold install 
openoffice.org-core=1:3.0.1-11~bpo50+2 does.  (Although I realize 
auto-resolving with aptitude would give me things like:

  The following actions will resolve these dependencies:

  Remove the following packages:
  openoffice.org
  openoffice.org-style-andromeda

whereas apt-get would not be so bold, I think this is generally the 
preferred behavior, rather than being thrown into dependency hell.)


Thanks,
Jayen
diff --git a/lib/puppet/provider/package/apt.rb b/lib/puppet/provider/package/apt.rb
index a99ee4c..2aa8ec9 100755
--- a/lib/puppet/provider/package/apt.rb
+++ b/lib/puppet/provider/package/apt.rb
@@ -10,8 +10,6 @@ Puppet::Type.type(:package).provide :apt, :parent = :dpkg, :source = :dpkg do
 commands :aptcache = /usr/bin/apt-cache
 commands :preseed = /usr/bin/debconf-set-selections
 
-defaultfor :operatingsystem = [:debian, :ubuntu]
-
 ENV['DEBIAN_FRONTEND'] = noninteractive
 
 # A derivative of DPKG; this is how most people actually manage
diff --git a/lib/puppet/provider/package/aptitude.rb b/lib/puppet/provider/package/aptitude.rb
index 699df0e..b5ad419 100755
--- a/lib/puppet/provider/package/aptitude.rb
+++ b/lib/puppet/provider/package/aptitude.rb
@@ -6,6 +6,8 @@ Puppet::Type.type(:package).provide :aptitude, :parent = :apt, :source = :dpkg
 commands :aptitude = /usr/bin/aptitude
 commands :aptcache = /usr/bin/apt-cache
 
+defaultfor :operatingsystem = [:debian, :ubuntu]
+
 ENV['DEBIAN_FRONTEND'] = noninteractive
 
 def aptget(*args)


Bug#532398: [Pkg-puppet-devel] Bug#532398: trying to pull packages from backports may introduce 'dependency hell'

2009-06-09 Thread Matthew Palmer
On Wed, Jun 10, 2009 at 11:40:49AM +1000, Jayen Ashar wrote:
 Matthew Palmer wrote:
 On Wed, Jun 10, 2009 at 10:44:46AM +1000, Jayen Ashar wrote:
 Is there any documentation on why apt-get is the default for   
 debian/ubuntu, when aptitude is installed?

 Because nobody's put forward a patch to do it differently.

 Your problem isn't aptitude vs apt-get, though -- apt-get is perfectly
 capable of resolving and installing dependencies.  My guess is that you
 haven't setup your preferences correctly to tell Puppet to install dependent
 packages from your backports repo:

   APT prefers stable
   APT policy: (500, 'stable')
 Basically, your system config is screwed, and it's not Puppet's 
 fault.  Nor
 will switching to aptitude solve your problem (unless it ignores repo
 preferences).

 If my system config were screwed, or I didn't set backports in my  
 preferences, then I would have the opposite problem, and backports would  
 take precedence over stable, since backports contains higher versions.  

From http://backports.org/debian/dists/lenny-backports/Release:

NotAutomatic: yes

Join the dots from there.

 The bug report didn't include my apt_preferences, which contains:
   Package: *
   Pin: release a=lenny-backports
   Pin-Priority: 200

Which almost certainly doesn't do what you want, as per apt_preferences(5).

- Matt



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org