svn commit: r489743 - in head/multimedia/libdvdread: . files
Ganael LAPLANCHE
martymac at FreeBSD.org
Tue Jan 8 21:50:23 UTC 2019
Author: martymac
Date: Tue Jan 8 21:50:21 2019
New Revision: 489743
URL: https://svnweb.freebsd.org/changeset/ports/489743
Log:
Use statfs(2) instead of getfsfile(3) to get device name from a mount point.
PR: 234694
Submitted by: tijl
Added:
head/multimedia/libdvdread/files/patch-src-dvd_reader.c (contents, props changed)
Modified:
head/multimedia/libdvdread/Makefile
head/multimedia/libdvdread/distinfo
Modified: head/multimedia/libdvdread/Makefile
==============================================================================
--- head/multimedia/libdvdread/Makefile Tue Jan 8 21:42:57 2019 (r489742)
+++ head/multimedia/libdvdread/Makefile Tue Jan 8 21:50:21 2019 (r489743)
@@ -3,6 +3,7 @@
PORTNAME= libdvdread
PORTVERSION= 6.0.0
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= http://download.videolan.org/pub/videolan/libdvdread/${PORTVERSION}/ \
http://dvdnav.mplayerhq.hu/releases/ \
Modified: head/multimedia/libdvdread/distinfo
==============================================================================
--- head/multimedia/libdvdread/distinfo Tue Jan 8 21:42:57 2019 (r489742)
+++ head/multimedia/libdvdread/distinfo Tue Jan 8 21:50:21 2019 (r489743)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1516309125
+TIMESTAMP = 1546990033
SHA256 (libdvdread-6.0.0.tar.bz2) = b33b1953b4860545b75f6efc06e01d9849e2ea4f797652263b0b4af6dd10f935
SIZE (libdvdread-6.0.0.tar.bz2) = 394627
Added: head/multimedia/libdvdread/files/patch-src-dvd_reader.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/multimedia/libdvdread/files/patch-src-dvd_reader.c Tue Jan 8 21:50:21 2019 (r489743)
@@ -0,0 +1,50 @@
+Use statfs() instead of getfsfile() to get device name from a mount point.
+
+(getfsfile() requires an entry in the fstab file which is often not the case
+for removable media)
+
+--- src/dvd_reader.c.orig 2018-01-17 21:35:39 UTC
++++ src/dvd_reader.c
+@@ -64,7 +64,7 @@ static inline int _private_gettimeofday( struct timeva
+ # include <sys/ucred.h>
+ # include <sys/mount.h>
+ #elif defined(SYS_BSD)
+-# include <fstab.h>
++# include <sys/mount.h>
+ #elif defined(__linux__)
+ # include <mntent.h>
+ # include <paths.h>
+@@ -420,7 +420,7 @@ static dvd_reader_t *DVDOpenCommon( const char *ppath,
+ } else if( S_ISDIR( fileinfo.st_mode ) ) {
+ dvd_reader_t *auth_drive = 0;
+ #if defined(SYS_BSD)
+- struct fstab* fe;
++ struct statfs fs;
+ #elif defined(__sun) || defined(__linux__)
+ FILE *mntfile;
+ #endif
+@@ -511,14 +511,16 @@ static dvd_reader_t *DVDOpenCommon( const char *ppath,
+ }
+ }
+ #elif defined(SYS_BSD)
+- if( ( fe = getfsfile( path_copy ) ) ) {
+- dev_name = bsd_block2char( fe->fs_spec );
+- fprintf( stderr,
+- "libdvdread: Attempting to use device %s"
+- " mounted on %s for CSS authentication\n",
+- dev_name,
+- fe->fs_file );
+- auth_drive = DVDOpenImageFile( dev_name, NULL, NULL, have_css );
++ if( statfs( path_copy, &fs ) == 0 ) {
++ if( !strcmp( path_copy, fs.f_mntonname ) ) {
++ dev_name = bsd_block2char( fs.f_mntfromname );
++ fprintf( stderr,
++ "libdvdread: Attempting to use device %s"
++ " mounted on %s for CSS authentication\n",
++ dev_name,
++ fs.f_mntonname );
++ auth_drive = DVDOpenImageFile( dev_name, NULL, NULL, have_css );
++ }
+ }
+ #elif defined(__sun)
+ mntfile = fopen( MNTTAB, "r" );
More information about the svn-ports-head
mailing list