autoproj 1.2.6 → 1.3.0

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.
@@ -111,7 +111,7 @@ module Autoproj
111
111
 
112
112
  data = os_entry.last
113
113
  # This package does not need to be installed on this operating system (example: build tools on Gentoo)
114
- next if !data
114
+ next if !data || data == "ignore"
115
115
 
116
116
  if data.kind_of?(Hash)
117
117
  version_entry = data.find do |version_list, data|
@@ -141,21 +141,29 @@ module Autoproj
141
141
  "\n" + shell_snippets
142
142
  end
143
143
 
144
- def partition_packages(package_set)
144
+ # call-seq:
145
+ # partition_packages(package_names) => os_packages, gem_packages
146
+ def partition_packages(package_set, package_osdeps = Hash.new)
145
147
  package_set = package_set.to_set
146
148
  osdeps, gems = [], []
147
149
  package_set.to_set.each do |name|
148
150
  pkg_def = definitions[name]
149
151
  if !pkg_def
150
- raise ConfigError, "I know nothing about a prepackaged '#{name}' software"
152
+ msg = "I know nothing about a prepackaged software called '#{name}'"
153
+ if pkg_names = package_osdeps[name]
154
+ msg += ", it is listed as dependency of the following package(s): #{pkg_names.join(", ")}"
155
+ end
156
+
157
+ raise ConfigError, msg
151
158
  end
152
159
 
153
160
  if pkg_def.respond_to?(:to_str)
154
161
  case(pkg_def.to_str)
162
+ when "ignore" then
155
163
  when "gem" then
156
164
  gems << name
157
165
  else
158
- raise ConfigError, "unknown OS-independent package management type #{pkg_def}"
166
+ raise ConfigError, "unknown OS-independent package management type #{pkg_def} for #{name}"
159
167
  end
160
168
  else
161
169
  osdeps << name
@@ -164,8 +172,9 @@ module Autoproj
164
172
  return osdeps, gems
165
173
  end
166
174
 
167
- def install(packages)
168
- osdeps, gems = partition_packages(packages)
175
+ # Requests the installation of the given set of packages
176
+ def install(packages, package_osdeps = Hash.new)
177
+ osdeps, gems = partition_packages(packages, package_osdeps)
169
178
 
170
179
  did_something = false
171
180
 
@@ -187,7 +196,7 @@ module Autoproj
187
196
  end
188
197
  Autobuild.progress "installing/updating OS dependencies: #{osdeps.join(", ")}"
189
198
  begin
190
- Autobuild::Subprocess.run 'autoproj', 'osdeps', 'bash', './osdeps.sh'
199
+ Autobuild::Subprocess.run 'autoproj', 'osdeps', '/bin/bash', File.expand_path('osdeps.sh')
191
200
  ensure
192
201
  FileUtils.rm_f 'osdeps.sh'
193
202
  end
@@ -53,8 +53,14 @@ module Autoproj
53
53
  Autoproj.env_set 'LD_LIBRARY_PATH'
54
54
  end
55
55
 
56
- def self.export_env_sh(subdir)
57
- File.open(File.join(Autoproj.root_dir, subdir, "env.sh"), "w") do |io|
56
+ def self.export_env_sh(subdir = nil)
57
+ filename = if subdir
58
+ File.join(Autoproj.root_dir, subdir, "env.sh")
59
+ else
60
+ File.join(Autoproj.root_dir, "env.sh")
61
+ end
62
+
63
+ File.open(filename, "w") do |io|
58
64
  Autobuild.environment.each do |name, value|
59
65
  shell_line = "export #{name}=#{value.join(":")}"
60
66
  if Autoproj.env_inherit?(name)
@@ -1,3 +1,3 @@
1
1
  module Autoproj
2
- VERSION = "1.2.6"
2
+ VERSION = "1.3.0"
3
3
  end
@@ -1,9 +1,13 @@
1
1
  # List of VCS information or subdirectories of autoproj/ in which to find
2
2
  # package set definitions.
3
3
  package_sets:
4
- # Example from the RubyInMotion orocos package set
4
+ # Examples from the RubyInMotion package sets
5
+ # - type: git
6
+ # url: git://github.com/doudou/rubim.base.git
5
7
  # - type: git
6
8
  # url: git://github.com/doudou/rubim.orocos.git
9
+ # - type: git
10
+ # url: git://github.com/doudou/rubim.drivers.git
7
11
 
8
12
  # The layout section specifies what to build, and where to build it (as a
9
13
  # subdirectory of the root installation directory). In the example below, all
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autoproj
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.3.0
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: 2009-12-22 00:00:00 +01:00
12
+ date: 2009-12-23 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -142,6 +142,7 @@ files:
142
142
  - doc/guide/src/customization.page
143
143
  - doc/guide/src/default.css
144
144
  - doc/guide/src/default.template
145
+ - doc/guide/src/error_messages.page
145
146
  - doc/guide/src/htmldoc.metainfo
146
147
  - doc/guide/src/htmldoc.virtual
147
148
  - doc/guide/src/images/bodybg.png