autoproj 1.9.5.rc3 → 1.9.5.rc4

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,12 +12,12 @@ end
12
12
 
13
13
  require 'rbconfig'
14
14
  module Autobuild
15
- @windows = RbConfig::CONFIG["host_os"] =~%r!(msdos|mswin|djgpp|mingw|[Ww]indows)!
15
+ @windows = RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw|[Ww]indows)!
16
16
  def self.windows?
17
17
  @windows
18
18
  end
19
19
 
20
- @macos = RbConfig::CONFIG["host_os"] = ~%r!([Dd]arwin)!
20
+ @macos = RbConfig::CONFIG["host_os"] =~ %r!([Dd]arwin)!
21
21
  def self.macos?
22
22
  @macos
23
23
  end
@@ -450,11 +450,8 @@ fi
450
450
  Autobuild.env_init_from_env 'GEM_PATH'
451
451
 
452
452
  orig_gem_path = Autobuild::ORIGINAL_ENV['GEM_PATH'].split(':')
453
- Gem.default_path.each do |p|
454
- if !orig_gem_path.include?(p)
455
- orig_gem_path << ":#{p}"
456
- end
457
- end
453
+ Autobuild::SYSTEM_ENV['GEM_PATH'] = Gem.default_path
454
+ Autobuild::ORIGINAL_ENV['GEM_PATH'] = orig_gem_path.join(":")
458
455
 
459
456
  Autoproj.manifest.each_reused_autoproj_installation do |p|
460
457
  p_gems = File.join(Autoproj.root_dir, '.gems')
@@ -571,8 +568,8 @@ fi
571
568
  if gem_fetcher.respond_to?(:find_matching)
572
569
  gem_fetcher.find_matching(dep, true, true, GemManager.with_prerelease).map(&:first)
573
570
  else # Post RubyGems-2.0
574
- type = if GemManager.with_prerelease then :prerelease
575
- else :complete
571
+ type = if GemManager.with_prerelease then :complete
572
+ else :released
576
573
  end
577
574
 
578
575
  gem_fetcher.detect(type) do |tuple|
@@ -808,6 +805,7 @@ fi
808
805
  PackageManagers::GemManager,
809
806
  PackageManagers::EmergeManager,
810
807
  PackageManagers::PacmanManager,
808
+ PackageManagers::PacmanManager,
811
809
  PackageManagers::YumManager,
812
810
  PackageManagers::PortManager,
813
811
  PackageManagers::PipManager]
@@ -815,6 +813,7 @@ fi
815
813
  'debian' => 'apt-dpkg',
816
814
  'gentoo' => 'emerge',
817
815
  'arch' => 'pacman',
816
+ 'manjarolinux' => 'pacman',
818
817
  'fedora' => 'yum',
819
818
  'darwin' => 'port'
820
819
  }
@@ -1003,12 +1002,14 @@ fi
1003
1002
  Autoproj.message " autodetecting the operating system"
1004
1003
  lsb_name, lsb_versions = os_from_lsb
1005
1004
  if lsb_name
1006
- if lsb_name != "debian"
1007
- if File.exists?("/etc/debian_version")
1008
- @operating_system = [[lsb_name, "debian"], lsb_versions]
1009
- else
1010
- @operating_system = [[lsb_name], lsb_versions]
1011
- end
1005
+ if lsb_name != 'debian' && File.exists?("/etc/debian_version")
1006
+ @operating_system = [[lsb_name, "debian"], lsb_versions]
1007
+ elsif lsb_name != 'arch' && File.exists?("/etc/arch-release")
1008
+ @operating_system = [[lsb_name, "arch"], lsb_versions]
1009
+ elsif lsb_name != 'debian'
1010
+ # Debian unstable cannot be detected with lsb_release,
1011
+ # so debian has its own detection logic
1012
+ @operating_system = [[lsb_name], lsb_versions]
1012
1013
  end
1013
1014
  end
1014
1015
  end
@@ -1424,25 +1425,27 @@ usually able to install those automatically, but unfortunately your operating
1424
1425
  system is not (yet) supported by autoproj's osdeps mechanism, it can only offer
1425
1426
  you some limited support.
1426
1427
 
1427
- RubyGem packages are a cross-platform mechanism, and are therefore supported.
1428
- However, you will have to install the kind of OS dependencies (so-called OS
1429
- packages)
1428
+ Some package handlers are cross-platform, and are therefore supported. However,
1429
+ you will have to install the kind of OS dependencies (so-called OS packages)
1430
1430
 
1431
1431
  This option is meant to allow you to control autoproj's behaviour while handling
1432
1432
  OS dependencies.
1433
1433
 
1434
+ * if you say "all", all OS-independent packages are going to be installed.
1434
1435
  * if you say "gem", the RubyGem packages will be installed.
1436
+ * if you say "pip", the Pythin PIP packages will be installed.
1435
1437
  * if you say "none", autoproj will not do anything related to the OS
1436
1438
  dependencies.
1437
1439
 
1438
1440
  As any configuration value, the mode can be changed anytime by calling
1439
1441
  autoproj reconfigure
1440
1442
 
1441
- Finally, the "autoproj osdeps" command will give you the necessary information about the OS packages that you will need to install manually.
1443
+ Finally, the "autoproj osdeps" command will give you the necessary information
1444
+ about the OS packages that you will need to install manually.
1442
1445
 
1443
- So, what do you want ? (either 'all', 'none', or a comma-separated list of 'gem' and 'pip' -- without the quotes)
1446
+ So, what do you want ? (all, none or a comma-separated list of: gem pip)
1444
1447
  EOT
1445
- message = [ "Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically ('all', 'none', or a comma-separated list of 'gem' and 'pip' -- without the quotes) ?", long_doc.strip ]
1448
+ message = [ "Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically (all, none or a comma-separated list of: gem pip) ?", long_doc.strip ]
1446
1449
 
1447
1450
  Autoproj.configuration_option 'osdeps_mode', 'string',
1448
1451
  :default => 'ruby',
@@ -1473,14 +1476,17 @@ while handling OS dependencies.
1473
1476
  * if you say "none", autoproj will not do anything related to the
1474
1477
  OS dependencies.
1475
1478
 
1479
+ Finally, you can provide a comma-separated list of pip gem and os.
1480
+
1476
1481
  As any configuration value, the mode can be changed anytime by calling
1477
1482
  autoproj reconfigure
1478
1483
 
1479
- Finally, the "autoproj osdeps" command
1484
+ Finally, the "autoproj osdeps" command will give you the necessary information
1485
+ about the OS packages that you will need to install manually.
1480
1486
 
1481
- So, what do you want ? (either 'all', 'none', or a comma-separated list of 'os', 'gem' and 'pip' -- without the quotes)
1487
+ So, what do you want ? (all, none or a comma-separated list of: os gem pip)
1482
1488
  EOT
1483
- message = [ "Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically ('all', 'none', or a comma-separated list of 'os', 'gem' and 'pip' -- without the quotes) ?", long_doc.strip ]
1489
+ message = [ "Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically (all, none or a comma-separated list of: os gem pip) ?", long_doc.strip ]
1484
1490
 
1485
1491
  Autoproj.configuration_option 'osdeps_mode', 'string',
1486
1492
  :default => 'all',
@@ -1497,14 +1503,20 @@ So, what do you want ? (either 'all', 'none', or a comma-separated list of 'os',
1497
1503
  end
1498
1504
 
1499
1505
  def self.osdeps_mode_string_to_value(string)
1500
- string = string.to_s.downcase
1501
- case string
1502
- when 'all' then ['os', 'gem', 'pip']
1503
- when 'ruby' then ['gem']
1504
- when 'os' then ['os']
1505
- when 'none' then ['none']
1506
- else string.split(',')
1506
+ string = string.to_s.downcase.split(',')
1507
+ modes = []
1508
+ string.map do |str|
1509
+ case str
1510
+ when 'all' then modes.concat(['os', 'gem', 'pip'])
1511
+ when 'ruby' then modes << 'gem'
1512
+ when 'gem' then modes << 'gem'
1513
+ when 'pip' then modes << 'pip'
1514
+ when 'os' then modes << 'os'
1515
+ when 'none' then modes << 'none'
1516
+ else raise ArgumentError, "#{str} is not a known package handler"
1517
+ end
1507
1518
  end
1519
+ modes
1508
1520
  end
1509
1521
 
1510
1522
  # If set to true (the default), #install will try to remove the list of
@@ -1584,7 +1596,7 @@ So, what do you want ? (either 'all', 'none', or a comma-separated list of 'os',
1584
1596
  package_handlers.each_value do |handler|
1585
1597
  handler.enabled = false
1586
1598
  end
1587
- osdeps_mode.each do |m|
1599
+ options[:osdeps_mode].each do |m|
1588
1600
  if m == 'os'
1589
1601
  os_package_handler.enabled = true
1590
1602
  else
@@ -2081,127 +2093,130 @@ module Autoproj
2081
2093
  end
2082
2094
 
2083
2095
  DEFS = <<EODEFS
2084
- ---
2085
- ruby20: ignore
2086
- archive:
2087
- darwin:
2088
- - gnutar
2089
- - unzip
2090
- debian,ubuntu:
2091
- - tar
2092
- - unzip
2093
- fedora:
2094
- - tar
2095
- - unzip
2096
- arch:
2097
- - tar
2098
- - unzip
2099
- gentoo:
2100
- - app-arch/tar
2101
- - app-arch/unzip
2102
- autoproj: gem
2103
- lsb_release:
2104
- darwin: ignore
2105
- debian,ubuntu: lsb-release
2106
- fedora: redhat-lsb
2107
- arch: ignore
2108
- gentoo: sys-apps/lsb-release
2109
- svn:
2110
- darwin: subversion
2111
- debian,ubuntu: subversion
2112
- fedora: subversion
2113
- arch: subversion
2114
- gentoo: dev-util/subversion
2115
- autobuild: gem
2116
- build-essential:
2117
- darwin: ignore
2118
- debian,ubuntu: build-essential
2119
- fedora: ignore
2120
- arch: ignore
2121
- gentoo: ignore
2122
- ruby19:
2123
- darwin:
2124
- - ruby19
2096
+ ---
2097
+ none: ignore
2098
+ ruby18:
2099
+ debian,ubuntu:
2100
+ - ruby1.8-dev
2101
+ - ruby1.8
2102
+ - rubygems1.8
2103
+ - ri1.8
2104
+ - libopenssl-ruby1.8
2125
2105
  - rake
2106
+ gentoo:
2107
+ - dev-lang/ruby:1.8
2108
+ - rake
2109
+ fedora:
2110
+ '15,16':
2111
+ - ruby
2112
+ - rubygems
2113
+ darwin:
2114
+ - ruby
2115
+ - rb-rake
2126
2116
  default: nonexistent
2127
- debian:
2117
+ ruby19:
2118
+ debian:
2128
2119
  - ruby1.9.1
2129
2120
  - ruby1.9.1-dev
2130
2121
  - rubygems1.9.1
2131
2122
  - rake
2132
2123
  - rubygems-integration
2133
- ubuntu:
2124
+ ubuntu:
2134
2125
  - ruby1.9.1
2135
2126
  - ruby1.9.1-dev
2136
2127
  - rubygems1.9.1
2137
2128
  - ri1.9.1
2138
2129
  - libopenssl-ruby1.9.1
2139
2130
  - rake
2140
- fedora:
2141
- "17":
2142
- - ruby
2143
- - rubygems
2144
- arch:
2145
- - ruby
2146
- - rake
2147
- gentoo:
2131
+ gentoo:
2148
2132
  - dev-lang/ruby:1.9
2149
2133
  - rake
2150
- ruby18:
2151
- darwin:
2134
+ arch,manjarolinux:
2152
2135
  - ruby
2153
- - rb-rake
2154
- default: nonexistent
2155
- debian,ubuntu:
2156
- - ruby1.8-dev
2157
- - ruby1.8
2158
- - rubygems1.8
2159
- - ri1.8
2160
- - libopenssl-ruby1.8
2161
- - rake
2162
- fedora:
2163
- "15,16":
2136
+ fedora:
2137
+ '17':
2164
2138
  - ruby
2165
2139
  - rubygems
2166
- gentoo:
2167
- - dev-lang/ruby:1.8
2140
+ darwin:
2141
+ - ruby19
2168
2142
  - rake
2169
- git:
2170
- darwin: git-core
2171
- debian:
2172
- default: git-core
2143
+ default: nonexistent
2144
+ ruby20: ignore
2145
+ build-essential:
2146
+ debian,ubuntu: build-essential
2147
+ gentoo: ignore
2148
+ arch,manjarolinux: base-dev
2149
+ fedora: ignore
2150
+ darwin: ignore
2151
+ autobuild: gem
2152
+ autoproj: gem
2153
+ git:
2154
+ debian:
2173
2155
  lenny: git
2156
+ default: git-core
2174
2157
  ubuntu: git-core
2175
- fedora: git
2176
- arch: git
2177
2158
  gentoo: dev-vcs/git
2178
- autotools:
2179
- darwin:
2159
+ arch,manjarolinux: git
2160
+ fedora: git
2161
+ darwin: git-core
2162
+ svn:
2163
+ debian,ubuntu: subversion
2164
+ gentoo: dev-util/subversion
2165
+ arch,manjarolinux: subversion
2166
+ fedora: subversion
2167
+ darwin: subversion
2168
+ cmake:
2169
+ debian,ubuntu: cmake
2170
+ gentoo: dev-util/cmake
2171
+ arch,manjarolinux: cmake
2172
+ fedora: cmake
2173
+ darwin: cmake
2174
+ autotools:
2175
+ debian,ubuntu:
2176
+ - automake1.9
2177
+ - autoconf
2178
+ gentoo:
2179
+ - sys-devel/automake:1.9
2180
+ - sys-devel/autoconf
2181
+ arch,manjarolinux:
2180
2182
  - automake
2181
2183
  - autoconf
2182
- debian,ubuntu:
2183
- - automake1.9
2184
+ fedora:
2185
+ - automake
2184
2186
  - autoconf
2185
- fedora:
2187
+ darwin:
2186
2188
  - automake
2187
2189
  - autoconf
2188
- arch: automake autoconf
2189
- gentoo:
2190
- - sys-devel/automake:1.9
2191
- - sys-devel/autoconf
2192
- cmake:
2193
- darwin: cmake
2194
- debian,ubuntu: cmake
2195
- fedora: cmake
2196
- arch: cmake
2197
- gentoo: dev-util/cmake
2198
- none: ignore
2199
- pip:
2200
- debian,ubuntu: python-pip
2201
- cvs:
2202
- darwin: cvs
2190
+ lsb_release:
2191
+ debian,ubuntu: lsb-release
2192
+ gentoo: sys-apps/lsb-release
2193
+ arch,manjarolinux: lsb-release
2194
+ fedora: redhat-lsb
2195
+ darwin: ignore
2196
+ archive:
2197
+ debian,ubuntu:
2198
+ - tar
2199
+ - unzip
2200
+ gentoo:
2201
+ - app-arch/tar
2202
+ - app-arch/unzip
2203
+ arch,manjarolinux:
2204
+ - tar
2205
+ - unzip
2206
+ fedora:
2207
+ - tar
2208
+ - unzip
2209
+ darwin:
2210
+ - gnutar
2211
+ - unzip
2212
+ cvs:
2203
2213
  debian,ubuntu: cvs
2204
2214
  fedora: cvs
2215
+ darwin: cvs
2216
+ arch,manjarolinux: cvs
2217
+ pip:
2218
+ debian,ubuntu: python-pip
2219
+ arch,manjarolinux: python2-pip
2205
2220
 
2206
2221
  EODEFS
2207
2222
 
@@ -12,12 +12,12 @@ end
12
12
 
13
13
  require 'rbconfig'
14
14
  module Autobuild
15
- @windows = RbConfig::CONFIG["host_os"] =~%r!(msdos|mswin|djgpp|mingw|[Ww]indows)!
15
+ @windows = RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw|[Ww]indows)!
16
16
  def self.windows?
17
17
  @windows
18
18
  end
19
19
 
20
- @macos = RbConfig::CONFIG["host_os"] = ~%r!([Dd]arwin)!
20
+ @macos = RbConfig::CONFIG["host_os"] =~ %r!([Dd]arwin)!
21
21
  def self.macos?
22
22
  @macos
23
23
  end
@@ -366,7 +366,7 @@ def setup_package(package_name, &block)
366
366
  end
367
367
 
368
368
  # Common setup for packages
369
- def package_common(package_type, spec, &block) # :nodoc:
369
+ def package_common(package_type, spec, &block)
370
370
  package_name = Autoproj.package_name_from_options(spec)
371
371
 
372
372
  if Autobuild::Package[package_name]
@@ -507,6 +507,7 @@ def ruby_package(options)
507
507
  pkg.exclude << /Makefile$/
508
508
  pkg.exclude << /mkmf.log$/
509
509
  pkg.exclude << /\.o$/
510
+ pkg.exclude << /doc$/
510
511
 
511
512
  pkg.extend Autoproj::RubyPackage
512
513
  pkg.rake_setup_task = "default"
@@ -658,7 +659,7 @@ class Autobuild::ArchiveImporter
658
659
  FileUtils.mkdir_p archive_dir
659
660
  FileUtils.cp @cachefile, archive_dir
660
661
 
661
- { 'url' => File.join('$AUTOPROJ_SOURCE_DIR', File.basename(@cachefile)) }
662
+ { 'url' => "file://$AUTOPROJ_SOURCE_DIR/archives/#{File.basename(@cachefile)}" }
662
663
  end
663
664
  end
664
665
 
@@ -124,8 +124,8 @@ module Autoproj
124
124
  end
125
125
 
126
126
  # Make sure that the currently loaded env.sh is actually us
127
- if ENV['AUTOPROJ_CURRENT_ROOT'] && (ENV['AUTOPROJ_CURRENT_ROOT'] != Autoproj.root_dir)
128
- raise ConfigError.new, "the current environment is for #{ENV['AUTOPROJ_ROOT_DIR']}, but you are in #{Autoproj.root_dir}, make sure you are loading the right #{ENV_FILENAME} script !"
127
+ if ENV['AUTOPROJ_CURRENT_ROOT'] && !ENV['AUTOPROJ_CURRENT_ROOT'].empty? && (ENV['AUTOPROJ_CURRENT_ROOT'] != Autoproj.root_dir)
128
+ raise ConfigError.new, "the current environment is for #{ENV['AUTOPROJ_CURRENT_ROOT']}, but you are in #{Autoproj.root_dir}, make sure you are loading the right #{ENV_FILENAME} script !"
129
129
  end
130
130
 
131
131
  Autoproj.manifest = Manifest.new
@@ -404,7 +404,12 @@ module Autoproj
404
404
 
405
405
  # And, finally, disable all ignored packages on the autobuild side
406
406
  manifest.each_ignored_package do |pkg_name|
407
- Autobuild::Package[pkg_name].disable
407
+ pkg = Autobuild::Package[pkg_name]
408
+ if !pkg
409
+ Autoproj.warn "ignore line #{pkg_name} does not match anything"
410
+ else
411
+ pkg.disable
412
+ end
408
413
  end
409
414
 
410
415
  update_environment
@@ -39,9 +39,8 @@ ruby19:
39
39
  gentoo:
40
40
  - dev-lang/ruby:1.9
41
41
  - rake
42
- arch:
42
+ arch,manjarolinux:
43
43
  - ruby
44
- - rake
45
44
  fedora:
46
45
  "17":
47
46
  - ruby
@@ -56,7 +55,7 @@ ruby20: ignore
56
55
  build-essential:
57
56
  debian,ubuntu: build-essential
58
57
  gentoo: ignore
59
- arch: ignore
58
+ arch,manjarolinux: base-dev
60
59
  fedora: ignore
61
60
  darwin: ignore
62
61
 
@@ -70,21 +69,21 @@ git:
70
69
  default: git-core
71
70
  ubuntu: git-core
72
71
  gentoo: dev-vcs/git
73
- arch: git
72
+ arch,manjarolinux: git
74
73
  fedora: git
75
74
  darwin: git-core
76
75
 
77
76
  svn:
78
77
  debian,ubuntu: subversion
79
78
  gentoo: dev-util/subversion
80
- arch: subversion
79
+ arch,manjarolinux: subversion
81
80
  fedora: subversion
82
81
  darwin: subversion
83
82
 
84
83
  cmake:
85
84
  debian,ubuntu: cmake
86
85
  gentoo: dev-util/cmake
87
- arch: cmake
86
+ arch,manjarolinux: cmake
88
87
  fedora: cmake
89
88
  darwin: cmake
90
89
 
@@ -95,7 +94,9 @@ autotools:
95
94
  gentoo:
96
95
  - "sys-devel/automake:1.9"
97
96
  - sys-devel/autoconf
98
- arch: automake autoconf
97
+ arch,manjarolinux:
98
+ - automake
99
+ - autoconf
99
100
  fedora:
100
101
  - automake
101
102
  - autoconf
@@ -106,7 +107,7 @@ autotools:
106
107
  lsb_release:
107
108
  debian,ubuntu: lsb-release
108
109
  gentoo: sys-apps/lsb-release
109
- arch: ignore
110
+ arch,manjarolinux: lsb-release
110
111
  fedora: redhat-lsb
111
112
  darwin: ignore
112
113
 
@@ -117,7 +118,7 @@ archive:
117
118
  gentoo:
118
119
  - app-arch/tar
119
120
  - app-arch/unzip
120
- arch:
121
+ arch,manjarolinux:
121
122
  - tar
122
123
  - unzip
123
124
  fedora:
@@ -131,9 +132,11 @@ cvs:
131
132
  debian,ubuntu: cvs
132
133
  fedora: cvs
133
134
  darwin: cvs
135
+ arch,manjarolinux: cvs
134
136
 
135
137
  pip:
136
138
  debian,ubuntu: python-pip
139
+ arch,manjarolinux: python2-pip
137
140
 
138
141
  # vim: expandtab
139
142
 
@@ -42,7 +42,7 @@ module Autoproj
42
42
  if access_mode == "git"
43
43
  Autoproj.change_option("#{name}_ROOT", "git://#{base_url}")
44
44
  elsif access_mode == "http"
45
- Autoproj.change_option("#{name}_ROOT", "http://git.#{base_url}")
45
+ Autoproj.change_option("#{name}_ROOT", "https://git.#{base_url}")
46
46
  elsif access_mode == "ssh"
47
47
  Autoproj.change_option("#{name}_ROOT", "git@#{base_url}:")
48
48
  end
@@ -1787,7 +1787,7 @@ module Autoproj
1787
1787
  begin
1788
1788
  Autoproj.osdeps.resolve_os_dependencies([name].to_set)
1789
1789
  rescue Autoproj::ConfigError => e
1790
- if osdeps_availability != Autoproj::OSDependencies::NO_PACKAGE && !Autoproj.osdeps.installs_os_packages?
1790
+ if osdeps_availability != Autoproj::OSDependencies::NO_PACKAGE && !Autoproj.osdeps.os_package_handler.enabled?
1791
1791
  if !@ignored_os_dependencies.include?(name)
1792
1792
  Autoproj.warn "some package depends on the #{name} osdep: #{e.message}"
1793
1793
  Autoproj.warn "this osdeps dependency is simply ignored as you asked autoproj to not install osdeps packages"
@@ -2118,7 +2118,7 @@ module Autoproj
2118
2118
  true
2119
2119
  end
2120
2120
  end
2121
- Autoproj.osdeps.install(required_os_packages, package_os_deps)
2121
+ Autoproj.osdeps.install(required_os_packages)
2122
2122
  end
2123
2123
 
2124
2124
  # The set of overrides added with #add_osdeps_overrides
@@ -332,11 +332,8 @@ fi
332
332
  Autobuild.env_init_from_env 'GEM_PATH'
333
333
 
334
334
  orig_gem_path = Autobuild::ORIGINAL_ENV['GEM_PATH'].split(':')
335
- Gem.default_path.each do |p|
336
- if !orig_gem_path.include?(p)
337
- orig_gem_path << ":#{p}"
338
- end
339
- end
335
+ Autobuild::SYSTEM_ENV['GEM_PATH'] = Gem.default_path
336
+ Autobuild::ORIGINAL_ENV['GEM_PATH'] = orig_gem_path.join(":")
340
337
 
341
338
  Autoproj.manifest.each_reused_autoproj_installation do |p|
342
339
  p_gems = File.join(Autoproj.root_dir, '.gems')
@@ -453,8 +450,8 @@ fi
453
450
  if gem_fetcher.respond_to?(:find_matching)
454
451
  gem_fetcher.find_matching(dep, true, true, GemManager.with_prerelease).map(&:first)
455
452
  else # Post RubyGems-2.0
456
- type = if GemManager.with_prerelease then :prerelease
457
- else :complete
453
+ type = if GemManager.with_prerelease then :complete
454
+ else :released
458
455
  end
459
456
 
460
457
  gem_fetcher.detect(type) do |tuple|
@@ -690,6 +687,7 @@ fi
690
687
  PackageManagers::GemManager,
691
688
  PackageManagers::EmergeManager,
692
689
  PackageManagers::PacmanManager,
690
+ PackageManagers::PacmanManager,
693
691
  PackageManagers::YumManager,
694
692
  PackageManagers::PortManager,
695
693
  PackageManagers::PipManager]
@@ -697,6 +695,7 @@ fi
697
695
  'debian' => 'apt-dpkg',
698
696
  'gentoo' => 'emerge',
699
697
  'arch' => 'pacman',
698
+ 'manjarolinux' => 'pacman',
700
699
  'fedora' => 'yum',
701
700
  'darwin' => 'port'
702
701
  }
@@ -885,12 +884,14 @@ fi
885
884
  Autoproj.message " autodetecting the operating system"
886
885
  lsb_name, lsb_versions = os_from_lsb
887
886
  if lsb_name
888
- if lsb_name != "debian"
889
- if File.exists?("/etc/debian_version")
890
- @operating_system = [[lsb_name, "debian"], lsb_versions]
891
- else
892
- @operating_system = [[lsb_name], lsb_versions]
893
- end
887
+ if lsb_name != 'debian' && File.exists?("/etc/debian_version")
888
+ @operating_system = [[lsb_name, "debian"], lsb_versions]
889
+ elsif lsb_name != 'arch' && File.exists?("/etc/arch-release")
890
+ @operating_system = [[lsb_name, "arch"], lsb_versions]
891
+ elsif lsb_name != 'debian'
892
+ # Debian unstable cannot be detected with lsb_release,
893
+ # so debian has its own detection logic
894
+ @operating_system = [[lsb_name], lsb_versions]
894
895
  end
