autoproj 1.9.7.rc20 → 1.9.7.rc21
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/bin/autoproj-create-set +36 -5
- data/bin/autoproj_bootstrap +9 -3
- data/bin/autoproj_bootstrap.in +2 -2
- data/lib/autoproj.rb +0 -1
- data/lib/autoproj/default.osdeps +5 -1
- data/lib/autoproj/osdeps.rb +2 -0
- data/lib/autoproj/version.rb +1 -1
- data/test/package_managers/test_apt_dpkg_manager.rb +9 -0
- metadata +2 -2
data/bin/autoproj-create-set
CHANGED
|
@@ -5,12 +5,32 @@ require 'autoproj/cmdline'
|
|
|
5
5
|
|
|
6
6
|
pwd = Dir.pwd
|
|
7
7
|
root_dir = Autoproj::CmdLine.initialize_root_directory
|
|
8
|
-
|
|
8
|
+
Autoproj.silent do
|
|
9
|
+
Autoproj::CmdLine.initialize_and_load([])
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
parser = OptionParser.new do |opt|
|
|
13
|
+
opt.banner = ['autoproj create-set path [package package ..]',
|
|
14
|
+
'',
|
|
15
|
+
'Creates a new package set that includes the given packages',
|
|
16
|
+
'Packages can be already defined in other package sets',
|
|
17
|
+
'or (more commonly) paths to checked out packages on disk',
|
|
18
|
+
'',
|
|
19
|
+
'The path argument is the path where the package set should',
|
|
20
|
+
'be created. The basename will be used as the package set name',
|
|
21
|
+
'For instance,',
|
|
22
|
+
' autoproj create-set new_set/lead',
|
|
23
|
+
'Will create a new package set definition in the new_set/lead',
|
|
24
|
+
'directory. The new set will be named "lead"'].join("\n")
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
user_selection = parser.parse(ARGV)
|
|
9
28
|
|
|
10
|
-
if !(new_set_path =
|
|
11
|
-
Autoproj.message("missing package set
|
|
29
|
+
if !(new_set_path = user_selection.shift)
|
|
30
|
+
Autoproj.message("missing path to the generated package set on the command line", :red)
|
|
12
31
|
exit 1
|
|
13
32
|
end
|
|
33
|
+
new_set_path = File.expand_path(new_set_path, pwd)
|
|
14
34
|
new_set_name = File.basename(new_set_path)
|
|
15
35
|
selection = Autoproj::CmdLine.resolve_user_selection(user_selection)
|
|
16
36
|
Autoproj::CmdLine.validate_user_selection(user_selection, selection)
|
|
@@ -55,8 +75,19 @@ puts
|
|
|
55
75
|
puts
|
|
56
76
|
new_packages.each do |pkg|
|
|
57
77
|
if !pkg.vcs
|
|
58
|
-
|
|
59
|
-
|
|
78
|
+
# Try to autodetect the VCS
|
|
79
|
+
srcdir = pkg.autobuild.srcdir
|
|
80
|
+
handler = [Autobuild::Git].find do |vcs_handler|
|
|
81
|
+
vcs_handler.can_handle?(srcdir)
|
|
82
|
+
end
|
|
83
|
+
if handler
|
|
84
|
+
raw_vcs = handler.vcs_definition_for(srcdir)
|
|
85
|
+
pkg.vcs = Autoproj::VCSDefinition.from_raw(raw_vcs)
|
|
86
|
+
else
|
|
87
|
+
puts " package #{pkg.autobuild.name} has no version control information"
|
|
88
|
+
puts " and I am not able to autodetect it."
|
|
89
|
+
puts " you will have to provide this in the generated source.yml file"
|
|
90
|
+
end
|
|
60
91
|
end
|
|
61
92
|
end
|
|
62
93
|
|
data/bin/autoproj_bootstrap
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#! /usr/bin/ruby
|
|
2
2
|
|
|
3
|
-
if RUBY_VERSION < "1.
|
|
4
|
-
STDERR.puts "autoproj requires Ruby >= 1.
|
|
3
|
+
if RUBY_VERSION < "1.9.3"
|
|
4
|
+
STDERR.puts "autoproj requires Ruby >= 1.9.3"
|
|
5
5
|
exit 1
|
|
6
6
|
end
|
|
7
7
|
|
|
@@ -126,6 +126,7 @@ module Autobuild
|
|
|
126
126
|
end
|
|
127
127
|
|
|
128
128
|
require 'tempfile'
|
|
129
|
+
require 'json'
|
|
129
130
|
module Autoproj
|
|
130
131
|
# Module that contains the package manager implementations for the
|
|
131
132
|
# OSDependencies class
|
|
@@ -572,6 +573,7 @@ fi
|
|
|
572
573
|
is_installed = false
|
|
573
574
|
dpkg_status.each do |line|
|
|
574
575
|
line = line.chomp
|
|
576
|
+
line = line.encode( "UTF-8", "binary", :invalid => :replace, :undef => :replace)
|
|
575
577
|
if line == ""
|
|
576
578
|
if is_installed
|
|
577
579
|
current_packages.each do |pkg|
|
|
@@ -2520,7 +2522,7 @@ ruby19:
|
|
|
2520
2522
|
- ruby19
|
|
2521
2523
|
- rake
|
|
2522
2524
|
macos-brew:
|
|
2523
|
-
-
|
|
2525
|
+
- gem: rake
|
|
2524
2526
|
default: nonexistent
|
|
2525
2527
|
opensuse: ruby19-devel
|
|
2526
2528
|
arch: ignore
|
|
@@ -2537,6 +2539,8 @@ ruby20:
|
|
|
2537
2539
|
- rubygem-rake
|
|
2538
2540
|
opensuse: ruby20-devel
|
|
2539
2541
|
arch: ignore
|
|
2542
|
+
macos-brew:
|
|
2543
|
+
- gem: rake
|
|
2540
2544
|
default: nonexistent
|
|
2541
2545
|
ruby21:
|
|
2542
2546
|
debian:
|
|
@@ -2546,6 +2550,8 @@ ruby21:
|
|
|
2546
2550
|
- rubygems-integration
|
|
2547
2551
|
arch: ignore
|
|
2548
2552
|
fedora: ruby-devel
|
|
2553
|
+
macos-brew:
|
|
2554
|
+
- gem: rake
|
|
2549
2555
|
default: nonexistent
|
|
2550
2556
|
build-essential:
|
|
2551
2557
|
debian,ubuntu: build-essential
|
data/bin/autoproj_bootstrap.in
CHANGED
data/lib/autoproj.rb
CHANGED
data/lib/autoproj/default.osdeps
CHANGED
|
@@ -36,7 +36,7 @@ ruby19:
|
|
|
36
36
|
- ruby19
|
|
37
37
|
- rake
|
|
38
38
|
macos-brew:
|
|
39
|
-
-
|
|
39
|
+
- gem: rake
|
|
40
40
|
default: nonexistent
|
|
41
41
|
opensuse: ruby19-devel
|
|
42
42
|
arch: ignore # on arch, if ruby is installed then so is the supporting stuff
|
|
@@ -55,6 +55,8 @@ ruby20:
|
|
|
55
55
|
- rubygem-rake
|
|
56
56
|
opensuse: ruby20-devel
|
|
57
57
|
arch: ignore # on arch, if ruby is installed then so is the supporting stuff
|
|
58
|
+
macos-brew:
|
|
59
|
+
- gem: rake
|
|
58
60
|
default: nonexistent
|
|
59
61
|
|
|
60
62
|
ruby21:
|
|
@@ -65,6 +67,8 @@ ruby21:
|
|
|
65
67
|
- rubygems-integration
|
|
66
68
|
arch: ignore # on arch, if ruby is installed then so is the supporting stuff
|
|
67
69
|
fedora: ruby-devel
|
|
70
|
+
macos-brew:
|
|
71
|
+
- gem: rake
|
|
68
72
|
default: nonexistent
|
|
69
73
|
|
|
70
74
|
build-essential:
|
data/lib/autoproj/osdeps.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'tempfile'
|
|
2
|
+
require 'json'
|
|
2
3
|
module Autoproj
|
|
3
4
|
# Module that contains the package manager implementations for the
|
|
4
5
|
# OSDependencies class
|
|
@@ -445,6 +446,7 @@ fi
|
|
|
445
446
|
is_installed = false
|
|
446
447
|
dpkg_status.each do |line|
|
|
447
448
|
line = line.chomp
|
|
449
|
+
line = line.encode( "UTF-8", "binary", :invalid => :replace, :undef => :replace)
|
|
448
450
|
if line == ""
|
|
449
451
|
if is_installed
|
|
450
452
|
current_packages.each do |pkg|
|
data/lib/autoproj/version.rb
CHANGED
|
@@ -11,6 +11,15 @@ class TC_OSDependencies_AptDpkgManager < Test::Unit::TestCase
|
|
|
11
11
|
assert !mng.installed?('noninstalled-package')
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
def test_status_file_parsing_is_robust_to_invalid_utf8
|
|
15
|
+
Tempfile.open 'osdeps_aptdpkg' do |io|
|
|
16
|
+
io.puts "Package: \x80\nStatus: installed ok install\n\nPackage: installed\nStatus: installed ok install"
|
|
17
|
+
io.flush
|
|
18
|
+
mng = Autoproj::PackageManagers::AptDpkgManager.new(io.path)
|
|
19
|
+
mng.installed?('installed')
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
14
23
|
def test_status_file_parsing_last_entry_installed
|
|
15
24
|
file = File.expand_path("apt-dpkg-status.installed-last", File.dirname(__FILE__))
|
|
16
25
|
mng = Autoproj::PackageManagers::AptDpkgManager.new(file)
|
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.7.
|
|
4
|
+
version: 1.9.7.rc21
|
|
5
5
|
prerelease: 6
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-05-
|
|
12
|
+
date: 2014-05-29 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: autobuild
|