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.
- data/bin/autoproj_bootstrap +139 -124
- data/bin/autoproj_bootstrap.in +2 -2
- data/lib/autoproj/autobuild.rb +3 -2
- data/lib/autoproj/cmdline.rb +8 -3
- data/lib/autoproj/default.osdeps +12 -9
- data/lib/autoproj/gitorious.rb +1 -1
- data/lib/autoproj/manifest.rb +2 -2
- data/lib/autoproj/osdeps.rb +42 -30
- data/lib/autoproj/version.rb +1 -1
- metadata +90 -104
data/bin/autoproj_bootstrap
CHANGED
@@ -12,12 +12,12 @@ end
|
|
12
12
|
|
13
13
|
require 'rbconfig'
|
14
14
|
module Autobuild
|
15
|
-
@windows = RbConfig::CONFIG["host_os"]
|
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"]
|
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
|
454
|
-
|
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 :
|
575
|
-
else :
|
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 !=
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
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
|
-
|
1428
|
-
|
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
|
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 ? (
|
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 (
|
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 ? (
|
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 (
|
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
|
-
|
1502
|
-
|
1503
|
-
|
1504
|
-
|
1505
|
-
|
1506
|
-
|
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
|
-
|
2086
|
-
|
2087
|
-
|
2088
|
-
-
|
2089
|
-
-
|
2090
|
-
|
2091
|
-
-
|
2092
|
-
-
|
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
|
-
|
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
|
-
|
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
|
-
|
2151
|
-
darwin:
|
2134
|
+
arch,manjarolinux:
|
2152
2135
|
- ruby
|
2153
|
-
|
2154
|
-
|
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
|
-
|
2167
|
-
-
|
2140
|
+
darwin:
|
2141
|
+
- ruby19
|
2168
2142
|
- rake
|
2169
|
-
|
2170
|
-
|
2171
|
-
|
2172
|
-
|
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
|
-
|
2179
|
-
|
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
|
-
|
2183
|
-
-
|
2184
|
+
fedora:
|
2185
|
+
- automake
|
2184
2186
|
- autoconf
|
2185
|
-
|
2187
|
+
darwin:
|
2186
2188
|
- automake
|
2187
2189
|
- autoconf
|
2188
|
-
|
2189
|
-
|
2190
|
-
|
2191
|
-
|
2192
|
-
|
2193
|
-
darwin:
|
2194
|
-
|
2195
|
-
|
2196
|
-
|
2197
|
-
|
2198
|
-
|
2199
|
-
|
2200
|
-
|
2201
|
-
|
2202
|
-
|
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
|
|
data/bin/autoproj_bootstrap.in
CHANGED
@@ -12,12 +12,12 @@ end
|
|
12
12
|
|
13
13
|
require 'rbconfig'
|
14
14
|
module Autobuild
|
15
|
-
@windows = RbConfig::CONFIG["host_os"]
|
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"]
|
20
|
+
@macos = RbConfig::CONFIG["host_os"] =~ %r!([Dd]arwin)!
|
21
21
|
def self.macos?
|
22
22
|
@macos
|
23
23
|
end
|
data/lib/autoproj/autobuild.rb
CHANGED
@@ -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)
|
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' =>
|
662
|
+
{ 'url' => "file://$AUTOPROJ_SOURCE_DIR/archives/#{File.basename(@cachefile)}" }
|
662
663
|
end
|
663
664
|
end
|
664
665
|
|
data/lib/autoproj/cmdline.rb
CHANGED
@@ -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['
|
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]
|
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
|
data/lib/autoproj/default.osdeps
CHANGED
@@ -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:
|
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:
|
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:
|
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
|
|
data/lib/autoproj/gitorious.rb
CHANGED
@@ -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", "
|
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
|
data/lib/autoproj/manifest.rb
CHANGED
@@ -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.
|
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
|
2121
|
+
Autoproj.osdeps.install(required_os_packages)
|
2122
2122
|
end
|
2123
2123
|
|
2124
2124
|
# The set of overrides added with #add_osdeps_overrides
|
data/lib/autoproj/osdeps.rb
CHANGED
@@ -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
|
336
|
-
|
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 :
|
457
|
-
else :
|
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 !=
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
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
|
-
|
1310
|
-
|
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
|
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 ? (
|
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 (
|
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 ? (
|
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 (
|
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
|
-
|
1384
|
-
|
1385
|
-
|
1386
|
-
|
1387
|
-
|
1388
|
-
|
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
|
data/lib/autoproj/version.rb
CHANGED
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
|
-
|
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
|
-
|
21
|
-
|
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
|
-
|
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
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
25
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
73
|
none: false
|
90
|
-
requirements:
|
74
|
+
requirements:
|
91
75
|
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
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
|
-
|
100
|
-
|
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
|
-
|
201
|
-
|
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.
|
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
|