autobuild 1.5.1 → 1.5.2

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.
@@ -1,3 +1,11 @@
1
+ == Version 1.5.2
2
+ * fix broken mail reporting. The mail report was always saved in a file since
3
+ 1.5.1.
4
+ * fix small bugs in the patching part of the import
5
+ - be error tolerant: if patching/unpatching fails, we go back to a well
6
+ defined state instead of having to fix the package by hand
7
+ - do not apply patches unnecessarily
8
+
1
9
  == Version 1.5.1
2
10
  * autotools: must run libtool before the other tools
3
11
  * autotools: properly autodetect need for autoconf (autoconf was always enabled
@@ -1,5 +1,5 @@
1
1
  module Autobuild
2
- VERSION = "1.5.1" unless defined? Autobuild::VERSION
2
+ VERSION = "1.5.2" unless defined? Autobuild::VERSION
3
3
  end
4
4
 
5
5
  require 'autobuild/config'
@@ -88,7 +88,7 @@ class Importer
88
88
  # We assume that package.srcdir already exists (checkout is supposed to
89
89
  # have been called)
90
90
  def patchlist(package)
91
- "#{package.srcdir}/patches-autobuild-stamp"
91
+ File.join(package.srcdir, "patches-autobuild-stamp")
92
92
  end
93
93
 
94
94
  def call_patch(package, reverse, file)
@@ -111,6 +111,10 @@ class Importer
111
111
  end
112
112
  end
113
113
 
114
+ if cur_patches == patches
115
+ return
116
+ end
117
+
114
118
  if !patches.empty?
115
119
  package.progress "patching %s"
116
120
  end
@@ -118,8 +122,9 @@ class Importer
118
122
  # Do not be smart, remove all already applied patches
119
123
  # and then apply the new ones
120
124
  begin
121
- while p = cur_patches.pop
125
+ while p = cur_patches.last
122
126
  unapply(package, p)
127
+ cur_patches.pop
123
128
  end
124
129
 
125
130
  patches.to_a.each do |p|
@@ -142,6 +142,9 @@ module Autobuild
142
142
  # Called when the user asked for a full rebuild. It should delete the
143
143
  # build products so that a full build is retriggered.
144
144
  def prepare_for_rebuild
145
+ if File.exists?(installstamp)
146
+ FileUtils.rm_f installstamp
147
+ end
145
148
  end
146
149
 
147
150
  # Call the importer if there is one. Autodetection of "provides" should
@@ -156,7 +156,7 @@ module Autobuild
156
156
  end
157
157
 
158
158
  # Send the mails
159
- if File.directory?(File.dirname(smtp_hostname))
159
+ if smtp_hostname =~ /\// && File.directory?(File.dirname(smtp_hostname))
160
160
  File.open(smtp_hostname, 'w') do |io|
161
161
  io.puts "From: #{from_email}"
162
162
  io.puts "To: #{to_email.join(" ")}"
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.5.1
4
+ version: 1.5.2
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-02-07 00:00:00 +01:00
12
+ date: 2010-02-15 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency