if ($defaultrepo =~ /:/) {
# HTTP or SSH
$defaultrepo_base = $defaultrepo;
- $defaultrepo_base =~ s#/ghc$##;
+ $defaultrepo_base =~ s#/[^/]+/?$##;
$defaultrepo_lib = "$defaultrepo_base/packages";
}
elsif ($defaultrepo =~ /^\//) {
- # Local filesystem (assumes a checked-out tree):
+ # Local filesystem, absolute path (assumes a checked-out tree):
+ $defaultrepo_base = $defaultrepo;
+ $defaultrepo_lib = "$defaultrepo/libraries";
+}
+elsif ($defaultrepo =~ /^..\//) {
+ # Local filesystem, relative path (assumes a checked-out tree):
$defaultrepo_base = $defaultrepo;
$defaultrepo_lib = "$defaultrepo/libraries";
}
die "Couldn't work out defaultrepo";
}
-my $verbose = 1;
+my $verbose = 2;
my $ignore_failure = 0;
# --extra says we grab the extra libs with 'get'. It has no effect on
# the other commands.
my $extra = 0;
-# --complete gets passed onto darcs get
-my $complete = 0;
# --nofib/--testsuite tell get to also grab the respective repos.
# They have no effect on the other commands.
my $nofib = 0;
my $testsuite = 0;
sub message {
- if ($verbose) {
+ if ($verbose >= 2) {
print "@_\n";
}
}
sub warning {
- print "warning: @_\n";
+ if ($verbose >= 1) {
+ print "warning: @_\n";
+ }
}
sub darcs {
message "== $dir not present or not a repository; skipping";
}
}
- for my $pkg (`cat libraries/core-packages libraries/extra-packages`) {
+ for my $pkg (`cat libraries/boot-packages libraries/extra-packages`) {
chomp $pkg;
if (-d "libraries/$pkg") {
darcs (@_, "--repodir", "libraries/$pkg");
sub darcsget {
my $r_flags;
- if (! $complete && ! grep /(?:--complete|--partial)/, @_) {
+ if (! grep /(?:--complete|--partial)/, @_) {
warning("adding --partial, to override use --complete");
$r_flags = [@_, "--partial"];
}
my @packages;
if ($extra) {
- @packages = `cat core-packages extra-packages`;
+ @packages = `cat boot-packages extra-packages`;
}
else {
- @packages = `cat core-packages`;
+ @packages = `cat boot-packages`;
}
for my $pkg (@packages) {
# We handle -q here as well as lower down as we need to skip over it
# if it comes before the darcs command
if ($arg eq "-q") {
- $verbose = 0;
+ $verbose = 1;
}
- elsif ($arg eq "--complete") {
- $complete = 1;
+ elsif ($arg eq "-s") {
+ $verbose = 0;
}
elsif ($arg eq "--extra") {
$extra = 1;
else {
unshift @_, $arg;
if (grep /^-q$/, @_) {
- $verbose = 0;
+ $verbose = 1;
}
last;
}