commit c50e9031f1f5a02531ef0e10de8684cda20182f4
Author: Jan RÄ™korajski <[email protected]>
Date:   Sat Aug 25 19:30:57 2012 +0200

    updated desktop file mimetype() support patch to 5.4

 rpm-mimetype.patch | 50 ++++++++++++++++++++++++--------------------------
 rpm.spec           |  3 +--
 2 files changed, 25 insertions(+), 28 deletions(-)
---
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
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.
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to