autoproj 1.9.3.rc5 → 1.9.3.rc6
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 +55 -0
- data/Manifest.txt +2 -0
- data/bin/autoproj-bootstrap +24 -0
- data/bin/autoproj-inspect +104 -0
- data/bin/autoproj_bootstrap +2 -1
- data/bin/autoproj_bootstrap.in +1 -0
- data/lib/autoproj/cmdline.rb +13 -3
- data/lib/autoproj/manifest.rb +1 -1
- data/lib/autoproj/osdeps.rb +1 -1
- data/lib/autoproj/version.rb +1 -1
- metadata +16 -12
data/History.txt
CHANGED
|
@@ -1,3 +1,58 @@
|
|
|
1
|
+
= Version 1.9.3
|
|
2
|
+
* close #245: wrong local variable name
|
|
3
|
+
* close #218: fix error generated when a metapackage is empty
|
|
4
|
+
* close #239: metapackages are now back to having "hard" dependencies, i.e. the
|
|
5
|
+
build will fail if any of the metapackage's dependencies (or their
|
|
6
|
+
dependencies) cannot be built for any reason. Individual metapackages (e.g. the
|
|
7
|
+
rock metapackage) can be marked as using "weak" dependencies to retain the
|
|
8
|
+
behaviour of "build as much as you can"
|
|
9
|
+
* Ruby 2.0 / RubyGems 2.0 compatibility fix
|
|
10
|
+
* re-add 'default' in the osdep OS names. This allows to fall back to
|
|
11
|
+
os-independent handlers (e.g. 'gem') when not on a known OS
|
|
12
|
+
* fixes for the MacPort OSdep handler
|
|
13
|
+
|
|
14
|
+
= Version 1.9.2
|
|
15
|
+
* quickfix release for issues on systems where the system-wide encoding cannot
|
|
16
|
+
be resolved by libc
|
|
17
|
+
= Version 1.9.1
|
|
18
|
+
* fix issues with bootstrapping and building on MacOS
|
|
19
|
+
* better error messages w.r.t. exclusions
|
|
20
|
+
* don't rescue interrupts even if -k is given
|
|
21
|
+
* fix some corner-cases in the debian osdep handler
|
|
22
|
+
* fix some Ruby autodetection problems
|
|
23
|
+
|
|
24
|
+
= Version 1.9.0
|
|
25
|
+
* fixed bad generation of env.sh. The (very annoying) problem of having
|
|
26
|
+
a partial env.sh file generated should now be fixed for good.
|
|
27
|
+
* much improved progress output for heavily parallel builds
|
|
28
|
+
* autoproj update and aup properly update the configuration if given
|
|
29
|
+
the autoproj/ folder. I.e.,
|
|
30
|
+
autoproj update autoproj/
|
|
31
|
+
is equivalent to autoproj update-config
|
|
32
|
+
* experimental support for Windows
|
|
33
|
+
* experimental support for MacOSX. The osdep system is using MacPorts
|
|
34
|
+
* autoproj now validates that you are using always the same ruby
|
|
35
|
+
version. It avoids potential issues in cases where both ruby 1.9 and
|
|
36
|
+
1.8 are used on the same system
|
|
37
|
+
* fix some issue with auto-adding packages. Autoproj would always
|
|
38
|
+
auto-add package X if e.g. amake is used, which works fine in most
|
|
39
|
+
but not all cases.
|
|
40
|
+
* host of fixes related to ignore_packages. In general, this should
|
|
41
|
+
really work well now
|
|
42
|
+
* fix Autoproj.set_initial_env. The details of this forgotten feature
|
|
43
|
+
is going to be in a blog post.
|
|
44
|
+
* fixed supurious log/ directory created in new bootstrapped
|
|
45
|
+
installations
|
|
46
|
+
* the osdep: keyword can be used to trigger recursive resolution. I.e.,
|
|
47
|
+
one can do the following to avoid repeating a complete osdep
|
|
48
|
+
definition:
|
|
49
|
+
|
|
50
|
+
nokogiri:
|
|
51
|
+
gem: nokogiri
|
|
52
|
+
osdep: libxslt-dev
|
|
53
|
+
libxslt-dev:
|
|
54
|
+
ubuntu: libxslt-dev
|
|
55
|
+
|
|
1
56
|
= Version 1.8.5
|
|
2
57
|
* osdeps: the apt-dpkg was interpreting removed-but-not-purged as installed.
|
|
3
58
|
Fix.
|
data/Manifest.txt
CHANGED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#! /usr/bin/env ruby
|
|
2
|
+
require 'autoproj'
|
|
3
|
+
|
|
4
|
+
Autoproj::CmdLine.report do
|
|
5
|
+
begin
|
|
6
|
+
Autoproj::CmdLine.bootstrap(*ARGV)
|
|
7
|
+
|
|
8
|
+
rescue RuntimeError => e
|
|
9
|
+
STDERR.puts <<-EOTEXT
|
|
10
|
+
#{color('autoproj bootstrap failed', :red, :bold)}
|
|
11
|
+
To retry, first source the #{Autoproj::ENV_FILENAME} script with
|
|
12
|
+
source #{Dir.pwd}/#{Autoproj::ENV_FILENAME}
|
|
13
|
+
and then re-run autoproj bootstrap with
|
|
14
|
+
autoproj bootstrap <vcs_type> <vcs_url> <vcs_options>
|
|
15
|
+
|
|
16
|
+
where
|
|
17
|
+
'vcs_type' is git, svn, darcs, cvs
|
|
18
|
+
'vcs_url' is the vcs-specific URL to the repository, and
|
|
19
|
+
'vcs_options' are optional values that can be given to the chosen VCS
|
|
20
|
+
EOTEXT
|
|
21
|
+
|
|
22
|
+
raise
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#! /usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require 'autoproj'
|
|
4
|
+
require 'autoproj/cmdline'
|
|
5
|
+
Autoproj.silent = true
|
|
6
|
+
Autoproj::CmdLine.initialize_root_directory
|
|
7
|
+
Autoproj::CmdLine.initialize_and_load(ARGV)
|
|
8
|
+
|
|
9
|
+
require 'pp'
|
|
10
|
+
default_packages = Autoproj.manifest.default_packages
|
|
11
|
+
revdeps = Autoproj.manifest.compute_revdeps
|
|
12
|
+
|
|
13
|
+
user_selection = ARGV.map do |arg|
|
|
14
|
+
if File.directory?(arg)
|
|
15
|
+
File.expand_path(arg)
|
|
16
|
+
else arg
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
resolved_selection = Autoproj::CmdLine.resolve_user_selection(user_selection, :filter => false)
|
|
20
|
+
packages = resolved_selection.selection.keys
|
|
21
|
+
|
|
22
|
+
def find_selection_path(from, to)
|
|
23
|
+
path = [from]
|
|
24
|
+
if from == to
|
|
25
|
+
return path
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
Autoproj.manifest.resolve_package_set(from).each do |pkg_name|
|
|
29
|
+
Autobuild::Package[pkg_name].dependencies.each do |dep_pkg_name|
|
|
30
|
+
if result = find_selection_path(dep_pkg_name, to)
|
|
31
|
+
return path + result
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
nil
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
packages.each do |name|
|
|
39
|
+
result = Autoproj.manifest.resolve_package_name(name, :filter => false)
|
|
40
|
+
packages, osdeps = result.partition { |type, name| type == :package }
|
|
41
|
+
packages = packages.map(&:last)
|
|
42
|
+
osdeps = osdeps.map(&:last)
|
|
43
|
+
|
|
44
|
+
packages.each do |pkg_name|
|
|
45
|
+
puts "source package #{pkg_name}"
|
|
46
|
+
if default_packages.include?(pkg_name)
|
|
47
|
+
selection = default_packages.selection[pkg_name]
|
|
48
|
+
if selection.include?(pkg_name) && selection.size == 1
|
|
49
|
+
puts " is directly selected by the manifest"
|
|
50
|
+
else
|
|
51
|
+
selection = selection.dup
|
|
52
|
+
selection.delete(pkg_name)
|
|
53
|
+
puts " is directly selected by the manifest via #{selection.to_a.join(", ")}"
|
|
54
|
+
end
|
|
55
|
+
else
|
|
56
|
+
puts " is not directly selected by the manifest"
|
|
57
|
+
end
|
|
58
|
+
if Autoproj.manifest.ignored?(pkg_name)
|
|
59
|
+
puts " is ignored"
|
|
60
|
+
end
|
|
61
|
+
if Autoproj.manifest.excluded?(pkg_name)
|
|
62
|
+
puts " is excluded: #{Autoproj.manifest.exclusion_reason(pkg_name)}"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
all_reverse_dependencies = Set.new
|
|
66
|
+
pkg_revdeps = revdeps[pkg_name].dup.to_a
|
|
67
|
+
while !pkg_revdeps.empty?
|
|
68
|
+
parent_name = pkg_revdeps.shift
|
|
69
|
+
next if all_reverse_dependencies.include?(parent_name)
|
|
70
|
+
all_reverse_dependencies << parent_name
|
|
71
|
+
pkg_revdeps.concat(revdeps[parent_name].to_a)
|
|
72
|
+
end
|
|
73
|
+
if all_reverse_dependencies.empty?
|
|
74
|
+
puts " no reverse dependencies"
|
|
75
|
+
else
|
|
76
|
+
puts " reverse dependencies: #{all_reverse_dependencies.sort.join(", ")}"
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
selections = Set.new
|
|
80
|
+
all_reverse_dependencies = all_reverse_dependencies.to_a.sort
|
|
81
|
+
all_reverse_dependencies.each do |parent_name|
|
|
82
|
+
if default_packages.include?(parent_name)
|
|
83
|
+
selections |= default_packages.selection[parent_name]
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
if !selections.empty?
|
|
88
|
+
puts " selected by way of"
|
|
89
|
+
selections.each do |root_pkg|
|
|
90
|
+
path = find_selection_path(root_pkg, pkg_name)
|
|
91
|
+
puts " #{path.join(">")}"
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
puts " directly depends on: #{Autobuild::Package[pkg_name].dependencies.sort.join(", ")}"
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
osdeps.each do |pkg_name|
|
|
98
|
+
puts "the osdep '#{pkg_name}'"
|
|
99
|
+
Autoproj.osdeps.resolve_os_dependencies(pkg_name).each do |manager, packages|
|
|
100
|
+
puts " #{manager.names.first}: #{packages.map { |*subnames| subnames.join(" ") }.join(", ")}"
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
data/bin/autoproj_bootstrap
CHANGED
|
@@ -54,6 +54,7 @@ if $LOADED_FEATURES.find { |str| str =~ /bygems/ }
|
|
|
54
54
|
RUBY = RbConfig::CONFIG['RUBY_INSTALL_NAME']
|
|
55
55
|
|
|
56
56
|
ENV['GEM_HOME'] = needed_gem_home
|
|
57
|
+
ENV.delete 'GEM_PATH'
|
|
57
58
|
exec RUBY, __FILE__, *ARGV
|
|
58
59
|
end
|
|
59
60
|
end
|
|
@@ -523,7 +524,7 @@ fi
|
|
|
523
524
|
dep = Gem::Dependency.new(name, version_requirements)
|
|
524
525
|
available =
|
|
525
526
|
if gem_fetcher.respond_to?(:find_matching)
|
|
526
|
-
gem_fetcher.find_matching(dep).map(&:first)
|
|
527
|
+
gem_fetcher.find_matching(dep, true, true, GemManager.with_prerelease).map(&:first)
|
|
527
528
|
else # Post RubyGems-2.0
|
|
528
529
|
type = if GemManager.with_prerelease then :prerelease
|
|
529
530
|
else :complete
|
data/bin/autoproj_bootstrap.in
CHANGED
data/lib/autoproj/cmdline.rb
CHANGED
|
@@ -1546,10 +1546,20 @@ where 'mode' is one of:
|
|
|
1546
1546
|
# We don't use Autoproj.gem_home there as we might not be in an
|
|
1547
1547
|
# autoproj directory at all
|
|
1548
1548
|
gem_home = ENV['AUTOPROJ_GEM_HOME'] || File.join(Dir.pwd, ".gems")
|
|
1549
|
-
if ENV['GEM_HOME']
|
|
1550
|
-
|
|
1549
|
+
if ENV['GEM_HOME'] && Autoproj.in_autoproj_installation?(ENV['GEM_HOME']) && ENV['GEM_HOME'] != gem_home
|
|
1550
|
+
Autoproj::OSDependencies.define_osdeps_mode_option
|
|
1551
|
+
osdeps = Autoproj::OSDependencies.load_default
|
|
1552
|
+
if osdeps_forced_mode
|
|
1553
|
+
osdeps.osdeps_mode = osdeps_forced_mode
|
|
1554
|
+
end
|
|
1555
|
+
osdeps.osdeps_mode
|
|
1556
|
+
|
|
1557
|
+
Autoproj.message "autoproj: bootstrapping using another installation's autoproj gem"
|
|
1558
|
+
ENV['GEM_HOME'] = gem_home
|
|
1551
1559
|
ENV.delete('GEM_PATH')
|
|
1552
|
-
Autoproj.message "
|
|
1560
|
+
Autoproj.message "installing autoproj in #{ENV['GEM_HOME']} and restarting"
|
|
1561
|
+
osdeps.install ['autoproj']
|
|
1562
|
+
Autoproj.message "restarting bootstrapping from #{Dir.pwd}"
|
|
1553
1563
|
|
|
1554
1564
|
require 'rbconfig'
|
|
1555
1565
|
ruby = RbConfig::CONFIG['RUBY_INSTALL_NAME']
|
data/lib/autoproj/manifest.rb
CHANGED
|
@@ -1854,7 +1854,7 @@ module Autoproj
|
|
|
1854
1854
|
result.filter_excluded_and_ignored_packages(self)
|
|
1855
1855
|
rescue ExcludedSelection => e
|
|
1856
1856
|
if validate
|
|
1857
|
-
raise
|
|
1857
|
+
raise e, "#{e.selection}, which is selected in the layout, cannot be built: #{e.message}", e.backtrace
|
|
1858
1858
|
end
|
|
1859
1859
|
end
|
|
1860
1860
|
result
|
data/lib/autoproj/osdeps.rb
CHANGED
|
@@ -406,7 +406,7 @@ fi
|
|
|
406
406
|
dep = Gem::Dependency.new(name, version_requirements)
|
|
407
407
|
available =
|
|
408
408
|
if gem_fetcher.respond_to?(:find_matching)
|
|
409
|
-
gem_fetcher.find_matching(dep).map(&:first)
|
|
409
|
+
gem_fetcher.find_matching(dep, true, true, GemManager.with_prerelease).map(&:first)
|
|
410
410
|
else # Post RubyGems-2.0
|
|
411
411
|
type = if GemManager.with_prerelease then :prerelease
|
|
412
412
|
else :complete
|
data/lib/autoproj/version.rb
CHANGED
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.9.3.
|
|
4
|
+
version: 1.9.3.rc6
|
|
5
5
|
prerelease: 6
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2013-04-
|
|
12
|
+
date: 2013-04-18 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: autobuild
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &21146660 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: 1.7.0
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *21146660
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: utilrb
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &21145780 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: 1.6.0
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *21145780
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: highline
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &21144920 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: 1.5.0
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *21144920
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: rdoc
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &21142980 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ~>
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: '3.10'
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *21142980
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: hoe
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &21142100 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ~>
|
|
@@ -65,7 +65,7 @@ dependencies:
|
|
|
65
65
|
version: '3.5'
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *21142100
|
|
69
69
|
description: autoproj is a manager for sets of software packages. It allows the user
|
|
70
70
|
to import and build packages from source, still using the underlying distribution's
|
|
71
71
|
native package manager for software that is available on it.
|
|
@@ -76,9 +76,11 @@ executables:
|
|
|
76
76
|
- aup
|
|
77
77
|
- autolocate
|
|
78
78
|
- autoproj
|
|
79
|
+
- autoproj-bootstrap
|
|
79
80
|
- autoproj-clean
|
|
80
81
|
- autoproj-create-set
|
|
81
82
|
- autoproj-envsh
|
|
83
|
+
- autoproj-inspect
|
|
82
84
|
- autoproj-list
|
|
83
85
|
- autoproj-locate
|
|
84
86
|
- autoproj-query
|
|
@@ -102,9 +104,11 @@ files:
|
|
|
102
104
|
- bin/aup
|
|
103
105
|
- bin/autolocate
|
|
104
106
|
- bin/autoproj
|
|
107
|
+
- bin/autoproj-bootstrap
|
|
105
108
|
- bin/autoproj-clean
|
|
106
109
|
- bin/autoproj-create-set
|
|
107
110
|
- bin/autoproj-envsh
|
|
111
|
+
- bin/autoproj-inspect
|
|
108
112
|
- bin/autoproj-list
|
|
109
113
|
- bin/autoproj-locate
|
|
110
114
|
- bin/autoproj-query
|