perkeep/dev-cammount
Brad Fitzpatrick 8d307d3e16 dev-cammount: make it start up again. needs auth env now.
Change-Id: If829a09f3fddee69ffb3839dfd8d0891e0862239
2013-02-06 21:56:44 -08:00

38 lines
906 B
Perl
Executable File

#!/usr/bin/perl
use strict;
use FindBin qw($Bin);
use Getopt::Long;
require "$Bin/misc/devlib.pl";
my @blobref_arg;
if (@ARGV) {
my $blobref = shift;
unless ($blobref && $blobref =~ /^\w+-[0-9a-f]{10,}$/) {
die "Usage: dev-cammount [<blobref>]\n";
}
push @blobref_arg, $blobref;
}
my $cammount = build_bin("./cmd/cammount");
my $dir = "/tmp/cammount-dir";
mkdir $dir, 0700 unless -d $dir;
try_unmount();
print "Mounting on $dir ...\n";
$ENV{"CAMLI_AUTH"} = "userpass:camlistore:pass3179";
system("$cammount", "--server=http://localhost:3179/bs", $dir, @blobref_arg)
and warn "cammount failure: $!\n";
warn "Failed to unmount\n" unless try_unmount();
sub try_unmount {
if ($^O eq "linux" && system("fusermount", "-u", $dir) == 0) {
return 1;
}
return 1 if system("umount", $dir) == 0;
return 1 if system("umount", "-f", $dir) == 0;
return 0;
}