Bug#532398: [Pkg-puppet-devel] Bug#532398: Bug#532398: trying to pull packages from backports may introduce 'dependency hell'
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'
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'
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'
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'
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'
* 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'
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'
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'
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'
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