pcmanfm: update to 0.5
authorOtavio Salvador <otavio@ossystems.com.br>
Tue, 13 Jan 2009 20:43:37 +0000 (18:43 -0200)
committerOtavio Salvador <otavio@ossystems.com.br>
Thu, 15 Jan 2009 10:52:22 +0000 (08:52 -0200)
This patch updates pcmanfm to 0.5 version, removing the now useless
patches and bumping OpenMoko preferred version according.

12 files changed:
conf/checksums.ini
conf/distro/include/preferred-om-2008-versions.inc
packages/pcmanfm/files/auto_mount.patch [new file with mode: 0644]
packages/pcmanfm/files/desired_mount_point.patch [new file with mode: 0644]
packages/pcmanfm/files/desktop.patch
packages/pcmanfm/files/no-fam-gtk2.6.patch [deleted file]
packages/pcmanfm/files/no-fam.patch [deleted file]
packages/pcmanfm/files/no-warnings.patch [deleted file]
packages/pcmanfm/files/pcmanfm.desktop [deleted file]
packages/pcmanfm/files/pcmanfm.png [deleted file]
packages/pcmanfm/pcmanfm_0.3.2-beta.bb [deleted file]
packages/pcmanfm/pcmanfm_0.5.bb [moved from packages/pcmanfm/pcmanfm_0.3.0.1.bb with 71% similarity]

index ca33a8d..b46ea6a 100644 (file)
@@ -16262,25 +16262,9 @@ sha256=8817295a7db11f31837c7c23f49e768131700b2b729d9fc724520d94a8b00f4b
 md5=10bab01d3c8856426cdf79f124fd4173
 sha256=61fd2a9225aad67d4e21727a297e571ddd6a973b845646cf10b24a92b88467bc
 
-[http://downloads.sourceforge.net/pcmanfm/pcmanfm-0.3.0.1.tar.gz]
-md5=ac676498175495a37bef0b41bca9ace9
-sha256=1f7dec1a275774cb6eff9a491b74bbea7a2276140d640c15ed260c798c8334ed
-
-[http://heanet.dl.sourceforge.net/pcmanfm/pcmanfm-0.3.0.1.tar.gz]
-md5=ac676498175495a37bef0b41bca9ace9
-sha256=1f7dec1a275774cb6eff9a491b74bbea7a2276140d640c15ed260c798c8334ed
-
-[http://downloads.sourceforge.net/pcmanfm/pcmanfm-0.3.2-beta.tar.gz]
-md5=a0843bc54c60aac63cb04b55a6766402
-sha256=f840326e6d6569444adf1d1c5d0fb8e93e7d16f0ef71dca4b1eeefddab8282c5
-
-[http://heanet.dl.sourceforge.net/pcmanfm/pcmanfm-0.3.2-beta.tar.gz]
-md5=a0843bc54c60aac63cb04b55a6766402
-sha256=f840326e6d6569444adf1d1c5d0fb8e93e7d16f0ef71dca4b1eeefddab8282c5
-
-[http://downloads.sourceforge.net/pcmanfm/pcmanfm-0.3.2.2.tar.gz]
-md5=e735c8effc941912b5253a31d4136417
-sha256=601c607115befa22567c7dae3399416787a549daaefcb03820851dcd8d8b4d50
+[http://qa.debian.org/watch/sf.php/pcmanfm/pcmanfm-0.5.tar.gz]
+md5=fe1a836eed6a42107e7d71a01a52f7ec
+sha256=87ebb12f012dc948e3c049936a14d757ac304087f662c17fb94e6c27864fe622
 
 [http://downloads.sourceforge.net/pcmcia-cs/pcmcia-cs-3.2.8.tar.gz]
 md5=0d6d65be8896eff081aee996049afaa5
index 0d59eeb..9f4229f 100644 (file)
@@ -1422,7 +1422,7 @@ PREFERRED_VERSION_pax-utils ?= "0.1.13"
 PREFERRED_VERSION_pax-utils-native ?= "0.1.13"
 PREFERRED_VERSION_pbltool-native ?= "0.2"
 PREFERRED_VERSION_pciutils ?= "2.2.4"
-PREFERRED_VERSION_pcmanfm ?= "0.3.2-beta"
+PREFERRED_VERSION_pcmanfm ?= "0.5"
 PREFERRED_VERSION_pcmcia-cs ?= "3.2.8"
 PREFERRED_VERSION_pcmciautils ?= "014"
 PREFERRED_VERSION_pdamaze ?= "1.0.0"
diff --git a/packages/pcmanfm/files/auto_mount.patch b/packages/pcmanfm/files/auto_mount.patch
new file mode 100644 (file)
index 0000000..b4a3125
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/src/vfs/vfs-volume-hal.c 2008-12-16 17:39:21.000000000 -0200
++++ b/src/vfs/vfs-volume-hal.c 2008-12-16 17:37:07.000000000 -0200
+@@ -1237,6 +1237,7 @@
+                     {
+                       /* add the volume to the volume manager */
+                       vfs_volume_add (volume);
++                      vfs_volume_mount (volume, NULL);
+                     }
+                   /* release the HAL drive */
+                   libhal_drive_free (hd);
diff --git a/packages/pcmanfm/files/desired_mount_point.patch b/packages/pcmanfm/files/desired_mount_point.patch
new file mode 100644 (file)
index 0000000..d548abe
--- /dev/null
@@ -0,0 +1,91 @@
+--- a/src/vfs/vfs-volume-hal.c 2008-06-11 15:38:25.000000000 -0300
++++ b/src/vfs/vfs-volume-hal.c 2008-12-16 10:20:18.000000000 -0200
+@@ -944,7 +944,7 @@
+           if (G_LIKELY (desired_mount_point != NULL && *desired_mount_point != '\0'))
+             {
+               filename = g_build_filename (mount_root, desired_mount_point, NULL);
+-              volume->mount_point = filename;
++              volume->mount_point = g_strdup( desired_mount_point );
+             }
+           libhal_free_string (desired_mount_point);
+         }
+@@ -954,8 +954,7 @@
+         {
+           /* <mount-root>/<device> looks like a good idea */
+           basename = g_path_get_basename (volume->device_file);
+-          filename = g_build_filename (mount_root, basename, NULL);
+-          volume->mount_point = filename;
++          volume->mount_point = g_strdup( basename );
+           g_free (basename);
+         }
+@@ -2310,7 +2309,7 @@
+ }
+ gboolean
+-vfs_volume_hal_mount (ExoMountHalDevice *device,
++vfs_volume_hal_mount (VFSVolume *vol,
+                             GError           **error)
+ {
+   DBusMessage *message;
+@@ -2323,8 +2322,13 @@
+   const gchar       *uuid = NULL, *label = NULL;
+   gint         m, n = 0;
+     VFSVolumeOptions opts;
++  ExoMountHalDevice* device = NULL;
++
++  g_return_val_if_fail (vol != NULL, FALSE);
++
++  if (!(device = vfs_volume_hal_from_udi( vol->udi, error )))
++    return FALSE;
+-  g_return_val_if_fail (device != NULL, FALSE);
+   g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+     if( device->volume != NULL) {
+@@ -2472,16 +2476,23 @@
+         }
+     }
+-  /* try to determine a usable mount point */
+-  if (G_LIKELY (device->volume != NULL))
++  if (G_LIKELY (vol->mount_point == NULL))
+     {
+-      /* maybe we can use the volume's label... */
+-      mount_point = g_strdup( libhal_volume_get_label (device->volume) );
++      /* try to determine a usable mount point */
++      if (G_LIKELY (device->volume != NULL))
++        {
++          /* maybe we can use the volume's label... */
++          mount_point = g_strdup( libhal_volume_get_label (device->volume) );
++        }
++      else
++        {
++          /* maybe we can use the the textual type... */
++          mount_point = g_strdup( libhal_drive_get_type_textual (device->drive) );
++        }
+     }
+   else
+     {
+-      /* maybe we can use the the textual type... */
+-      mount_point = g_strdup( libhal_drive_get_type_textual (device->drive) );
++      mount_point = g_strdup( vol->mount_point );
+     }
+     /* However, the label may contain G_DIR_SEPARATOR so just replace these
+@@ -2825,13 +2836,10 @@
+ gboolean vfs_volume_mount( VFSVolume* vol, GError** err )
+ {
+-    ExoMountHalDevice* device;
+     gboolean ret = FALSE;
+-    device = vfs_volume_hal_from_udi( vol->udi, err );
+-    if( device )
++    if( vol )
+     {
+-        ret = vfs_volume_hal_mount( device, err );
+-        vfs_volume_hal_free( device );
++        ret = vfs_volume_hal_mount( vol, err );
+     }
+     return ret;
+ }
index 764f5b7..2d8b5a5 100644 (file)
@@ -1,11 +1,9 @@
 --- pcmanfm-0.3.2-beta/pcmanfm.desktop.in.old  2006-09-25 11:43:07.000000000 +0100
 +++ pcmanfm-0.3.2-beta/pcmanfm.desktop.in      2006-09-25 11:44:59.000000000 +0100
-@@ -1,7 +1,7 @@
+@@ -1,4 +1,4 @@
  [Desktop Entry]
- Categories=Application;System;Utility;Core;GTK;
  Encoding=UTF-8
 -Name=PCMan File Manager
 +Name=File Manager
- Name[zh_TW]=PCMan 檔案管理程式
- Name[pl]=Przeglądarka plików z zakładkami
- Exec=pcmanfm %f
+ Categories=Application;System;Utility;Core;GTK;
+
diff --git a/packages/pcmanfm/files/no-fam-gtk2.6.patch b/packages/pcmanfm/files/no-fam-gtk2.6.patch
deleted file mode 100644 (file)
index 40ced49..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-diff -urNd pcmanfm-0.1.9.8.old/configure.in pcmanfm-0.1.9.8/configure.in
---- pcmanfm-0.1.9.8.old/configure.in   2006-02-08 17:13:05.000000000 +0000
-+++ pcmanfm-0.1.9.8/configure.in       2006-02-14 22:53:22.000000000 +0000
-@@ -10,8 +10,12 @@
- AM_PROG_CC_STDC
- AC_HEADER_STDC
--pkg_modules="gtk+-2.0 >= 2.8.0 gthread-2.0"
--PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
-+PKG_CHECK_MODULES(PACKAGE, [glib-2.0 >= 2.8.0 gtk+-2.0 >= 2.6.0 gthread-2.0], [
-+  PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.8.0], have_gtk28=yes, have_gtk28=no)
-+])
-+if test x"$have_gtk28" = x"yes"; then
-+  AC_DEFINE([HAVE_GTK_2_8],,[Define if you have gtk+-2.0 >= 2.8.0])
-+fi
- AC_SUBST(PACKAGE_CFLAGS)
- AC_SUBST(PACKAGE_LIBS)
-@@ -38,8 +42,8 @@
-   LIBS="$LIBS $FAM_LIBS"
-   AC_CHECK_FUNCS([FAMNoExists])
-   LIBS="$save_LIBS"
--else
--  AC_MSG_ERROR([Fatal Error: no fam or gamin detected.])
-+#else
-+#  AC_MSG_ERROR([Fatal Error: no fam or gamin detected.])
- fi
- AC_SUBST([FAM_CFLAGS])
-diff -urNd pcmanfm-0.1.9.8.old/src/foldercontent.c pcmanfm-0.1.9.8/src/foldercontent.c
---- pcmanfm-0.1.9.8.old/src/foldercontent.c    2006-02-08 18:36:52.000000000 +0000
-+++ pcmanfm-0.1.9.8/src/foldercontent.c        2006-02-15 02:51:03.000000000 +0000
-@@ -31,9 +31,11 @@
- }FolderContentCallback;
- static GHashTable* folder_hash = NULL;
-+#ifdef HAVE_FAM_H
- static FAMConnection fam;
- static GIOChannel* fam_io_channel = NULL;
- static guint fam_io_watch = 0;
-+#endif
- typedef enum{
-   FCM_FOLDER_VIEW = 1 << 0,
-@@ -58,6 +60,9 @@
- static FolderContent* folder_content_get( const char* path,
-                                           FolderContentMode mode,
-                                           GtkTreeRowReference* tree_parent,
-+#ifndef HAVE_GTK_2_8
-+                                          GtkTreeModel* tree_model,
-+#endif
-                                           FolderContentUpdateFunc cb,
-                                           gpointer user_data );
-@@ -72,6 +77,7 @@
- static gboolean connect_to_fam()
- {
-+#ifdef HAVE_FAM_H
-   if( FAMOpen( &fam ) )
-   {
-     fam_io_channel = NULL;
-@@ -100,10 +106,14 @@
- /*
-   g_print("Connected to FAM server\n");
- */
-+#else
-+  return FALSE;
-+#endif
- }
- static void disconnect_from_fam()
- {
-+#ifdef HAVE_FAM_H
-   if( fam_io_channel )
-   {
-     g_io_channel_unref(fam_io_channel);
-@@ -115,6 +125,7 @@
-   g_print("Disonnected from FAM server\n");
- */
-   }
-+#endif
- }
- /*
-@@ -336,7 +347,11 @@
-   if( ! tree_node )
-     return;
-+#ifdef HAVE_GTK_2_8
-   tree = gtk_tree_row_reference_get_model (tree_node);
-+#else
-+  tree = folder_content->tree_model;
-+#endif
-   tree_path = gtk_tree_row_reference_get_path (tree_node);
-   if( !tree || !tree_path ){
-     return;
-@@ -428,6 +443,9 @@
- FolderContent* folder_content_get( const char* path,
-                                    FolderContentMode mode,
-                                    GtkTreeRowReference* tree_node,
-+#ifndef HAVE_GTK_2_8
-+                                   GtkTreeModel* tree_model,
-+#endif
-                                    FolderContentUpdateFunc callback,
-                                    gpointer user_data )
- {
-@@ -467,6 +485,9 @@
-     */
-     if( ! folder_content->tree_node )
-     {
-+#ifndef HAVE_GTK_2_8
-+      folder_content->tree_model = tree_model;
-+#endif
-       folder_content->tree_node = tree_node;
-       dir_tree_sub_folders_new( folder_content );
-     }
-@@ -475,10 +496,12 @@
-   /* First new instance */
-   if( add_new ){
-+#ifdef HAVE_FAM_H
-     FAMMonitorDirectory( &fam,
-                           path,
-                           &folder_content->request,
-                           folder_content );
-+#endif
-   }
-   if( callback ) /* Install a callback */
-@@ -548,7 +571,9 @@
-       && 0 >= folder_content->n_ref_tree )
-   {
-     /* g_print("cancel monitor!\n"); */
-+#ifdef HAVE_FAM_H
-     FAMCancelMonitor( &fam, &folder_content->request );
-+#endif
-     g_hash_table_remove( folder_hash, folder_content->path );
-     g_free( folder_content->path );
-     g_array_free( folder_content->callbacks, TRUE );
-@@ -561,6 +586,7 @@
-                              GIOCondition cond,
-                              gpointer user_data )
- {
-+#ifdef HAVE_FAM_H
-   FAMEvent evt;
-   FolderContent* content = NULL;
-   GdkPixbuf *folder_icon = get_folder_icon32();
-@@ -613,21 +639,36 @@
-     }
-   }
-   return TRUE;
-+#else
-+  return FALSE;
-+#endif
- }
- FolderContent* folder_content_list_get( const char* path,
-                                         FolderContentUpdateFunc cb,
-                                         gpointer user_data )
- {
-+#ifdef HAVE_GTK_2_8
-   return folder_content_get( path, FCM_FOLDER_VIEW, NULL, cb, user_data );
-+#else
-+  return folder_content_get( path, FCM_FOLDER_VIEW, NULL, NULL, cb, user_data );
-+#endif
- }
- FolderContent* folder_content_tree_get( const char* path,
-                                         GtkTreeRowReference* tree_parent,
-+#ifndef HAVE_GTK_2_8
-+                                        GtkTreeModel* tree_model,
-+#endif
-                                         FolderContentUpdateFunc cb,
-                                         gpointer user_data )
- {
-+#ifdef HAVE_GTK_2_8
-   return folder_content_get( path, FCM_DIR_TREE, tree_parent, cb, user_data );
-+#else
-+  return folder_content_get( path, FCM_DIR_TREE, tree_parent, tree_model, cb,
-+                             user_data );
-+#endif
- }
- void folder_content_list_unref( FolderContent* folder_content,
-@@ -688,7 +729,11 @@
-   }
-   if( content->tree_node ) {
-+#ifdef HAVE_GTK_2_8
-     model = gtk_tree_row_reference_get_model( content->tree_node );
-+#else
-+    model = content->tree_model;
-+#endif
-     tree_path = gtk_tree_row_reference_get_path(
-         content->tree_node );
-     gtk_tree_model_get_iter( model, &parent_it, tree_path );
-@@ -724,7 +769,11 @@
-   }
-   if( content->tree_node ) {
-+#ifdef HAVE_GTK_2_8
-     model = gtk_tree_row_reference_get_model( content->tree_node );
-+#else
-+    model = content->tree_model;
-+#endif
-     tree_path = gtk_tree_row_reference_get_path(
-                                   content->tree_node );
-     gtk_tree_model_get_iter( model, &parent_it, tree_path );
-@@ -776,7 +825,11 @@
-   /* There is no need to update the dir tree currently. */
-   if( content->tree_node ) {
-+#ifdef HAVE_GTK_2_8
-     model = gtk_tree_row_reference_get_model( content->tree_node );
-+#else
-+    model = content->tree_model;
-+#endif
-     tree_path = gtk_tree_row_reference_get_path(
-         content->tree_node );
-     gtk_tree_model_get_iter( model, &parent_it, tree_path );
-diff -urNd pcmanfm-0.1.9.8.old/src/foldercontent.h pcmanfm-0.1.9.8/src/foldercontent.h
---- pcmanfm-0.1.9.8.old/src/foldercontent.h    2006-02-07 10:26:03.000000000 +0000
-+++ pcmanfm-0.1.9.8/src/foldercontent.h        2006-02-15 02:13:40.000000000 +0000
-@@ -15,7 +15,12 @@
- #include <gtk/gtk.h>
- #include <glib.h>
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+#ifdef HAVE_FAM_H
- #include <fam.h>
-+#endif
- /* Columns of folderView */
- enum{
-@@ -42,10 +47,20 @@
- typedef struct{
-   GtkListStore* list; /* for Folder View */
-   int n_ref_list;  /* reference counting */
-+#ifndef HAVE_GTK_2_8
-+  GtkTreeModel* tree_model;
-+#endif
-   GtkTreeRowReference* tree_node;  /* for Dir Tree */
-   int n_ref_tree;
-+#ifdef HAVE_FAM_H
-   FAMRequest request;
-+#else
-+  /* A structure the same size as FAMRequest */
-+  struct unused {
-+    int unused;
-+  };
-+#endif
-   gchar* path;
-   int n_files;
-@@ -82,6 +97,9 @@
- FolderContent* folder_content_tree_get( const char* path,
-                                         GtkTreeRowReference* tree_node,
-+#ifndef HAVE_GTK_2_8
-+                                        GtkTreeModel* tree_model,
-+#endif
-                                         FolderContentUpdateFunc callback,
-                                         gpointer user_data );
-diff -urNd pcmanfm-0.1.9.8.old/src/ptk/ptkfilebrowser.c pcmanfm-0.1.9.8/src/ptk/ptkfilebrowser.c
---- pcmanfm-0.1.9.8.old/src/ptk/ptkfilebrowser.c       2006-02-09 04:29:32.000000000 +0000
-+++ pcmanfm-0.1.9.8/src/ptk/ptkfilebrowser.c   2006-02-15 02:07:16.000000000 +0000
-@@ -31,6 +31,9 @@
- #include "ptkutils.h"
- #include "settings.h"
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- /* If set to FALSE, all selection changes in folder_view are prevented. */
-@@ -1127,7 +1130,11 @@
-     }
-     row_ref = gtk_tree_row_reference_new( store, real_path );
-+#ifdef HAVE_GTK_2_8
-     content = folder_content_tree_get( dir_path, row_ref, NULL, NULL );
-+#else
-+    content = folder_content_tree_get( dir_path, row_ref, model, NULL, NULL );
-+#endif
-     gtk_tree_model_get_iter( model, &it, tree_path );
-     if( gtk_tree_model_iter_children( model, &child, &it ) ) {
-@@ -1231,12 +1238,15 @@
-     model = ptk_icon_view_get_model( PTK_ICON_VIEW(folder_view) );
-   }
-   else if( file_browser->view_mode == FBVM_LIST_VIEW ) {
-+#ifdef HAVE_GTK_2_8
-     if( !gtk_tree_view_get_visible_range ( GTK_TREE_VIEW(folder_view),
-                                            &start_path, &end_path ) )
-       return;
-+#endif
-     model = gtk_tree_view_get_model( GTK_TREE_VIEW(folder_view) );
-   }
-+#ifdef HAVE_GTK_2_8
-   /*
-     NOTE:It seems that this is a bug of gtk+ 2.8.
-     gtk_tree_view_get_visible_range sometimes returns invalid paths.
-@@ -1252,6 +1262,7 @@
-       gtk_tree_path_free( end_path );
-     return;
-   }
-+#endif
-   model_sorter = PTK_TREE_MODEL_SORT( gtk_tree_model_filter_get_model(
-                                             GTK_TREE_MODEL_FILTER(model) ) );
-diff -urNd pcmanfm-0.1.9.8.old/src/ptk/ptkfileiconrenderer.c pcmanfm-0.1.9.8/src/ptk/ptkfileiconrenderer.c
---- pcmanfm-0.1.9.8.old/src/ptk/ptkfileiconrenderer.c  2006-02-03 04:24:09.000000000 +0000
-+++ pcmanfm-0.1.9.8/src/ptk/ptkfileiconrenderer.c      2006-02-15 02:09:00.000000000 +0000
-@@ -346,7 +346,9 @@
-   GdkPixbuf *colorized = NULL;
-   GdkRectangle pix_rect;
-   GdkRectangle draw_rect;
-+#ifdef HAVE_GTK_2_8
-   cairo_t *cr;
-+#endif
-   GtkCellRendererClass* parent_renderer_class;
-@@ -432,16 +434,23 @@
-       pixbuf = colorized;
-     }
-   }
-+#ifdef HAVE_GTK_2_8
-   cr = gdk_cairo_create (window);
-   gdk_cairo_set_source_pixbuf (cr, pixbuf, pix_rect.x, pix_rect.y);
-   gdk_cairo_rectangle (cr, &draw_rect);
-   cairo_fill (cr);
-+#else
-+  gdk_draw_pixbuf (GDK_DRAWABLE (window), NULL, pixbuf, 0, 0,
-+                   pix_rect.x, pix_rect.y, pix_rect.width, pix_rect.height,
-+                   GDK_RGB_DITHER_NORMAL, 0, 0);
-+#endif
-   if( PTK_FILE_ICON_RENDERER(cell)->file_stat )
-   {
-     if( S_ISLNK(PTK_FILE_ICON_RENDERER(cell)->file_stat->st_mode) )
-     {
-+#ifdef HAVE_GTK_2_8
-       gdk_cairo_set_source_pixbuf (cr, link_icon_large,
-                                    pix_rect.x - 2,
-                                    pix_rect.y - 2 );
-@@ -449,10 +458,18 @@
-       draw_rect.y -= 2;
-       gdk_cairo_rectangle (cr, &draw_rect);
-       cairo_fill (cr);
-+#else
-+      gdk_draw_pixbuf (GDK_DRAWABLE (window), NULL, link_icon_large, 0, 0,
-+                       pix_rect.x - 2, pix_rect.y - 2,
-+                       -1, -1, GDK_RGB_DITHER_NORMAL,
-+                       0, 0);
-+#endif
-     }
-   }
--
-+  
-+#ifdef HAVE_GTK_2_8
-   cairo_destroy (cr);
-+#endif
-   if (invisible)
-     g_object_unref (invisible);
diff --git a/packages/pcmanfm/files/no-fam.patch b/packages/pcmanfm/files/no-fam.patch
deleted file mode 100644 (file)
index b87a02d..0000000
+++ /dev/null
@@ -1,432 +0,0 @@
-diff -urNd ../pcmanfm-0.3.0.1-r0/pcmanfm-0.3.0.1/configure.in pcmanfm-0.3.0.1/configure.in
---- ../pcmanfm-0.3.0.1-r0/pcmanfm-0.3.0.1/configure.in 2006-08-20 15:45:28.000000000 +0100
-+++ pcmanfm-0.3.0.1/configure.in       2006-08-20 20:37:36.000000000 +0100
-@@ -63,8 +63,8 @@
-   LIBS="$LIBS $FAM_LIBS"
-   AC_CHECK_FUNCS([FAMNoExists])
-   LIBS="$save_LIBS"
--else
--  AC_MSG_ERROR([Fatal Error: no fam or gamin detected.])
-+#else
-+#  AC_MSG_ERROR([Fatal Error: no fam or gamin detected.])
- fi
- AC_SUBST([FAM_CFLAGS])
-diff -urNd ../pcmanfm-0.3.0.1-r0/pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.c pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.c
---- ../pcmanfm-0.3.0.1-r0/pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.c   2006-07-16 20:00:46.000000000 +0100
-+++ pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.c 2006-08-20 20:54:07.000000000 +0100
-@@ -31,7 +31,6 @@
- VFSFileMonitorCallbackEntry;
- static GHashTable* monitor_hash = NULL;
--static FAMConnection fam;
- static GIOChannel* fam_io_channel = NULL;
- static guint fam_io_watch = 0;
-@@ -40,6 +39,8 @@
-                               GIOCondition cond,
-                               gpointer user_data );
-+#ifdef HAVE_FAM_H
-+static FAMConnection fam;
- static gboolean connect_to_fam()
- {
-@@ -81,6 +82,16 @@
-         FAMClose( &fam );
-     }
- }
-+#else
-+static gboolean connect_to_fam ()
-+{
-+      return FALSE;
-+}
-+
-+static void disconnect_from_fam ()
-+{
-+}
-+#endif
- /* final cleanup */
- void vfs_file_monitor_clean()
-@@ -109,6 +120,7 @@
-                                       VFSFileMonitorCallback cb,
-                                       gpointer user_data )
- {
-+#ifdef HAVE_FAM_H
-     VFSFileMonitor * monitor;
-     VFSFileMonitorCallbackEntry cb_ent;
-     gboolean add_new = FALSE;
-@@ -154,12 +166,16 @@
-     }
-     ++monitor->n_ref;
-     return monitor;
-+#else
-+      return NULL;
-+#endif
- }
- void vfs_file_monitor_remove( VFSFileMonitor* fm,
-                               VFSFileMonitorCallback cb,
-                               gpointer user_data )
- {
-+#ifdef HAVE_FAM_H
-     int i;
-     VFSFileMonitorCallbackEntry* callbacks;
-     if ( cb && fm->callbacks )
-@@ -183,12 +199,14 @@
-         g_array_free( fm->callbacks, TRUE );
-         g_slice_free( VFSFileMonitor, fm );
-     }
-+#endif
- }
- static void reconnect_fam( gpointer key,
-                            gpointer value,
-                            gpointer user_data )
- {
-+#ifdef HAVE_FAM_H
-     struct stat file_stat;
-     VFSFileMonitor* monitor = ( VFSFileMonitor* ) value;
-     const char* path = ( const char* ) key;
-@@ -209,6 +227,7 @@
-                             monitor );
-         }
-     }
-+#endif
- }
- /* event handler of all FAM events */
-@@ -216,6 +235,7 @@
-                               GIOCondition cond,
-                               gpointer user_data )
- {
-+#ifdef HAVE_FAM_H
-     FAMEvent evt;
-     VFSFileMonitor* monitor = NULL;
-     VFSFileMonitorCallbackEntry* cb;
-@@ -266,5 +286,8 @@
-         }
-     }
-     return TRUE;
-+#else
-+      return TRUE;
-+#endif
- }
-diff -urNd ../pcmanfm-0.3.0.1-r0/pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.c~ pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.c~
---- ../pcmanfm-0.3.0.1-r0/pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.c~  1970-01-01 01:00:00.000000000 +0100
-+++ pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.c~        2006-08-20 20:50:49.000000000 +0100
-@@ -0,0 +1,292 @@
-+/*
-+*  C Implementation: vfs-monitor
-+*
-+* Description:
-+*
-+*
-+* Author: Hong Jen Yee (PCMan) <pcman.tw (AT) gmail.com>, (C) 2006
-+*
-+* Copyright: See COPYING file that comes with this distribution
-+*
-+*/
-+
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#include "vfs-file-monitor.h"
-+#include <sys/types.h>  /* for stat */
-+#include <sys/stat.h>
-+
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#include "glib-mem.h"
-+
-+typedef struct
-+{
-+    VFSFileMonitorCallback callback;
-+    gpointer user_data;
-+}
-+VFSFileMonitorCallbackEntry;
-+
-+static GHashTable* monitor_hash = NULL;
-+static FAMConnection fam;
-+static GIOChannel* fam_io_channel = NULL;
-+static guint fam_io_watch = 0;
-+
-+/* event handler of all FAM events */
-+static gboolean on_fam_event( GIOChannel *channel,
-+                              GIOCondition cond,
-+                              gpointer user_data );
-+
-+#ifdef HAVE_FAM_H
-+static gboolean connect_to_fam()
-+{
-+    if ( FAMOpen( &fam ) )
-+    {
-+        fam_io_channel = NULL;
-+        fam.fd = -1;
-+        g_warning( "There is no FAM/gamin server\n" );
-+        return FALSE;
-+    }
-+#if HAVE_FAMNOEXISTS
-+    /*
-+    * Disable the initital directory content loading.
-+    * This can greatly speed up directory loading, but
-+    * unfortunately, it's not compatible with original FAM.
-+    */
-+    FAMNoExists( &fam );  /* This is an extension of gamin */
-+#endif
-+
-+    fam_io_channel = g_io_channel_unix_new( fam.fd );
-+    g_io_channel_set_encoding( fam_io_channel, NULL, NULL );
-+    g_io_channel_set_buffered( fam_io_channel, FALSE );
-+
-+    fam_io_watch = g_io_add_watch( fam_io_channel,
-+                                   G_IO_IN | G_IO_HUP,
-+                                   on_fam_event,
-+                                   NULL );
-+    return TRUE;
-+}
-+
-+static void disconnect_from_fam()
-+{
-+    if ( fam_io_channel )
-+    {
-+        g_io_channel_unref( fam_io_channel );
-+        fam_io_channel = NULL;
-+        g_source_remove( fam_io_watch );
-+
-+        FAMClose( &fam );
-+    }
-+}
-+#else
-+static gboolean connect_to_fam ()
-+{
-+      return FALSE;
-+}
-+
-+static void disconnect_from_fam ()
-+{
-+}
-+#endif
-+
-+/* final cleanup */
-+void vfs_file_monitor_clean()
-+{
-+    disconnect_from_fam();
-+    if ( monitor_hash )
-+    {
-+        g_hash_table_destroy( monitor_hash );
-+        monitor_hash = NULL;
-+    }
-+}
-+
-+/*
-+* Init monitor:
-+* Establish connection with gamin/fam.
-+*/
-+gboolean vfs_file_monitor_init()
-+{
-+    monitor_hash = g_hash_table_new( g_str_hash, g_str_equal );
-+    if ( ! connect_to_fam() )
-+        return FALSE;
-+    return TRUE;
-+}
-+
-+VFSFileMonitor* vfs_file_monitor_add( const char* path,
-+                                      VFSFileMonitorCallback cb,
-+                                      gpointer user_data )
-+{
-+#ifdef HAVE_FAM_H
-+    VFSFileMonitor * monitor;
-+    VFSFileMonitorCallbackEntry cb_ent;
-+    gboolean add_new = FALSE;
-+    struct stat file_stat;
-+
-+    if ( ! monitor_hash )
-+    {
-+        if ( !vfs_file_monitor_init() )
-+            return NULL;
-+    }
-+    monitor = ( VFSFileMonitor* ) g_hash_table_lookup ( monitor_hash, path );
-+    if ( ! monitor )
-+    {
-+        monitor = g_slice_new0( VFSFileMonitor );
-+        monitor->path = g_strdup( path );
-+        monitor->callbacks = g_array_new ( FALSE, FALSE, sizeof( VFSFileMonitorCallbackEntry ) );
-+        g_hash_table_insert ( monitor_hash,
-+                              path,
-+                              monitor );
-+        if ( lstat( path, &file_stat ) != -1 )
-+        {
-+            if ( S_ISDIR( file_stat.st_mode ) )
-+            {
-+                FAMMonitorDirectory( &fam,
-+                                     path,
-+                                     &monitor->request,
-+                                     monitor );
-+            }
-+            else
-+            {
-+                FAMMonitorFile( &fam,
-+                                path,
-+                                &monitor->request,
-+                                monitor );
-+            }
-+        }
-+    }
-+    if ( cb )
-+    { /* Install a callback */
-+        cb_ent.callback = cb;
-+        cb_ent.user_data = user_data;
-+        monitor->callbacks = g_array_append_val( monitor->callbacks, cb_ent );
-+    }
-+    ++monitor->n_ref;
-+    return monitor;
-+#else
-+      return NULL;
-+#endif
-+}
-+
-+void vfs_file_monitor_remove( VFSFileMonitor* fm,
-+                              VFSFileMonitorCallback cb,
-+                              gpointer user_data )
-+{
-+#ifdef HAVE_FAM_H
-+    int i;
-+    VFSFileMonitorCallbackEntry* callbacks;
-+    if ( cb && fm->callbacks )
-+    {
-+        callbacks = ( VFSFileMonitorCallbackEntry* ) fm->callbacks->data;
-+        for ( i = 0; i < fm->callbacks->len; ++i )
-+        {
-+            if ( callbacks[ i ].callback == cb && callbacks[ i ].user_data == user_data )
-+            {
-+                fm->callbacks = g_array_remove_index_fast ( fm->callbacks, i );
-+                break;
-+            }
-+        }
-+    }
-+    --fm->n_ref;
-+    if ( 0 >= fm->n_ref )
-+    {
-+        FAMCancelMonitor( &fam, &fm->request );
-+        g_hash_table_remove( monitor_hash, fm->path );
-+        g_free( fm->path );
-+        g_array_free( fm->callbacks, TRUE );
-+        g_slice_free( VFSFileMonitor, fm );
-+    }
-+#endif
-+}
-+
-+static void reconnect_fam( gpointer key,
-+                           gpointer value,
-+                           gpointer user_data )
-+{
-+#ifdef HAVE_FAM_H
-+    struct stat file_stat;
-+    VFSFileMonitor* monitor = ( VFSFileMonitor* ) value;
-+    const char* path = ( const char* ) key;
-+    if ( lstat( path, &file_stat ) != -1 )
-+    {
-+        if ( S_ISDIR( file_stat.st_mode ) )
-+        {
-+            FAMMonitorDirectory( &fam,
-+                                 path,
-+                                 &monitor->request,
-+                                 monitor );
-+        }
-+        else
-+        {
-+            FAMMonitorFile( &fam,
-+                            path,
-+                            &monitor->request,
-+                            monitor );
-+        }
-+    }
-+#endif
-+}
-+
-+/* event handler of all FAM events */
-+static gboolean on_fam_event( GIOChannel *channel,
-+                              GIOCondition cond,
-+                              gpointer user_data )
-+{
-+#ifdef HAVE_FAM_H
-+    FAMEvent evt;
-+    VFSFileMonitor* monitor = NULL;
-+    VFSFileMonitorCallbackEntry* cb;
-+    VFSFileMonitorCallback func;
-+    int i;
-+
-+    if ( cond & G_IO_HUP )
-+    {
-+        disconnect_from_fam();
-+        if ( g_hash_table_size ( monitor_hash ) > 0 )
-+        {
-+            /*
-+              Disconnected from FAM server, but there are still monitors.
-+              This may be caused by crash of FAM server.
-+              So we have to reconnect to FAM server.
-+            */
-+            connect_to_fam();
-+            g_hash_table_foreach( monitor_hash, ( GHFunc ) reconnect_fam, NULL );
-+        }
-+        return TRUE; /* don't need to remove the event source since
-+                            it has been removed by disconnect_from_fam(). */
-+    }
-+
-+    while ( FAMPending( &fam ) )
-+    {
-+        if ( FAMNextEvent( &fam, &evt ) > 0 )
-+        {
-+            monitor = ( VFSFileMonitor* ) evt.userdata;
-+            switch ( evt.code )
-+            {
-+            case FAMCreated:
-+            case FAMDeleted:
-+            case FAMChanged:
-+                /* Call the callback functions */
-+                if ( monitor->callbacks && monitor->callbacks->len )
-+                {
-+                    cb = ( VFSFileMonitorCallbackEntry* ) monitor->callbacks->data;
-+                    for ( i = 0; i < monitor->callbacks->len; ++i )
-+                    {
-+                        func = cb[ i ].callback;
-+                        func( monitor, evt.code, evt.filename, cb[ i ].user_data );
-+                    }
-+                }
-+                break;
-+            default:
-+                return TRUE;  /* Other events are not supported */
-+            }
-+        }
-+    }
-+    return TRUE;
-+#else
-+      return TRUE;
-+#endif
-+}
-+
-diff -urNd ../pcmanfm-0.3.0.1-r0/pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.h pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.h
---- ../pcmanfm-0.3.0.1-r0/pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.h   2006-04-03 00:38:33.000000000 +0100
-+++ pcmanfm-0.3.0.1/src/vfs/vfs-file-monitor.h 2006-08-20 20:47:00.000000000 +0100
-@@ -20,7 +20,16 @@
- #define _VFS_FILE_MONITOR_H_
- #include <glib.h>
-+#ifdef HAVE_FAM_H
- #include <fam.h>
-+#else
-+#     define FAMCreated 0
-+#     define FAMDeleted 1
-+#     define FAMChanged 2
-+typedef struct {
-+      int reqnum;
-+} FAMRequest;
-+#endif
- G_BEGIN_DECLS
diff --git a/packages/pcmanfm/files/no-warnings.patch b/packages/pcmanfm/files/no-warnings.patch
deleted file mode 100644 (file)
index 2e0d92b..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
---- pcmanfm-0.3.2-beta/src/main.c.old  2006-09-25 11:51:51.000000000 +0100
-+++ pcmanfm-0.3.2-beta/src/main.c      2006-09-25 11:51:55.000000000 +0100
-@@ -173,7 +173,7 @@
-     gtk_widget_show ( GTK_WIDGET( main_window ) );
-     return main_window;
- }
--
-+#if 0
- static void check_icon_theme()
- {
-     GtkSettings * settings;
-@@ -212,7 +212,7 @@
-     }
-     g_free( theme );
- }
--
-+#endif
- int
- main ( int argc, char *argv[] )
- {
-@@ -274,7 +274,7 @@
-     vfs_file_info_set_thumbnail_size( appSettings.bigIconSize,
-                                       appSettings.smallIconSize );
--    check_icon_theme();
-+/*    check_icon_theme();*/
-     if( appSettings.showDesktop )
-         fm_desktop_init();
---- pcmanfm-0.3.2-beta/src/main-window.c.old   2006-09-25 11:47:45.000000000 +0100
-+++ pcmanfm-0.3.2-beta/src/main-window.c       2006-09-25 11:50:32.000000000 +0100
-@@ -496,6 +496,7 @@
-     gtk_window_add_accel_group ( GTK_WINDOW ( main_window ), main_window->accel_group );
-     gtk_widget_grab_focus ( GTK_WIDGET( main_window->address_bar ) );
-+#if 0
-     /* Create warning bar for super user */
-     if ( geteuid() == 0 )                 /* Run as super user! */
-     {
-@@ -510,6 +511,7 @@
-         gtk_box_pack_start ( GTK_BOX ( main_window->main_vbox ),
-                              main_window->status_bar, FALSE, FALSE, 2 );
-     }
-+#endif
-     /* Create client area */
-     main_window->notebook = GTK_NOTEBOOK( gtk_notebook_new () );
diff --git a/packages/pcmanfm/files/pcmanfm.desktop b/packages/pcmanfm/files/pcmanfm.desktop
deleted file mode 100644 (file)
index 052d38c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=File Manager
-Exec=/usr/bin/pcmanfm
-Icon=pcmanfm.png
-Terminal=false
-Type=Application
-Categories=Utility;
-SingleInstance=true
-StartupNotify=true
-
diff --git a/packages/pcmanfm/files/pcmanfm.png b/packages/pcmanfm/files/pcmanfm.png
deleted file mode 100644 (file)
index 3d35360..0000000
Binary files a/packages/pcmanfm/files/pcmanfm.png and /dev/null differ
diff --git a/packages/pcmanfm/pcmanfm_0.3.2-beta.bb b/packages/pcmanfm/pcmanfm_0.3.2-beta.bb
deleted file mode 100644 (file)
index ebbcb32..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-LICENSE = "GPL"
-DESCRIPTION = "procfs tools"
-SECTION = "x11"
-PRIORITY = "optional"
-DEPENDS = "gtk+"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/pcmanfm-${PV}.tar.gz \
-          file://gnome-fs-directory.png \
-          file://gnome-fs-regular.png \
-          file://gnome-mime-text-plain.png \
-          file://emblem-symbolic-link.png \
-          file://desktop.patch;patch=1 \
-          file://no-warnings.patch;patch=1"
-
-EXTRA_OECONF = "--enable-inotify --disable-hal"
-
-inherit autotools pkgconfig
-
-do_install_append () {
-       install -d ${D}/${datadir}
-       install -d ${D}/${datadir}/pixmaps/
-
-       install -m 0644 ${WORKDIR}/*.png ${D}/${datadir}/pixmaps
-}
-
-FILES_${PN} += "${datadir}/pixmaps/*.png"
-
similarity index 71%
rename from packages/pcmanfm/pcmanfm_0.3.0.1.bb
rename to packages/pcmanfm/pcmanfm_0.5.bb
index 019d1c6..489e95e 100644 (file)
@@ -2,14 +2,17 @@ LICENSE = "GPL"
 DESCRIPTION = "procfs tools"
 SECTION = "x11"
 PRIORITY = "optional"
-DEPENDS = "gtk+"
+DEPENDS = "gtk+ hal gamin startup-notification"
+RRECOMMENDS = "pmount-hal"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/pcmanfm-${PV}.tar.gz \
+           file://desired_mount_point.patch;patch=1 \
+           file://auto_mount.patch;patch=1 \
           file://gnome-fs-directory.png \
           file://gnome-fs-regular.png \
           file://gnome-mime-text-plain.png \
           file://emblem-symbolic-link.png \
-          file://no-fam.patch;patch=1"
+          file://desktop.patch;patch=1"
 
 inherit autotools pkgconfig
 
@@ -21,4 +24,3 @@ do_install_append () {
 }
 
 FILES_${PN} += "${datadir}/pixmaps/*.png"
-