autoproj 1.6.0.rc5 → 1.6.0.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/bin/autoproj +52 -6
- data/doc/guide/src/autoproj_bootstrap +139 -128
- data/lib/autoproj/cmdline.rb +24 -26
- data/lib/autoproj/system.rb +9 -2
- data/lib/autoproj/version.rb +1 -1
- metadata +3 -3
data/bin/autoproj
CHANGED
@@ -13,7 +13,6 @@ require 'autoproj/cmdline'
|
|
13
13
|
include Autoproj
|
14
14
|
|
15
15
|
InputError = Autoproj::InputError
|
16
|
-
selected_packages = Autoproj::CmdLine.parse_arguments(ARGV.dup)
|
17
16
|
|
18
17
|
def color(*args)
|
19
18
|
Autoproj.console.color(*args)
|
@@ -28,11 +27,13 @@ def report(debug)
|
|
28
27
|
rescue ConfigError => e
|
29
28
|
STDERR.puts
|
30
29
|
STDERR.puts color(e.message, :red, :bold)
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
30
|
+
if Autoproj.in_autoproj_installation?(Dir.pwd)
|
31
|
+
root_dir = /^#{Regexp.quote(Autoproj.root_dir)}(?!\/\.gems)/
|
32
|
+
e.backtrace.find_all { |path| path =~ root_dir }.
|
33
|
+
each do |path|
|
34
|
+
STDERR.puts color(" in #{path}", :red, :bold)
|
35
|
+
end
|
36
|
+
end
|
36
37
|
if debug then raise
|
37
38
|
else exit 1
|
38
39
|
end
|
@@ -48,6 +49,27 @@ Autoproj::OSDependencies.autodetect_ruby
|
|
48
49
|
|
49
50
|
# Find the autoproj root dir
|
50
51
|
report(Autobuild.debug) do
|
52
|
+
selected_packages =
|
53
|
+
begin Autoproj::CmdLine.parse_arguments(ARGV.dup)
|
54
|
+
rescue Exception => e
|
55
|
+
if Autoproj::CmdLine.bootstrap? && !Autoproj.in_autoproj_installation?(Dir.pwd)
|
56
|
+
STDERR.puts <<EOTEXT
|
57
|
+
|
58
|
+
|
59
|
+
#{color('autoproj bootstrap failed', :red, :bold)}
|
60
|
+
To retry, first source the env.sh script with
|
61
|
+
source #{Dir.pwd}/env.sh
|
62
|
+
and then re-run autoproj bootstrap with
|
63
|
+
autoproj bootstrap <vcs_type> <vcs_url> <vcs_options>
|
64
|
+
|
65
|
+
where
|
66
|
+
'vcs_type' is git, svn, darcs, cvs
|
67
|
+
'vcs_url' is the vcs-specific URL to the repository, and
|
68
|
+
'vcs_options' are optional values that can be given to the chosen VCS
|
69
|
+
EOTEXT
|
70
|
+
end
|
71
|
+
raise
|
72
|
+
end
|
51
73
|
|
52
74
|
# Expand directories in the selected_packages set, before we chdir to the
|
53
75
|
# autoproj root
|
@@ -83,6 +105,30 @@ report(Autobuild.debug) do
|
|
83
105
|
if Autoproj.verbose || Autoproj::CmdLine.display_configuration?
|
84
106
|
Autoproj::CmdLine.display_sources(manifest)
|
85
107
|
end
|
108
|
+
|
109
|
+
if Autoproj::CmdLine.bootstrap?
|
110
|
+
STDERR.puts <<EOTEXT
|
111
|
+
|
112
|
+
|
113
|
+
#{color('autoproj bootstrap successfully finished', :green, :bold)}
|
114
|
+
|
115
|
+
#{color('To further use autoproj and the installed software', :bold)}, you
|
116
|
+
must add the following line at the bottom of your .bashrc:
|
117
|
+
source #{Dir.pwd}/env.sh
|
118
|
+
|
119
|
+
WARNING: autoproj will not work until your restart all
|
120
|
+
your consoles, or run the following in them:
|
121
|
+
$ source #{Dir.pwd}/env.sh
|
122
|
+
|
123
|
+
#{color('To import and build the packages', :bold)}, you can now run
|
124
|
+
autoproj update
|
125
|
+
autoproj build
|
126
|
+
|
127
|
+
The resulting software is installed in
|
128
|
+
#{Dir.pwd}/install
|
129
|
+
|
130
|
+
EOTEXT
|
131
|
+
end
|
86
132
|
|
87
133
|
if Autoproj::CmdLine.only_config?
|
88
134
|
exit(0)
|
@@ -565,9 +565,18 @@ module Autoproj
|
|
565
565
|
puts
|
566
566
|
end
|
567
567
|
|
568
|
-
if automatic_osdeps_mode == ASK
|
568
|
+
if automatic_osdeps_mode == ASK
|
569
569
|
if !os_def
|
570
|
-
|
570
|
+
if gems.empty?
|
571
|
+
# Nothing we can do, but the users required "ASK".
|
572
|
+
# So, at least, let him press enter
|
573
|
+
print "There are external packages, but I can't install them on this OS. Press ENTER to continue"
|
574
|
+
STDOUT.flush
|
575
|
+
STDIN.readline
|
576
|
+
do_osdeps = false
|
577
|
+
else
|
578
|
+
print "Should I install the RubyGems packages ? [yes] "
|
579
|
+
end
|
571
580
|
else
|
572
581
|
print "Should I install these packages ? [yes] "
|
573
582
|
end
|
@@ -641,7 +650,7 @@ module Autoproj
|
|
641
650
|
end
|
642
651
|
|
643
652
|
cmdline = [Autobuild.tool('gem'), 'install']
|
644
|
-
if
|
653
|
+
if Autoproj::OSDependencies.gem_with_prerelease
|
645
654
|
cmdline << "--prerelease"
|
646
655
|
end
|
647
656
|
cmdline.concat(gems)
|
@@ -660,50 +669,16 @@ end
|
|
660
669
|
|
661
670
|
DEFS = <<EODEFS
|
662
671
|
---
|
663
|
-
svn:
|
664
|
-
arch: subversion
|
665
|
-
gentoo: dev-util/subversion
|
666
|
-
debian,ubuntu: subversion
|
667
|
-
autobuild: gem
|
668
|
-
zlib:
|
669
|
-
debian,ubuntu: zlib1g-dev
|
670
|
-
libxml2:
|
671
|
-
arch: libxml2
|
672
|
-
gentoo: dev-libs/libxml2
|
673
|
-
debian,ubuntu: libxml2-dev
|
674
672
|
none: ignore
|
675
|
-
autotools:
|
676
|
-
arch: automake autoconf
|
677
|
-
gentoo:
|
678
|
-
- sys-devel/automake:1.9
|
679
|
-
- sys-devel/autoconf
|
680
|
-
debian,ubuntu:
|
681
|
-
- automake1.9
|
682
|
-
- autoconf
|
683
|
-
autoproj: gem
|
684
|
-
archive:
|
685
|
-
arch:
|
686
|
-
- tar
|
687
|
-
- unzip
|
688
|
-
gentoo:
|
689
|
-
- app-arch/tar
|
690
|
-
- app-arch/unzip
|
691
|
-
debian,ubuntu:
|
692
|
-
- tar
|
693
|
-
- unzip
|
694
|
-
lsb_release:
|
695
|
-
arch:
|
696
|
-
gentoo: sys-apps/lsb-release
|
697
|
-
debian,ubuntu: lsb-release
|
698
673
|
ruby18:
|
699
|
-
gentoo:
|
700
|
-
- dev-lang/ruby:1.8
|
701
674
|
debian,ubuntu:
|
702
675
|
- ruby1.8-dev
|
703
676
|
- ruby1.8
|
704
677
|
- rubygems1.8
|
705
678
|
- ri1.8
|
706
679
|
- libopenssl-ruby1.8
|
680
|
+
gentoo:
|
681
|
+
- dev-lang/ruby:1.8
|
707
682
|
ruby19:
|
708
683
|
debian:
|
709
684
|
squeeze,sid:
|
@@ -714,96 +689,135 @@ ruby19:
|
|
714
689
|
- ruby1.9.1
|
715
690
|
- ruby1.9.1-dev
|
716
691
|
- rubygems1.9.1
|
717
|
-
arch:
|
718
|
-
- ruby
|
719
|
-
gentoo:
|
720
|
-
- dev-lang/ruby:1.9
|
721
692
|
ubuntu:
|
722
693
|
- ruby1.9.1
|
723
694
|
- ruby1.9.1-dev
|
724
695
|
- rubygems1.9.1
|
725
696
|
- ri1.9.1
|
726
697
|
- libopenssl-ruby1.9.1
|
698
|
+
gentoo:
|
699
|
+
- dev-lang/ruby:1.9
|
700
|
+
arch:
|
701
|
+
- ruby
|
702
|
+
rdoc: gem
|
703
|
+
build-essential:
|
704
|
+
debian,ubuntu: build-essential
|
705
|
+
gentoo:
|
706
|
+
arch:
|
707
|
+
libxml2:
|
708
|
+
debian,ubuntu: libxml2-dev
|
709
|
+
gentoo: dev-libs/libxml2
|
710
|
+
arch: libxml2
|
711
|
+
libxslt:
|
712
|
+
debian,ubuntu: libxslt1-dev
|
713
|
+
gentoo: dev-libs/libxslt
|
714
|
+
arch: libxslt
|
715
|
+
zlib:
|
716
|
+
debian,ubuntu: zlib1g-dev
|
717
|
+
autobuild: gem
|
718
|
+
autoproj: gem
|
727
719
|
git:
|
728
|
-
arch: git
|
729
|
-
gentoo: dev-vcs/git
|
730
720
|
debian,ubuntu: git-core
|
721
|
+
gentoo: dev-vcs/git
|
722
|
+
arch: git
|
723
|
+
svn:
|
724
|
+
debian,ubuntu: subversion
|
725
|
+
gentoo: dev-util/subversion
|
726
|
+
arch: subversion
|
731
727
|
cmake:
|
732
|
-
arch: cmake
|
733
|
-
gentoo: dev-util/cmake
|
734
728
|
debian,ubuntu: cmake
|
735
|
-
|
729
|
+
gentoo: dev-util/cmake
|
730
|
+
arch: cmake
|
731
|
+
autotools:
|
732
|
+
debian,ubuntu:
|
733
|
+
- automake1.9
|
734
|
+
- autoconf
|
735
|
+
gentoo:
|
736
|
+
- sys-devel/automake:1.9
|
737
|
+
- sys-devel/autoconf
|
738
|
+
arch: automake autoconf
|
739
|
+
lsb_release:
|
740
|
+
debian,ubuntu: lsb-release
|
741
|
+
gentoo: sys-apps/lsb-release
|
736
742
|
arch:
|
743
|
+
archive:
|
744
|
+
debian,ubuntu:
|
745
|
+
- tar
|
746
|
+
- unzip
|
737
747
|
gentoo:
|
738
|
-
|
739
|
-
|
740
|
-
arch:
|
741
|
-
|
742
|
-
|
743
|
-
rdoc: gem
|
748
|
+
- app-arch/tar
|
749
|
+
- app-arch/unzip
|
750
|
+
arch:
|
751
|
+
- tar
|
752
|
+
- unzip
|
744
753
|
|
745
754
|
EODEFS
|
746
755
|
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
therefore have to let you install the packages yourself.
|
756
|
+
if ENV['AUTOPROJ_AUTOMATIC_OSDEPS']
|
757
|
+
automatic_osdeps = ENV['AUTOPROJ_AUTOMATIC_OSDEPS']
|
758
|
+
else
|
759
|
+
operating_system = Autoproj::OSDependencies.operating_system
|
760
|
+
if !operating_system
|
761
|
+
puts <<-EOT
|
754
762
|
|
755
|
-
|
756
|
-
|
763
|
+
autoproj is usually able to handle the installation of operating system packages
|
764
|
+
himself. However, it does not know about your operating system, and will
|
765
|
+
therefore have to let you install the packages yourself.
|
757
766
|
|
758
|
-
|
759
|
-
|
760
|
-
'yes', it will make sure that the RubyGems are installed himself, but it will
|
761
|
-
assume that you took care of the other packages. If you answer 'wait', it will
|
762
|
-
not install anything but will wait for you to press ENTER each time some
|
763
|
-
external software is needed. Finally, if you answer 'ask', it will ask you each
|
764
|
-
time what it should do when there is something to install
|
767
|
+
It can still install the RubyGems packages that are required by the built
|
768
|
+
packages.
|
765
769
|
|
766
|
-
|
770
|
+
If you answer 'no' to the following question, autoproj will always go on,
|
771
|
+
assuming that all the required dependencies are already installed. If you answer
|
772
|
+
'yes', it will make sure that the RubyGems are installed himself, but it will
|
773
|
+
assume that you took care of the other packages. If you answer 'wait', it will
|
774
|
+
not install anything but will wait for you to press ENTER each time some
|
775
|
+
external software is needed. Finally, if you answer 'ask', it will ask you each
|
776
|
+
time what it should do when there is something to install
|
767
777
|
|
768
|
-
|
769
|
-
STDOUT.flush
|
770
|
-
else
|
771
|
-
# Before doing *anything*, we have to ask the user if he wants us to install
|
772
|
-
# the osdeps ...
|
773
|
-
puts <<-EOT
|
774
|
-
|
775
|
-
autoproj is able to handle the installation of operating system packages
|
776
|
-
himself. This functionality will use 'sudo' to gain root access each time
|
777
|
-
it is needed.
|
778
|
-
|
779
|
-
If you answer 'no' to the following question, autoproj will go on, assuming that
|
780
|
-
all the required dependencies are already installed. If you answer 'yes', it
|
781
|
-
will make sure that they are installed himself. If you answer 'wait', it will
|
782
|
-
not install anything but wait for you to press ENTER each time some external
|
783
|
-
software is needed. Finally, if you answer 'ask', it will ask you what it
|
784
|
-
should do each time there is something to install.
|
785
|
-
|
786
|
-
EOT
|
787
|
-
print "Should autoproj install OS packages automatically (yes, no, wait or ask) ? [yes] "
|
788
|
-
STDOUT.flush
|
789
|
-
end
|
778
|
+
EOT
|
790
779
|
|
791
|
-
|
792
|
-
|
793
|
-
answer = STDIN.readline.chomp
|
794
|
-
if answer == ''
|
795
|
-
automatic_osdeps = true
|
796
|
-
elsif answer == "no"
|
797
|
-
automatic_osdeps = false
|
798
|
-
elsif answer == 'ask'
|
799
|
-
automatic_osdeps = :ask
|
800
|
-
elsif answer == 'yes'
|
801
|
-
automatic_osdeps = true
|
780
|
+
print "How should autoproj install RubyGems packages automatically (yes, no, wait or ask) ? [yes] "
|
781
|
+
STDOUT.flush
|
802
782
|
else
|
803
|
-
|
783
|
+
# Before doing *anything*, we have to ask the user if he wants us to install
|
784
|
+
# the osdeps ...
|
785
|
+
puts <<-EOT
|
786
|
+
|
787
|
+
autoproj is able to handle the installation of operating system packages
|
788
|
+
himself. This functionality will use 'sudo' to gain root access each time
|
789
|
+
it is needed.
|
790
|
+
|
791
|
+
If you answer 'no' to the following question, autoproj will go on, assuming that
|
792
|
+
all the required dependencies are already installed. If you answer 'yes', it
|
793
|
+
will make sure that they are installed himself. If you answer 'wait', it will
|
794
|
+
not install anything but wait for you to press ENTER each time some external
|
795
|
+
software is needed. Finally, if you answer 'ask', it will ask you what it
|
796
|
+
should do each time there is something to install.
|
797
|
+
|
798
|
+
EOT
|
799
|
+
print "Should autoproj install OS packages automatically (yes, no, wait or ask) ? [yes] "
|
804
800
|
STDOUT.flush
|
805
801
|
end
|
802
|
+
|
803
|
+
automatic_osdeps = nil
|
804
|
+
while automatic_osdeps.nil?
|
805
|
+
answer = STDIN.readline.chomp
|
806
|
+
if answer == ''
|
807
|
+
automatic_osdeps = true
|
808
|
+
elsif answer == "no"
|
809
|
+
automatic_osdeps = false
|
810
|
+
elsif answer == 'ask'
|
811
|
+
automatic_osdeps = :ask
|
812
|
+
elsif answer == 'yes'
|
813
|
+
automatic_osdeps = true
|
814
|
+
else
|
815
|
+
print "invalid answer. Please answer with 'yes', 'no' or 'ask' "
|
816
|
+
STDOUT.flush
|
817
|
+
end
|
818
|
+
end
|
806
819
|
end
|
820
|
+
|
807
821
|
Autoproj.config['automatic_osdeps'] =
|
808
822
|
automatic_osdeps
|
809
823
|
|
@@ -823,32 +837,35 @@ rescue Autoproj::ConfigError => e
|
|
823
837
|
end
|
824
838
|
|
825
839
|
# Now try to find out the name of the gem binary
|
826
|
-
PACKAGES = %w{rdoc libxml2 libxslt zlib build-essential lsb_release}
|
827
|
-
USER_PACKAGES = %w{autoproj}
|
840
|
+
PACKAGES = %w{rdoc autobuild libxml2 libxslt zlib build-essential lsb_release}
|
828
841
|
|
829
842
|
ENV['RUBYOPT'] = "-rubygems"
|
830
843
|
require 'rubygems'
|
831
844
|
|
832
|
-
|
833
|
-
|
845
|
+
osdeps_management = Autoproj::OSDependencies.new(YAML.load(DEFS))
|
846
|
+
STDERR.puts "autoproj: installing autoproj and its dependencies (this can take a long time)"
|
847
|
+
# First install the dependencies of autoproj, as we don't want them to be
|
848
|
+
# affected by the prerelease flag
|
834
849
|
begin
|
835
|
-
osdeps_management
|
836
|
-
STDERR.puts "autoproj: installing autoproj and its dependencies (this can take a long time)"
|
837
|
-
osdeps_management.install(packages)
|
850
|
+
osdeps_management.install(PACKAGES)
|
838
851
|
rescue Autoproj::ConfigError => e
|
839
852
|
STDERR.puts "failed: #{e.message}"
|
840
853
|
exit(1)
|
841
854
|
end
|
842
855
|
|
856
|
+
# If the user specifies "dev" on the command line, install the prerelease
|
857
|
+
# version of autoproj
|
843
858
|
if ARGV.first == "dev"
|
844
859
|
Autoproj::OSDependencies.gem_with_prerelease = true
|
860
|
+
ARGV.shift
|
845
861
|
end
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
STDERR.puts "
|
850
|
-
exit
|
862
|
+
begin
|
863
|
+
osdeps_management.install('autoproj')
|
864
|
+
rescue Autoproj::ConfigError => e
|
865
|
+
STDERR.puts "failed: #{e.message}"
|
866
|
+
exit(1)
|
851
867
|
end
|
868
|
+
Autoproj::OSDependencies.gem_with_prerelease = false
|
852
869
|
|
853
870
|
File.open('env.sh', 'w') do |io|
|
854
871
|
io.write <<-EOSHELL
|
@@ -858,15 +875,9 @@ export PATH=$GEM_HOME/bin:$PATH
|
|
858
875
|
EOSHELL
|
859
876
|
end
|
860
877
|
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
WARNING: autoproj will not work until your restart all
|
868
|
-
your consoles, or run the following in them:
|
869
|
-
$ source #{Dir.pwd}/env.sh
|
870
|
-
|
871
|
-
EOTEXT
|
878
|
+
ENV['AUTOPROJ_AUTOMATIC_OSDEPS'] = automatic_osdeps.to_s
|
879
|
+
if !system('autoproj', 'bootstrap', *ARGV)
|
880
|
+
STDERR.puts "ERROR: failed to run autoproj bootstrap #{ARGV.join(", ")}"
|
881
|
+
exit 1
|
882
|
+
end
|
872
883
|
|
data/lib/autoproj/cmdline.rb
CHANGED
@@ -496,6 +496,7 @@ OS dependencies through autoproj.
|
|
496
496
|
end
|
497
497
|
|
498
498
|
def self.manifest; Autoproj.manifest end
|
499
|
+
def self.bootstrap?; !!@bootstrap end
|
499
500
|
def self.only_status?; !!@only_status end
|
500
501
|
def self.check?; !!@check end
|
501
502
|
def self.manifest_update?; !!@manifest_update end
|
@@ -665,8 +666,18 @@ where 'mode' is one of:
|
|
665
666
|
end
|
666
667
|
|
667
668
|
def self.handle_mode(mode, remaining_args)
|
669
|
+
case mode
|
670
|
+
when "update-sets"
|
671
|
+
Autoproj.warn("update-sets is deprecated. Use update-config instead")
|
672
|
+
mode = "update-config"
|
673
|
+
when "list-sets"
|
674
|
+
Autoproj.warn("list-sets is deprecated. Use list-config instead")
|
675
|
+
mode = "list-config"
|
676
|
+
end
|
677
|
+
|
668
678
|
case mode
|
669
679
|
when "bootstrap"
|
680
|
+
@bootstrap = true
|
670
681
|
bootstrap(*remaining_args)
|
671
682
|
remaining_args.clear
|
672
683
|
|
@@ -674,6 +685,7 @@ where 'mode' is one of:
|
|
674
685
|
Autobuild.do_build = false
|
675
686
|
Autobuild.do_update = false
|
676
687
|
@update_os_dependencies = false
|
688
|
+
@only_config = true
|
677
689
|
|
678
690
|
when "switch-config"
|
679
691
|
# We must switch to the root dir first, as it is required by the
|
@@ -731,13 +743,7 @@ where 'mode' is one of:
|
|
731
743
|
Autobuild.do_update = true
|
732
744
|
@update_os_dependencies = false
|
733
745
|
Autobuild.do_build = false
|
734
|
-
when "
|
735
|
-
Autoproj.warn("update-sets is deprecated. Use update-config instead")
|
736
|
-
@only_config = true
|
737
|
-
Autobuild.do_update = true
|
738
|
-
@update_os_dependencies = false
|
739
|
-
Autobuild.do_build = false
|
740
|
-
when "list", "list-sets"
|
746
|
+
when "list-config"
|
741
747
|
@only_config = true
|
742
748
|
@display_configuration = true
|
743
749
|
Autobuild.do_update = false
|
@@ -960,11 +966,14 @@ manifest_source:
|
|
960
966
|
end
|
961
967
|
Autobuild.logdir = File.join('build', 'log')
|
962
968
|
|
963
|
-
# Check if
|
964
|
-
#
|
965
|
-
#
|
966
|
-
|
967
|
-
|
969
|
+
# Check if GEM_HOME is set. If it is the case, assume that we are
|
970
|
+
# bootstrapping from another installation directory and start by
|
971
|
+
# copying the .gems directory
|
972
|
+
#
|
973
|
+
# We don't use Autoproj.gem_home there as we might not be in an
|
974
|
+
# autoproj directory at all
|
975
|
+
if ENV['GEM_HOME'] && Autoproj.in_autoproj_installation?(ENV['GEM_HOME']) &&
|
976
|
+
ENV['GEM_HOME'] != ENV['AUTOPROJ_GEM_HOME']
|
968
977
|
Autoproj.progress "autoproj: reusing bootstrap from #{File.dirname(ENV['GEM_HOME'])}"
|
969
978
|
FileUtils.cp_r ENV['GEM_HOME'], ".gems"
|
970
979
|
ENV['GEM_HOME'] = File.join(Dir.pwd, ".gems")
|
@@ -1005,22 +1014,11 @@ manifest_source:
|
|
1005
1014
|
# Finally, generate an env.sh script
|
1006
1015
|
File.open('env.sh', 'w') do |io|
|
1007
1016
|
io.write <<-EOSHELL
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1017
|
+
export RUBYOPT=-rubygems
|
1018
|
+
export GEM_HOME=#{Autoproj.gem_home}
|
1019
|
+
export PATH=$GEM_HOME/bin:$PATH
|
1011
1020
|
EOSHELL
|
1012
1021
|
end
|
1013
|
-
|
1014
|
-
Autoproj.progress <<EOTEXT
|
1015
|
-
|
1016
|
-
add the following line at the bottom of your .bashrc:
|
1017
|
-
source #{Dir.pwd}/env.sh
|
1018
|
-
|
1019
|
-
WARNING: autoproj will not work until your restart all
|
1020
|
-
your consoles, or run the following in them:
|
1021
|
-
$ source #{Dir.pwd}/env.sh
|
1022
|
-
|
1023
|
-
EOTEXT
|
1024
1022
|
end
|
1025
1023
|
|
1026
1024
|
def self.missing_dependencies(pkg)
|
data/lib/autoproj/system.rb
CHANGED
@@ -1,12 +1,19 @@
|
|
1
1
|
module Autoproj
|
2
2
|
class UserError < RuntimeError; end
|
3
3
|
|
4
|
+
# Returns true if +path+ is part of an autoproj installation
|
5
|
+
def self.in_autoproj_installation?(path)
|
6
|
+
root_dir(File.expand_path(path))
|
7
|
+
true
|
8
|
+
rescue UserError
|
9
|
+
false
|
10
|
+
end
|
11
|
+
|
4
12
|
# Returns the root directory of the current autoproj installation.
|
5
13
|
#
|
6
14
|
# If the current directory is not in an autoproj installation,
|
7
15
|
# raises UserError.
|
8
|
-
def self.root_dir
|
9
|
-
dir = Dir.pwd
|
16
|
+
def self.root_dir(dir = Dir.pwd)
|
10
17
|
while dir != "/" && !File.directory?(File.join(dir, "autoproj"))
|
11
18
|
dir = File.dirname(dir)
|
12
19
|
end
|
data/lib/autoproj/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autoproj
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 977940587
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 6
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 1.6.0.
|
10
|
+
- rc6
|
11
|
+
version: 1.6.0.rc6
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Sylvain Joyeux
|