autoproj 1.8.0.rc2 → 1.8.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,12 @@
1
+ = Version 1.8.0
2
+ * fix issues with 1.9.3
3
+ * significantly refactor the osdeps handling. It should make the addition of
4
+ other OS-independent handlers (along rubygems) easier. Moreover, it is now
5
+ possible to specify gem dependency on a per-OS basis (was always global
6
+ before)
7
+ * the autoproj command line learned the -p option to control parallelism (i.e.
8
+ -p1 forces to use only one process)
9
+
1
10
  = Version 1.7.20
2
11
  * do not generate an error if an unknown package is used as an optional
3
12
  dependency. The rationale is that one can then have optional features that
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ Utilrb::Rake.hoe do
7
7
  Hoe.spec 'autoproj' do
8
8
  self.developer "Sylvain Joyeux", "sylvain.joyeux@dfki.de"
9
9
 
10
- self.url = ["http://rock-robotics.org/documentation/autoproj",
10
+ self.urls = ["http://rock-robotics.org/documentation/autoproj",
11
11
  "git://github.com/doudou/autoproj.git"]
12
12
  self.rubyforge_name = 'autobuild'
13
13
  self.summary = 'Easy installation and management of software packages'
@@ -119,6 +119,10 @@ module Autoproj
119
119
  @enabled = true
120
120
  @silent = true
121
121
  end
122
+
123
+ def name
124
+ names.first
125
+ end
122
126
  end
123
127
 
124
128
  # Dummy package manager used for unknown OSes. It simply displays a
@@ -1729,93 +1733,93 @@ module Autoproj
1729
1733
  end
1730
1734
 
1731
1735
  DEFS = <<EODEFS
1732
- ---
1733
- cvs:
1734
- debian,ubuntu: cvs
1735
- svn:
1736
- arch: subversion
1737
- gentoo: dev-util/subversion
1738
- debian,ubuntu: subversion
1739
- autobuild: gem
1740
- zlib:
1741
- debian,ubuntu: zlib1g-dev
1742
- libxml2:
1743
- arch: libxml2
1744
- gentoo: dev-libs/libxml2
1745
- debian,ubuntu: libxml2-dev
1736
+ ---
1746
1737
  none: ignore
1747
- autotools:
1748
- arch: automake autoconf
1749
- gentoo:
1750
- - sys-devel/automake:1.9
1751
- - sys-devel/autoconf
1752
- debian,ubuntu:
1753
- - automake1.9
1754
- - autoconf
1755
- autoproj: gem
1756
- archive:
1757
- arch:
1758
- - tar
1759
- - unzip
1760
- gentoo:
1761
- - app-arch/tar
1762
- - app-arch/unzip
1763
- debian,ubuntu:
1764
- - tar
1765
- - unzip
1766
- lsb_release:
1767
- arch: ignore
1768
- gentoo: sys-apps/lsb-release
1769
- debian,ubuntu: lsb-release
1770
- ruby18:
1771
- gentoo:
1772
- - dev-lang/ruby:1.8
1773
- - rake
1774
- debian,ubuntu:
1738
+ ruby18:
1739
+ debian,ubuntu:
1775
1740
  - ruby1.8-dev
1776
1741
  - ruby1.8
1777
1742
  - rubygems1.8
1778
1743
  - ri1.8
1779
1744
  - libopenssl-ruby1.8
1780
1745
  - rake
1781
- ruby19:
1782
- debian:
1746
+ gentoo:
1747
+ - dev-lang/ruby:1.8
1748
+ - rake
1749
+ ruby19:
1750
+ debian:
1783
1751
  - ruby1.9.1
1784
1752
  - ruby1.9.1-dev
1785
1753
  - rubygems1.9.1
1786
1754
  - rake
1787
- arch:
1788
- - ruby
1789
- - rake
1790
- gentoo:
1791
- - dev-lang/ruby:1.9
1792
- - rake
1793
- ubuntu:
1755
+ ubuntu:
1794
1756
  - ruby1.9.1
1795
1757
  - ruby1.9.1-dev
1796
1758
  - rubygems1.9.1
1797
1759
  - ri1.9.1
1798
1760
  - libopenssl-ruby1.9.1
1799
1761
  - rake
1800
- git:
1801
- debian:
1762
+ gentoo:
1763
+ - dev-lang/ruby:1.9
1764
+ - rake
1765
+ arch:
1766
+ - ruby
1767
+ - rake
1768
+ build-essential:
1769
+ debian,ubuntu: build-essential
1770
+ gentoo: ignore
1771
+ arch: ignore
1772
+ libxml2:
1773
+ debian,ubuntu: libxml2-dev
1774
+ gentoo: dev-libs/libxml2
1775
+ arch: libxml2
1776
+ libxslt:
1777
+ debian,ubuntu: libxslt1-dev
1778
+ gentoo: dev-libs/libxslt
1779
+ arch: libxslt
1780
+ zlib:
1781
+ debian,ubuntu: zlib1g-dev
1782
+ autobuild: gem
1783
+ autoproj: gem
1784
+ git:
1785
+ debian:
1802
1786
  lenny: git
1803
1787
  default: git-core
1804
- arch: git
1805
- gentoo: dev-vcs/git
1806
1788
  ubuntu: git-core
1807
- cmake:
1808
- arch: cmake
1809
- gentoo: dev-util/cmake
1789
+ gentoo: dev-vcs/git
1790
+ arch: git
1791
+ svn:
1792
+ debian,ubuntu: subversion
1793
+ gentoo: dev-util/subversion
1794
+ arch: subversion
1795
+ cmake:
1810
1796
  debian,ubuntu: cmake
1811
- build-essential:
1797
+ gentoo: dev-util/cmake
1798
+ arch: cmake
1799
+ autotools:
1800
+ debian,ubuntu:
1801
+ - automake1.9
1802
+ - autoconf
1803
+ gentoo:
1804
+ - sys-devel/automake:1.9
1805
+ - sys-devel/autoconf
1806
+ arch: automake autoconf
1807
+ lsb_release:
1808
+ debian,ubuntu: lsb-release
1809
+ gentoo: sys-apps/lsb-release
1812
1810
  arch: ignore
1813
- gentoo: ignore
1814
- debian,ubuntu: build-essential
1815
- libxslt:
1816
- arch: libxslt
1817
- gentoo: dev-libs/libxslt
1818
- debian,ubuntu: libxslt1-dev
1811
+ archive:
1812
+ debian,ubuntu:
1813
+ - tar
1814
+ - unzip
1815
+ gentoo:
1816
+ - app-arch/tar
1817
+ - app-arch/unzip
1818
+ arch:
1819
+ - tar
1820
+ - unzip
1821
+ cvs:
1822
+ debian,ubuntu: cvs
1819
1823
 
1820
1824
  EODEFS
1821
1825
 
@@ -1599,47 +1599,41 @@ export PATH=$GEM_HOME/bin:$PATH
1599
1599
  # osdeps package
1600
1600
  #
1601
1601
  # +definitions+ is a osdep_name => definition_file mapping
1602
- mapping = Hash.new { |h, k| h[k] = [false, false, Hash.new, Set.new] }
1603
-
1602
+ mapping = Hash.new { |h, k| h[k] = Array.new }
1603
+ used_by = Hash.new { |h, k| h[k] = Array.new }
1604
1604
  ospkg_to_pkg.each do |pkg_osdep, pkgs|
1605
- osdeps, gems = Autoproj.osdeps.
1606
- partition_packages([pkg_osdep])
1607
-
1608
- gems.each do |gem_name|
1609
- mapping[gem_name.join(" ")][1] = true
1610
- mapping[gem_name.join(" ")][2][pkg_osdep] = Autoproj.osdeps.source_of(pkg_osdep)
1611
- mapping[gem_name.join(" ")][3] |= pkgs
1612
- end
1613
-
1614
- if Autoproj::OSDependencies.supported_operating_system?
1615
- osdeps = Autoproj.osdeps.
1616
- resolve_os_dependencies(osdeps)
1617
- end
1618
- osdeps.each do |ospkg_name|
1619
- mapping[ospkg_name][0] = true
1620
- mapping[ospkg_name][2][pkg_osdep] = Autoproj.osdeps.source_of(pkg_osdep)
1621
- mapping[ospkg_name][3] |= pkgs
1605
+ used_by[pkg_osdep].concat(pkgs)
1606
+ packages = Autoproj.osdeps.resolve_package(pkg_osdep)
1607
+ packages.each do |handler, status, entries|
1608
+ entries.each do |entry|
1609
+ if entry.respond_to?(:join)
1610
+ entry = entry.join(", ")
1611
+ end
1612
+ mapping[entry] << [pkg_osdep, handler, Autoproj.osdeps.source_of(pkg_osdep)]
1613
+ end
1622
1614
  end
1623
1615
  end
1624
1616
 
1625
1617
  mapping = mapping.sort_by(&:first)
1626
- mapping.each do |pkg_name, (is_os_pkg, is_gem_pkg, definitions, used_by)|
1627
- kind = if is_os_pkg && is_gem_pkg
1628
- "both a RubyGem and OS package"
1629
- elsif is_os_pkg
1630
- "an OS package"
1631
- else
1632
- "a RubyGem package"
1633
- end
1634
-
1635
- puts "#{pkg_name} is #{kind}"
1636
- definitions.to_a.
1637
- sort_by(&:first).
1638
- each do |osdep_name, file_name|
1639
- puts " defined as #{osdep_name} in #{file_name}"
1640
- end
1618
+ mapping.each do |pkg_name, handlers|
1619
+ puts pkg_name
1620
+ depended_upon = Array.new
1621
+ handlers.each do |osdep_name, handler, source|
1622
+ install_state =
1623
+ if handler.respond_to?(:installed?)
1624
+ !!handler.installed?(pkg_name)
1625
+ end
1626
+ install_state =
1627
+ if install_state == false
1628
+ ", currently not installed"
1629
+ elsif install_state == true
1630
+ ", currently installed"
1631
+ end # nil means "don't know"
1641
1632
 
1642
- puts " depended-upon by #{used_by.sort.join(", ")}"
1633
+ puts " defined as #{osdep_name} (#{handler.name}) in #{source}#{install_state}"
1634
+ depended_upon.concat(used_by[osdep_name])
1635
+ end
1636
+ puts " depended-upon by #{depended_upon.sort.join(", ")}"
1643
1637
  end
1644
1638
  end
1645
1639
 
@@ -20,6 +20,10 @@ module Autoproj
20
20
  @enabled = true
21
21
  @silent = true
22
22
  end
23
+
24
+ def name
25
+ names.first
26
+ end
23
27
  end
24
28
 
25
29
  # Dummy package manager used for unknown OSes. It simply displays a
@@ -1,3 +1,3 @@
1
1
  module Autoproj
2
- VERSION = "1.8.0.rc2"
2
+ VERSION = "1.8.0.rc3"
3
3
  end
metadata CHANGED
@@ -1,117 +1,91 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: autoproj
3
- version: !ruby/object:Gem::Version
4
- hash: 15424177
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.8.0.rc3
5
5
  prerelease: 6
6
- segments:
7
- - 1
8
- - 8
9
- - 0
10
- - rc
11
- - 2
12
- version: 1.8.0.rc2
13
6
  platform: ruby
14
- authors:
7
+ authors:
15
8
  - Sylvain Joyeux
16
9
  autorequire:
17
10
  bindir: bin
18
11
  cert_chain: []
19
-
20
- date: 2012-04-18 00:00:00 Z
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
12
+ date: 2012-05-04 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: &17568500 !ruby/object:Gem::Requirement
26
17
  none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 15424087
31
- segments:
32
- - 1
33
- - 6
34
- - 0
35
- - rc
36
- - 1
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
37
21
  version: 1.6.0.rc1
38
22
  type: :runtime
39
- version_requirements: *id001
40
- - !ruby/object:Gem::Dependency
41
- name: utilrb
42
23
  prerelease: false
43
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *17568500
25
+ - !ruby/object:Gem::Dependency
26
+ name: utilrb
27
+ requirement: &17568060 !ruby/object:Gem::Requirement
44
28
  none: false
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- hash: 15
49
- segments:
50
- - 1
51
- - 6
52
- - 0
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
53
32
  version: 1.6.0
54
33
  type: :runtime
55
- version_requirements: *id002
56
- - !ruby/object:Gem::Dependency
57
- name: highline
58
34
  prerelease: false
59
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *17568060
36
+ - !ruby/object:Gem::Dependency
37
+ name: highline
38
+ requirement: &17567600 !ruby/object:Gem::Requirement
60
39
  none: false
61
- requirements:
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- hash: 3
65
- segments:
66
- - 1
67
- - 5
68
- - 0
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
69
43
  version: 1.5.0
70
44
  type: :runtime
71
- version_requirements: *id003
72
- - !ruby/object:Gem::Dependency
73
- name: hoe
74
45
  prerelease: false
75
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *17567600
47
+ - !ruby/object:Gem::Dependency
48
+ name: rdoc
49
+ requirement: &17567140 !ruby/object:Gem::Requirement
76
50
  none: false
77
- requirements:
51
+ requirements:
78
52
  - - ~>
79
- - !ruby/object:Gem::Version
80
- hash: 27
81
- segments:
82
- - 2
83
- - 12
84
- version: "2.12"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.10'
85
55
  type: :development
86
- version_requirements: *id004
87
- description: |-
88
- What is Autoproj
89
- ----------------
90
- Autoproj allows to easily install and maintain software that is under source
91
- code form (usually from a version control system). It has been designed to support a
92
- package-oriented development process, where each package can have its own
93
- version control repository (think "distributed version control"). It also
94
- provides an easy integration of the local operating system (Debian, Ubuntu,
95
- Fedora, maybe MacOSX at some point).
96
-
97
- This tool has been over the years. It is now maintained in the frame of the Rock
98
- robotics project (http://rock-robotics.org), to install robotics-related
99
- software -- that is often bleeding edge. Unlike [the ROS build
100
- system](http://ros.org), it is not bound to one build system, one VCS and one
101
- integration framework. The philosophy behind autoproj
102
- is:
103
- * supports both CMake and autotools, and can be adapted to other tools
104
- * supports different VCS: cvs, svn, git, plain tarballs.
105
- * software packages are plain packages, meaning that they can be built and
106
- installed /outside/ an autoproj tree, and are not tied *at all* to the
107
- autoproj build system.
108
- * leverage the actual OS package management system. Right now, only Debian-like
109
- systems (like Ubuntu) are supported, simply because it is the only one I have
110
- access to.
111
- * handle code generation properly
112
- email:
56
+ prerelease: false
57
+ version_requirements: *17567140
58
+ - !ruby/object:Gem::Dependency
59
+ name: hoe
60
+ requirement: &17566640 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '3.0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *17566640
69
+ description: ! "What is Autoproj\n----------------\nAutoproj allows to easily install
70
+ and maintain software that is under source\ncode form (usually from a version control
71
+ system). It has been designed to support a\npackage-oriented development process,
72
+ where each package can have its own\nversion control repository (think \"distributed
73
+ version control\"). It also\nprovides an easy integration of the local operating
74
+ system (Debian, Ubuntu,\nFedora, maybe MacOSX at some point).\n\nThis tool has been
75
+ over the years. It is now maintained in the frame of the Rock\nrobotics project
76
+ (http://rock-robotics.org), to install robotics-related\nsoftware -- that is often
77
+ bleeding edge. Unlike [the ROS build\nsystem](http://ros.org), it is not bound to
78
+ one build system, one VCS and one\nintegration framework. The philosophy behind
79
+ autoproj\nis:\n* supports both CMake and autotools, and can be adapted to other
80
+ tools\n* supports different VCS: cvs, svn, git, plain tarballs.\n* software packages
81
+ are plain packages, meaning that they can be built and\n installed /outside/ an
82
+ autoproj tree, and are not tied *at all* to the\n autoproj build system.\n* leverage
83
+ the actual OS package management system. Right now, only Debian-like\n systems
84
+ (like Ubuntu) are supported, simply because it is the only one I have\n access
85
+ to.\n* handle code generation properly"
86
+ email:
113
87
  - sylvain.joyeux@dfki.de
114
- executables:
88
+ executables:
115
89
  - amake
116
90
  - aup
117
91
  - autolocate
@@ -122,13 +96,12 @@ executables:
122
96
  - autoproj_bootstrap
123
97
  - autoproj_stress_test
124
98
  extensions: []
125
-
126
- extra_rdoc_files:
99
+ extra_rdoc_files:
127
100
  - History.txt
128
101
  - Manifest.txt
129
102
  - README.txt
130
103
  - samples/autoproj/README.txt
131
- files:
104
+ files:
132
105
  - History.txt
133
106
  - Manifest.txt
134
107
  - README.txt
@@ -173,41 +146,31 @@ files:
173
146
  - .gemtest
174
147
  homepage: http://rock-robotics.org/documentation/autoproj
175
148
  licenses: []
176
-
177
149
  post_install_message:
178
- rdoc_options:
150
+ rdoc_options:
179
151
  - --main
180
152
  - README.txt
181
- require_paths:
153
+ require_paths:
182
154
  - lib
183
- required_ruby_version: !ruby/object:Gem::Requirement
155
+ required_ruby_version: !ruby/object:Gem::Requirement
184
156
  none: false
185
- requirements:
186
- - - ">="
187
- - !ruby/object:Gem::Version
188
- hash: 3
189
- segments:
190
- - 0
191
- version: "0"
192
- required_rubygems_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ! '>='
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ required_rubygems_version: !ruby/object:Gem::Requirement
193
162
  none: false
194
- requirements:
195
- - - ">"
196
- - !ruby/object:Gem::Version
197
- hash: 25
198
- segments:
199
- - 1
200
- - 3
201
- - 1
163
+ requirements:
164
+ - - ! '>'
165
+ - !ruby/object:Gem::Version
202
166
  version: 1.3.1
203
167
  requirements: []
204
-
205
168
  rubyforge_project: autobuild
206
- rubygems_version: 1.8.15
169
+ rubygems_version: 1.8.11
207
170
  signing_key:
208
171
  specification_version: 3
209
172
  summary: Easy installation and management of software packages
210
- test_files:
173
+ test_files:
211
174
  - test/test_os_dependencies.rb
212
175
  - test/package_managers/test_gem.rb
213
176
  - test/test_manifest.rb