895
896
  end
896
897
  end
@@ -1306,25 +1307,27 @@ usually able to install those automatically, but unfortunately your operating
1306
1307
  system is not (yet) supported by autoproj's osdeps mechanism, it can only offer
1307
1308
  you some limited support.
1308
1309
 
1309
- RubyGem packages are a cross-platform mechanism, and are therefore supported.
1310
- However, you will have to install the kind of OS dependencies (so-called OS
1311
- packages)
1310
+ Some package handlers are cross-platform, and are therefore supported. However,
1311
+ you will have to install the kind of OS dependencies (so-called OS packages)
1312
1312
 
1313
1313
  This option is meant to allow you to control autoproj's behaviour while handling
1314
1314
  OS dependencies.
1315
1315
 
1316
+ * if you say "all", all OS-independent packages are going to be installed.
1316
1317
  * if you say "gem", the RubyGem packages will be installed.
1318
+ * if you say "pip", the Pythin PIP packages will be installed.
1317
1319
  * if you say "none", autoproj will not do anything related to the OS
1318
1320
  dependencies.
1319
1321
 
1320
1322
  As any configuration value, the mode can be changed anytime by calling
1321
1323
  autoproj reconfigure
1322
1324
 
1323
- Finally, the "autoproj osdeps" command will give you the necessary information about the OS packages that you will need to install manually.
1325
+ Finally, the "autoproj osdeps" command will give you the necessary information
1326
+ about the OS packages that you will need to install manually.
1324
1327
 
