autoproj 1.8.0.rc2 → 1.8.0.rc3

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 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