From e387e24faa576987379b6d5b9da4dd054a9d7589 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 7 May 2013 04:06:20 +0200 Subject: [PATCH] Move MIME DB creation from build_haiku_image to jam build system * build_haiku_image: Remove MIME DB creation code. * Rename beos_mime source directory to mime_db. * Add rules to build the MIME DB in the source directory's jamfile. * Add MIME DB directory to haiku.hpkg in data/mime_db. --- build/jam/packages/Haiku | 4 + build/scripts/build_haiku_image | 53 --------- src/data/Jamfile | 1 + src/data/mime_db/Jamfile | 107 ++++++++++++++++++ .../{beos_mime => mime_db}/application.super | 0 .../{beos_mime => mime_db}/application/msword | 0 .../{beos_mime => mime_db}/application/ogg | 0 .../{beos_mime => mime_db}/application/pdf | 0 .../application/postscript | 0 .../application/vnd.ms-excel | 0 .../application/vnd.ms-powerpoint | 0 .../application/vnd.ms-works | 0 .../application/x-7z-compressed | 0 .../application/x-bfs-image | 0 .../application/x-bittorrent | 0 .../application/x-bzip2 | 0 .../application/x-cd-image | 0 .../application/x-font-ttf | 0 .../{beos_mime => mime_db}/application/x-gzip | 0 .../application/x-lharc | 0 .../application/x-msaccess | 0 .../application/x-person | 0 .../{beos_mime => mime_db}/application/x-rar | 0 .../application/x-scode-upkg | 0 .../{beos_mime => mime_db}/application/x-tar | 0 .../application/x-vnd.be-bookmark | 0 .../application/x-vnd.be-directory | 0 .../application/x-vnd.be-elfexecutable | 0 .../application/x-vnd.be-query | 0 .../application/x-vnd.be-querytemplate | 0 .../application/x-vnd.be-symlink | 0 .../application/x-vnd.be-volume | 0 .../application/x-vnd.be.url.beshare | 0 .../application/x-vnd.be.url.file | 0 .../application/x-vnd.be.url.finger | 0 .../application/x-vnd.be.url.ftp | 0 .../application/x-vnd.be.url.gopher | 0 .../application/x-vnd.be.url.http | 0 .../application/x-vnd.be.url.https | 0 .../application/x-vnd.be.url.mailto | 0 .../application/x-vnd.be.url.mms | 0 .../application/x-vnd.be.url.news | 0 .../application/x-vnd.be.url.nfs | 0 .../application/x-vnd.be.url.query | 0 .../application/x-vnd.be.url.rsync | 0 .../application/x-vnd.be.url.rtp | 0 .../application/x-vnd.be.url.rtsp | 0 .../application/x-vnd.be.url.sftp | 0 .../application/x-vnd.be.url.ssh | 0 .../application/x-vnd.be.url.telnet | 0 .../application/x-vnd.haiku-icon | 0 .../{beos_mime => mime_db}/application/x-xar | 0 .../{beos_mime => mime_db}/application/x-xz | 0 .../{beos_mime => mime_db}/application/zip | 0 src/data/{beos_mime => mime_db}/audio.super | 0 src/data/{beos_mime => mime_db}/audio/ac3 | 0 src/data/{beos_mime => mime_db}/audio/basic | 0 src/data/{beos_mime => mime_db}/audio/mid | 0 src/data/{beos_mime => mime_db}/audio/midi | 0 src/data/{beos_mime => mime_db}/audio/mp4 | 0 src/data/{beos_mime => mime_db}/audio/mpeg | 0 src/data/{beos_mime => mime_db}/audio/ogg | 0 src/data/{beos_mime => mime_db}/audio/x-aiff | 0 src/data/{beos_mime => mime_db}/audio/x-ape | 0 src/data/{beos_mime => mime_db}/audio/x-flac | 0 .../{beos_mime => mime_db}/audio/x-matroska | 0 src/data/{beos_mime => mime_db}/audio/x-mdx | 0 .../{beos_mime => mime_db}/audio/x-musepack | 0 src/data/{beos_mime => mime_db}/audio/x-wav | 0 src/data/{beos_mime => mime_db}/image.super | 0 src/data/{beos_mime => mime_db}/image/bmp | 0 src/data/{beos_mime => mime_db}/image/gif | 0 src/data/{beos_mime => mime_db}/image/icns | 0 src/data/{beos_mime => mime_db}/image/jp2 | 0 src/data/{beos_mime => mime_db}/image/jpeg | 0 src/data/{beos_mime => mime_db}/image/png | 0 src/data/{beos_mime => mime_db}/image/sgi | 0 src/data/{beos_mime => mime_db}/image/svg+xml | 0 src/data/{beos_mime => mime_db}/image/tiff | 0 .../image/vnd.microsoft.icon | 0 src/data/{beos_mime => mime_db}/image/webp | 0 src/data/{beos_mime => mime_db}/image/x-pcx | 0 .../image/x-portable-pixmap | 0 src/data/{beos_mime => mime_db}/image/x-targa | 0 src/data/{beos_mime => mime_db}/image/x-wpg | 0 src/data/{beos_mime => mime_db}/message.super | 0 .../{beos_mime => mime_db}/message/rfc822 | 0 .../{beos_mime => mime_db}/multipart.super | 0 src/data/{beos_mime => mime_db}/text.super | 0 src/data/{beos_mime => mime_db}/text/calendar | 0 src/data/{beos_mime => mime_db}/text/css | 0 src/data/{beos_mime => mime_db}/text/csv | 0 src/data/{beos_mime => mime_db}/text/html | 0 src/data/{beos_mime => mime_db}/text/plain | 0 src/data/{beos_mime => mime_db}/text/rtf | 0 src/data/{beos_mime => mime_db}/text/x-email | 0 .../text/x-partial-email | 0 src/data/{beos_mime => mime_db}/text/x-patch | 0 .../{beos_mime => mime_db}/text/x-source-code | 0 src/data/{beos_mime => mime_db}/text/x-url | 0 src/data/{beos_mime => mime_db}/text/x-vcard | 0 .../text/x-vnd.be.resourcedef | 0 src/data/{beos_mime => mime_db}/text/xml | 0 src/data/{beos_mime => mime_db}/video.super | 0 src/data/{beos_mime => mime_db}/video/3gpp | 0 src/data/{beos_mime => mime_db}/video/3gpp2 | 0 src/data/{beos_mime => mime_db}/video/dv | 0 src/data/{beos_mime => mime_db}/video/mp2t | 0 src/data/{beos_mime => mime_db}/video/mp4 | 0 src/data/{beos_mime => mime_db}/video/mpeg | 0 src/data/{beos_mime => mime_db}/video/ogg | 0 .../{beos_mime => mime_db}/video/quicktime | 0 src/data/{beos_mime => mime_db}/video/x-flv | 0 .../{beos_mime => mime_db}/video/x-matroska | 0 .../{beos_mime => mime_db}/video/x-ms-asf | 0 .../{beos_mime => mime_db}/video/x-msvideo | 0 src/data/{beos_mime => mime_db}/video/x-rmvb | 0 117 files changed, 112 insertions(+), 53 deletions(-) create mode 100644 src/data/mime_db/Jamfile rename src/data/{beos_mime => mime_db}/application.super (100%) rename src/data/{beos_mime => mime_db}/application/msword (100%) rename src/data/{beos_mime => mime_db}/application/ogg (100%) rename src/data/{beos_mime => mime_db}/application/pdf (100%) rename src/data/{beos_mime => mime_db}/application/postscript (100%) rename src/data/{beos_mime => mime_db}/application/vnd.ms-excel (100%) rename src/data/{beos_mime => mime_db}/application/vnd.ms-powerpoint (100%) rename src/data/{beos_mime => mime_db}/application/vnd.ms-works (100%) rename src/data/{beos_mime => mime_db}/application/x-7z-compressed (100%) rename src/data/{beos_mime => mime_db}/application/x-bfs-image (100%) rename src/data/{beos_mime => mime_db}/application/x-bittorrent (100%) rename src/data/{beos_mime => mime_db}/application/x-bzip2 (100%) rename src/data/{beos_mime => mime_db}/application/x-cd-image (100%) rename src/data/{beos_mime => mime_db}/application/x-font-ttf (100%) rename src/data/{beos_mime => mime_db}/application/x-gzip (100%) rename src/data/{beos_mime => mime_db}/application/x-lharc (100%) rename src/data/{beos_mime => mime_db}/application/x-msaccess (100%) rename src/data/{beos_mime => mime_db}/application/x-person (100%) rename src/data/{beos_mime => mime_db}/application/x-rar (100%) rename src/data/{beos_mime => mime_db}/application/x-scode-upkg (100%) rename src/data/{beos_mime => mime_db}/application/x-tar (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be-bookmark (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be-directory (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be-elfexecutable (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be-query (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be-querytemplate (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be-symlink (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be-volume (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.beshare (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.file (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.finger (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.ftp (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.gopher (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.http (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.https (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.mailto (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.mms (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.news (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.nfs (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.query (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.rsync (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.rtp (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.rtsp (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.sftp (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.ssh (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.be.url.telnet (100%) rename src/data/{beos_mime => mime_db}/application/x-vnd.haiku-icon (100%) rename src/data/{beos_mime => mime_db}/application/x-xar (100%) rename src/data/{beos_mime => mime_db}/application/x-xz (100%) rename src/data/{beos_mime => mime_db}/application/zip (100%) rename src/data/{beos_mime => mime_db}/audio.super (100%) rename src/data/{beos_mime => mime_db}/audio/ac3 (100%) rename src/data/{beos_mime => mime_db}/audio/basic (100%) rename src/data/{beos_mime => mime_db}/audio/mid (100%) rename src/data/{beos_mime => mime_db}/audio/midi (100%) rename src/data/{beos_mime => mime_db}/audio/mp4 (100%) rename src/data/{beos_mime => mime_db}/audio/mpeg (100%) rename src/data/{beos_mime => mime_db}/audio/ogg (100%) rename src/data/{beos_mime => mime_db}/audio/x-aiff (100%) rename src/data/{beos_mime => mime_db}/audio/x-ape (100%) rename src/data/{beos_mime => mime_db}/audio/x-flac (100%) rename src/data/{beos_mime => mime_db}/audio/x-matroska (100%) rename src/data/{beos_mime => mime_db}/audio/x-mdx (100%) rename src/data/{beos_mime => mime_db}/audio/x-musepack (100%) rename src/data/{beos_mime => mime_db}/audio/x-wav (100%) rename src/data/{beos_mime => mime_db}/image.super (100%) rename src/data/{beos_mime => mime_db}/image/bmp (100%) rename src/data/{beos_mime => mime_db}/image/gif (100%) rename src/data/{beos_mime => mime_db}/image/icns (100%) rename src/data/{beos_mime => mime_db}/image/jp2 (100%) rename src/data/{beos_mime => mime_db}/image/jpeg (100%) rename src/data/{beos_mime => mime_db}/image/png (100%) rename src/data/{beos_mime => mime_db}/image/sgi (100%) rename src/data/{beos_mime => mime_db}/image/svg+xml (100%) rename src/data/{beos_mime => mime_db}/image/tiff (100%) rename src/data/{beos_mime => mime_db}/image/vnd.microsoft.icon (100%) rename src/data/{beos_mime => mime_db}/image/webp (100%) rename src/data/{beos_mime => mime_db}/image/x-pcx (100%) rename src/data/{beos_mime => mime_db}/image/x-portable-pixmap (100%) rename src/data/{beos_mime => mime_db}/image/x-targa (100%) rename src/data/{beos_mime => mime_db}/image/x-wpg (100%) rename src/data/{beos_mime => mime_db}/message.super (100%) rename src/data/{beos_mime => mime_db}/message/rfc822 (100%) rename src/data/{beos_mime => mime_db}/multipart.super (100%) rename src/data/{beos_mime => mime_db}/text.super (100%) rename src/data/{beos_mime => mime_db}/text/calendar (100%) rename src/data/{beos_mime => mime_db}/text/css (100%) rename src/data/{beos_mime => mime_db}/text/csv (100%) rename src/data/{beos_mime => mime_db}/text/html (100%) rename src/data/{beos_mime => mime_db}/text/plain (100%) rename src/data/{beos_mime => mime_db}/text/rtf (100%) rename src/data/{beos_mime => mime_db}/text/x-email (100%) rename src/data/{beos_mime => mime_db}/text/x-partial-email (100%) rename src/data/{beos_mime => mime_db}/text/x-patch (100%) rename src/data/{beos_mime => mime_db}/text/x-source-code (100%) rename src/data/{beos_mime => mime_db}/text/x-url (100%) rename src/data/{beos_mime => mime_db}/text/x-vcard (100%) rename src/data/{beos_mime => mime_db}/text/x-vnd.be.resourcedef (100%) rename src/data/{beos_mime => mime_db}/text/xml (100%) rename src/data/{beos_mime => mime_db}/video.super (100%) rename src/data/{beos_mime => mime_db}/video/3gpp (100%) rename src/data/{beos_mime => mime_db}/video/3gpp2 (100%) rename src/data/{beos_mime => mime_db}/video/dv (100%) rename src/data/{beos_mime => mime_db}/video/mp2t (100%) rename src/data/{beos_mime => mime_db}/video/mp4 (100%) rename src/data/{beos_mime => mime_db}/video/mpeg (100%) rename src/data/{beos_mime => mime_db}/video/ogg (100%) rename src/data/{beos_mime => mime_db}/video/quicktime (100%) rename src/data/{beos_mime => mime_db}/video/x-flv (100%) rename src/data/{beos_mime => mime_db}/video/x-matroska (100%) rename src/data/{beos_mime => mime_db}/video/x-ms-asf (100%) rename src/data/{beos_mime => mime_db}/video/x-msvideo (100%) rename src/data/{beos_mime => mime_db}/video/x-rmvb (100%) diff --git a/build/jam/packages/Haiku b/build/jam/packages/Haiku index 46cc640737..304485ca0d 100644 --- a/build/jam/packages/Haiku +++ b/build/jam/packages/Haiku @@ -352,6 +352,10 @@ AddFilesToPackage add-ons disk_systems : intel gpt bfs ntfs ; +# the MIME DB +CopyDirectoryToPackage data : mime_db : : : isTarget ; + + # optional # TODO: We should probably build another package (including the data files # above) that can be installed, if desired. diff --git a/build/scripts/build_haiku_image b/build/scripts/build_haiku_image index d1b3091fae..df4b085305 100755 --- a/build/scripts/build_haiku_image +++ b/build/scripts/build_haiku_image @@ -295,59 +295,6 @@ for packageFile in $packages; do done -# install MIME database -# TODO: It should be possible to do that in the build system too. - -if [ ! $updateOnly ]; then - mimeDBSource=$sourceDir/src/data/beos_mime - mimeDBDest=${tPrefix}home/config/settings/beos_mime - - echo "Deleting old MIME database ..." - - $rm -rf $mimeDBDest - $mkdir -p $mimeDBDest - mimeTmpDir=$tmpDir/mime - mimeDBTmpDir=$tmpDir/mime/db - mimeTmpIndex=0 - mimeTmpFile=$mimeTmpDir/mimedb$$.rsrc - - # create tmp dir for the MIME conversion stuff - mkdir -p $mimeDBTmpDir - - echo "Installing MIME database ..." - - for inSuperFile in $mimeDBSource/*.super; do - superType=$(basename $inSuperFile .super) - tmpSuperDir=$mimeDBTmpDir/$superType - - # compile rdef to rsrc file and the rsrc file to attributes - $rc -o $mimeTmpFile $inSuperFile - mkdir -p $tmpSuperDir - $resattr -O -o $tmpSuperDir $mimeTmpFile - $rmAttrs $mimeTmpFile - - # iterate through the sub types - for inSubFile in $mimeDBSource/$superType/*; do - # check, if the type exists - if test -f $inSubFile && grep META:TYPE $inSubFile > /dev/null 2>&1 ; then - subType=$(basename $inSubFile) - tmpSubFile=$mimeDBTmpDir/$superType/$subType - - # compile rdef to rsrc file and the rsrc file to attributes - $rc -o $mimeTmpFile $inSubFile - $resattr -O -o $tmpSubFile $mimeTmpFile - $rmAttrs $mimeTmpFile - fi - done - done - - $cp -r ${sPrefix}$mimeDBTmpDir/. $mimeDBDest - - # cleanup tmp dir - $rmAttrs -rf $mimeTmpDir -fi # ! updateOnly - - # add the concatenated copyrights as an attribute to AboutSystem # TODO: That might not be necessary, when all third-party software everything # is packaged. Though we might not package everything. diff --git a/src/data/Jamfile b/src/data/Jamfile index ff8475313b..96c7908d13 100644 --- a/src/data/Jamfile +++ b/src/data/Jamfile @@ -2,4 +2,5 @@ SubDir HAIKU_TOP src data ; HaikuSubInclude etc ; HaikuSubInclude keymaps ; +HaikuSubInclude mime_db ; HaikuSubInclude settings ; diff --git a/src/data/mime_db/Jamfile b/src/data/mime_db/Jamfile new file mode 100644 index 0000000000..d35cb722e9 --- /dev/null +++ b/src/data/mime_db/Jamfile @@ -0,0 +1,107 @@ +SubDir HAIKU_TOP src data mime_db ; + + +rule BuildMimeDB superTypes +{ + local mimeDB = mime_db ; + MakeLocateCommonPlatform $(mimeDB) ; + + # make the supertypes + local compiledSuperTypes ; + local superType ; + for superType in $(superTypes) { + local compiledSuperType = $(superType:S=.rsrc:G=mimedb-super) ; + ResComp $(compiledSuperType) : $(superType) ; + compiledSuperTypes += $(compiledSuperType) ; + } + + Depends $(mimeDB) : resattr $(compiledSuperTypes) ; + BuildMimeDBSuperTypes $(mimeDB) : resattr $(compiledSuperTypes) ; + + # make the subtypes for each supertype + for superType in $(superTypes) { + local subTypes = [ on $(superType) return $(HAIKU_MIMEDB_SUBTYPES) ] ; + local compiledSubTypes ; + for subType in $(subTypes) { + local compiledSubType = $(subType:BS).rsrc ; + # Note: The subtype name may contain '.'s. Hence we cannot use + # ":S=.rsrc". + compiledSubType = $(compiledSubType:G=mimedb-sub-$(superType:B)) ; + ResComp $(compiledSubType) : $(subType) ; + MakeLocate $(compiledSubType) + : [ FDirName $(COMMON_PLATFORM_LOCATE_TARGET) $(superType:B) ] ; + # need to relocate to avoid clashes between equally named + # subtypes of different supertypes + compiledSubTypes += $(compiledSubType) ; + } + + if $(compiledSubTypes) { + Depends $(mimeDB) : $(superType) $(compiledSubTypes) ; + BuildMimeDBSubTypes $(mimeDB) + : resattr $(superType) $(compiledSubTypes) ; + } + } +} + + +actions BuildMimeDBSuperTypes +{ + $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) + + # remove and re-create the directory + baseDirectory="$(1)" + $(RM) -rf "$baseDirectory" + mkdir "$baseDirectory" + + resattr="$(2[1])" + + for sourceFile in "$(2[2-])" ; do + type=`basename "$sourceFile" .rsrc` + targetDirectory="$baseDirectory/$type" + mkdir "$targetDirectory" + "$resattr" -O -o "$targetDirectory" "$sourceFile" + done +} + + +actions BuildMimeDBSubTypes +{ + $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) + + resattr="$(2[1])" + superType=`basename "$(2[2])" .super` + superTypeDirectory="$(1)/$superType" + + for sourceFile in "$(2[3-])" ; do + type=`basename "$sourceFile" .rsrc` + targetFile="$superTypeDirectory/$type" + "$resattr" -O -o "$targetFile" "$sourceFile" + done +} + + +# glob the supertype source files +local superTypeFiles = [ Glob $(SUBDIR) : *.super ] ; +superTypeFiles = $(superTypeFiles:BSG=mimedb) ; +SEARCH on $(superTypeFiles) = $(SUBDIR) ; + +# for each supertype glob the subtype source files +local superType ; +for superTypeFile in $(superTypeFiles) { + local superTypeDirectory = [ FDirName $(SUBDIR) $(superTypeFile:B) ] ; + local subTypeFiles = [ Glob $(superTypeDirectory) : * ] ; + + local subTypes ; + local subType ; + for subType in $(subTypeFiles:BS) { + if $(subType) != "." && $(subType) != ".." { + subType = $(subType:G=mimedb-sub) ; + SEARCH on $(subType) = $(superTypeDirectory) ; + subTypes += $(subType) ; + } + } + + HAIKU_MIMEDB_SUBTYPES on $(superTypeFile) = $(subTypes) ; +} + +BuildMimeDB $(superTypeFiles) ; diff --git a/src/data/beos_mime/application.super b/src/data/mime_db/application.super similarity index 100% rename from src/data/beos_mime/application.super rename to src/data/mime_db/application.super diff --git a/src/data/beos_mime/application/msword b/src/data/mime_db/application/msword similarity index 100% rename from src/data/beos_mime/application/msword rename to src/data/mime_db/application/msword diff --git a/src/data/beos_mime/application/ogg b/src/data/mime_db/application/ogg similarity index 100% rename from src/data/beos_mime/application/ogg rename to src/data/mime_db/application/ogg diff --git a/src/data/beos_mime/application/pdf b/src/data/mime_db/application/pdf similarity index 100% rename from src/data/beos_mime/application/pdf rename to src/data/mime_db/application/pdf diff --git a/src/data/beos_mime/application/postscript b/src/data/mime_db/application/postscript similarity index 100% rename from src/data/beos_mime/application/postscript rename to src/data/mime_db/application/postscript diff --git a/src/data/beos_mime/application/vnd.ms-excel b/src/data/mime_db/application/vnd.ms-excel similarity index 100% rename from src/data/beos_mime/application/vnd.ms-excel rename to src/data/mime_db/application/vnd.ms-excel diff --git a/src/data/beos_mime/application/vnd.ms-powerpoint b/src/data/mime_db/application/vnd.ms-powerpoint similarity index 100% rename from src/data/beos_mime/application/vnd.ms-powerpoint rename to src/data/mime_db/application/vnd.ms-powerpoint diff --git a/src/data/beos_mime/application/vnd.ms-works b/src/data/mime_db/application/vnd.ms-works similarity index 100% rename from src/data/beos_mime/application/vnd.ms-works rename to src/data/mime_db/application/vnd.ms-works diff --git a/src/data/beos_mime/application/x-7z-compressed b/src/data/mime_db/application/x-7z-compressed similarity index 100% rename from src/data/beos_mime/application/x-7z-compressed rename to src/data/mime_db/application/x-7z-compressed diff --git a/src/data/beos_mime/application/x-bfs-image b/src/data/mime_db/application/x-bfs-image similarity index 100% rename from src/data/beos_mime/application/x-bfs-image rename to src/data/mime_db/application/x-bfs-image diff --git a/src/data/beos_mime/application/x-bittorrent b/src/data/mime_db/application/x-bittorrent similarity index 100% rename from src/data/beos_mime/application/x-bittorrent rename to src/data/mime_db/application/x-bittorrent diff --git a/src/data/beos_mime/application/x-bzip2 b/src/data/mime_db/application/x-bzip2 similarity index 100% rename from src/data/beos_mime/application/x-bzip2 rename to src/data/mime_db/application/x-bzip2 diff --git a/src/data/beos_mime/application/x-cd-image b/src/data/mime_db/application/x-cd-image similarity index 100% rename from src/data/beos_mime/application/x-cd-image rename to src/data/mime_db/application/x-cd-image diff --git a/src/data/beos_mime/application/x-font-ttf b/src/data/mime_db/application/x-font-ttf similarity index 100% rename from src/data/beos_mime/application/x-font-ttf rename to src/data/mime_db/application/x-font-ttf diff --git a/src/data/beos_mime/application/x-gzip b/src/data/mime_db/application/x-gzip similarity index 100% rename from src/data/beos_mime/application/x-gzip rename to src/data/mime_db/application/x-gzip diff --git a/src/data/beos_mime/application/x-lharc b/src/data/mime_db/application/x-lharc similarity index 100% rename from src/data/beos_mime/application/x-lharc rename to src/data/mime_db/application/x-lharc diff --git a/src/data/beos_mime/application/x-msaccess b/src/data/mime_db/application/x-msaccess similarity index 100% rename from src/data/beos_mime/application/x-msaccess rename to src/data/mime_db/application/x-msaccess diff --git a/src/data/beos_mime/application/x-person b/src/data/mime_db/application/x-person similarity index 100% rename from src/data/beos_mime/application/x-person rename to src/data/mime_db/application/x-person diff --git a/src/data/beos_mime/application/x-rar b/src/data/mime_db/application/x-rar similarity index 100% rename from src/data/beos_mime/application/x-rar rename to src/data/mime_db/application/x-rar diff --git a/src/data/beos_mime/application/x-scode-upkg b/src/data/mime_db/application/x-scode-upkg similarity index 100% rename from src/data/beos_mime/application/x-scode-upkg rename to src/data/mime_db/application/x-scode-upkg diff --git a/src/data/beos_mime/application/x-tar b/src/data/mime_db/application/x-tar similarity index 100% rename from src/data/beos_mime/application/x-tar rename to src/data/mime_db/application/x-tar diff --git a/src/data/beos_mime/application/x-vnd.be-bookmark b/src/data/mime_db/application/x-vnd.be-bookmark similarity index 100% rename from src/data/beos_mime/application/x-vnd.be-bookmark rename to src/data/mime_db/application/x-vnd.be-bookmark diff --git a/src/data/beos_mime/application/x-vnd.be-directory b/src/data/mime_db/application/x-vnd.be-directory similarity index 100% rename from src/data/beos_mime/application/x-vnd.be-directory rename to src/data/mime_db/application/x-vnd.be-directory diff --git a/src/data/beos_mime/application/x-vnd.be-elfexecutable b/src/data/mime_db/application/x-vnd.be-elfexecutable similarity index 100% rename from src/data/beos_mime/application/x-vnd.be-elfexecutable rename to src/data/mime_db/application/x-vnd.be-elfexecutable diff --git a/src/data/beos_mime/application/x-vnd.be-query b/src/data/mime_db/application/x-vnd.be-query similarity index 100% rename from src/data/beos_mime/application/x-vnd.be-query rename to src/data/mime_db/application/x-vnd.be-query diff --git a/src/data/beos_mime/application/x-vnd.be-querytemplate b/src/data/mime_db/application/x-vnd.be-querytemplate similarity index 100% rename from src/data/beos_mime/application/x-vnd.be-querytemplate rename to src/data/mime_db/application/x-vnd.be-querytemplate diff --git a/src/data/beos_mime/application/x-vnd.be-symlink b/src/data/mime_db/application/x-vnd.be-symlink similarity index 100% rename from src/data/beos_mime/application/x-vnd.be-symlink rename to src/data/mime_db/application/x-vnd.be-symlink diff --git a/src/data/beos_mime/application/x-vnd.be-volume b/src/data/mime_db/application/x-vnd.be-volume similarity index 100% rename from src/data/beos_mime/application/x-vnd.be-volume rename to src/data/mime_db/application/x-vnd.be-volume diff --git a/src/data/beos_mime/application/x-vnd.be.url.beshare b/src/data/mime_db/application/x-vnd.be.url.beshare similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.beshare rename to src/data/mime_db/application/x-vnd.be.url.beshare diff --git a/src/data/beos_mime/application/x-vnd.be.url.file b/src/data/mime_db/application/x-vnd.be.url.file similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.file rename to src/data/mime_db/application/x-vnd.be.url.file diff --git a/src/data/beos_mime/application/x-vnd.be.url.finger b/src/data/mime_db/application/x-vnd.be.url.finger similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.finger rename to src/data/mime_db/application/x-vnd.be.url.finger diff --git a/src/data/beos_mime/application/x-vnd.be.url.ftp b/src/data/mime_db/application/x-vnd.be.url.ftp similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.ftp rename to src/data/mime_db/application/x-vnd.be.url.ftp diff --git a/src/data/beos_mime/application/x-vnd.be.url.gopher b/src/data/mime_db/application/x-vnd.be.url.gopher similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.gopher rename to src/data/mime_db/application/x-vnd.be.url.gopher diff --git a/src/data/beos_mime/application/x-vnd.be.url.http b/src/data/mime_db/application/x-vnd.be.url.http similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.http rename to src/data/mime_db/application/x-vnd.be.url.http diff --git a/src/data/beos_mime/application/x-vnd.be.url.https b/src/data/mime_db/application/x-vnd.be.url.https similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.https rename to src/data/mime_db/application/x-vnd.be.url.https diff --git a/src/data/beos_mime/application/x-vnd.be.url.mailto b/src/data/mime_db/application/x-vnd.be.url.mailto similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.mailto rename to src/data/mime_db/application/x-vnd.be.url.mailto diff --git a/src/data/beos_mime/application/x-vnd.be.url.mms b/src/data/mime_db/application/x-vnd.be.url.mms similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.mms rename to src/data/mime_db/application/x-vnd.be.url.mms diff --git a/src/data/beos_mime/application/x-vnd.be.url.news b/src/data/mime_db/application/x-vnd.be.url.news similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.news rename to src/data/mime_db/application/x-vnd.be.url.news diff --git a/src/data/beos_mime/application/x-vnd.be.url.nfs b/src/data/mime_db/application/x-vnd.be.url.nfs similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.nfs rename to src/data/mime_db/application/x-vnd.be.url.nfs diff --git a/src/data/beos_mime/application/x-vnd.be.url.query b/src/data/mime_db/application/x-vnd.be.url.query similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.query rename to src/data/mime_db/application/x-vnd.be.url.query diff --git a/src/data/beos_mime/application/x-vnd.be.url.rsync b/src/data/mime_db/application/x-vnd.be.url.rsync similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.rsync rename to src/data/mime_db/application/x-vnd.be.url.rsync diff --git a/src/data/beos_mime/application/x-vnd.be.url.rtp b/src/data/mime_db/application/x-vnd.be.url.rtp similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.rtp rename to src/data/mime_db/application/x-vnd.be.url.rtp diff --git a/src/data/beos_mime/application/x-vnd.be.url.rtsp b/src/data/mime_db/application/x-vnd.be.url.rtsp similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.rtsp rename to src/data/mime_db/application/x-vnd.be.url.rtsp diff --git a/src/data/beos_mime/application/x-vnd.be.url.sftp b/src/data/mime_db/application/x-vnd.be.url.sftp similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.sftp rename to src/data/mime_db/application/x-vnd.be.url.sftp diff --git a/src/data/beos_mime/application/x-vnd.be.url.ssh b/src/data/mime_db/application/x-vnd.be.url.ssh similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.ssh rename to src/data/mime_db/application/x-vnd.be.url.ssh diff --git a/src/data/beos_mime/application/x-vnd.be.url.telnet b/src/data/mime_db/application/x-vnd.be.url.telnet similarity index 100% rename from src/data/beos_mime/application/x-vnd.be.url.telnet rename to src/data/mime_db/application/x-vnd.be.url.telnet diff --git a/src/data/beos_mime/application/x-vnd.haiku-icon b/src/data/mime_db/application/x-vnd.haiku-icon similarity index 100% rename from src/data/beos_mime/application/x-vnd.haiku-icon rename to src/data/mime_db/application/x-vnd.haiku-icon diff --git a/src/data/beos_mime/application/x-xar b/src/data/mime_db/application/x-xar similarity index 100% rename from src/data/beos_mime/application/x-xar rename to src/data/mime_db/application/x-xar diff --git a/src/data/beos_mime/application/x-xz b/src/data/mime_db/application/x-xz similarity index 100% rename from src/data/beos_mime/application/x-xz rename to src/data/mime_db/application/x-xz diff --git a/src/data/beos_mime/application/zip b/src/data/mime_db/application/zip similarity index 100% rename from src/data/beos_mime/application/zip rename to src/data/mime_db/application/zip diff --git a/src/data/beos_mime/audio.super b/src/data/mime_db/audio.super similarity index 100% rename from src/data/beos_mime/audio.super rename to src/data/mime_db/audio.super diff --git a/src/data/beos_mime/audio/ac3 b/src/data/mime_db/audio/ac3 similarity index 100% rename from src/data/beos_mime/audio/ac3 rename to src/data/mime_db/audio/ac3 diff --git a/src/data/beos_mime/audio/basic b/src/data/mime_db/audio/basic similarity index 100% rename from src/data/beos_mime/audio/basic rename to src/data/mime_db/audio/basic diff --git a/src/data/beos_mime/audio/mid b/src/data/mime_db/audio/mid similarity index 100% rename from src/data/beos_mime/audio/mid rename to src/data/mime_db/audio/mid diff --git a/src/data/beos_mime/audio/midi b/src/data/mime_db/audio/midi similarity index 100% rename from src/data/beos_mime/audio/midi rename to src/data/mime_db/audio/midi diff --git a/src/data/beos_mime/audio/mp4 b/src/data/mime_db/audio/mp4 similarity index 100% rename from src/data/beos_mime/audio/mp4 rename to src/data/mime_db/audio/mp4 diff --git a/src/data/beos_mime/audio/mpeg b/src/data/mime_db/audio/mpeg similarity index 100% rename from src/data/beos_mime/audio/mpeg rename to src/data/mime_db/audio/mpeg diff --git a/src/data/beos_mime/audio/ogg b/src/data/mime_db/audio/ogg similarity index 100% rename from src/data/beos_mime/audio/ogg rename to src/data/mime_db/audio/ogg diff --git a/src/data/beos_mime/audio/x-aiff b/src/data/mime_db/audio/x-aiff similarity index 100% rename from src/data/beos_mime/audio/x-aiff rename to src/data/mime_db/audio/x-aiff diff --git a/src/data/beos_mime/audio/x-ape b/src/data/mime_db/audio/x-ape similarity index 100% rename from src/data/beos_mime/audio/x-ape rename to src/data/mime_db/audio/x-ape diff --git a/src/data/beos_mime/audio/x-flac b/src/data/mime_db/audio/x-flac similarity index 100% rename from src/data/beos_mime/audio/x-flac rename to src/data/mime_db/audio/x-flac diff --git a/src/data/beos_mime/audio/x-matroska b/src/data/mime_db/audio/x-matroska similarity index 100% rename from src/data/beos_mime/audio/x-matroska rename to src/data/mime_db/audio/x-matroska diff --git a/src/data/beos_mime/audio/x-mdx b/src/data/mime_db/audio/x-mdx similarity index 100% rename from src/data/beos_mime/audio/x-mdx rename to src/data/mime_db/audio/x-mdx diff --git a/src/data/beos_mime/audio/x-musepack b/src/data/mime_db/audio/x-musepack similarity index 100% rename from src/data/beos_mime/audio/x-musepack rename to src/data/mime_db/audio/x-musepack diff --git a/src/data/beos_mime/audio/x-wav b/src/data/mime_db/audio/x-wav similarity index 100% rename from src/data/beos_mime/audio/x-wav rename to src/data/mime_db/audio/x-wav diff --git a/src/data/beos_mime/image.super b/src/data/mime_db/image.super similarity index 100% rename from src/data/beos_mime/image.super rename to src/data/mime_db/image.super diff --git a/src/data/beos_mime/image/bmp b/src/data/mime_db/image/bmp similarity index 100% rename from src/data/beos_mime/image/bmp rename to src/data/mime_db/image/bmp diff --git a/src/data/beos_mime/image/gif b/src/data/mime_db/image/gif similarity index 100% rename from src/data/beos_mime/image/gif rename to src/data/mime_db/image/gif diff --git a/src/data/beos_mime/image/icns b/src/data/mime_db/image/icns similarity index 100% rename from src/data/beos_mime/image/icns rename to src/data/mime_db/image/icns diff --git a/src/data/beos_mime/image/jp2 b/src/data/mime_db/image/jp2 similarity index 100% rename from src/data/beos_mime/image/jp2 rename to src/data/mime_db/image/jp2 diff --git a/src/data/beos_mime/image/jpeg b/src/data/mime_db/image/jpeg similarity index 100% rename from src/data/beos_mime/image/jpeg rename to src/data/mime_db/image/jpeg diff --git a/src/data/beos_mime/image/png b/src/data/mime_db/image/png similarity index 100% rename from src/data/beos_mime/image/png rename to src/data/mime_db/image/png diff --git a/src/data/beos_mime/image/sgi b/src/data/mime_db/image/sgi similarity index 100% rename from src/data/beos_mime/image/sgi rename to src/data/mime_db/image/sgi diff --git a/src/data/beos_mime/image/svg+xml b/src/data/mime_db/image/svg+xml similarity index 100% rename from src/data/beos_mime/image/svg+xml rename to src/data/mime_db/image/svg+xml diff --git a/src/data/beos_mime/image/tiff b/src/data/mime_db/image/tiff similarity index 100% rename from src/data/beos_mime/image/tiff rename to src/data/mime_db/image/tiff diff --git a/src/data/beos_mime/image/vnd.microsoft.icon b/src/data/mime_db/image/vnd.microsoft.icon similarity index 100% rename from src/data/beos_mime/image/vnd.microsoft.icon rename to src/data/mime_db/image/vnd.microsoft.icon diff --git a/src/data/beos_mime/image/webp b/src/data/mime_db/image/webp similarity index 100% rename from src/data/beos_mime/image/webp rename to src/data/mime_db/image/webp diff --git a/src/data/beos_mime/image/x-pcx b/src/data/mime_db/image/x-pcx similarity index 100% rename from src/data/beos_mime/image/x-pcx rename to src/data/mime_db/image/x-pcx diff --git a/src/data/beos_mime/image/x-portable-pixmap b/src/data/mime_db/image/x-portable-pixmap similarity index 100% rename from src/data/beos_mime/image/x-portable-pixmap rename to src/data/mime_db/image/x-portable-pixmap diff --git a/src/data/beos_mime/image/x-targa b/src/data/mime_db/image/x-targa similarity index 100% rename from src/data/beos_mime/image/x-targa rename to src/data/mime_db/image/x-targa diff --git a/src/data/beos_mime/image/x-wpg b/src/data/mime_db/image/x-wpg similarity index 100% rename from src/data/beos_mime/image/x-wpg rename to src/data/mime_db/image/x-wpg diff --git a/src/data/beos_mime/message.super b/src/data/mime_db/message.super similarity index 100% rename from src/data/beos_mime/message.super rename to src/data/mime_db/message.super diff --git a/src/data/beos_mime/message/rfc822 b/src/data/mime_db/message/rfc822 similarity index 100% rename from src/data/beos_mime/message/rfc822 rename to src/data/mime_db/message/rfc822 diff --git a/src/data/beos_mime/multipart.super b/src/data/mime_db/multipart.super similarity index 100% rename from src/data/beos_mime/multipart.super rename to src/data/mime_db/multipart.super diff --git a/src/data/beos_mime/text.super b/src/data/mime_db/text.super similarity index 100% rename from src/data/beos_mime/text.super rename to src/data/mime_db/text.super diff --git a/src/data/beos_mime/text/calendar b/src/data/mime_db/text/calendar similarity index 100% rename from src/data/beos_mime/text/calendar rename to src/data/mime_db/text/calendar diff --git a/src/data/beos_mime/text/css b/src/data/mime_db/text/css similarity index 100% rename from src/data/beos_mime/text/css rename to src/data/mime_db/text/css diff --git a/src/data/beos_mime/text/csv b/src/data/mime_db/text/csv similarity index 100% rename from src/data/beos_mime/text/csv rename to src/data/mime_db/text/csv diff --git a/src/data/beos_mime/text/html b/src/data/mime_db/text/html similarity index 100% rename from src/data/beos_mime/text/html rename to src/data/mime_db/text/html diff --git a/src/data/beos_mime/text/plain b/src/data/mime_db/text/plain similarity index 100% rename from src/data/beos_mime/text/plain rename to src/data/mime_db/text/plain diff --git a/src/data/beos_mime/text/rtf b/src/data/mime_db/text/rtf similarity index 100% rename from src/data/beos_mime/text/rtf rename to src/data/mime_db/text/rtf diff --git a/src/data/beos_mime/text/x-email b/src/data/mime_db/text/x-email similarity index 100% rename from src/data/beos_mime/text/x-email rename to src/data/mime_db/text/x-email diff --git a/src/data/beos_mime/text/x-partial-email b/src/data/mime_db/text/x-partial-email similarity index 100% rename from src/data/beos_mime/text/x-partial-email rename to src/data/mime_db/text/x-partial-email diff --git a/src/data/beos_mime/text/x-patch b/src/data/mime_db/text/x-patch similarity index 100% rename from src/data/beos_mime/text/x-patch rename to src/data/mime_db/text/x-patch diff --git a/src/data/beos_mime/text/x-source-code b/src/data/mime_db/text/x-source-code similarity index 100% rename from src/data/beos_mime/text/x-source-code rename to src/data/mime_db/text/x-source-code diff --git a/src/data/beos_mime/text/x-url b/src/data/mime_db/text/x-url similarity index 100% rename from src/data/beos_mime/text/x-url rename to src/data/mime_db/text/x-url diff --git a/src/data/beos_mime/text/x-vcard b/src/data/mime_db/text/x-vcard similarity index 100% rename from src/data/beos_mime/text/x-vcard rename to src/data/mime_db/text/x-vcard diff --git a/src/data/beos_mime/text/x-vnd.be.resourcedef b/src/data/mime_db/text/x-vnd.be.resourcedef similarity index 100% rename from src/data/beos_mime/text/x-vnd.be.resourcedef rename to src/data/mime_db/text/x-vnd.be.resourcedef diff --git a/src/data/beos_mime/text/xml b/src/data/mime_db/text/xml similarity index 100% rename from src/data/beos_mime/text/xml rename to src/data/mime_db/text/xml diff --git a/src/data/beos_mime/video.super b/src/data/mime_db/video.super similarity index 100% rename from src/data/beos_mime/video.super rename to src/data/mime_db/video.super diff --git a/src/data/beos_mime/video/3gpp b/src/data/mime_db/video/3gpp similarity index 100% rename from src/data/beos_mime/video/3gpp rename to src/data/mime_db/video/3gpp diff --git a/src/data/beos_mime/video/3gpp2 b/src/data/mime_db/video/3gpp2 similarity index 100% rename from src/data/beos_mime/video/3gpp2 rename to src/data/mime_db/video/3gpp2 diff --git a/src/data/beos_mime/video/dv b/src/data/mime_db/video/dv similarity index 100% rename from src/data/beos_mime/video/dv rename to src/data/mime_db/video/dv diff --git a/src/data/beos_mime/video/mp2t b/src/data/mime_db/video/mp2t similarity index 100% rename from src/data/beos_mime/video/mp2t rename to src/data/mime_db/video/mp2t diff --git a/src/data/beos_mime/video/mp4 b/src/data/mime_db/video/mp4 similarity index 100% rename from src/data/beos_mime/video/mp4 rename to src/data/mime_db/video/mp4 diff --git a/src/data/beos_mime/video/mpeg b/src/data/mime_db/video/mpeg similarity index 100% rename from src/data/beos_mime/video/mpeg rename to src/data/mime_db/video/mpeg diff --git a/src/data/beos_mime/video/ogg b/src/data/mime_db/video/ogg similarity index 100% rename from src/data/beos_mime/video/ogg rename to src/data/mime_db/video/ogg diff --git a/src/data/beos_mime/video/quicktime b/src/data/mime_db/video/quicktime similarity index 100% rename from src/data/beos_mime/video/quicktime rename to src/data/mime_db/video/quicktime diff --git a/src/data/beos_mime/video/x-flv b/src/data/mime_db/video/x-flv similarity index 100% rename from src/data/beos_mime/video/x-flv rename to src/data/mime_db/video/x-flv diff --git a/src/data/beos_mime/video/x-matroska b/src/data/mime_db/video/x-matroska similarity index 100% rename from src/data/beos_mime/video/x-matroska rename to src/data/mime_db/video/x-matroska diff --git a/src/data/beos_mime/video/x-ms-asf b/src/data/mime_db/video/x-ms-asf similarity index 100% rename from src/data/beos_mime/video/x-ms-asf rename to src/data/mime_db/video/x-ms-asf diff --git a/src/data/beos_mime/video/x-msvideo b/src/data/mime_db/video/x-msvideo similarity index 100% rename from src/data/beos_mime/video/x-msvideo rename to src/data/mime_db/video/x-msvideo diff --git a/src/data/beos_mime/video/x-rmvb b/src/data/mime_db/video/x-rmvb similarity index 100% rename from src/data/beos_mime/video/x-rmvb rename to src/data/mime_db/video/x-rmvb