Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Jul 2008 23:51:43 +1000 (YAKST)
From:      Alexander Logvinov <ports@logvinov.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        Alexander Logvinov <ports@logvinov.com>, miwi@FreeBSD.org
Subject:   ports/125981: [maintainer update] palm/synce-trayicon: update to 0.11
Message-ID:  <200807261351.m6QDphwL071548@blg.akavia.ru>
Resent-Message-ID: <200807261400.m6QE0CvS074265@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         125981
>Category:       ports
>Synopsis:       [maintainer update] palm/synce-trayicon: update to 0.11
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jul 26 14:00:11 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Alexander Logvinov
>Release:        FreeBSD 6.3-RELEASE-p1 i386
>Organization:
>Environment:

>Description:

  Update to 0.11.
	
>How-To-Repeat:

>Fix:

Index: Makefile
===================================================================
RCS file: /home/pcvs/ports/palm/synce-trayicon/Makefile,v
retrieving revision 1.18
diff -u -r1.18 Makefile
--- Makefile	6 Jun 2008 13:55:21 -0000	1.18
+++ Makefile	26 Jul 2008 13:46:12 -0000
@@ -5,26 +5,46 @@
 # $FreeBSD: ports/palm/synce-trayicon/Makefile,v 1.18 2008/06/06 13:55:21 edwin Exp $
 
 PORTNAME=	synce-trayicon
-PORTVERSION=	0.9.0
-PORTREVISION=	7
+PORTVERSION=	0.11
 CATEGORIES=	palm
-MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
+MASTER_SITES=	SF
 MASTER_SITE_SUBDIR=	synce
 
 MAINTAINER=	ports@logvinov.com
 COMMENT=	GNOME tray icon showing battery and storage status of a WinCE device
 
-BUILD_DEPENDS=	${LOCALBASE}/lib/gnome-vfs-2.0/modules/libsyncevfs.so:${PORTSDIR}/palm/synce-gnomevfs
-RUN_DEPENDS=	${LOCALBASE}/lib/gnome-vfs-2.0/modules/libsyncevfs.so:${PORTSDIR}/palm/synce-gnomevfs
-LIB_DEPENDS=	gtop-2.0.7:${PORTSDIR}/devel/libgtop
+LIB_DEPENDS=	rra.0:${PORTSDIR}/palm/synce-librra \
+		gtop-2.0.7:${PORTSDIR}/devel/libgtop
 
+OPTIONS=	NOTIFY	"Enable libnotify support"	on
+
+GNU_CONFIGURE=	yes
 USE_GMAKE=	yes
-USE_GNOME=	libgnomeui gnometarget
 USE_GETTEXT=	yes
-GNU_CONFIGURE=	yes
+USE_GNOME=	gnomeprefix gnomehack gnometarget libgnomeui
+INSTALLS_ICONS=	yes
+GCONF_SCHEMAS=	${PORTNAME}.schemas
 LDFLAGS+=	-L${LOCALBASE}/lib -lsynce
-CONFIGURE_ENV+=	LDFLAGS="${LDFLAGS}"
-CONFIGURE_ARGS+=	--with-libsynce=${LOCALBASE} \
-			--with-librapi2=${LOCALBASE}
+CFLAGS+=	-I${LOCALBASE}/include
+CONFIGURE_ENV=	CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" \
+		LDFLAGS="${LDFLAGS} ${PTHREAD_LIBS}"
+SUB_FILES=	pkg-message
+
+MAN1=		${PORTNAME}.1
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_NOTIFY)
+LIB_DEPENDS+=	notify.1:${PORTSDIR}/devel/libnotify
+RUN_DEPENDS+=	${LOCALBASE}/libexec/notification-daemon:${PORTSDIR}/deskutils/notification-daemon
+.endif
+
+post-patch:
+.if !defined(WITH_NOTIFY)
+	@${REINPLACE_CMD} -e 's|enable_notify=yes|enable_notify=no|' ${WRKSRC}/configure
+.endif
+
+post-install:
+	@${CAT} ${PKGMESSAGE}
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
Index: distinfo
===================================================================
RCS file: /home/pcvs/ports/palm/synce-trayicon/distinfo,v
retrieving revision 1.4
diff -u -r1.4 distinfo
--- distinfo	25 Nov 2005 17:09:21 -0000	1.4
+++ distinfo	26 Jul 2008 13:46:12 -0000
@@ -1,3 +1,3 @@
-MD5 (synce-trayicon-0.9.0.tar.gz) = b639e3f681d01d69e6a1c703ab4fc8e8
-SHA256 (synce-trayicon-0.9.0.tar.gz) = 1904254ff51a3be56ed8d21bc993df580f16bb01fec25a6bf35fe080dd42ed9e
-SIZE (synce-trayicon-0.9.0.tar.gz) = 375464
+MD5 (synce-trayicon-0.11.tar.gz) = dc24b3260d25ace872f1f5f8fab87714
+SHA256 (synce-trayicon-0.11.tar.gz) = 77c3da9f9b1e030580f7637b6f4cd464d7be77786a5b591c9b49c9092f8a23d0
+SIZE (synce-trayicon-0.11.tar.gz) = 457128
Index: pkg-descr
===================================================================
RCS file: /home/pcvs/ports/palm/synce-trayicon/pkg-descr,v
retrieving revision 1.1
diff -u -r1.1 pkg-descr
--- pkg-descr	16 Dec 2003 21:18:14 -0000	1.1
+++ pkg-descr	26 Jul 2008 13:46:12 -0000
@@ -2,4 +2,4 @@
 The trayicon sits in the notification area displays information about a
 connected Windows CE device such as battery charge and storage space.
 
-WWW: http://synce.sourceforge.net/
+WWW: http://www.synce.org/moin/
Index: pkg-plist
===================================================================
RCS file: /home/pcvs/ports/palm/synce-trayicon/pkg-plist,v
retrieving revision 1.6
diff -u -r1.6 pkg-plist
--- pkg-plist	19 May 2007 20:20:27 -0000	1.6
+++ pkg-plist	26 Jul 2008 13:46:12 -0000
@@ -1,8 +1,13 @@
 bin/synce-trayicon
+lib/synce-trayicon/modules/test-mod.so
+lib/synce-trayicon/modules/test-mod.la
 share/locale/ru/LC_MESSAGES/synce-trayicon.mo
 share/locale/sv/LC_MESSAGES/synce-trayicon.mo
-share/pixmaps/synce/synce-color-small.png
-share/pixmaps/synce/synce-gray-small.png
+share/icons/hicolor/22x22/apps/synce-gray.png
+share/icons/hicolor/22x22/apps/synce-color.png
+share/icons/hicolor/48x48/apps/synce-gray.png
+share/icons/hicolor/48x48/apps/synce-color.png
 share/synce/synce_trayicon_properties.glade
-@dirrm share/pixmaps/synce
+@dirrmtry lib/synce-trayicon/modules
+@dirrmtry lib/synce-trayicon
 @dirrmtry share/synce
Index: files/patch-data_Makefile.in
===================================================================
RCS file: files/patch-data_Makefile.in
diff -N files/patch-data_Makefile.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-data_Makefile.in	26 Jul 2008 13:46:12 -0000
@@ -0,0 +1,18 @@
+--- data/Makefile.in.orig	2008-07-26 23:24:21.000000000 +1000
++++ data/Makefile.in	2008-07-26 23:25:28.000000000 +1000
+@@ -452,13 +452,8 @@
+ @INTLTOOL_SCHEMAS_RULE@
+ 
+ @GCONF_SCHEMAS_INSTALL_TRUE@install-data-hook:
+-@GCONF_SCHEMAS_INSTALL_TRUE@	@-if test -z "$(DESTDIR)"; then \
+-@GCONF_SCHEMAS_INSTALL_TRUE@		echo "Installing GConf schemas"; \
+-@GCONF_SCHEMAS_INSTALL_TRUE@		-$(gconf_schema_install); \
+-@GCONF_SCHEMAS_INSTALL_TRUE@	else \
+-@GCONF_SCHEMAS_INSTALL_TRUE@		echo "*** GConf schema not installed. After install, run this:"; \
+-@GCONF_SCHEMAS_INSTALL_TRUE@		echo "***   $(gconf_schema_install)"; \
+-@GCONF_SCHEMAS_INSTALL_TRUE@	fi
++@GCONF_SCHEMAS_INSTALL_TRUE@	GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \
++@GCONF_SCHEMAS_INSTALL_TRUE@	$(GCONFTOOL) --makefile-install-rule $(schema_DATA)
+ 
+ @GCONF_SCHEMAS_INSTALL_TRUE@uninstall-hook:
+ @GCONF_SCHEMAS_INSTALL_TRUE@	@-if test -z "$(DESTDIR)"; then \
Index: files/patch-data_synce-trayicon.schemas.in
===================================================================
RCS file: files/patch-data_synce-trayicon.schemas.in
diff -N files/patch-data_synce-trayicon.schemas.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-data_synce-trayicon.schemas.in	26 Jul 2008 13:46:12 -0000
@@ -0,0 +1,15 @@
+--- data/synce-trayicon.schemas.in.orig	2008-07-26 22:21:11.000000000 +1000
++++ data/synce-trayicon.schemas.in	2008-07-26 22:22:37.000000000 +1000
+@@ -19,10 +19,10 @@
+       <applyto>/apps/synce/trayicon/dccm</applyto>
+       <owner>synce-trayicon</owner>
+       <type>string</type>
+-      <default>o</default>
++      <default>h</default>
+       <locale name="C">
+         <short>The dccm implementation used</short>
+-        <long>The dccm implementation used, 'o' for odccm (the default), 'v' for vdccm.</long>
++        <long>The dccm implementation used, 'h' for synce-hal (the default), 'v' for vdccm.</long>
+       </locale>
+     </schema>
+ 
Index: files/patch-data_synce_trayicon_properties.glade
===================================================================
RCS file: files/patch-data_synce_trayicon_properties.glade
diff -N files/patch-data_synce_trayicon_properties.glade
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-data_synce_trayicon_properties.glade	26 Jul 2008 13:46:12 -0000
@@ -0,0 +1,51 @@
+--- data/synce_trayicon_properties.glade.orig	2008-04-16 05:17:48.000000000 +1000
++++ data/synce_trayicon_properties.glade	2008-07-26 22:06:15.000000000 +1000
+@@ -53,20 +53,6 @@
+                         <property name="visible">True</property>
+                         <property name="spacing">6</property>
+                         <child>
+-                          <widget class="GtkRadioButton" id="prefs_use_odccm">
+-                            <property name="visible">True</property>
+-                            <property name="can_focus">True</property>
+-                            <property name="label" translatable="yes">Odccm</property>
+-                            <property name="use_underline">True</property>
+-                            <property name="response_id">0</property>
+-                            <property name="draw_indicator">True</property>
+-                          </widget>
+-                          <packing>
+-                            <property name="expand">False</property>
+-                            <property name="fill">False</property>
+-                          </packing>
+-                        </child>
+-                        <child>
+                           <widget class="GtkRadioButton" id="prefs_use_hal">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+@@ -74,12 +60,10 @@
+                             <property name="use_underline">True</property>
+                             <property name="response_id">0</property>
+                             <property name="draw_indicator">True</property>
+-                            <property name="group">prefs_use_odccm</property>
+                           </widget>
+                           <packing>
+                             <property name="expand">False</property>
+                             <property name="fill">False</property>
+-                            <property name="position">1</property>
+                           </packing>
+                         </child>
+                         <child>
+@@ -90,12 +74,12 @@
+                             <property name="use_underline">True</property>
+                             <property name="response_id">0</property>
+                             <property name="draw_indicator">True</property>
+-                            <property name="group">prefs_use_odccm</property>
++                            <property name="group">prefs_use_hal</property>
+                           </widget>
+                           <packing>
+                             <property name="expand">False</property>
+                             <property name="fill">False</property>
+-                            <property name="position">2</property>
++                            <property name="position">1</property>
+                           </packing>
+                         </child>
+                         <child>
Index: files/patch-device-info.c
===================================================================
RCS file: files/patch-device-info.c
diff -N files/patch-device-info.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-device-info.c	26 Jul 2008 13:46:12 -0000
@@ -0,0 +1,387 @@
+--- src/device-info.c.orig	2008-04-16 05:17:47.000000000 +1000
++++ src/device-info.c	2008-06-11 20:59:44.000000000 +1000
+@@ -356,12 +356,12 @@
+   }
+ 
+   gint response;
+-  guint32 index, item;
++  guint32 item;
+   gboolean active, result;
+   guint id;
+   gchar *name = NULL;
++  GtkListStore *store = NULL;
+   GtkTreeIter iter;
+-  GtkTreeModel *model;
+   GtkCellRenderer *renderer;
+   GtkTreeViewColumn *column;
+   GtkWidget *device_info_dialog = priv->dialog;
+@@ -369,7 +369,6 @@
+   GtkWidget *create_pship_dialog = glade_xml_get_widget (xml, "create_partnership_dialog"); 
+   GtkWidget *pship_name_entry = glade_xml_get_widget (xml, "pship_name_entry");
+   GtkWidget *sync_items_listview = glade_xml_get_widget (xml, "sync_items_listview");
+-  GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (sync_items_listview));
+   GArray *sync_items_required = NULL;
+   GHashTable *sync_items = NULL;
+   GError *error = NULL;
+@@ -433,10 +432,10 @@
+     goto exit;
+   }
+ 
+-  GtkListStore *store = gtk_list_store_new (SYNCITEM_N_COLUMNS,
+-                                            G_TYPE_INT,     /* index */
+-                                            G_TYPE_BOOLEAN,     /* selected */
+-                                            G_TYPE_STRING); /* program name */
++  store = gtk_list_store_new (SYNCITEM_N_COLUMNS,
++			      G_TYPE_INT,     /* index */
++			      G_TYPE_BOOLEAN,     /* selected */
++			      G_TYPE_STRING); /* program name */
+ 
+   g_hash_table_foreach(sync_items, setup_sync_item_store, store);
+   g_hash_table_destroy(sync_items);
+@@ -529,6 +528,256 @@
+ }
+ 
+ 
++#if GLIB_MINOR_VERSION < 14
++static void
++get_sync_item_keys(gpointer key,
++		   gpointer value,
++		   gpointer user_data)
++{
++  *(GList **)user_data = g_list_append(*(GList **)user_data, key);
++}
++#endif
++
++
++static gboolean
++check_delete_orphans(WmDeviceInfo *self, guint id, gchar *guid)
++{
++  WmDeviceInfoPrivate *priv = WM_DEVICE_INFO_GET_PRIVATE (self);
++  if (priv->disposed) {
++    g_warning("%s: Disposed object passed", G_STRFUNC);
++    return FALSE;
++  }
++
++  GError *error = NULL;
++  DBusGConnection *dbus_connection = NULL;
++  DBusGProxy *sync_engine_proxy = NULL;
++  gboolean result = FALSE;
++
++  GPtrArray* partnership_list = NULL;
++  GValueArray *partnership = NULL;
++  GHashTable *sync_items = NULL;
++  gboolean show_extra_warning;
++  GArray *orphaned_items = NULL;
++  GArray *sync_items_active = NULL;
++  GHashTable *pship_connections = NULL;
++  GList *item_keys = NULL, *tmp_list = NULL;
++  guint *sync_item_key = NULL;
++  guint index;
++
++  dbus_connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
++  if (dbus_connection == NULL) {
++    g_critical("%s: Failed to open connection to bus: %s", G_STRFUNC, error->message);
++
++    GtkWidget *failed_dialog = gtk_message_dialog_new(GTK_WINDOW(priv->dialog),
++						      GTK_DIALOG_DESTROY_WITH_PARENT,
++						      GTK_MESSAGE_WARNING,
++						      GTK_BUTTONS_OK,
++						      "Deletion of partnership was unsuccessful: %s",
++						      error->message);
++
++    gtk_dialog_run(GTK_DIALOG(failed_dialog));
++    gtk_widget_destroy (failed_dialog);
++
++    g_error_free (error);
++    goto exit;
++  }
++
++  sync_engine_proxy = dbus_g_proxy_new_for_name (dbus_connection,
++						 "org.synce.SyncEngine",
++						 "/org/synce/SyncEngine",
++						 "org.synce.SyncEngine");
++  if (sync_engine_proxy == NULL) {
++    g_critical("%s: Failed to create proxy to sync engine", G_STRFUNC);
++
++    GtkWidget *failed_dialog = gtk_message_dialog_new(GTK_WINDOW(priv->dialog),
++						      GTK_DIALOG_DESTROY_WITH_PARENT,
++						      GTK_MESSAGE_WARNING,
++						      GTK_BUTTONS_OK,
++						      "Deletion of partnership was unsuccessful: Failed to connect to SyncEngine");
++
++    gtk_dialog_run(GTK_DIALOG(failed_dialog));
++    gtk_widget_destroy (failed_dialog);
++
++    goto exit;
++  }
++
++  result = org_synce_syncengine_get_partnerships (sync_engine_proxy, &partnership_list, &error);
++  if (!result) {
++    g_critical("%s: Error getting partnership list from sync-engine: %s", G_STRFUNC, error->message);
++    
++    GtkWidget *failed_dialog = gtk_message_dialog_new(GTK_WINDOW(priv->dialog),
++						      GTK_DIALOG_DESTROY_WITH_PARENT,
++						      GTK_MESSAGE_WARNING,
++						      GTK_BUTTONS_OK,
++						      "Failed to retrieve partnership information: %s",
++						      error->message);
++
++    gtk_dialog_run(GTK_DIALOG(failed_dialog));
++    gtk_widget_destroy (failed_dialog);
++
++    g_error_free(error);
++    goto exit;
++  }
++
++  result = org_synce_syncengine_get_item_types(sync_engine_proxy, &sync_items, &error);
++  if (!result) {
++    g_critical("%s: Error fetching sync item list: %s", G_STRFUNC, error->message);
++
++    GtkWidget *failed_dialog = gtk_message_dialog_new(GTK_WINDOW(priv->dialog),
++						      GTK_DIALOG_DESTROY_WITH_PARENT,
++						      GTK_MESSAGE_WARNING,
++						      GTK_BUTTONS_OK,
++						      "Failed to retrieve partnership information: %s",
++						      error->message);
++
++    gtk_dialog_run(GTK_DIALOG(failed_dialog));
++    gtk_widget_destroy (failed_dialog);
++
++    g_error_free(error);
++    goto exit;
++  }
++
++#if GLIB_MINOR_VERSION < 14
++  g_hash_table_foreach(sync_items,
++		       get_sync_item_keys,
++		       &item_keys);
++#else
++  item_keys = g_hash_table_get_keys(sync_items);
++#endif
++
++  pship_connections = g_hash_table_new_full(g_int_hash, g_int_equal, g_free, NULL);
++
++  tmp_list = item_keys;
++
++  while (tmp_list) {
++    sync_item_key = (guint *) g_malloc (sizeof (guint));
++    *sync_item_key = GPOINTER_TO_UINT(tmp_list->data);
++
++    g_hash_table_insert(pship_connections, sync_item_key, GUINT_TO_POINTER(0));
++
++    tmp_list = g_list_next(tmp_list);
++  }
++
++  g_list_free(item_keys);
++
++  index = 0;
++  while(index < partnership_list->len)
++    {
++      partnership = g_ptr_array_index(partnership_list, index);
++
++      /* an array of sync item ids - au - array of uint32 */
++      sync_items_active = g_value_get_boxed(g_value_array_get_nth (partnership, 6));
++
++      guint i;
++      guint active_item;
++      guint current_count;
++      for (i = 0; i < sync_items_active->len; i++) {
++	active_item = g_array_index(sync_items_active, guint, i);
++	current_count = GPOINTER_TO_UINT(g_hash_table_lookup(pship_connections, &active_item));
++	current_count++;
++
++	sync_item_key = (guint *) g_malloc (sizeof (guint));
++	*sync_item_key = active_item;
++
++	g_hash_table_insert(pship_connections, sync_item_key, GUINT_TO_POINTER(current_count));
++      }
++
++      index++;
++    }
++
++  show_extra_warning = FALSE;
++  orphaned_items = g_array_new(FALSE, TRUE, sizeof(guint));
++  index = 0;
++  while(index < partnership_list->len)
++    {
++      partnership = g_ptr_array_index(partnership_list, index);
++
++      guint partnership_id = g_value_get_uint(g_value_array_get_nth (partnership, 0));
++      const gchar *partnership_guid = g_value_get_string(g_value_array_get_nth (partnership, 1));
++
++      if ((partnership_id == id) && (strcmp(partnership_guid, guid) == 0)) {
++	sync_items_active = g_value_get_boxed(g_value_array_get_nth (partnership, 6));
++
++	guint i;
++	guint active_item;
++	guint current_count;
++	for (i = 0; i < sync_items_active->len; i++) {
++	  active_item = g_array_index(sync_items_active, guint, i);
++	  current_count = GPOINTER_TO_UINT(g_hash_table_lookup(pship_connections, &active_item));
++
++	  if (current_count == 1) {
++	    show_extra_warning = TRUE;
++	    g_array_append_val(orphaned_items, active_item);
++	  }
++	}
++
++	break;
++      }
++      index++;
++    }
++
++  g_hash_table_destroy(pship_connections);
++
++  if (show_extra_warning) {
++    GString *orphaned_str = NULL;
++    guint i;
++    guint item;
++    gint reply;
++
++    for (i = 0; i < orphaned_items->len; i++) {
++      item = g_array_index(orphaned_items, guint, i);
++     
++      if (!orphaned_str)
++	orphaned_str = g_string_new(g_hash_table_lookup(sync_items, GUINT_TO_POINTER(item)));
++      else
++	g_string_append_printf(orphaned_str, ", %s", (gchar *)g_hash_table_lookup(sync_items, GUINT_TO_POINTER(item)));
++    }
++
++    g_array_free(orphaned_items, TRUE);
++
++    GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(priv->dialog),
++					       GTK_DIALOG_DESTROY_WITH_PARENT,
++					       GTK_MESSAGE_WARNING,
++					       GTK_BUTTONS_YES_NO,
++					       "It appears you are using a Windows Mobile 6 device. Deleting this partnership might result in all items of types %s being deleted from the device because no other partnership is connected with them. Are you really sure you want to delete this partnership?",
++					       orphaned_str->str);
++
++    gtk_window_set_title(GTK_WINDOW(dialog), "Possible deletion of 'orphaned' items");
++    reply = gtk_dialog_run(GTK_DIALOG(dialog));
++    gtk_widget_destroy (dialog);
++
++    g_string_free(orphaned_str, TRUE);
++
++    if (reply != GTK_RESPONSE_YES)
++      result = FALSE;
++    else
++      result = TRUE;
++
++  } else
++    result = TRUE;
++
++exit:
++
++  if (partnership_list) {
++    index = 0;
++    while(index < partnership_list->len) {
++      partnership = g_ptr_array_index(partnership_list, index);
++      g_value_array_free(partnership);
++
++      index++;
++    }
++    g_ptr_array_free(partnership_list, TRUE);
++  }
++
++  if (sync_items) g_hash_table_destroy(sync_items);
++
++  if (sync_engine_proxy) g_object_unref(sync_engine_proxy);
++  if (dbus_connection) dbus_g_connection_unref(dbus_connection);
++
++  return result;
++}
++
++
+ static void
+ partners_remove_button_clicked_synceng_cb (GtkWidget *widget, gpointer data)
+ {
+@@ -544,9 +793,10 @@
+   }
+ 
+   guint index, id;
++  guint os_major, os_minor;
+   gchar *guid = NULL;
+   gchar *name;
+-  GtkTreeIter iter;
++  GtkTreeIter iter, parent_iter;
+   GtkTreeModel *model;
+   GtkWidget *partners_list_view = glade_xml_get_widget (priv->xml, "partners_list");	
+   GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (partners_list_view));
+@@ -572,6 +822,20 @@
+       return;
+     }
+ 
++  /* if the user selected one of the subitems */
++
++  if (gtk_tree_model_iter_parent(model, &parent_iter, &iter)) {
++    g_free(guid);
++    g_free(name);
++    gtk_tree_model_get (model,
++			&parent_iter,
++			SYNCENG_INDEX_COLUMN, &index,
++			SYNCENG_ID_COLUMN, &id,
++			SYNCENG_GUID_COLUMN, &guid,
++			SYNCENG_NAME_COLUMN, &name,
++			-1);
++  }
++
+   GtkWidget *device_info_dialog = priv->dialog;
+   GtkWidget *confirm_dialog = gtk_message_dialog_new(GTK_WINDOW(device_info_dialog),
+ 						     GTK_DIALOG_DESTROY_WITH_PARENT,
+@@ -628,6 +892,21 @@
+     goto exit;
+   }
+ 
++  /*
++    Check whether the removal of this particular partnership would result
++    in orphaned itemtypes, that would be deleted by wm6
++  */
++
++  g_object_get(priv->device,
++	       "os-major", &os_major,
++	       "os-minor", &os_minor,
++	       NULL);
++
++  if ((os_major > 4) && (os_minor > 1)) {
++    if (!check_delete_orphans(self, id, guid))
++      goto exit;
++  }
++
+   result = org_synce_syncengine_delete_partnership(sync_engine_proxy, id, guid, &error);
+   if (!result) {
+     g_critical("%s: Error deleting partnership via sync-engine: %s", G_STRFUNC, error->message);
+@@ -673,7 +952,7 @@
+   GtkTreeModel *model;
+   gint index, id;
+   gchar *name;
+-  GtkWidget *partners_create_button, *partners_remove_button;
++  GtkWidget *partners_remove_button;
+ 
+   partners_remove_button = glade_xml_get_widget (priv->xml, "partners_remove_button");	
+ 
+@@ -701,15 +980,6 @@
+ }
+ 
+ 
+-#if GLIB_MINOR_VERSION < 14
+-get_sync_item_keys(gpointer key,
+-		   gpointer value,
+-		   gpointer user_data)
+-{
+-  *(GList **)user_data = g_list_append(*(GList **)user_data, key);
+-}
+-#endif
+-
+ static void
+ partners_setup_view_store_synceng(WmDeviceInfo *self)
+ {
+@@ -1765,9 +2035,6 @@
+ static void
+ wm_device_info_finalize (GObject *obj)
+ {
+-  WmDeviceInfo *self = WM_DEVICE_INFO(obj);
+-  WmDeviceInfoPrivate *priv = WM_DEVICE_INFO_GET_PRIVATE (self);
+-
+   if (G_OBJECT_CLASS (wm_device_info_parent_class)->finalize)
+     G_OBJECT_CLASS (wm_device_info_parent_class)->finalize (obj);
+ }
Index: files/patch-gtop_stuff.c
===================================================================
RCS file: files/patch-gtop_stuff.c
diff -N files/patch-gtop_stuff.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-gtop_stuff.c	26 Jul 2008 13:46:12 -0000
@@ -0,0 +1,26 @@
+--- src/gtop_stuff.c.orig	2008-04-16 05:17:47.000000000 +1000
++++ src/gtop_stuff.c	2008-06-11 20:59:54.000000000 +1000
+@@ -63,12 +63,12 @@
+ static GArray *
+ find_dccm () {
+ 	glibtop_proclist proclist;
+-	unsigned *pid_list;
++	pid_t *pid_list;
+ 	gint i = 0;
+ 	gint n = 0;
+ 	gint which, arg;
+ 
+-	GArray *dccm_list = g_array_new(FALSE, FALSE, sizeof(unsigned));
++	GArray *dccm_list = g_array_new(FALSE, FALSE, sizeof(pid_t));
+ 
+ 	glibtop_init ();
+ 	
+@@ -134,7 +134,7 @@
+   num = 0;
+   while (num < dccm_list->len)
+     {
+-      if (kill(g_array_index(dccm_list, unsigned, num), sig) != 0)
++      if (kill(g_array_index(dccm_list, pid_t, num), sig) != 0)
+ 	result = FALSE;
+       num++;
+     }
Index: files/patch-po_Makefile.in
===================================================================
RCS file: files/patch-po_Makefile.in
diff -N files/patch-po_Makefile.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-po_Makefile.in	26 Jul 2008 13:46:12 -0000
@@ -0,0 +1,122 @@
+--- po/Makefile.in.in.orig	2008-04-16 05:18:16.000000000 +1000
++++ po/Makefile.in.in	2008-06-11 20:59:30.000000000 +1000
+@@ -1,10 +1,10 @@
+ # Makefile for program source directory in GNU NLS utilities package.
+ # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+-# Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns@gmail.com>
+ #
+-# This file may be copied and used freely without restrictions.  It may
+-# be used in projects which are not available under a GNU Public License,
++# This file file be copied and used freely without restrictions.  It can
++# be used in projects which are not available under the GNU Public License
+ # but which still want to provide support for the GNU gettext functionality.
++# Please note that the actual code is *not* freely available.
+ #
+ # - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
+ #   instead of PACKAGE and to look for po2tbl in ./ not in intl/
+@@ -12,7 +12,7 @@
+ # - Modified by jacob berkman <jacob@ximian.com> to install
+ #   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
+ #
+-# - Modified by Rodney Dawes <dobey.pwns@gmail.com> for use with intltool
++# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
+ #
+ # We have the following line for use by intltoolize:
+ # INTLTOOL_MAKEFILE
+@@ -25,7 +25,7 @@
+ 
+ srcdir = @srcdir@
+ top_srcdir = @top_srcdir@
+-top_builddir = @top_builddir@
++top_builddir = ..
+ VPATH = @srcdir@
+ 
+ prefix = @prefix@
+@@ -56,19 +56,15 @@
+ 
+ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
+ 
+-USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
+-
+-USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
+-
+-POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
++POFILES=$(shell if test -n "$(PO_LINGUAS)"; then LINGUAS="$(PO_LINGUAS)"; else LINGUAS="$(ALL_LINGUAS)"; fi; for lang in $$LINGUAS; do printf "$$lang.po "; done)
+ 
+ DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES)
+ EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
+ 
+ POTFILES = \
+-# This comment gets stripped out
++#This Gets Replace for some reason
+ 
+-CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
++CATALOGS=$(shell if test -n "$(PO_LINGUAS)"; then LINGUAS="$(PO_LINGUAS)"; else LINGUAS="$(ALL_LINGUAS)"; fi; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
+ 
+ .SUFFIXES:
+ .SUFFIXES: .po .pox .gmo .mo .msg .cat
+@@ -102,7 +98,11 @@
+ install-data-no: all
+ install-data-yes: all
+ 	$(mkdir_p) $(DESTDIR)$(itlocaledir)
+-	linguas="$(USE_LINGUAS)"; \
++	if test -n "$(PO_LINGUAS)"; then \
++	  linguas="$(PO_LINGUAS)"; \
++	else \
++	  linguas="$(ALL_LINGUAS)"; \
++	fi; \
+ 	for lang in $$linguas; do \
+ 	  dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
+ 	  $(mkdir_p) $$dir; \
+@@ -133,21 +133,20 @@
+ dvi info tags TAGS ID:
+ 
+ # Define this as empty until I found a useful application.
+-install-exec installcheck:
++installcheck:
+ 
+ uninstall:
+-	linguas="$(USE_LINGUAS)"; \
++	if test -n "$(PO_LINGUAS)"; then \
++	  linguas="$(PO_LINGUAS)"; \
++	else \
++	  linguas="$(ALL_LINGUAS)"; \
++	fi; \
+ 	for lang in $$linguas; do \
+ 	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
+ 	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
+ 	done
+ 
+ check: all $(GETTEXT_PACKAGE).pot
+-	rm -f missing notexist
+-	srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
+-	if [ -r missing -o -r notexist ]; then \
+-	  exit 1; \
+-	fi
+ 
+ mostlyclean:
+ 	rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
+@@ -180,7 +179,11 @@
+ update-po: Makefile
+ 	$(MAKE) $(GETTEXT_PACKAGE).pot
+ 	tmpdir=`pwd`; \
+-	linguas="$(USE_LINGUAS)"; \
++	if test -n "$(PO_LINGUAS)"; then \
++	  linguas="$(PO_LINGUAS)"; \
++	else \
++	  linguas="$(ALL_LINGUAS)"; \
++	fi; \
+ 	for lang in $$linguas; do \
+ 	  echo "$$lang:"; \
+ 	  result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
+@@ -208,8 +211,8 @@
+ 	  $(MAKE) stamp-it; \
+ 	fi
+ 
+-stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
+-	cd $(top_builddir) \
++stamp-it: Makefile.in.in ../config.status POTFILES.in
++	cd .. \
+ 	  && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
+ 	       $(SHELL) ./config.status
+ 
Index: files/patch-src_properties.c
===================================================================
RCS file: files/patch-src_properties.c
diff -N files/patch-src_properties.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-src_properties.c	26 Jul 2008 13:46:12 -0000
@@ -0,0 +1,94 @@
+--- src/properties.c.orig	2008-07-26 22:26:43.000000000 +1000
++++ src/properties.c	2008-07-26 22:28:54.000000000 +1000
+@@ -23,7 +23,6 @@
+ 
+   if (!(g_ascii_strcasecmp(key, "/apps/synce/trayicon/dccm"))) {
+     const gchar *which_dccm = gconf_value_get_string(value);
+-    GtkWidget *prefs_use_odccm = glade_xml_get_widget (xml, "prefs_use_odccm");	
+     GtkWidget *prefs_use_vdccm = glade_xml_get_widget (xml, "prefs_use_vdccm");	
+     GtkWidget *prefs_use_hal = glade_xml_get_widget (xml, "prefs_use_hal");	
+     GtkWidget *prefs_start_stop_vdccm = glade_xml_get_widget (xml, "prefs_start_stop_vdccm");	
+@@ -31,33 +30,18 @@
+     if (!(g_ascii_strcasecmp(which_dccm, "v"))) {
+       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_vdccm), TRUE);
+       gtk_widget_set_sensitive(prefs_start_stop_vdccm, TRUE);
+-    } else if (!(g_ascii_strcasecmp(which_dccm, "o"))) {
+-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_odccm), TRUE);
+-      gtk_widget_set_sensitive(prefs_start_stop_vdccm, FALSE);
+     } else if (!(g_ascii_strcasecmp(which_dccm, "h"))) {
+       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_hal), TRUE);
+       gtk_widget_set_sensitive(prefs_start_stop_vdccm, FALSE);
+     } else {
+       gconf_client_set_string (conf_client,
+-			    "/apps/synce/trayicon/dccm", "o", NULL);
++			    "/apps/synce/trayicon/dccm", "h", NULL);
+     }
+   }
+ }
+ 
+ 
+ static void
+-prefs_use_odccm_toggled_cb (GtkWidget *widget, gpointer data)
+-{
+-    gboolean state;
+-    GConfClient *conf_client = gconf_client_get_default();
+-
+-    state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
+-    if (state)
+-      gconf_client_set_string (conf_client,
+-			       "/apps/synce/trayicon/dccm", "o", NULL);
+-}
+-
+-static void
+ prefs_use_vdccm_toggled_cb (GtkWidget *widget, gpointer data)
+ {
+     gboolean state;
+@@ -107,7 +91,7 @@
+ GtkWidget *
+ run_prefs_dialog (SynceTrayIcon *trayicon)
+ {
+-  GtkWidget *prefs_window, *prefs_use_odccm, *prefs_use_vdccm, *prefs_use_hal, *prefs_start_stop_vdccm, *close_button;
++  GtkWidget *prefs_window, *prefs_use_vdccm, *prefs_use_hal, *prefs_start_stop_vdccm, *close_button;
+   gchar *which_dccm;
+   GError *error = NULL;
+ 
+@@ -117,36 +101,30 @@
+ 
+   prefs_window = glade_xml_get_widget (xml, "prefs_window");
+ 
+-  prefs_use_odccm = glade_xml_get_widget (xml, "prefs_use_odccm");
+   prefs_use_vdccm = glade_xml_get_widget (xml, "prefs_use_vdccm");
+   prefs_use_hal = glade_xml_get_widget (xml, "prefs_use_hal");
+   prefs_start_stop_vdccm = glade_xml_get_widget (xml, "prefs_start_stop_vdccm");
+ 
+   if (!(which_dccm = gconf_client_get_string (conf_client,
+ 					      "/apps/synce/trayicon/dccm", &error))) {
+-    which_dccm = g_strdup("o");
++    which_dccm = g_strdup("h");
+     if (error) {
+       g_warning("%s: Get dccm type from gconf failed: %s", G_STRFUNC, error->message);
+       g_error_free(error);
+     }
+   }
+ 
+-  if (!(g_ascii_strcasecmp(which_dccm, "h"))) {
+-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_hal), TRUE);
+-    gtk_widget_set_sensitive(prefs_start_stop_vdccm, FALSE);
+-  } else if (!(g_ascii_strcasecmp(which_dccm, "v"))) {
++  if (!(g_ascii_strcasecmp(which_dccm, "v"))) {
+     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_vdccm), TRUE);
+     gtk_widget_set_sensitive(prefs_start_stop_vdccm, TRUE);
+     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_start_stop_vdccm), 
+ 				  gconf_client_get_bool (conf_client,
+ 							 "/apps/synce/trayicon/start_vdccm", NULL));
+   } else {
+-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_odccm), TRUE);
++    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_hal), TRUE);
+     gtk_widget_set_sensitive(prefs_start_stop_vdccm, FALSE);
+   }
+ 
+-  g_signal_connect (G_OBJECT (prefs_use_odccm), "toggled",
+-		      G_CALLBACK (prefs_use_odccm_toggled_cb), NULL);
+   g_signal_connect (G_OBJECT (prefs_use_vdccm), "toggled",
+ 		      G_CALLBACK (prefs_use_vdccm_toggled_cb), prefs_start_stop_vdccm);
+   g_signal_connect (G_OBJECT (prefs_use_hal), "toggled",
Index: files/patch-synce-trayicon.1
===================================================================
RCS file: files/patch-synce-trayicon.1
diff -N files/patch-synce-trayicon.1
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-synce-trayicon.1	26 Jul 2008 13:46:12 -0000
@@ -0,0 +1,11 @@
+--- man/synce-trayicon.1.orig	2008-04-16 05:17:48.000000000 +1000
++++ man/synce-trayicon.1	2008-06-11 20:59:11.000000000 +1000
+@@ -3,7 +3,7 @@
+ synce-trayicon \- Gnome system tray app for SynCE
+ .SH SYNOPSIS
+ .B synce-trayicon
+-[-f] [-d level]
++[\-f] [\-d level]
+ .SH DESCRIPTION
+ \fBsynce-trayicon\fP is a Gnome system tray application for synCE, for
+ monitoring connected Windows CE based devices.
Index: files/pkg-message.in
===================================================================
RCS file: files/pkg-message.in
diff -N files/pkg-message.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/pkg-message.in	26 Jul 2008 13:46:12 -0000
@@ -0,0 +1,7 @@
+
+You need to install one of the dccm implementation:
+
+palm/synce-hal or palm/synce-serial with palm/synce-vdccm 
+
+Please check your palm/synce-libsynce port options.
+
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807261351.m6QDphwL071548>