ports/109111: [PATCH] audio/amarok: Fix detection of msdosfs/vfat

Bartosz Fabianowski freebsd at chillt.de
Mon Feb 12 23:30:18 UTC 2007


>Number:         109111
>Category:       ports
>Synopsis:       [PATCH] audio/amarok: Fix detection of msdosfs/vfat
>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:   Mon Feb 12 23:30:17 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Bartosz Fabianowski
>Release:        6-STABLE
>Organization:
>Environment:
FreeBSD takahe.local 6.2-STABLE FreeBSD 6.2-STABLE #0: Thu Feb  1 01:39:42 GMT 2007     root at takahe.local:/usr/obj/usr/src/sys/TAKAHE  i386

>Description:
The patch by Daniel O'Connor committed to audio/amarok on 18th January and included in Amarok's 1.4.5 release that was supposed to fix FAT file system detection on FreeBSD actually breaks it in some cases. When a FAT partition is mounted via fstab entry or mount_msdosfs, KMountPoint may report its type as "msdosfs". However, when mounting through HAL and media:/ (the officially supported method of mounting removable drives under KDE), the file system type KMountPoint is "vfat", even under FreeBSD. Thus, Daniel's patch fixes the detection of manually mounted FAT partitions but breaks the probably more common case of mounting through HAL. The attached patch fixes this behavior by flagging both "msdosfs" and "vfat" as FAT.

The upstream bug report is: http://bugs.kde.org/show_bug.cgi?id=141614
>How-To-Repeat:
* Mount a removable FAT partition (thumb drive, MP3 player) through media:/
* Attempt to transfer a fine named for example "test:file.mp3" to the drive using Amarok
>Fix:
Drop the following patch into /usr/ports/audio/amarok/files:


--- amarok/src/mediadevice/generic/genericmediadevice.cpp.orig	Mon Feb 12 23:01:20 2007
+++ amarok/src/mediadevice/generic/genericmediadevice.cpp	Mon Feb 12 23:01:29 2007
@@ -418,13 +418,7 @@
         if( m_medium.mountPoint() == (*mountiter)->mountPoint() )
             m_medium.setFsType( (*mountiter)->mountType() );
     }
-    m_actuallyVfat = m_medium.fsType() == 
-#ifdef __FreeBSD__
-        "msdosfs"
-#else
-        "vfat" 
-#endif
-        ? true : false;
+    m_actuallyVfat = (m_medium.fsType() == "vfat" || m_medium.fsType() == "msdosfs") ? true : false;
     m_connected = true;
     m_transferDir = m_medium.mountPoint();
     m_initialFile = new GenericMediaFile( 0, m_medium.mountPoint(), this );

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



More information about the freebsd-ports-bugs mailing list