diff options
Diffstat (limited to 'perl-install/standalone/lsnetdrake')
| -rwxr-xr-x | perl-install/standalone/lsnetdrake | 29 |
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} } @_; +} |
