~ubuntu-branches/ubuntu/quantal/puppet/quantal

« back to all changes in this revision

Viewing changes to lib/puppet/module_tool/errors/uninstaller.rb

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-07-14 01:56:30 UTC
  • mfrom: (1.1.29) (3.1.43 sid)
  • Revision ID: package-import@ubuntu.com-20120714015630-ntj41rkvkq4zph4y
Tags: 2.7.18-1ubuntu1
* Resynchronise with Debian. (LP: #1023931) Remaining changes:
  - debian/puppetmaster-passenger.postinst: Make sure we error if puppet
    config print doesn't work
  - debian/puppetmaster-passenger.postinst: Ensure upgrades from
    <= 2.7.11-1 fixup passenger apache configuration.
* Dropped upstreamed patches:
  - debian/patches/CVE-2012-1906_CVE-2012-1986_to_CVE-2012-1989.patch
  - debian/patches/puppet-12844
  - debian/patches/2.7.17-Puppet-July-2012-CVE-fixes.patch
* Drop Build-Depends on ruby-rspec (in universe):
  - debian/control: remove ruby-rspec from Build-Depends
  - debian/patches/no-rspec.patch: make Rakefile work anyway if rspec
    isn't installed so we can use it in debian/rules.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
module Puppet::ModuleTool::Errors
 
2
 
 
3
  class UninstallError < ModuleToolError; end
 
4
 
 
5
  class NoVersionMatchesError < UninstallError
 
6
    def initialize(options)
 
7
      @module_name = options[:module_name]
 
8
      @modules     = options[:installed_modules]
 
9
      @version     = options[:version_range]
 
10
      super "Could not uninstall '#{@module_name}'; no installed version matches"
 
11
    end
 
12
 
 
13
    def multiline
 
14
      message = []
 
15
      message << "Could not uninstall module '#{@module_name}' (#{v(@version)})"
 
16
      message << "  No installed version of '#{@module_name}' matches (#{v(@version)})"
 
17
      message += @modules.map do |mod|
 
18
        "    '#{mod[:name]}' (#{v(mod[:version])}) is installed in #{mod[:path]}"
 
19
      end
 
20
      message.join("\n")
 
21
    end
 
22
  end
 
23
 
 
24
  class ModuleIsRequiredError < UninstallError
 
25
    def initialize(options)
 
26
      @module_name       = options[:module_name]
 
27
      @required_by       = options[:required_by]
 
28
      @requested_version = options[:requested_version]
 
29
      @installed_version = options[:installed_version]
 
30
 
 
31
      super "Could not uninstall '#{@module_name}'; installed modules still depend upon it"
 
32
    end
 
33
 
 
34
    def multiline
 
35
      message = []
 
36
      message << ("Could not uninstall module '#{@module_name}'" << (@requested_version ? " (#{v(@requested_version)})" : ''))
 
37
      message << "  Other installed modules have dependencies on '#{@module_name}' (#{v(@installed_version)})"
 
38
      message += @required_by.map do |mod|
 
39
        "    '#{mod['name']}' (#{v(mod['version'])}) requires '#{@module_name}' (#{v(mod['version_requirement'])})"
 
40
      end
 
41
      message << "    Use `puppet module uninstall --force` to uninstall this module anyway"
 
42
      message.join("\n")
 
43
    end
 
44
  end
 
45
end