autoproj 1.6.0 → 1.6.1.b1
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/History.txt +7 -0
- data/lib/autoproj/cmdline.rb +8 -5
- data/lib/autoproj/manifest.rb +28 -16
- data/lib/autoproj/osdeps.rb +13 -4
- data/lib/autoproj/version.rb +1 -1
- metadata +12 -9
data/History.txt
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
= Version 1.6.1
|
2
|
+
* fix a limitation of giving directories on the command line. Before, only
|
3
|
+
packages that were explicitely listed in the layout would be selected. Now,
|
4
|
+
all packages are looked for -- even
|
5
|
+
* fix Fedora and other flavors of Linux being (wrongly) detected as being
|
6
|
+
supported.
|
7
|
+
|
1
8
|
= Version 1.6.0
|
2
9
|
* starting this version, autoproj becomes the official build system for the
|
3
10
|
Orocos Toolchain project
|
data/lib/autoproj/cmdline.rb
CHANGED
@@ -972,13 +972,16 @@ manifest_source:
|
|
972
972
|
#
|
973
973
|
# We don't use Autoproj.gem_home there as we might not be in an
|
974
974
|
# autoproj directory at all
|
975
|
+
gem_home = ENV['AUTOPROJ_GEM_HOME'] || File.join(Dir.pwd, ".gems")
|
975
976
|
if ENV['GEM_HOME'] && Autoproj.in_autoproj_installation?(ENV['GEM_HOME']) &&
|
976
|
-
ENV['GEM_HOME'] !=
|
977
|
-
|
978
|
-
|
979
|
-
|
977
|
+
ENV['GEM_HOME'] != gem_home
|
978
|
+
if !File.exists?(gem_home)
|
979
|
+
Autoproj.progress "autoproj: reusing bootstrap from #{File.dirname(ENV['GEM_HOME'])}"
|
980
|
+
FileUtils.cp_r ENV['GEM_HOME'], gem_home
|
981
|
+
end
|
982
|
+
ENV['GEM_HOME'] = gem_home
|
980
983
|
|
981
|
-
Autoproj.
|
984
|
+
Autoproj.progress "restarting bootstrapping from #{Dir.pwd}"
|
982
985
|
|
983
986
|
require 'rbconfig'
|
984
987
|
ruby = RbConfig::CONFIG['RUBY_INSTALL_NAME']
|
data/lib/autoproj/manifest.rb
CHANGED
@@ -1093,13 +1093,17 @@ module Autoproj
|
|
1093
1093
|
end
|
1094
1094
|
end
|
1095
1095
|
|
1096
|
-
# Returns the set of package names that are
|
1097
|
-
#
|
1098
|
-
|
1099
|
-
def all_package_names
|
1096
|
+
# Returns the set of package names that are explicitely listed in the
|
1097
|
+
# layout, minus the excluded and ignored ones
|
1098
|
+
def all_layout_packages
|
1100
1099
|
default_packages
|
1101
1100
|
end
|
1102
1101
|
|
1102
|
+
# Returns all defined package names, minus the excluded and ignored ones
|
1103
|
+
def all_package_names
|
1104
|
+
Autobuild::Package.each.map { |name, _| name }.to_set
|
1105
|
+
end
|
1106
|
+
|
1103
1107
|
# Returns the set of packages that should be built if the user does not
|
1104
1108
|
# specify any on the command line
|
1105
1109
|
def default_packages
|
@@ -1196,14 +1200,14 @@ module Autoproj
|
|
1196
1200
|
# The expanded selection
|
1197
1201
|
expanded_packages = Set.new
|
1198
1202
|
# All the packages that are available on this installation
|
1199
|
-
|
1203
|
+
all_layout_packages = self.all_layout_packages
|
1200
1204
|
|
1201
1205
|
# First, remove packages that are directly referenced by name or by
|
1202
1206
|
# package set names
|
1203
1207
|
selected_packages.delete_if do |sel|
|
1204
1208
|
sel = Regexp.new(Regexp.quote(sel))
|
1205
1209
|
|
1206
|
-
packages =
|
1210
|
+
packages = all_layout_packages.
|
1207
1211
|
find_all { |pkg_name| pkg_name =~ sel }.
|
1208
1212
|
to_set
|
1209
1213
|
expanded_packages |= packages
|
@@ -1211,7 +1215,7 @@ module Autoproj
|
|
1211
1215
|
sources = each_source.find_all { |source| source.name =~ sel }
|
1212
1216
|
sources.each do |source|
|
1213
1217
|
packages = resolve_package_set(source.name).to_set
|
1214
|
-
expanded_packages |= (packages &
|
1218
|
+
expanded_packages |= (packages & all_layout_packages)
|
1215
1219
|
end
|
1216
1220
|
|
1217
1221
|
!packages.empty? && !sources.empty?
|
@@ -1221,23 +1225,31 @@ module Autoproj
|
|
1221
1225
|
return expanded_packages
|
1222
1226
|
end
|
1223
1227
|
|
1224
|
-
# Now,
|
1228
|
+
# Now, search for layout names
|
1225
1229
|
each_package_set(nil) do |layout_name, packages, _|
|
1226
1230
|
selected_packages.delete_if do |sel|
|
1227
1231
|
if layout_name[0..-1] =~ Regexp.new("#{sel}\/?$")
|
1228
1232
|
expanded_packages |= packages.to_set
|
1229
|
-
else
|
1230
|
-
match = Regexp.new("^#{Regexp.quote(sel)}")
|
1231
|
-
all_package_names.each do |pkg_name|
|
1232
|
-
pkg = Autobuild::Package[pkg_name]
|
1233
|
-
if pkg.srcdir =~ match
|
1234
|
-
expanded_packages << pkg_name
|
1235
|
-
end
|
1236
|
-
end
|
1237
1233
|
end
|
1238
1234
|
end
|
1239
1235
|
end
|
1240
1236
|
|
1237
|
+
# Finally, check for package source directories
|
1238
|
+
all_packages = self.all_package_names
|
1239
|
+
selected_packages.delete_if do |sel|
|
1240
|
+
match = Regexp.new("^#{Regexp.quote(sel)}")
|
1241
|
+
all_packages.each do |pkg_name|
|
1242
|
+
pkg = Autobuild::Package[pkg_name]
|
1243
|
+
if pkg.srcdir =~ match
|
1244
|
+
expanded_packages << pkg_name
|
1245
|
+
end
|
1246
|
+
end
|
1247
|
+
end
|
1248
|
+
|
1249
|
+
# Some packages might be there even though they are not listed in
|
1250
|
+
# the layout (either un-defined or depended-upon by other packages).
|
1251
|
+
# Check for those by looking for root_dir/package_name
|
1252
|
+
|
1241
1253
|
# Finally, remove packages that are explicitely excluded and/or
|
1242
1254
|
# ignored
|
1243
1255
|
expanded_packages.delete_if { |pkg_name| excluded?(pkg_name) || ignored?(pkg_name) }
|
data/lib/autoproj/osdeps.rb
CHANGED
@@ -105,6 +105,15 @@ module Autoproj
|
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
|
+
# Returns true if it is possible to install packages for the operating
|
109
|
+
# system on which we are installed
|
110
|
+
def self.supported_operating_system?
|
111
|
+
osdef = operating_system
|
112
|
+
return false if !osdef
|
113
|
+
|
114
|
+
OS_PACKAGE_INSTALL.has_key?(osdef[0])
|
115
|
+
end
|
116
|
+
|
108
117
|
# Autodetects the operating system name and version
|
109
118
|
#
|
110
119
|
# +osname+ is the operating system name, all in lowercase (e.g. ubuntu,
|
@@ -447,14 +456,14 @@ module Autoproj
|
|
447
456
|
|
448
457
|
# Requests the installation of the given set of packages
|
449
458
|
def install(packages, package_osdeps = Hash.new)
|
450
|
-
|
459
|
+
handled_os = OSDependencies.supported_operating_system?
|
451
460
|
osdeps, gems = partition_packages(packages, package_osdeps)
|
452
461
|
gems = filter_uptodate_gems(gems)
|
453
462
|
if osdeps.empty? && gems.empty?
|
454
463
|
return
|
455
464
|
end
|
456
465
|
|
457
|
-
if automatic_osdeps_mode == AUTOMATIC && !
|
466
|
+
if automatic_osdeps_mode == AUTOMATIC && !handled_os && !osdeps.empty?
|
458
467
|
puts
|
459
468
|
puts Autoproj.color("==============================", :bold)
|
460
469
|
puts Autoproj.color("The packages that will be built require some other software to be installed", :bold)
|
@@ -480,7 +489,7 @@ module Autoproj
|
|
480
489
|
end
|
481
490
|
|
482
491
|
if automatic_osdeps_mode == ASK
|
483
|
-
if !
|
492
|
+
if !handled_os
|
484
493
|
if gems.empty?
|
485
494
|
# Nothing we can do, but the users required "ASK".
|
486
495
|
# So, at least, let him press enter
|
@@ -532,7 +541,7 @@ module Autoproj
|
|
532
541
|
|
533
542
|
did_something = false
|
534
543
|
|
535
|
-
if
|
544
|
+
if handled_os && !osdeps.empty?
|
536
545
|
shell_script = generate_os_script(osdeps)
|
537
546
|
if Autoproj.verbose
|
538
547
|
Autoproj.progress "Installing non-ruby OS dependencies with"
|
data/lib/autoproj/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autoproj
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 6629755
|
5
|
+
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
|
9
|
+
- 1
|
10
|
+
- b1
|
11
|
+
version: 1.6.1.b1
|
11
12
|
platform: ruby
|
12
13
|
authors:
|
13
14
|
- Sylvain Joyeux
|
@@ -15,7 +16,7 @@ autorequire:
|
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
17
18
|
|
18
|
-
date: 2010-08-
|
19
|
+
date: 2010-08-26 00:00:00 +02:00
|
19
20
|
default_executable:
|
20
21
|
dependencies:
|
21
22
|
- !ruby/object:Gem::Dependency
|
@@ -273,12 +274,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
273
274
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
274
275
|
none: false
|
275
276
|
requirements:
|
276
|
-
- - "
|
277
|
+
- - ">"
|
277
278
|
- !ruby/object:Gem::Version
|
278
|
-
hash:
|
279
|
+
hash: 25
|
279
280
|
segments:
|
280
|
-
-
|
281
|
-
|
281
|
+
- 1
|
282
|
+
- 3
|
283
|
+
- 1
|
284
|
+
version: 1.3.1
|
282
285
|
requirements: []
|
283
286
|
|
284
287
|
rubyforge_project: autobuild
|