1325
- So, what do you want ? (either 'all', 'none', or a comma-separated list of 'gem' and 'pip' -- without the quotes)
1328
+ So, what do you want ? (all, none or a comma-separated list of: gem pip)
1326
1329
  EOT
1327
- message = [ "Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically ('all', 'none', or a comma-separated list of 'gem' and 'pip' -- without the quotes) ?", long_doc.strip ]
1330
+ message = [ "Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically (all, none or a comma-separated list of: gem pip) ?", long_doc.strip ]
1328
1331
 
1329
1332
  Autoproj.configuration_option 'osdeps_mode', 'string',
1330
1333
  :default => 'ruby',
@@ -1355,14 +1358,17 @@ while handling OS dependencies.
1355
1358
  * if you say "none", autoproj will not do anything related to the
1356
1359
  OS dependencies.
1357
1360
 
1361
+ Finally, you can provide a comma-separated list of pip gem and os.
1362
+
1358
1363
  As any configuration value, the mode can be changed anytime by calling
1359
1364
  autoproj reconfigure
1360
1365
 
1361
- Finally, the "autoproj osdeps" command
1366
+ Finally, the "autoproj osdeps" command will give you the necessary information
1367
+ about the OS packages that you will need to install manually.
1362
1368
 
1363
- So, what do you want ? (either 'all', 'none', or a comma-separated list of 'os', 'gem' and 'pip' -- without the quotes)
1369
+ So, what do you want ? (all, none or a comma-separated list of: os gem pip)
1364
1370
  EOT
