Module: Yast::PackagesCommonInclude

Defined in:
../../src/include/packages/common.rb

Instance Method Summary (collapse)

Instance Method Details

- (Object) AskPackages(packs, install)



101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File '../../src/include/packages/common.rb', line 101

def AskPackages(packs, install)
  packs = deep_copy(packs)
  pkgs = Builtins.mergestring(packs, ", ")
  # the message is followed by list of required packages
  text = Ops.add(
    (install ?
      _("These packages need to be installed:") :
      _("These packages need to be removed:")) + " ",
    pkgs
  )
  CommandLine.Print(text)

  CommandLine.YesNo
end

- (Boolean) AvailableAll(packages)

Are all of these packages available?

Parameters:

  • packages (Array<String>)

    list of packages

Returns:

  • (Boolean)

    true if yes (nil = an error occurred)



50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File '../../src/include/packages/common.rb', line 50

def AvailableAll(packages)
  packages = deep_copy(packages)
  error = false

  which = Builtins.find(packages) do |p|
    avail = Available(p)
    error = true if avail == nil
    !avail
  end

  return nil if error

  which == nil
end

- (Boolean) AvailableAny(packages)

Is any of these packages available?

Parameters:

  • packages (Array<String>)

    list of packages

Returns:

  • (Boolean)

    true if yes (nil = an error occurred)



68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File '../../src/include/packages/common.rb', line 68

def AvailableAny(packages)
  packages = deep_copy(packages)
  error = false

  which = Builtins.find(packages) do |p|
    avail = Available(p)
    error = true if avail == nil
    avail
  end

  return nil if error

  which != nil
end

- (Object) initialize_packages_common(include_target)



37
38
39
40
41
42
43
44
45
# File '../../src/include/packages/common.rb', line 37

def initialize_packages_common(include_target)
  textdomain "base"

  Yast.import "Label"
  Yast.import "Popup"
  Yast.import "Wizard"
  Yast.import "Mode"
  Yast.import "CommandLine"
end

- (Object) Install(package)



206
207
208
# File '../../src/include/packages/common.rb', line 206

def Install(package)
  InstallMsg(package, nil)
end

- (Object) InstallAll(packages)



210
211
212
213
# File '../../src/include/packages/common.rb', line 210

def InstallAll(packages)
  packages = deep_copy(packages)
  InstallAllMsg(packages, nil)
end

- (Object) InstallAllMsg(packages, message)

Install list of packages with a custom text message

Parameters:

  • packages (Array<String>)

    The list packages to be installed

  • message (String)

    custom text message

Returns:

  • True on success



183
184
185
186
# File '../../src/include/packages/common.rb', line 183

def InstallAllMsg(packages, message)
  packages = deep_copy(packages)
  PackageDialog(packages, true, message)
end

- (Boolean) InstalledAll(packages)

Are all of these packages installed?

Parameters:

  • packages (Array<String>)

    list of packages

Returns:

  • (Boolean)

    true if yes



86
87
88
89
90
# File '../../src/include/packages/common.rb', line 86

def InstalledAll(packages)
  packages = deep_copy(packages)
  which = Builtins.find(packages) { |p| !Installed(p) }
  which == nil
end

- (Boolean) InstalledAny(packages)

Is any of these packages installed?

Parameters:

  • packages (Array<String>)

    list of packages

Returns:

  • (Boolean)

    true if yes



95
96
97
98
99
# File '../../src/include/packages/common.rb', line 95

def InstalledAny(packages)
  packages = deep_copy(packages)
  which = Builtins.find(packages) { |p| Installed(p) }
  which != nil
end

- (Object) InstallMsg(package, message)

Install a package with a custom text message

Parameters:

  • package (String)

    to be installed

  • message (String)

    custom text message

Returns:

  • True on success



175
176
177
# File '../../src/include/packages/common.rb', line 175

def InstallMsg(package, message)
  PackageDialog([package], true, message)
end

- (Object) LastOperationCanceled

Return result of the last operation Use immediately after calling any Package*:: function

Returns:

  • true if it last operation was canceled



229
230
231
# File '../../src/include/packages/common.rb', line 229

def LastOperationCanceled
  @last_op_canceled
end

- (Object) PackageDialog(packages, install, message)

Main package installatio|removal dialog

Parameters:

  • packages (Array<String>)

    list of packages

  • install (Boolean)

    true if install, false if remove

  • message (String)

    optional installation|removal text (nil -> standard will be used)

Returns:

  • true on success



121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File '../../src/include/packages/common.rb', line 121

def PackageDialog(packages, install, message)
  packages = deep_copy(packages)
  Builtins.y2debug("Asking for packages: %1", packages)
  packs = Builtins.filter(packages) do |package|
    install ? !Installed(package) : Installed(package)
  end
  Builtins.y2debug("Remaining packages: %1", packs)

  return true if Ops.less_than(Builtins.size(packs), 1)

  # Popup Text
  text = _("These packages need to be installed:") + "<p>"
  # Popup Text
  text = _("These packages need to be removed:") + "<p>" if install == false

  Builtins.foreach(packs) do |p|
    text = Ops.add(text, Builtins.sformat("%1<br>", p))
  end

  if message != nil
    text = Builtins.sformat(message, Builtins.mergestring(packs, ", "))
  end

  doit = Mode.commandline ?
    CommandLine.Interactive ? AskPackages(packs, install) : true :
    Popup.AnyQuestionRichText(
      "",
      text,
      40,
      10,
      # labels changed for bug #215195
      #	Label::ContinueButton (), Label::CancelButton (),
      # push button label
      install ?
        Label.InstallButton :
        _("&Uninstall"),
      Label.CancelButton,
      :focus_yes
    )

  if doit
    @last_op_canceled = false
    return DoRemove(packs) if install == false
    return DoInstall(packs)
  end

  @last_op_canceled = true
  false
end

- (Object) Remove(package)

FIXME



216
217
218
# File '../../src/include/packages/common.rb', line 216

def Remove(package)
  RemoveMsg(package, nil)
end

- (Object) RemoveAll(packages)



220
221
222
223
# File '../../src/include/packages/common.rb', line 220

def RemoveAll(packages)
  packages = deep_copy(packages)
  RemoveAllMsg(packages, nil)
end

- (Object) RemoveAllMsg(packages, message)

Remove a list of packages with a custom text message

Parameters:

  • packages (Array<String>)

    The list of packages to be removed

  • message (String)

    custom text message

Returns:

  • True on success



201
202
203
204
# File '../../src/include/packages/common.rb', line 201

def RemoveAllMsg(packages, message)
  packages = deep_copy(packages)
  PackageDialog(packages, false, message)
end

- (Object) RemoveMsg(package, message)

Remove a package with a custom text message

Parameters:

  • package (String)

    package to be removed

  • message (String)

    custom text message

Returns:

  • True on success



193
194
195
# File '../../src/include/packages/common.rb', line 193

def RemoveMsg(package, message)
  PackageDialog([package], false, message)
end