autobuild 1.4.7 → 1.4.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/Changes.txt +6 -0
- data/lib/autobuild.rb +1 -1
- data/lib/autobuild/import/archive.rb +27 -17
- metadata +2 -2
data/Changes.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== Version 1.4.8
|
2
|
+
* make the archive importer nicer to use:
|
3
|
+
- the archive_dir is unneeded for tarballs from now on
|
4
|
+
- filename detection works better (and therefore the :filename option will be
|
5
|
+
less needed)
|
6
|
+
|
1
7
|
== Version 1.4.7
|
2
8
|
* have the git importer update the autobuild remote on update.
|
3
9
|
|
data/lib/autobuild.rb
CHANGED
@@ -34,11 +34,15 @@ module Autobuild
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
+
def update_cached_file?; @options[:update_cached_file] end
|
38
|
+
|
37
39
|
# Updates the downloaded file in cache only if it is needed
|
38
40
|
def update_cache(package)
|
39
|
-
do_update =
|
41
|
+
do_update = false
|
40
42
|
|
41
|
-
if File.file?(cachefile)
|
43
|
+
if !File.file?(cachefile)
|
44
|
+
do_update = true
|
45
|
+
elsif self.update_cached_file?
|
42
46
|
cached_size = File.lstat(cachefile).size
|
43
47
|
cached_mtime = File.lstat(cachefile).mtime
|
44
48
|
|
@@ -57,6 +61,7 @@ module Autobuild
|
|
57
61
|
do_update = (size != cached_size)
|
58
62
|
else
|
59
63
|
$stderr.puts "WARNING: neither size nor modification time available for #{@url}, will always update"
|
64
|
+
do_update = true
|
60
65
|
end
|
61
66
|
end
|
62
67
|
|
@@ -93,6 +98,9 @@ module Autobuild
|
|
93
98
|
# subdirectory.
|
94
99
|
def initialize(url, options)
|
95
100
|
@options = options.dup
|
101
|
+
if !@options.has_key?(:update_cached_file)
|
102
|
+
@options[:update_cached_file] = true
|
103
|
+
end
|
96
104
|
@options[:cachedir] ||= "#{Autobuild.prefix}/cache"
|
97
105
|
|
98
106
|
@url = URI.parse(url)
|
@@ -102,7 +110,7 @@ module Autobuild
|
|
102
110
|
if @url.scheme == 'file'
|
103
111
|
@cachefile = @url.path
|
104
112
|
else
|
105
|
-
@cachefile = File.join(cachedir, @options[:filename] || File.basename(url))
|
113
|
+
@cachefile = File.join(cachedir, @options[:filename] || File.basename(url).gsub(/\?.*/, ''))
|
106
114
|
end
|
107
115
|
end
|
108
116
|
|
@@ -116,24 +124,26 @@ module Autobuild
|
|
116
124
|
update_cache(package)
|
117
125
|
|
118
126
|
base_dir = File.dirname(package.srcdir)
|
119
|
-
FileUtils.mkdir_p base_dir
|
120
|
-
|
121
|
-
main_dir = if @options[:no_subdirectory] then package.srcdir
|
122
|
-
else base_dir
|
123
|
-
end
|
124
127
|
|
125
128
|
if mode == Zip
|
129
|
+
main_dir = if @options[:no_subdirectory] then package.srcdir
|
130
|
+
else base_dir
|
131
|
+
end
|
132
|
+
|
126
133
|
cmd = [ 'unzip', '-o', '-f', cachefile, '-d', main_dir ]
|
134
|
+
if archive_dir
|
135
|
+
FileUtils.rm_rf File.join(package.srcdir)
|
136
|
+
FileUtils.mv File.join(base_dir, archive_dir), package.srcdir
|
137
|
+
elsif !File.directory?(package.srcdir)
|
138
|
+
raise Autobuild::Exception, "#{cachefile} does not contain directory called #{File.basename(package.srcdir)}. Did you forget to use the :archive_dir option ?"
|
139
|
+
end
|
127
140
|
else
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
end
|
135
|
-
if !File.directory?(package.srcdir)
|
136
|
-
raise Autobuild::Exception, "#{cachefile} does not contain directory called #{File.basename(package.srcdir)}. Did you forget to use the :archive_dir option ?"
|
141
|
+
FileUtils.mkdir_p package.srcdir
|
142
|
+
cmd = ["x#{TAR_OPTION[mode]}f", cachefile, '-C', package.srcdir]
|
143
|
+
if !@options[:no_subdirectory]
|
144
|
+
cmd << '--strip-components=1'
|
145
|
+
end
|
146
|
+
Subprocess.run(package, :import, Autobuild.tool('tar'), *cmd)
|
137
147
|
end
|
138
148
|
|
139
149
|
rescue OpenURI::HTTPError
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autobuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylvain Joyeux
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-14 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|