ports/125579: [PATCH] sysutils/vobcopy should not fail if /etc/mtab does not exist

Fabian Keil fk at fabiankeil.de
Sun Jul 13 18:30:10 UTC 2008


>Number:         125579
>Category:       ports
>Synopsis:       [PATCH] sysutils/vobcopy should not fail if /etc/mtab does not exist
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jul 13 18:30:09 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Fabian Keil
>Release:        CURRENT
>Organization:
>Environment:
FreeBSD TP51.local 8.0-CURRENT FreeBSD 8.0-CURRENT #25: Fri Jun 27 17:43:17 CEST 2008     fk at TP51.local:/usr/obj/usr/src/sys/THINKPAD  i386
>Description:
On my system vobcopy fails to work if /etc/mtab doesn't exist.
"touch /etc/mtab" works around the problem but is hardly an
acceptable solution.

The real problem seems to be that the FreeBSD-specific code in
dvd.c's get_device() isn't active. It's wrapped in:
#if ( defined( USE_STATFS_FOR_DEV ) || defined( USE_STATVFS_FOR_DEV ) ) 
which is false.

The attached patch makes it true by defining USE_STATFS_FOR_DEV.


I'm wondering if the port's modifications have been send
upstream as suggested in: 
http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/dads-freedback.html

I get the impression that this is a regression that might
have been prevented if upstream was aware of the port's needs.
>How-To-Repeat:
fk at TP51 /tank/test $vobcopy -m -i /cdrom/
[Hint] You use -i. Normally this is not necessary, vobcopy finds the input dir by itself. This option is only there if vobcopy makes trouble.
[Hint] If vobcopy makes trouble, please mail me so that I can fix this (robos at muon.de). Thanks
Vobcopy 1.1.0 - GPL Copyright (c) 2001 - 2007 robos at muon.de
[Hint] All lines starting with "libdvdread:" are not from vobcopy but from the libdvdread-library
[Error] Could not read /etc/mtab!
[Error] error: No such file or directory
[Error] Could not get the device which belongs to the given path!

>Fix:


Patch attached with submission follows:

diff -u -ruN .zfs/snapshot/2008-07-03/sysutils/vobcopy/Makefile sysutils/vobcopy/Makefile
--- .zfs/snapshot/2008-07-03/sysutils/vobcopy/Makefile	2008-05-18 16:43:33.503534326 +0200
+++ sysutils/vobcopy/Makefile	2008-07-03 19:12:34.314115371 +0200
@@ -7,6 +7,7 @@
 
 PORTNAME=	vobcopy
 PORTVERSION=	1.1.1
+PORTREVISION=	1
 CATEGORIES=	sysutils
 MASTER_SITES=	http://vobcopy.org/download/ \
 		CRITICAL
diff -u -ruN .zfs/snapshot/2008-07-03/sysutils/vobcopy/files/patch-vobcopy.h sysutils/vobcopy/files/patch-vobcopy.h
--- .zfs/snapshot/2008-07-03/sysutils/vobcopy/files/patch-vobcopy.h	2008-05-06 10:49:02.431135422 +0200
+++ sysutils/vobcopy/files/patch-vobcopy.h	2008-07-03 19:17:22.669983450 +0200
@@ -1,5 +1,5 @@
--- vobcopy.h.orig       2008-04-13 14:01:03.000000000 +0000
-+++ vobcopy.h   2008-04-13 14:08:18.000000000 +0000
+--- vobcopy.h.orig	2008-02-19 06:27:04.000000000 +0100
++++ vobcopy.h	2008-07-03 17:04:11.890928512 +0200
 @@ -58,7 +58,7 @@
  /* //////////  *BSD //////////  */
  #if ( defined( BSD ) && ( BSD >= 199306 ) )
@@ -9,7 +9,7 @@
         ( defined( __NetBSD__) && ( __NetBSD_Version__ < 200040000 ) )
  #include <sys/mount.h>
  #define USE_STATFS 1
-@@ -87,12 +87,13 @@
+@@ -87,12 +87,14 @@
  #define GETMNTINFO_USES_STATVFS
 
  #    endif
@@ -18,6 +18,7 @@
 -#  else
 -
 +#if defined(__FreeBSD__)
++#define USE_STATFS_FOR_DEV
 +#include <sys/statvfs.h>
 +#else
  #include <sys/vfs.h>


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list