From: Jan Rękorajski Date: Sat, 25 Aug 2012 17:30:57 +0000 (+0200) Subject: updated desktop file mimetype() support patch to 5.4 X-Git-Tag: auto/th/rpm-5.4.10-0.5~25 X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=commitdiff_plain;h=c50e9031f1f5a02531ef0e10de8684cda20182f4 updated desktop file mimetype() support patch to 5.4 --- diff --git a/rpm-mimetype.patch b/rpm-mimetype.patch index da2b3ed..ed51d83 100644 --- a/rpm-mimetype.patch +++ b/rpm-mimetype.patch @@ -10,26 +10,25 @@ diff -urN rpm-5.1.4/lib/rpmfc.c rpm-5.1.4.new/lib/rpmfc.c { "perl script text", RPMFC_PERL|RPMFC_INCLUDE }, { "Perl5 module source text", RPMFC_PERL|RPMFC_MODULE|RPMFC_INCLUDE }, -@@ -875,6 +877,10 @@ - xx = rpmfcHelper(fc, 'P', "java", fc->noautoprov, fc->noautoprov_c); - if (fc->findreq) - xx = rpmfcHelper(fc, 'R', "java", fc->noautoreq, fc->noautoreq_c); +@@ -875,6 +877,9 @@ + if (fc->fcolor->vals[fc->ix] & RPMFC_JAVA) { + xx = rpmfcHelper(fc, 'P', "java"); + xx = rpmfcHelper(fc, 'R', "java"); + } else + if (fc->fcolor->vals[fc->ix] & RPMFC_DESKTOP_FILE) { -+ if (fc->findprov) -+ xx = rpmfcHelper(fc, 'P', "mimetype", fc->noautoprov, fc->noautoprov_c); ++ xx = rpmfcHelper(fc, 'P', "mimetype"); } - return 0; + /*@-observertrans@*/ @@ -957,7 +963,7 @@ /*@unchecked@*/ static struct rpmfcApplyTbl_s rpmfcApplyTable[] = { { rpmfcELF, RPMFC_ELF }, -- { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO) }, -+ { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO|RPMFC_DESKTOP_FILE) }, - { NULL, 0 } - }; - +- { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_FONT|RPMFC_HASKELL|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO|RPMFC_TYPELIB) }, ++ { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_FONT|RPMFC_HASKELL|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO|RPMFC_TYPELIB|RPMFC_DESKTOP_FILE) }, + #if defined(RPM_VENDOR_MANDRIVA) + { rpmfcSYMLINK, RPMFC_SYMLINK }, + #endif @@ -1311,6 +1317,9 @@ else if (_suffix(s, ".php")) ftype = "PHP script text"; @@ -37,27 +36,26 @@ diff -urN rpm-5.1.4/lib/rpmfc.c rpm-5.1.4.new/lib/rpmfc.c + else if (_suffix(s, ".desktop")) + ftype = "Desktop Entry"; + - /* XXX skip all files in /dev/ which are (or should be) %dev dummies. */ - else if (slen >= fc->brlen+sizeof("/dev/") && !strncmp(s+fc->brlen, "/dev/", sizeof("/dev/")-1)) - ftype = ""; + /* XXX files with extension ".typelib" are GNOME typelib for now. */ + else if (_suffix(s, ".typelib")) + ftype = "G-IR binary database"; diff -urN rpm-5.1.4/lib/rpmfc.h rpm-5.1.4.new/lib/rpmfc.h --- rpm-5.1.4/lib/rpmfc.h 2008-07-29 19:36:38.000000000 +0200 +++ rpm-5.1.4.new/lib/rpmfc.h 2008-07-29 19:44:27.000000000 +0200 -@@ -28,7 +28,8 @@ +@@ -28,7 +28,7 @@ #define RPMFC_ELF (RPMFC_ELF32|RPMFC_ELF64|RPMFC_ELFMIPSN32) /* (1 << 3) leaks into package headers, reserved */ -- /* bits 4-7 unused */ -+ /* bits 4-6 unused */ -+ RPMFC_DESKTOP_FILE = (1 << 7), - RPMFC_PKGCONFIG = (1 << 8), - RPMFC_LIBTOOL = (1 << 9), - RPMFC_BOURNE = (1 << 10), -diff -urN rpm-5.1.4/macros.in rpm-5.1.4.new/macros.in ---- rpm-5.1.4/macros.in 2008-07-29 19:36:38.000000000 +0200 -+++ rpm-5.1.4.new/macros.in 2008-07-29 19:45:45.000000000 +0200 +- /* bit 4 unused */ ++ RPMFC_DESKTOP_FILE = (1 << 4), + RPMFC_TYPELIB = (1 << 5), + RPMFC_HASKELL = (1 << 6), + RPMFC_RUBY = (1 << 7), +diff -urN rpm-5.1.4/macros/macros.in rpm-5.1.4.new/macros/macros.in +--- rpm-5.1.4/macros/macros.in 2008-07-29 19:36:38.000000000 +0200 ++++ rpm-5.1.4.new/macros/macros.in 2008-07-29 19:45:45.000000000 +0200 @@ -1617,6 +1617,16 @@ - %__mono_requires %{nil} + #}1}%{rpm_license_check} #------------------------------------------------------------------------ +# mimetype(...) configuration. diff --git a/rpm.spec b/rpm.spec index 10064bd..6df65b4 100644 --- a/rpm.spec +++ b/rpm.spec @@ -726,8 +726,7 @@ install %{SOURCE12} scripts/perl.prov %patch18 -p1 # Maybe, at last we can remove this? #patch19 -p1 -# port to new implementation -#%patch60 -p1 +%patch60 -p1 %ifarch sparc64 %patch61 -p1 %endif