summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/lsnetdrake
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/lsnetdrake')
-rwxr-xr-xperl-install/standalone/lsnetdrake29
1 files changed, 29 insertions, 0 deletions
diff --git a/perl-install/standalone/lsnetdrake b/perl-install/standalone/lsnetdrake
new file mode 100755
index 000000000..39d8d3337
--- /dev/null
+++ b/perl-install/standalone/lsnetdrake
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+use lib qw(/usr/lib/libDrakX);
+use standalone;
+use fs::remote::nfs;
+use fs::remote::smb;
+use MDK::Common::Func qw(if_);
+#use interactive; # if we'd want lsnetdrake to install missing pkgs
+
+"@ARGV" =~ /-h/ and die "usage: lsnetdrake [-h] [--nfs] [--smb]\n";
+
+my $nfs = !@ARGV || "@ARGV" =~ /-(nfs)/;
+my $smb = !@ARGV || "@ARGV" =~ /-(smb)/;
+
+$| = 1;
+$ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}";
+
+foreach my $class (if_($nfs, fs::remote::nfs->new), if_($smb, fs::remote::smb->new)) {
+ #$class->check(interactive->vnew) if -t *STDIN && -t *STDOUT; # Only if tty. TO DO IN INTERACTIVE-vnew instead?t
+ foreach my $server (sort_names(eval { $class->find_servers })) {
+ foreach (sort_names(eval { $class->find_exports($server) })) {
+ print $class->to_fullstring($_), "\n";
+ }
+ }
+}
+
+sub sort_names {
+ sort { $a->{name} cmp $b->{name} } @_;
+}