From d6ba72ac3425596aae96ccfd1ddbbaaf20b11705 Mon Sep 17 00:00:00 2001 From: Zhai Edwin Date: Thu, 22 Jul 2010 19:30:47 +0800 Subject: pcmanfm: Update to 0.9.7 New dependency on libfm & menu-cache, which are added in previous commits following patches are removed as they either don't apply or this new version has no those problems: desktop.patch no-fam.patch no-warnings.patch pcmanfm-mips-fix.patch the pending one is aowl-window-menu.patch, which need more work as the sources have changed a lot. So far w/o this patch it still works. but we need more verification later Signed-off-by: Zhai Edwin Signed-off-by: Kevin Tian --- meta/packages/pcmanfm/files/desktop.patch | 15 - meta/packages/pcmanfm/files/no-fam.patch | 432 --------------------- meta/packages/pcmanfm/files/no-warnings.patch | 60 --- meta/packages/pcmanfm/files/pcmanfm-mips-fix.patch | 13 - meta/packages/pcmanfm/pcmanfm_0.5.bb | 41 -- meta/packages/pcmanfm/pcmanfm_0.9.7.bb | 34 ++ 6 files changed, 34 insertions(+), 561 deletions(-) delete mode 100644 meta/packages/pcmanfm/files/desktop.patch delete mode 100644 meta/packages/pcmanfm/files/no-fam.patch delete mode 100644 meta/packages/pcmanfm/files/no-warnings.patch delete mode 100644 meta/packages/pcmanfm/files/pcmanfm-mips-fix.patch delete mode 100644 meta/packages/pcmanfm/pcmanfm_0.5.bb create mode 100644 meta/packages/pcmanfm/pcmanfm_0.9.7.bb diff --git a/meta/packages/pcmanfm/files/desktop.patch b/meta/packages/pcmanfm/files/desktop.patch deleted file mode 100644 index 93cdd87..0000000 --- a/meta/packages/pcmanfm/files/desktop.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: pcmanfm-0.5/pcmanfm.desktop.in -=================================================================== ---- pcmanfm-0.5.orig/pcmanfm.desktop.in -+++ pcmanfm-0.5/pcmanfm.desktop.in -@@ -1,8 +1,7 @@ - [Desktop Entry] - Version=1.0 --Encoding=UTF-8 --Name=PCMan File Manager --Categories=Application;System;Utility;Core;GTK; -+Name=File Manager -+Categories=System;Utility;Core;GTK; - Name[zh_TW]=檔案總管 - Exec=pcmanfm %F - Icon=pcmanfm diff --git a/meta/packages/pcmanfm/files/no-fam.patch b/meta/packages/pcmanfm/files/no-fam.patch deleted file mode 100644 index b87a02d..0000000 --- a/meta/packages/pcmanfm/files/no-fam.patch +++ /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) , (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 /* for stat */ -+#include -+ -+#include -+#include -+ -+#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 -+#ifdef HAVE_FAM_H - #include -+#else -+# define FAMCreated 0 -+# define FAMDeleted 1 -+# define FAMChanged 2 -+typedef struct { -+ int reqnum; -+} FAMRequest; -+#endif - - G_BEGIN_DECLS - diff --git a/meta/packages/pcmanfm/files/no-warnings.patch b/meta/packages/pcmanfm/files/no-warnings.patch deleted file mode 100644 index b1570a0..0000000 --- a/meta/packages/pcmanfm/files/no-warnings.patch +++ /dev/null @@ -1,60 +0,0 @@ -Index: pcmanfm-0.5/src/main.c -=================================================================== ---- pcmanfm-0.5.orig/src/main.c -+++ pcmanfm-0.5/src/main.c -@@ -118,7 +118,7 @@ - - static void init_folder(); - static void init_daemon_or_desktop(); --static void check_icon_theme(); -+/*static void check_icon_theme();*/ - - static gboolean handle_parsed_commandline_args(); - -@@ -322,7 +322,7 @@ - gtk_widget_show ( GTK_WIDGET( main_window ) ); - return main_window; - } -- -+#if 0 - void check_icon_theme() - { - GtkSettings * settings; -@@ -361,7 +361,7 @@ - } - g_free( theme ); - } -- -+#endif - #ifdef _DEBUG_THREAD - - G_LOCK_DEFINE(gdk_lock); -@@ -405,7 +405,7 @@ - vfs_file_info_set_thumbnail_size( app_settings.big_icon_size, - app_settings.small_icon_size ); - -- check_icon_theme(); -+/* check_icon_theme();*/ - folder_initialized = TRUE; - } - -Index: pcmanfm-0.5/src/main-window.c -=================================================================== ---- pcmanfm-0.5.orig/src/main-window.c -+++ pcmanfm-0.5/src/main-window.c -@@ -633,6 +633,7 @@ - gtk_widget_grab_focus ( GTK_WIDGET( main_window->address_bar ) ); - - #ifdef SUPER_USER_CHECKS -+#if 0 - /* Create warning bar for super user */ - if ( geteuid() == 0 ) /* Run as super user! */ - { -@@ -648,6 +649,7 @@ - main_window->status_bar, FALSE, FALSE, 2 ); - } - #endif -+#endif - - /* Create client area */ - main_window->notebook = gtk_notebook_new(); diff --git a/meta/packages/pcmanfm/files/pcmanfm-mips-fix.patch b/meta/packages/pcmanfm/files/pcmanfm-mips-fix.patch deleted file mode 100644 index ad5dc67..0000000 --- a/meta/packages/pcmanfm/files/pcmanfm-mips-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- pcmanfm-0.3.2.2-org/src/inotify/inotify-syscalls.h 2010-01-07 14:53:56.938000062 +0800 -+++ pcmanfm-0.3.2.2/src/inotify/inotify-syscalls.h 2010-01-07 14:54:57.830000065 +0800 -@@ -39,6 +39,10 @@ - # define __NR_inotify_init 290 - # define __NR_inotify_add_watch 291 - # define __NR_inotify_rm_watch 292 -+#elif defined (__mips__) -+# define __NR_inotify_init 284 -+# define __NR_inotify_add_watch 285 -+# define __NR_inotify_rm_watch 286 - #else - # error "Unsupported architecture!" - #endif diff --git a/meta/packages/pcmanfm/pcmanfm_0.5.bb b/meta/packages/pcmanfm/pcmanfm_0.5.bb deleted file mode 100644 index e253d79..0000000 --- a/meta/packages/pcmanfm/pcmanfm_0.5.bb +++ /dev/null @@ -1,41 +0,0 @@ -DESCRIPTION = "Fast lightweight tabbed filemanager" -HOMEPAGE = "http://pcmanfm.sourceforge.net/" -BUGTRACKER = "" - -LICENSE = "GPLv2 & GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://src/pcmanfm.h;endline=22;md5=0fa9129ee918f493e573154f6ec43fb7 \ - file://src/find-files.c;endline=26;md5=9a92e8f329c97de94e90976a37dde5a5" - -SECTION = "x11" -PRIORITY = "optional" -DEPENDS = "gtk+ startup-notification" -DEPENDS_append_poky = " libowl" - -PR = "r0" - -COMPATIBLE_HOST = '(x86_64|i.86.*|arm.*|mips.*|powerpc.*)-(linux|freebsd.*)' - -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 \ - file://pcmanfm-mips-fix.patch;patch=1" - -SRC_URI_append_poky = " file://owl-window-menu.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" diff --git a/meta/packages/pcmanfm/pcmanfm_0.9.7.bb b/meta/packages/pcmanfm/pcmanfm_0.9.7.bb new file mode 100644 index 0000000..3f69066 --- /dev/null +++ b/meta/packages/pcmanfm/pcmanfm_0.9.7.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "Fast lightweight tabbed filemanager" +HOMEPAGE = "http://pcmanfm.sourceforge.net/" +BUGTRACKER = "" + +LICENSE = "GPLv2 & GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://src/pcmanfm.h;endline=22;md5=417b3855771a3a87f8ad753d994491f0 \ + file://src/gseal-gtk-compat.h;endline=21;md5=46922c8691f58d124f9420fe16149ce2" + +SECTION = "x11" +PRIORITY = "optional" +DEPENDS = "gtk+ startup-notification libfm" +DEPENDS_append_poky = " libowl" + +PR = "r0" + +COMPATIBLE_HOST = '(x86_64|i.86.*|arm.*|mips.*|powerpc.*)-(linux|freebsd.*)' + +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" + +#SRC_URI_append_poky = " file://owl-window-menu.patch;patch=1" + +inherit autotools pkgconfig + +do_install_append () { + install -d ${D}/${datadir} + install -d ${D}/${datadir}/pixmaps/ + + install -m 0644 ${WORKDIR}/*.png ${D}/${datadir}/pixmaps +} -- cgit v1.1