Skip to content

Commit

Permalink
implement "pb switch" command.
Browse files Browse the repository at this point in the history
  • Loading branch information
gugod committed Feb 27, 2010
1 parent 4bf75f3 commit 206d4ae
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion bin/pb
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,14 @@ sub run_command_init {
"$ENV{HOME}/.pb/perls",
"$ENV{HOME}/.pb/dists",
"$ENV{HOME}/.pb/build",
"$ENV{HOME}/.pb/etc"
"$ENV{HOME}/.pb/etc",
"$ENV{HOME}/.pb/bin"
);

system <<RC;
echo 'export PATH=$ENV{HOME}/.pb/perls/bin:$ENV{HOME}/.pb/perls/current/bin:\${PATH}' > $ENV{HOME}/.pb/etc/bashrc
RC

print "Perl Environmet Initiated";
}

Expand Down Expand Up @@ -71,6 +77,18 @@ sub run_command_install {
}
}

sub run_command_switch {
my ($self, $dist) = @_;
die "${dist} is not installed\n" unless -d "$ENV{HOME}/.pb/perls/${dist}";
my ($dist_name, $dist_version) = $dist =~ m/^(.*)-([\d.]+)$/;
unlink "$ENV{HOME}/.pb/perls/current";
system "cd $ENV{HOME}/.pb/perls; ln -s $dist current";
for my $executable (<$ENV{HOME}/.pb/perls/current/bin/*${dist_version}>) {
my ($name) = $executable =~ m/bin\/(.+)${dist_version}/;
system("ln -fs $executable $ENV{HOME}/.pb/bin/${name}");
}
}

package main;
App::perlbrew->run_command(@ARGV);

Expand Down

0 comments on commit 206d4ae

Please sign in to comment.