1365
- message = [ "Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically ('all', 'none', or a comma-separated list of 'os', 'gem' and 'pip' -- without the quotes) ?", long_doc.strip ]
1371
+ message = [ "Which prepackaged software (a.k.a. 'osdeps') should autoproj install automatically (all, none or a comma-separated list of: os gem pip) ?", long_doc.strip ]
1366
1372
 
1367
1373
  Autoproj.configuration_option 'osdeps_mode', 'string',
1368
1374
  :default => 'all',
@@ -1379,14 +1385,20 @@ So, what do you want ? (either 'all', 'none', or a comma-separated list of 'os',
1379
1385
  end
1380
1386
 
1381
1387
  def self.osdeps_mode_string_to_value(string)
1382
- string = string.to_s.downcase
1383
- case string
1384
- when 'all' then ['os', 'gem', 'pip']
1385
- when 'ruby' then ['gem']
1386
- when 'os' then ['os']
1387
- when 'none' then ['none']
1388
- else string.split(',')
1388
+ string = string.to_s.downcase.split(',')
1389
+ modes = []
1390
+ string.map do |str|
1391
+ case str
1392
+ when 'all' then modes.concat(['os', 'gem', 'pip'])
1393
+ when 'ruby' then modes << 'gem'
1394
+ when 'gem' then modes << 'gem'
1395
+ when 'pip' then modes << 'pip'
1396
+ when 'os' then modes << 'os'
1397
+ when 'none' then modes << 'none'
1398
+ else raise ArgumentError, "#{str} is not a known package handler"
1399
+ end
1389
1400
  end
1401
+ modes
1390
1402
  end
1391
1403
 
1392
1404
  # If set to true (the default), #install will try to remove the list of
@@ -1466,7 +1478,7 @@ So, what do you want ? (either 'all', 'none', or a comma-separated list of 'os',
1466
1478
  package_handlers.each_value do |handler|
1467
1479
  handler.enabled = false
1468
1480
  end
1469
- osdeps_mode.each do |m|
1481
+ options[:osdeps_mode].each do |m|
1470
1482
  if m == 'os'
1471
1483
  os_package_handler.enabled = true
1472
1484
  else
@@ -1,3 +1,3 @@
1
1
  module Autoproj
2
- VERSION = "1.9.5.rc3"
2
+ VERSION = "1.9.5.rc4"
3
3
  end
metadata CHANGED
@@ -1,105 +1,101 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: autoproj
3
- version: !ruby/object:Gem::Version
4
- hash: 2119809063
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.9.5.rc4
5
5
  prerelease: 6
6
- segments:
7
- - 1
8
- - 9
9
- - 5
10
- - rc
11
- - 3
12
- version: 1.9.5.rc3
13
6
  platform: ruby
14
- authors:
7
+ authors:
15
8
  - Rock Core Developers
16
9
  autorequire:
17
10
  bindir: bin
18
11
  cert_chain: []
19
-
20
- date: 2013-07-26 00:00:00 Z
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
12
+ date: 2013-10-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
23
15
  name: autobuild
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
26
17
  none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 11
31
- segments:
32
- - 1
33
- - 7
34
- - 0
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
35
21
  version: 1.7.0
36
22
  type: :runtime
37
- version_requirements: *id001
38
- - !ruby/object:Gem::Dependency
39
- name: utilrb
40
23
  prerelease: false
41
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
42
25
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- hash: 15
47
- segments:
48
- - 1
49
- - 6
50
- - 0
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.7.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: utilrb
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
51
37
  version: 1.6.0
52
38
  type: :runtime
53
- version_requirements: *id002
54
- - !ruby/object:Gem::Dependency
55
- name: highline
56
39
  prerelease: false
57
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.6.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: highline
48
+ requirement: !ruby/object:Gem::Requirement
58
49
  none: false
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- hash: 3
63
- segments:
64
- - 1
65
- - 5
66
- - 0
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
67
53
  version: 1.5.0
68
54
  type: :runtime
69
- version_requirements: *id003
70
- - !ruby/object:Gem::Dependency
71
- name: rdoc
72
55
  prerelease: false
73
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
74
57
  none: false
75
- requirements:
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.5.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: rdoc
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
76
67
  - - ~>
77
- - !ruby/object:Gem::Version
78
- hash: 27
79
- segments:
80
- - 4
81
- - 0
82
- version: "4.0"
68
+ - !ruby/object:Gem::Version
69
+ version: '4.0'
83
70
  type: :development
84
- version_requirements: *id004
85
- - !ruby/object:Gem::Dependency
86
- name: hoe
87
71
  prerelease: false
88
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
89
73
  none: false
90
- requirements:
74
+ requirements:
91
75
  - - ~>
92
- - !ruby/object:Gem::Version
93
- hash: 9
94
- segments:
95
- - 3
96
- - 7
97
- version: "3.7"
76
+ - !ruby/object:Gem::Version
77
+ version: '4.0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: hoe
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: '3.7'
98
86
  type: :development
99
- version_requirements: *id005
100
- description: autoproj is a manager for sets of software packages. It allows the user to import and build packages from source, still using the underlying distribution's native package manager for software that is available on it.
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '3.7'
94
+ description: autoproj is a manager for sets of software packages. It allows the user
95
+ to import and build packages from source, still using the underlying distribution's
96
+ native package manager for software that is available on it.
101
97
  email: rock-dev@dfki.de
102
- executables:
98
+ executables:
103
99
  - alocate
104
100
  - amake
105
101
  - aup
@@ -117,13 +113,12 @@ executables:
117
113
  - autoproj_bootstrap.in
118
114
  - autoproj_stress_test
119
115
  extensions: []
120
-
121
- extra_rdoc_files:
116
+ extra_rdoc_files:
122
117
  - History.txt
123
118
  - Manifest.txt
124
119
  - README.txt
125
120
  - samples/autoproj/README.txt
126
- files:
121
+ files:
127
122
  - History.txt
128
123
  - Manifest.txt
129
124
  - README.txt
@@ -184,46 +179,37 @@ files:
184
179
  - test/package_managers/test_pip.rb
185
180
  - .gemtest
186
181
  homepage: http://rock-robotics.org/documentation/autoproj
187
- licenses:
182
+ licenses:
188
183
  - MIT
189
184
  post_install_message:
190
- rdoc_options:
185
+ rdoc_options:
191
186
  - --main
192
187
  - README.txt
193
- require_paths:
188
+ require_paths:
194
189
  - lib
195
- required_ruby_version: !ruby/object:Gem::Requirement
190
+ required_ruby_version: !ruby/object:Gem::Requirement
196
191
  none: false
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- hash: 3
201
- segments:
202
- - 0
203
- version: "0"
204
- required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ! '>='
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ required_rubygems_version: !ruby/object:Gem::Requirement
205
197
  none: false
206
- requirements:
207
- - - ">"
208
- - !ruby/object:Gem::Version
209
- hash: 25
210
- segments:
211
- - 1
212
- - 3
213
- - 1
198
+ requirements:
199
+ - - ! '>'
200
+ - !ruby/object:Gem::Version
214
201
  version: 1.3.1
215
202
  requirements: []
216
-
217
203
  rubyforge_project: autobuild
218
- rubygems_version: 1.8.24
204
+ rubygems_version: 1.8.23
219
205
  signing_key:
220
206
  specification_version: 3
221
207
  summary: Easy installation and management of sets of software packages
222
- test_files:
208
+ test_files:
223
209
  - test/test_manifest.rb
224
- - test/package_managers/test_apt_dpkg_manager.rb
225
- - test/package_managers/test_gem.rb
226
- - test/package_managers/test_pip.rb
227
- - test/test_debian.rb
228
210
  - test/test_package_manifest.rb
229
211
  - test/test_os_dependencies.rb
212
+ - test/test_debian.rb
213
+ - test/package_managers/test_pip.rb
214
+ - test/package_managers/test_apt_dpkg_manager.rb
215
+ - test/package_managers/test_gem.rb