dvd::rip

->ABOUT / NEWS

->DOCUMENTATION
-TABLE OF CONTENTS
-INSTALLATION
-USING THE GUI
-CLUSTER MODE
-FAQ

->KEY FEATURES

->DOWNLOAD

->SUPPORT

->TRANSLATIONS

->MAILING LIST
-SEARCH ARCHIVE

->CHANGE LOG

->CREDITS

->TODO

->LINKS

http://www.exit1.org/


[dvd::rip] mount problem

Subject: [dvd::rip] mount problem
From: Daniel Köster <dk@xxxxxxx>
Date: Thu, 24 Sep 2009 08:11:11 +0200
Hello,

I have had similar problems to other users related to mounting the DVD before copying IFO files. Typical error messages in the log file were

"WARNING: no IFO files found - vobsub feature disabled."

or

"Umount {mount_point}: Usage: umount [-hV]
       umount -a [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]
       umount [-f] [-r] [-n] [-v] special | node..."

when trying to umount some bogus directory.

I traced the issue to faulty code in Project.pm, where symbolic link mount points in /etc/fstab are not properly resolved. Attached is a patch to Project.pm with a suggested fix. Comments welcome!

Cheers,
Daniel
*** Project.pm  2007-03-10 10:55:35.000000000 +0100
--- /usr/share/perl5/Video/DVDRip/Project.pm    2009-09-24 07:31:39.000000000 
+0200
***************
*** 328,334 ****
  
      require File::Spec;
  
!     my %symlinks = ( $file => 1 );
  
      while ( -l $file ) {
          my $link_target = readlink($file);
--- 328,334 ----
  
      require File::Spec;
  
!     my $symlinks = $file;
  
      while ( -l $file ) {
          my $link_target = readlink($file);
***************
*** 339,363 ****
          else {
              $file = $link_target;
          }
!         $symlinks{$file} = 1;
      }
  
!     return \%symlinks;
  }
  
  sub get_mount_dir_from_mtab {
      my $self = shift;
      my ( $dvd_device, $mtab_file ) = @_;
  
!     my $symlinks_href = $self->resolve_symlinks($dvd_device);
! 
      open( my $fh, $mtab_file )
          or die "can't read $mtab_file";
  
      my $mount_dir;
!     while ( my $line = <$fh> ) {
!         my ( $device, $dir ) = split( /\s+/, $line );
!         if ( $symlinks_href->{$device} ) {
              $mount_dir = $dir;
              last;
          }
--- 339,369 ----
          else {
              $file = $link_target;
          }
!         $symlinks = $file;
      }
  
!     return $symlinks;
  }
  
  sub get_mount_dir_from_mtab {
      my $self = shift;
      my ( $dvd_device, $mtab_file ) = @_;
  
!     my $device_href = $self->resolve_symlinks($dvd_device);
!     
      open( my $fh, $mtab_file )
          or die "can't read $mtab_file";
  
      my $mount_dir;
!     my $line;
!     my $mtab_device;
!     my $dir;
!     my $mtab_device_href;
! 
!     while ($line = <$fh> ) {
!         ( $mtab_device, $dir ) = split( /\s+/, $line );
!       $mtab_device_href = $self->resolve_symlinks($mtab_device);
!         if ( $mtab_device_href eq $device_href ) {
              $mount_dir = $dir;
              last;
          }
***************
*** 441,447 ****
      my $dvd_mount_point = $self->dvd_mount_point;
  
      $self->log(
!         __x("Mounting DVD at {mount_point}",
              mount_point => $dvd_mount_point
          )
      );
--- 447,453 ----
      my $dvd_mount_point = $self->dvd_mount_point;
  
      $self->log(
!         __x("DVD does not appear to be mounted, mounting DVD at 
'$dvd_mount_point'",
              mount_point => $dvd_mount_point
          )
      );
***************
*** 473,479 ****
      $mount ||= "Ok";
  
      $self->log(
!         __x( "Umount {mount_point}: ", mount_point => $dvd_mount_point )
              . $mount );
  
      1;
--- 479,485 ----
      $mount ||= "Ok";
  
      $self->log(
!         __x( "Umount '$dvd_mount_point': ", mount_point => $dvd_mount_point )
              . $mount );
  
      1;
<Prev in Thread] Current Thread [Next in Thread>
  • [dvd::rip] mount problem, Daniel Köster <=
 

Archive powered by MHonArc. Search powered by ht://dig.

[ top ]