ruaur 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ruaur/aur.rb +56 -25
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 48b2b7ed59ee0f2ec9ca9cdad118182873dca783
4
- data.tar.gz: '083bc6bda5b920f151569330a9b2eb595edc834c'
3
+ metadata.gz: 33778e9a175425e6693fc707f094213f91d18b2e
4
+ data.tar.gz: 0727ea32f56645ce63872907fa80bc05c894b94d
5
5
  SHA512:
6
- metadata.gz: 24b8185da260c21f6a6e6e5939f268761193efdb3d7ee6658cc48a1c9a2f5f6f0db5230f54accf13f5d6d7264ec550b73529549b2cd3bfb5096902b20115c203
7
- data.tar.gz: 51b39ca6b34c8b12ed271bf8b93c959e504793e3d3650cf7396a24c9a6a0eac9703effd752e1981e8b88329b1b00b954f5e3a963e37b1e9a38c0210a7237a5ac
6
+ metadata.gz: 23d06561f9a60c22976dc0624b1b1a628d62b0a06359759994c5d5a4135e3f282bcf593c95188ffdbd3c922931bf1899a3f493a25090945e38c8926e8184e04a
7
+ data.tar.gz: f18bc12a12834c74aec99b00d9f990085bdd3a9eb0beefe1ed1c52bc312f02e1809a20ff51e25544dc04c038673b1757fbf9d0dda2e1cfd1d60ad891840142bf
data/lib/ruaur/aur.rb CHANGED
@@ -37,10 +37,13 @@ class RuAUR::AUR
37
37
  end
38
38
  private :compile
39
39
 
40
- def download(package)
40
+ def download(package, status = true)
41
41
  FileUtils.rm_f(Dir["#{package.name}.tar.gz*"])
42
42
 
43
- puts hilight_status("Downloading #{package.name}...")
43
+ if (status)
44
+ puts hilight_status("Downloading #{package.name}...")
45
+ end
46
+
44
47
  tarball(package.name, package.url, "#{package.name}.tar.gz")
45
48
 
46
49
  tgz = Pathname.new("#{package.name}.tar.gz").expand_path
@@ -85,10 +88,13 @@ class RuAUR::AUR
85
88
  end
86
89
  private :edit_pkgbuild
87
90
 
88
- def extract(package)
91
+ def extract(package, status = true)
89
92
  FileUtils.rm_rf(package.name)
90
93
 
91
- puts hilight_status("Extracting #{package.name}...")
94
+ if (status)
95
+ puts hilight_status("Extracting #{package.name}...")
96
+ end
97
+
92
98
  File.open("#{package.name}.tar.gz", "rb") do |tgz|
93
99
  tar = Zlib::GzipReader.new(tgz)
94
100
  Minitar.unpack(tar, ".")
@@ -122,6 +128,27 @@ class RuAUR::AUR
122
128
  end
123
129
  private :find_upgrades
124
130
 
131
+ def get_dependencies(package)
132
+ deps = Array.new
133
+ Dir.chdir("#{@cache}/#{package.name}") do
134
+ pkgbuild = File.read("PKGBUILD")
135
+ pkgbuild.match(/^depends\=\(([^\)]+)\)/m) do |match|
136
+ match.captures.each do |cap|
137
+ cap.gsub(/\n/, " ").scan(/[^' ]+/) do |scan|
138
+ # Strip version info and skip any deps that
139
+ # are variables, for now
140
+ # FIXME maybe find way to evaluate variable
141
+ # value
142
+ dep = scan.gsub(/(\<|\=|\>).*$/, "")
143
+ next if (dep.start_with?("$"))
144
+ deps.push(dep)
145
+ end
146
+ end
147
+ end
148
+ end
149
+ return deps
150
+ end
151
+
125
152
  def hilight_dependency(dependency)
126
153
  return dependency if (!RuAUR.hilight?)
127
154
  return dependency.light_magenta
@@ -207,26 +234,15 @@ class RuAUR::AUR
207
234
  end
208
235
 
209
236
  def install_dependencies(package, noconfirm)
210
- pkgbuild = File.read("PKGBUILD")
211
- pkgbuild.match(/^depends\=\(([^\)]+)\)/m) do |match|
212
- match.captures.each do |cap|
213
- cap.gsub(/\n/, " ").scan(/[^' ]+/) do |scan|
214
- dep = scan.gsub(/(\<|\=|\>).*$/, "")
215
-
216
- # Skip any deps that are variables, for now
217
- # FIXME maybe find way to evaluate variable value
218
- next if (dep.start_with?("$"))
219
-
220
- if (!@installed.has_key?(dep))
221
- puts hilight_dependency(
222
- "Installing dependency: #{dep}"
223
- )
224
- if (@pacman.exist?(dep))
225
- @pacman.install(dep, noconfirm)
226
- else
227
- install(dep, noconfirm)
228
- end
229
- end
237
+ get_dependencies(package).each do |dep|
238
+ if (!@installed.has_key?(dep))
239
+ puts hilight_dependency(
240
+ "Installing dependency: #{dep}"
241
+ )
242
+ if (@pacman.exist?(dep))
243
+ @pacman.install(dep, noconfirm)
244
+ else
245
+ install(dep, noconfirm)
230
246
  end
231
247
  end
232
248
  end
@@ -269,7 +285,7 @@ class RuAUR::AUR
269
285
  if (!json.empty?)
270
286
  results[pkg_name] = json["Version"]
271
287
  if (info)
272
- max = 0
288
+ max = 12 # Length of "Dependencies"
273
289
  json.each do |k, v|
274
290
  max = k.length if (max < k.length)
275
291
  end
@@ -279,10 +295,25 @@ class RuAUR::AUR
279
295
  filler = Array.new(max - k.length + 2, " ").join
280
296
  out.push("#{k}#{filler}: #{v}")
281
297
  end
298
+
299
+ Dir.chdir(@cache) do
300
+ download(package, false)
301
+ extract(package, false)
302
+ end
303
+
304
+ deps = get_dependencies(package)
305
+ filler = Array.new(max - 10, " ").join
306
+ out.push("Dependencies#{filler}: #{deps.join(" ")}")
307
+
282
308
  results[pkg_name] = out.join("\n")
283
309
  end
284
310
  end
285
311
 
312
+ # Clean up
313
+ Dir.chdir(@cache) do
314
+ FileUtils.rm_rf(Dir["#{package.name}*"])
315
+ end
316
+
286
317
  return results
287
318
  end
288
319
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruaur
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Whittaker