rake-debian-build 1.0.7 → 1.0.8

Sign up to get free protection for your applications and to get access to all the features.
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: