rake-debian-build 1.0.7 → 1.0.8

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.
data/Rakefile CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Generate all the Rake tasks
4
4
  # Run 'rake -T' to see list of generated tasks (from gem root directory)
5
- $hoe = Hoe.new('rake-debian-build', '1.0.7') do |p|
5
+ $hoe = Hoe.new('rake-debian-build', '1.0.8') do |p|
6
6
  p.developer("Alban Peignier", "alban.peignier@free.fr")
7
7
  p.summary = "Rake tasks to build debian packages"
8
8
  p.url = "http://github.com/albanpeignier/rake-debian-build"
@@ -6,15 +6,16 @@ module Debian::Build
6
6
  end
7
7
 
8
8
  def uncompress(archive)
9
- options =
10
- case archive
11
- when /bz2$/
12
- "-j"
13
- when /gz/
14
- "-z"
15
- end
16
-
17
- sh "tar -xf #{archive} #{options}"
9
+ case archive
10
+ when /\.tar\.bz2$/
11
+ sh "tar -xjf #{archive}"
12
+ when /\.tar\.gz$/
13
+ sh "tar -xzf #{archive}"
14
+ when /\.zip$/
15
+ sh "unzip -o -qq #{archive}"
16
+ else
17
+ raise "Unsupported archive type: #{archive}"
18
+ end
18
19
  end
19
20
 
20
21
  def get(url)
@@ -1,5 +1,6 @@
1
1
  require 'fileutils'
2
2
  require 'uri'
3
+ require 'tempfile'
3
4
 
4
5
  module Debian::Build
5
6
 
@@ -55,6 +56,63 @@ module Debian::Build
55
56
 
56
57
  end
57
58
 
59
+ class ZipSourceProvider
60
+ include FileUtils
61
+ include Debian::Build::HelperMethods
62
+
63
+ def initialize(url)
64
+ @url = url
65
+ end
66
+
67
+ def retrieve(package)
68
+ PackageRetriever.new(@url, package).retrieve
69
+ end
70
+
71
+ class PackageRetriever
72
+ include FileUtils
73
+ include Debian::Build::HelperMethods
74
+
75
+ attr_reader :package
76
+
77
+ def initialize(url, package)
78
+ @url, @package = url, package
79
+ end
80
+
81
+ def retrieve
82
+ get tarball_url
83
+ uncompress tarball_name
84
+ prepare_orig_tarball
85
+ end
86
+
87
+ def prepare_orig_tarball
88
+ return if File.exists?(orig_tarball_name)
89
+ Tempfile.open("prepare_orig_tarball") do |temp_directory|
90
+ temp_directory_path = temp_directory.path
91
+ temp_directory.delete
92
+ mkdir_p temp_directory_path
93
+
94
+ sh "unzip -o -qq -d #{temp_directory_path} #{tarball_name}"
95
+ sh "tar -czf #{orig_tarball_name} -C #{temp_directory_path} ."
96
+ rm_rf temp_directory_path
97
+ end
98
+ end
99
+
100
+ def tarball_url
101
+ @tarball_url ||= eval( '"' + @url + '"', package.get_binding)
102
+ end
103
+
104
+ def tarball_name
105
+ File.basename URI.parse(tarball_url).path
106
+ end
107
+
108
+ def orig_tarball_name
109
+ package.orig_source_tarball_name
110
+ end
111
+
112
+ end
113
+
114
+ end
115
+
58
116
  class AptSourceProvider
59
117
  include FileUtils
60
118
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-debian-build
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alban Peignier
@@ -9,9 +9,29 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-23 00:00:00 +01:00
12
+ date: 2010-01-11 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rubyforge
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.0.3
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: gemcutter
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.3.0
34
+ version:
15
35
  - !ruby/object:Gem::Dependency
16
36
  name: hoe
17
37
  type: :development
@@ -20,7 +40,7 @@ dependencies:
20
40
  requirements:
21
41
  - - ">="
22
42
  - !ruby/object:Gem::Version
23
- version: 2.4.0
43
+ version: 2.5.0
24
44
  version:
25
45
  description: ""
26
46
  email: