[arch-commits] CVS update of extra/network/gnomemeeting (3 files)

Jan de Groot jgc at archlinux.org
Sun Apr 22 12:31:04 EDT 2007


    Date: Sunday, April 22, 2007 @ 12:31:04
  Author: jgc
    Path: /home/cvs-extra/extra/network/gnomemeeting

 Removed: PKGBUILD (1.18) gnomemeeting-bonjour-support.patch (1.1)
          gnomemeeting.install (1.5)

Kill, crush and destroy.


------------------------------------+
 PKGBUILD                           |   32 
 gnomemeeting-bonjour-support.patch | 1295 -----------------------------------
 gnomemeeting.install               |   51 -
 3 files changed, 1378 deletions(-)


Index: extra/network/gnomemeeting/PKGBUILD
diff -u extra/network/gnomemeeting/PKGBUILD:1.18 extra/network/gnomemeeting/PKGBUILD:removed
--- extra/network/gnomemeeting/PKGBUILD:1.18	Fri Feb 10 17:06:52 2006
+++ extra/network/gnomemeeting/PKGBUILD	Sun Apr 22 12:31:04 2007
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD,v 1.18 2006/02/10 22:06:52 jgc Exp $
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-# Contributer: Jason Chu <jason at archlinux.org>
-
-pkgname=gnomemeeting
-pkgver=1.2.2
-pkgrel=3
-force=y
-pkgdesc="A VoIP client"
-depends=('openh323>=1.15.6-2' 'evolution-data-server>=1.4.2.1-2')
-makedepends=(intltool pkgconfig)
-source=(http://ftp.gnome.org/pub/GNOME/sources/gnomemeeting/1.2/gnomemeeting-${pkgver}.tar.bz2)
-install=gnomemeeting.install
-url="http://www.gnomemeeting.org"
-md5sums=(d31506651c6d86764ed66b7b9f711809)
-
-build() {
-  [ -z "${GNOMEDIR}" ] && . /etc/profile.d/gnome.sh
-
-  cd ${startdir}/src/gnomemeeting-${pkgver}
-  find . -name Makefile.in -exec sed -i -e 's/-scrollkeeper-update.*//' {} \;
-  if [ -f omf.make ]; then
-    sed -i -e 's/-scrollkeeper-update.*//' omf.make
-  fi
-
-  export CFLAGS="${CFLAGS} -DLDAP_DEPRECATED" 
-  export CXXFLAGS="${CXXFLAGS} -DLDAP_DEPRECATED"
-  #Disable zeroconf until gnomemeeting supports native Avahi
-  ./configure --prefix=/opt/gnome --disable-howl
-  make || return 1
-  make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR=${startdir}/pkg install 
-}
Index: extra/network/gnomemeeting/gnomemeeting-bonjour-support.patch
diff -u extra/network/gnomemeeting/gnomemeeting-bonjour-support.patch:1.1 extra/network/gnomemeeting/gnomemeeting-bonjour-support.patch:removed
--- extra/network/gnomemeeting/gnomemeeting-bonjour-support.patch:1.1	Fri Sep 23 07:54:36 2005
+++ extra/network/gnomemeeting/gnomemeeting-bonjour-support.patch	Sun Apr 22 12:31:04 2007
@@ -1,1295 +0,0 @@
-? autom4te.cache
-? depcomp
-? gnomemeeting-bonjour-support.patch
-? gnomemeeting.diff
-? gnomemeeting.schemas
-? gnomemeeting.schemas.in
-? gnomemeeting.service
-? stamp-h1
-? help/Makefile
-? help/Makefile.in
-? help/C/Makefile
-? help/C/Makefile.in
-? help/C/gnomemeeting-C.omf.out
-? help/C/omf_timestamp
-? help/fr/Makefile
-? help/fr/Makefile.in
-? help/fr/gnomemeeting-fr.omf.out
-? help/fr/omf_timestamp
-? lib/Makefile
-? lib/Makefile.in
-? lib/gm_events_marshalers.h
-? lib/about/Makefile
-? lib/about/Makefile.in
-? lib/contacts/Makefile
-? lib/contacts/Makefile.in
-? lib/contacts/gm_contacts-zeroconf-bonjour.cpp
-? lib/contacts/gm_contacts-zeroconf-bonjour.h
-? lib/druid/Makefile
-? lib/druid/Makefile.in
-? lib/widgets/Makefile
-? lib/widgets/Makefile.in
-? lib/xdap/Makefile
-? lib/xdap/Makefile.in
-? man/Makefile
-? man/Makefile.in
-? pixmaps/inline_emoticons.h
-? pixmaps/inlines.h
-? src/gnomemeeting-config-tool
-? xdap_data/Makefile
-? xdap_data/Makefile.in
-Index: configure.in
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/configure.in,v
-retrieving revision 1.329
-diff -u -p -r1.329 configure.in
---- configure.in	18 Jul 2005 15:45:08 -0000	1.329
-+++ configure.in	8 Aug 2005 23:52:23 -0000
-@@ -449,13 +449,72 @@ else
-    AC_MSG_RESULT([yes])
- fi
- 
-+ZEROCONF="disabled"
-+
- if test x"${disable_howl}" = xno ; then
-    PKG_CHECK_MODULES(HOWL,  howl >= 0.9.7)
--   GNOMEMEETING_CFLAGS="$GNOMEMEETING_CFLAGS $HOWL_CFLAGS -DHAS_HOWL"
-+   GNOMEMEETING_CFLAGS="$GNOMEMEETING_CFLAGS $HOWL_CFLAGS -DHAS_HOWL -DHAS_ZEROCONF"
-    GNOMEMEETING_LIBS="$GNOMEMEETING_LIBS $HOWL_LIBS"
-+   ZEROCONF="howl"
- fi
- AM_CONDITIONAL(HAS_HOWL, test x"${disable_howl}" = xno)
- 
-+dnl #########################################################################
-+dnl   Check for Bonjour
-+dnl #########################################################################
-+AC_ARG_ENABLE(bonjour,
-+       [  --enable-bonjour       Enable the Bonjour component.],
-+       enable_bonjour=yes, enable_bonjour=no)
-+
-+AC_MSG_CHECKING(whether the Bonjour component should be compiled in)
-+if test x"${enable_bonjour}" = xno ; then
-+   AC_MSG_RESULT([no])
-+else
-+   AC_MSG_RESULT([yes])
-+fi
-+
-+if test x"${enable_bonjour}" = xyes ; then
-+   if test x"${disable_howl}" = xno ; then
-+      AC_MSG_ERROR([*** Can't use both howl and bonjour at the same time. Please pick one only. ***])
-+   fi
-+
-+   CPPFLAGS_save="$CPPFLAGS"
-+   LDFLAGS_save="$LDFLAGS"
-+
-+   AC_ARG_WITH(bonjour-includes, [  --with-bonjour-includes=PREFIX     Location of Bonjour includes.],
-+                                 with_bonjour_includes="$withval", with_bonjour_includes="/usr/include")
-+
-+   CPPFLAGS="$CPPFLAGS -I$with_bonjour_includes"
-+   AC_CHECK_HEADER(dns_sd.h, , AC_MSG_ERROR([Unable to find Bonjour includes]))
-+   CPPFLAGS="$CPPFLAGS_save"
-+
-+   if test x$with_bonjour_includes != x/usr/include; then
-+      BONJOUR_CFLAGS="-I$with_bonjour_includes"
-+   else
-+      BONJOUR_CFLAGS=""
-+   fi
-+
-+   AC_ARG_WITH(bonjour-libs, [  --with-bonjour-libs=PREFIX     	Location of Bonjour libs.],
-+                             with_bonjour_libs="$withval", with_bonjour_libs="/usr/lib")
-+
-+   LDFLAGS="$LDFLAGS -L$with_bonjour_libs -ldns_sd"
-+   AC_TRY_LINK_FUNC(DNSServiceResolve, , AC_MSG_ERROR([Unable to find Bonjour libs]))
-+   LDFLAGS="$LDFLAGS_save"
-+
-+   if test x$with_bonjour_libs != x/usr/lib; then
-+      BONJOUR_LIBS="-L$with_bonjour_libs -ldns_sd"
-+   else
-+      BONJOUR_LIBS="-ldns_sd"
-+   fi
-+
-+   ZEROCONF="bonjour"
-+
-+   GNOMEMEETING_CFLAGS="$GNOMEMEETING_CFLAGS $BONJOUR_CFLAGS -DHAS_BONJOUR -DHAS_ZEROCONF"
-+   GNOMEMEETING_LIBS="$GNOMEMEETING_LIBS $BONJOUR_LIBS"
-+fi
-+AM_CONDITIONAL(HAS_BONJOUR, test x"${enable_bonjour}" = xyes)
-+
-+AM_CONDITIONAL(HAS_ZEROCONF, test x"${disable_howl}" = xno -o x"${enable_bonjour}" = xyes)
- 
- dnl ###########################################################################
- dnl  The various CFLAGS are merged into GNOMEMEETING_CFLAGS and 
-@@ -547,7 +606,7 @@ echo ""
- echo "                Quicknet support  :  $HAS_IXJ"
- echo "          SDL Fullscreen support  :  $HAS_SDL"
- echo "                    DBUS support  :  $DBUS"
--echo "                Zeroconf support  :  $HOWL"
-+echo "                Zeroconf support  :  $ZEROCONF"
- echo ""
- echo "                         OS Type  :  $target_os"
- echo "                    Machine Type  :  $target_cpu"
-Index: lib/contacts/Makefile.am
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/lib/contacts/Makefile.am,v
-retrieving revision 1.12
-diff -u -p -r1.12 Makefile.am
---- lib/contacts/Makefile.am	26 Dec 2004 14:45:59 -0000	1.12
-+++ lib/contacts/Makefile.am	8 Aug 2005 23:52:23 -0000
-@@ -21,7 +21,7 @@ else
- libgmcontacts_la_SOURCES += gm_contacts-eds.cpp
- endif
- 
--if HAS_HOWL
-+if HAS_ZEROCONF
- libgmcontacts_la_SOURCES += gm_contacts-zeroconf.cpp gm_contacts-zeroconf.h
- endif
- 
-Index: lib/contacts/gm_contacts-remote.cpp
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/lib/contacts/gm_contacts-remote.cpp,v
-retrieving revision 1.26
-diff -u -p -r1.26 gm_contacts-remote.cpp
---- lib/contacts/gm_contacts-remote.cpp	14 Nov 2004 18:43:44 -0000	1.26
-+++ lib/contacts/gm_contacts-remote.cpp	8 Aug 2005 23:52:23 -0000
-@@ -49,7 +49,7 @@
- #define _GM_CONTACTS_H_INSIDE__
- #include "gm_contacts-remote.h"
- #include "gm_contacts-ldap.h"
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
- #include "gm_contacts-zeroconf.h"
- #endif
- #undef _GM_CONTACTS_H_INSIDE__
-@@ -63,7 +63,7 @@ gnomemeeting_get_remote_addressbooks ()
- 
-   l = gnomemeeting_get_ldap_addressbooks ();
- 
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-   GSList *h = NULL;
- 
-   h = gnomemeeting_get_zero_addressbooks ();
-@@ -91,7 +91,7 @@ gnomemeeting_remote_addressbook_get_cont
- 						       url,
- 						       categorie,
- 						       speeddial);
--#ifdef HAS_HOWL /* If it is not an ldap addressbook, then it is a ZC one */
-+#ifdef HAS_ZEROCONF /* If it is not an ldap addressbook, then it is a ZC one */
-   else
-     return gnomemeeting_zero_addressbook_get_contacts (addressbook,
- 						       nbr,
-@@ -252,7 +252,7 @@ gnomemeeting_remote_addressbook_is_edita
- void
- gnomemeeting_remote_addressbook_init ()
- {
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-   gnomemeeting_zero_addressbook_init ();
- #endif
- }
-Index: lib/contacts/gm_contacts-zeroconf.cpp
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/lib/contacts/gm_contacts-zeroconf.cpp,v
-retrieving revision 1.9
-diff -u -p -r1.9 gm_contacts-zeroconf.cpp
---- lib/contacts/gm_contacts-zeroconf.cpp	15 Nov 2004 21:10:26 -0000	1.9
-+++ lib/contacts/gm_contacts-zeroconf.cpp	8 Aug 2005 23:52:24 -0000
-@@ -37,16 +37,20 @@
-  */
- 
- 
--#include <howl.h>
-+#ifdef HAS_BONJOUR
-+# include <dns_sd.h>
-+#else
-+# include <howl.h>
- 
- /* HOWL bug */
--#undef PACKAGE
--#undef PACKAGE_STRING
--#undef PACKAGE_NAME
--#undef PACKAGE_TARNAME
--#undef PACKAGE_VERSION
--#undef PACKAGE_BUGREPORT
--#undef VERSION
-+# undef PACKAGE
-+# undef PACKAGE_STRING
-+# undef PACKAGE_NAME
-+# undef PACKAGE_TARNAME
-+# undef PACKAGE_VERSION
-+# undef PACKAGE_BUGREPORT
-+# undef VERSION
-+#endif
- 
- #include <stdio.h>
- 
-@@ -78,6 +82,46 @@
- static gint compare_func (gconstpointer, 
- 			  gconstpointer);
- 
-+#ifdef HAS_BONJOUR
-+
-+/* DESCRIPTION  : Callback function used when the zeroconf service 
-+ *		  is resolved.
-+ * BEHAVIOR     : Returns ok.
-+ *		  This function appends the new contact in list this->contacts
-+ * PRE          : extra is (void *). It can be used to configure 
-+ *		  the function.
-+ */
-+static void resolve_reply (DNSServiceRef session,
-+			   DNSServiceFlags flags,
-+			   uint32_t interface_index,
-+			   DNSServiceErrorType error_code,
-+			   const char *full_name,
-+			   const char *host_name,
-+			   uint16_t port,
-+			   uint16_t text_record_len,
-+			   const char *text_record,
-+			   void *context);
-+
-+/* DESCRIPTION  : / 
-+ * BEHAVIOR     : Return ok.
-+ *		  Callback function used when the zeroconf service 
-+ *		  is  browsed.
-+ *		  This function removes the old contact of the list 
-+ *		  this->contacts.
-+ *		  This function resolves the new contact.
-+ * PRE          : extra is (void *). It can be used to configure 
-+ *		  the function.
-+ */
-+static void browse_reply (DNSServiceRef        session,
-+			  DNSServiceFlags      flags,
-+			  uint32_t             interface_index,
-+			  DNSServiceErrorType  error_code,
-+			  const char          *name,
-+			  const char          *type,
-+			  const char          *domain,
-+			  void                *context);
-+
-+#else
- 
- /* DESCRIPTION  : Callback function used when the zeroconf service 
-  *		  is resolved.
-@@ -118,6 +162,7 @@ static sw_result HOWL_API browse_reply (
- 					sw_const_string domain,
- 					sw_opaque_t extra);
- 
-+#endif
- 
- /* Callbacks: Implementation */
- gint
-@@ -133,6 +178,166 @@ compare_func (gconstpointer a, 
-   return (strcmp (contact1->fullname, contact2->fullname));
- }
- 
-+#ifdef HAS_BONJOUR
-+
-+static void
-+resolve_reply (DNSServiceRef session,
-+	       DNSServiceFlags flags,
-+	       uint32_t interface_index,
-+	       DNSServiceErrorType error_code,
-+	       const char *full_name,
-+	       const char *host_name,
-+	       uint16_t port,
-+	       uint16_t text_record_len,
-+	       const char *text_record,
-+	       void *context)
-+{
-+  gint i;
-+
-+  GMZeroconfBrowser *zero = (GMZeroconfBrowser *) context;
-+
-+  GmContact *contact = NULL;
-+  GSList *tmp_list = NULL;
-+
-+  if (error_code != kDNSServiceErr_NoError)
-+    return;
-+
-+  /* Init of the new contact with the service name that we just discovered */
-+  contact = gm_contact_new ();
-+  contact->fullname = g_strdup (host_name);
-+
-+  
-+  /* Try to find if the service name that we discovered 
-+   * is already in our contact list */
-+  zero->mutex.Wait ();
-+  tmp_list = g_slist_find_custom (zero->contacts, 
-+				  contact,
-+				  compare_func);
-+  
-+  
-+  /* If tmp_list is not NULL it means that the service name was 
-+   * in the contact list */
-+  if (tmp_list && tmp_list->data) {
-+    
-+    gm_contact_delete ((GmContact *) tmp_list->data);
-+    tmp_list->data = contact;
-+  }
-+
-+  /* creation of the call url */
-+  contact->url = 
-+    g_strdup_printf("h323:%s:%d",
-+		    host_name,
-+		    g_ntohs (port));
-+  zero->mutex.Signal ();
-+
-+  contact->state = 0;
-+
-+  for (i = 0; i < TXTRecordGetCount (text_record_len, text_record); i++) {
-+    char key [256];
-+    const char *value;
-+    uint8_t value_len;
-+
-+    if (TXTRecordGetItemAtIndex (text_record_len, text_record,
-+				 i, 256, key, &value_len, (const void **) &value) != kDNSServiceErr_NoError)
-+      continue;
-+
-+    if (value_len < 1 || !value)
-+      continue;
-+
-+    if (!strcasecmp (key, "email"))
-+      contact->email = g_strndup (value, value_len);
-+    if (!strcasecmp (key, "location"))
-+      contact->location = g_strndup (value, value_len);
-+    if (!strcasecmp (key, "comment"))
-+      contact->comment = g_strndup (value, value_len);
-+    if (!strcasecmp (key, "software"))
-+      contact->software = g_strndup (value, value_len);
-+    if (!strcasecmp (key, "state"))
-+    {
-+      gchar *temp_str = g_strndup (value, value_len);
-+      contact->state = (atoi ((const char *) temp_str) == 2 ? 1 : 0);
-+      g_free (temp_str);
-+    }
-+  }
-+
-+  /* If the list wasn't NULL it means that we found the contact 
-+   * so we just updated his info (email/location etc...) but we don't add it 
-+   * because it was already in the list.
-+   */
-+  if (tmp_list)
-+    return;
-+
-+  /* Add the new contact in the contacts list. 
-+   * The mutex preserve contacts from concurent access */
-+  zero->mutex.Wait();
-+  zero->contacts = g_slist_append (zero->contacts, (gpointer) contact);
-+  zero->mutex.Signal();
-+}
-+
-+static void
-+browse_reply (DNSServiceRef        session,
-+	      DNSServiceFlags      flags,
-+	      uint32_t             interface_index,
-+	      DNSServiceErrorType  error_code,
-+	      const char          *name,
-+	      const char          *type,
-+	      const char          *domain,
-+	      void                *context)
-+{
-+  GMZeroconfBrowser *zero = (GMZeroconfBrowser *) context;
-+
-+  GmContact *contact = NULL;
-+  GSList *l = NULL;
-+
-+  if (error_code != kDNSServiceErr_NoError)
-+    return;
-+
-+  if (flags & kDNSServiceFlagsAdd) {
-+    DNSServiceRef *resolve_session;
-+    DNSServiceErrorType res;
-+
-+    /* We discovered a new service, 
-+     * we must resolve its IP and TXT record */
-+
-+    resolve_session = g_new (DNSServiceRef, 1);
-+
-+    res = DNSServiceResolve (resolve_session,
-+			     0 /* flags (none needed) */,
-+			     0 /* interface (-1 for local, 0 for all) */,
-+			     name,
-+			     type,
-+			     domain,
-+			     resolve_reply,
-+			     context);
-+
-+    if (res == kDNSServiceErr_NoError) {
-+      zero->resolve_session_list = g_list_prepend (zero->resolve_session_list, resolve_session);
-+    } else {
-+      g_free (resolve_session);
-+    }
-+  } else {
-+    /* A service dissappeared, we must remove it from the list */
-+    zero->mutex.Wait();
-+    for (l = zero->contacts; l && l->data; l = g_slist_next (l)) {
-+
-+      contact = (GmContact *) l->data;
-+      if (contact && contact->fullname) {
-+
-+	if (!strcmp (contact->fullname, name)) {
-+
-+	  zero->contacts = 
-+	    g_slist_remove (zero->contacts, 
-+			    (gpointer) contact);
-+	  gm_contact_delete (contact);
-+	}
-+      }
-+    }
-+
-+    zero->mutex.Signal();
-+  }
-+}
-+
-+#else
- 
- static sw_result HOWL_API
- resolve_reply (sw_discovery discovery,
-@@ -292,6 +497,7 @@ browse_reply (sw_discovery discovery,
-   return SW_OKAY;
- }
- 
-+#endif
- 
- /* The GmContact API function */
- /* We can not do it without this global */
-@@ -457,6 +663,13 @@ void gnomemeeting_zero_addressbook_init 
- GMZeroconfBrowser::GMZeroconfBrowser ()
-     :PThread (1000, NoAutoDeleteThread)
- {
-+#ifdef HAS_BONJOUR
-+  resolve_session_list = NULL;
-+  is_browsing = FALSE;
-+
-+  Start ();
-+  thread_sync_point.Wait ();
-+#else
-   if (sw_discovery_init(&discovery) != SW_OKAY)
-     PTRACE (1, "GMZeroconfBrowser: Can't browse!");
- 
-@@ -468,16 +681,24 @@ GMZeroconfBrowser::GMZeroconfBrowser ()
-     Start ();
-     thread_sync_point.Wait ();
-   }
-+#endif
- }
- 
- 
- GMZeroconfBrowser::~GMZeroconfBrowser ()
- {
-+#ifdef HAS_BONJOUR
-+  if (is_browsing) {
-+    is_browsing = FALSE;
-+    DNSServiceRefDeallocate (browse_session);
-+  }
-+#else
-   if (discovery) {
-     
-     sw_discovery_stop_run (discovery);
-     sw_discovery_fina (discovery);
-   }
-+#endif
- 
-   g_slist_foreach (contacts, (GFunc) gm_contact_delete, NULL);
-   g_slist_free (contacts);
-@@ -489,11 +710,33 @@ GMZeroconfBrowser::~GMZeroconfBrowser ()
- int
- GMZeroconfBrowser::Browse ()
- {
-+#ifdef HAS_BONJOUR
-+  DNSServiceErrorType err;
-+
-+  if (is_browsing)
-+    return 0;
-+
-+  is_browsing = TRUE;
-+
-+  err = DNSServiceBrowse (&browse_session,
-+			  0 /* flags (none needed) */,
-+			  0 /* interface (-1 for local, 0 for all) */,
-+			  ZC_H323,
-+			  "local",
-+			  browse_reply,
-+			  this);
-+
-+  if (err == kDNSServiceErr_NoError)
-+    return 0;
-+
-+  return -1;
-+#else
-   sw_result err = SW_FALSE;
-   
-   if (discovery)
-     err = sw_discovery_browse (discovery, 0, ZC_H323, NULL, 
- 			       browse_reply, this, &browse_id);
-+#endif
-   
-   return err;
- }
-@@ -531,18 +774,129 @@ GMZeroconfBrowser::GetContacts ()
- void
- GMZeroconfBrowser::Main()
- {
-+#ifdef HAS_BONJOUR
-+  GList *l, *l_next;
-+#endif
-+
-   PWaitAndSignal m(quit_mutex);
-   thread_sync_point.Signal ();
- 
-+#ifdef HAS_BONJOUR
-+  for ( ; is_browsing; ) {
-+    struct timeval tv;
-+    gint n_ready;
-+    fd_set read_fds;
-+    gint high_fd = -1;
-+    gint fd;
-+
-+    FD_ZERO (&read_fds);
-+
-+    /* Listen for browse events */
-+
-+    fd = DNSServiceRefSockFD (browse_session);
-+    if (fd < 0)
-+      break;
-+
-+    FD_SET (fd, &read_fds);
-+    high_fd = MAX (high_fd, fd);
-+
-+    /* Listen for name resolution events */
-+
-+    for (l = resolve_session_list; l; l = g_list_next (l)) {
-+      DNSServiceRef *resolve_session = (DNSServiceRef *) l->data;
-+
-+      fd = DNSServiceRefSockFD (*resolve_session);
-+      if (fd < 0)
-+        continue;
-+
-+      FD_SET (fd, &read_fds);
-+      high_fd = MAX (high_fd, fd);
-+    }
-+
-+    /* Block to listen */
-+
-+    tv.tv_sec = 1;
-+    tv.tv_usec = 0;
-+
-+    n_ready = select (high_fd + 1, &read_fds, NULL, NULL, &tv);
-+
-+    if (n_ready < 1)
-+      continue;
-+
-+    /* Process browse events */
-+
-+    fd = DNSServiceRefSockFD (browse_session);
-+    if (fd < 0)
-+      break;
-+
-+    if (FD_ISSET (fd, &read_fds)) {
-+      DNSServiceErrorType err;
-+
-+      FD_CLR (fd, &read_fds);
-+      err = DNSServiceProcessResult (browse_session);
-+      if (err != kDNSServiceErr_NoError) {
-+        DNSServiceRefDeallocate (browse_session);
-+        break;
-+      }
-+    }
-+
-+    /* Process name resolution events */
-+
-+    for (l = resolve_session_list; l; l = l_next) {
-+      DNSServiceRef *resolve_session = (DNSServiceRef *) l->data;
-+      DNSServiceErrorType err;
-+
-+      l_next = g_list_next (l);
-+
-+      fd = DNSServiceRefSockFD (*resolve_session);
-+      if (fd < 0) {
-+        DNSServiceRefDeallocate (*resolve_session);
-+        resolve_session_list = g_list_delete_link (resolve_session_list, l);
-+        continue;
-+      }
-+
-+      if (!FD_ISSET (fd, &read_fds))
-+        continue;
-+
-+      FD_CLR (fd, &read_fds);
-+      err = DNSServiceProcessResult (*resolve_session);
-+      if (err != kDNSServiceErr_NoError) {
-+        DNSServiceRefDeallocate (*resolve_session);
-+        resolve_session_list = g_list_delete_link (resolve_session_list, l);
-+      }
-+    }
-+  }
-+
-+  /* Free resolution contexts */
-+
-+  for (l = resolve_session_list; l; l = g_list_next (l)) {
-+    DNSServiceRef *resolve_session = (DNSServiceRef *) l->data;
-+    DNSServiceRefDeallocate (*resolve_session);
-+  }
-+
-+  g_list_free (resolve_session_list);
-+
-+  /* Reset to initial state */
-+
-+  resolve_session_list = NULL;
-+  is_browsing = FALSE;
-+
-+#else
-   sw_discovery_run (discovery);
-+#endif
- }
- 
- 
- int 
- GMZeroconfBrowser::Start()
- {
-+#ifdef HAS_BONJOUR
-+  Browse ();
-+  Resume ();
-+#else
-   if (discovery)
-     Resume ();
-+#endif
- 
-   return 0;
- }
-@@ -551,10 +905,18 @@ GMZeroconfBrowser::Start()
- int 
- GMZeroconfBrowser::Stop ()
- {
-+#ifdef HAS_BONJOUR
-+  if (!is_browsing)
-+    return 0;
-+
-+  DNSServiceRefDeallocate (browse_session);
-+  return 0;
-+#else
-   sw_result err = SW_FALSE;
- 
-   if (discovery)
-     err = sw_discovery_cancel (discovery, browse_id);
-   
-   return err;
-+#endif
- }
-Index: lib/contacts/gm_contacts-zeroconf.h
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/lib/contacts/gm_contacts-zeroconf.h,v
-retrieving revision 1.2
-diff -u -p -r1.2 gm_contacts-zeroconf.h
---- lib/contacts/gm_contacts-zeroconf.h	14 Nov 2004 18:43:44 -0000	1.2
-+++ lib/contacts/gm_contacts-zeroconf.h	8 Aug 2005 23:52:24 -0000
-@@ -46,7 +46,9 @@
- #include <ptlib.h>
- #include <lib/gm_conf.h>
- 
--
-+#ifdef HAS_BONJOUR
-+# include <dns_sd.h>
-+#else
- /* 
-  * Redefine some howl struct because of a bug in howl 
-  * including config.h that conflish with GM config.h
-@@ -54,6 +56,7 @@
- struct				_sw_discovery;
- typedef struct _sw_discovery*	sw_discovery;
- typedef unsigned int		sw_discovery_oid;
-+#endif
- 
- #define PERSONAL_DATA_KEY "/apps/gnomemeeting/general/personal_data/"
- #define PORTS_KEY "/apps/gnomemeeting/protocols/h323/ports/"
-@@ -132,6 +135,15 @@ public:
-   GSList *contacts;
-   PMutex mutex;
- 
-+#ifdef HAS_BONJOUR
-+  guint is_browsing : 1;
-+  DNSServiceRef browse_session;
-+  GList *resolve_session_list;
-+#else
-+  sw_discovery discovery; /* HOWL discovery session */
-+  sw_discovery_oid browse_id; /* Id of the publisher */  
-+#endif
-+
- private:
- 
-   /* DESCRIPTION  : / 
-@@ -140,9 +152,6 @@ private:
-    * 		  
-    */
-   void Main();
--
--  sw_discovery discovery; /* HOWL discovery session */
--  sw_discovery_oid browse_id; /* Id of the publisher */
- 
-   PMutex quit_mutex;
-   PSyncPoint thread_sync_point;
-Index: src/Makefile.am
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/src/Makefile.am,v
-retrieving revision 1.63
-diff -u -p -r1.63 Makefile.am
---- src/Makefile.am	13 Nov 2004 18:36:12 -0000	1.63
-+++ src/Makefile.am	8 Aug 2005 23:52:24 -0000
-@@ -65,7 +65,7 @@ if HAS_DBUS 
- gnomemeeting_SOURCES += dbus_component.cpp dbus_component.h
- endif
- 
--if HAS_HOWL
-+if HAS_ZEROCONF
- gnomemeeting_SOURCES += zeroconf_publisher.cpp zeroconf_publisher.h
- endif
- 
-Index: src/config.cpp
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/src/config.cpp,v
-retrieving revision 1.276
-diff -u -p -r1.276 config.cpp
---- src/config.cpp	26 Dec 2004 14:45:58 -0000	1.276
-+++ src/config.cpp	8 Aug 2005 23:52:25 -0000
-@@ -1213,7 +1213,7 @@ incoming_call_mode_changed_nt (gpointer 
-     /* Update the main window and its menu */
-     gm_main_window_set_incoming_call_mode (main_window, i);
- 
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-     ep->ZeroconfUpdate ();
- #endif
-     
-Index: src/endpoint.cpp
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/src/endpoint.cpp,v
-retrieving revision 1.438
-diff -u -p -r1.438 endpoint.cpp
---- src/endpoint.cpp	14 Feb 2005 19:17:37 -0000	1.438
-+++ src/endpoint.cpp	8 Aug 2005 23:52:26 -0000
-@@ -79,7 +79,7 @@ GMH323EndPoint::GMH323EndPoint ()
- #ifdef HAS_IXJ
-   lid = NULL;
- #endif
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-   zcp = NULL;
- #endif
-   ils_client = NULL;
-@@ -161,7 +161,7 @@ GMH323EndPoint::~GMH323EndPoint ()
-     delete (audio_tester);
- 
-   /* Stop the zeroconf publishing thread */
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-   zcp_access_mutex.Wait ();
-   if (zcp)
-     delete (zcp);
-@@ -683,7 +683,7 @@ GMH323EndPoint::CreateConnection (unsign
- }
- 
- 
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
- void
- GMH323EndPoint::ZeroconfUpdate (void)
- {
-@@ -1125,7 +1125,7 @@ GMH323EndPoint::OnConnectionEstablished 
-   if (reg)
-     ILSRegister ();
- 
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-   ZeroconfUpdate ();
- #endif
- 
-@@ -1474,7 +1474,7 @@ GMH323EndPoint::OnConnectionCleared (H32
-     if (reg)
-       ILSRegister ();
- 
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-     ZeroconfUpdate ();
- #endif
-   }
-@@ -1674,7 +1674,7 @@ GMH323EndPoint::Init ()
-     SetSTUNServer ();
- 
-   
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-   zcp_access_mutex.Wait ();
-   zcp = new GMZeroconfPublisher ();
-   ZeroconfUpdate ();
-Index: src/endpoint.h
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/src/endpoint.h,v
-retrieving revision 1.127
-diff -u -p -r1.127 endpoint.h
---- src/endpoint.h	13 Nov 2004 18:36:12 -0000	1.127
-+++ src/endpoint.h	8 Aug 2005 23:52:26 -0000
-@@ -44,7 +44,7 @@
- 
- #include "common.h"
- 
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
- #include "zeroconf_publisher.h"
- #endif
- 
-@@ -422,7 +422,7 @@ class GMH323EndPoint : public H323EndPoi
-   void SetSTUNServer (void);
- 
- 
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-   /* DESCRIPTION  :  /
-    * BEHAVIOR     :  Update the information published by zeroconf.
-    * PRE          :  /
-@@ -797,7 +797,7 @@ class GMH323EndPoint : public H323EndPoi
-   GMLid *lid;
- #endif
- 
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-   GMZeroconfPublisher *zcp;
-   PMutex zcp_access_mutex;
- #endif
-Index: src/pref_window.cpp
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/src/pref_window.cpp,v
-retrieving revision 1.239
-diff -u -p -r1.239 pref_window.cpp
---- src/pref_window.cpp	26 Dec 2004 14:45:58 -0000	1.239
-+++ src/pref_window.cpp	8 Aug 2005 23:52:27 -0000
-@@ -1416,7 +1416,7 @@ static void personal_data_update_cb (Gtk
-   /* Both are able to not register if the option is not active */
-   endpoint->ILSRegister ();
-   endpoint->GatekeeperRegister ();
--#ifdef HAS_HOWL
-+#ifdef HAS_ZEROCONF
-   endpoint->ZeroconfUpdate ();
- #endif
- 
-Index: src/zeroconf_publisher.cpp
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/src/zeroconf_publisher.cpp,v
-retrieving revision 1.7
-diff -u -p -r1.7 zeroconf_publisher.cpp
---- src/zeroconf_publisher.cpp	19 Nov 2004 11:09:55 -0000	1.7
-+++ src/zeroconf_publisher.cpp	8 Aug 2005 23:52:27 -0000
-@@ -36,7 +36,11 @@
-  *
-  */
- 
-+#ifdef HAS_BONJOUR
- 
-+#include <dns_sd.h>
-+
-+#else
- 
- #include <howl.h>
- 
-@@ -49,6 +53,8 @@
- #undef PACKAGE_BUGREPORT
- #undef VERSION
- 
-+#endif
-+
- #include <stdio.h>
- 
- #include <gm_conf.h>
-@@ -58,6 +64,37 @@
- #include "gnomemeeting.h"
- #include "misc.h"
- 
-+#ifdef HAS_BONJOUR
-+
-+/* Declarations */
-+
-+/* DESCRIPTION  : Callback function used when the zeroconf service 
-+ *		  is  published.
-+ * BEHAVIOR     : Do nothing.
-+ * PRE          : context is (void *). it can be used to configure 
-+ *		  the function.
-+ */
-+static void
-+publish_reply (DNSServiceRef sdRef,
-+	       DNSServiceFlags flags,
-+	       DNSServiceErrorType errorCode,
-+	       const char *name,
-+	       const char *regtype,
-+	       const char *domain,
-+	       void *context);
-+
-+/* Implementation */
-+static void
-+publish_reply (DNSServiceRef sdRef,
-+	       DNSServiceFlags flags,
-+	       DNSServiceErrorType errorCode,
-+	       const char *name,
-+	       const char *regtype,
-+	       const char *domain,
-+	       void *context)
-+{
-+}
-+#else
- 
- /* Declarations */
- 
-@@ -83,6 +120,7 @@ publish_reply (sw_discovery discovery,
-   return SW_OKAY;
- }
- 
-+#endif
- 
- /* Start of GMZeroconfPublisher definition */
- 
-@@ -91,19 +129,27 @@ publish_reply (sw_discovery discovery,
- GMZeroconfPublisher::GMZeroconfPublisher()
- :PThread (1000, NoAutoDeleteThread)
- {
-+  name = NULL;
-+  port = 1720;
-+
-+#ifdef HAS_BONJOUR
-+  is_publishing = FALSE;
-+
-+  Start ();
-+  thread_sync_point.Wait ();
-+#else
-   if (sw_discovery_init (&discovery) != SW_OKAY)
-     PTRACE (1, "GMZeroconfPublisher: Can't publish!");
- 
-   publish_id = 0;
-   text_record = NULL;
--  name = NULL;
--  port = 1720;
- 
-   if (discovery) {
-    
-     Start ();
-     thread_sync_point.Wait ();
-   }
-+#endif
- }
- 
- 
-@@ -115,11 +161,15 @@ GMZeroconfPublisher::GMZeroconfPublisher
- 
- GMZeroconfPublisher::~GMZeroconfPublisher()
- {
-+#if HAS_BONJOUR
-+  is_publishing = FALSE;
-+#else
-   if (discovery) {
-     
-     sw_discovery_stop_run (discovery);
-     sw_discovery_fina (discovery);
-   }
-+#endif
- 
-   PWaitAndSignal m(quit_mutex);
- }
-@@ -128,6 +178,35 @@ GMZeroconfPublisher::~GMZeroconfPublishe
- int
- GMZeroconfPublisher::Publish()
- {
-+#ifdef HAS_BONJOUR
-+  DNSServiceErrorType err = kDNSServiceErr_NoError;
-+
-+  if (is_publishing)
-+    Stop ();
-+
-+  GetPersonalData ();
-+
-+  if (name) {
-+    err = DNSServiceRegister (&publish_session,
-+			      0 /* flags */,
-+			      0 /* interface; 0 for all */,
-+			      name /* name */,
-+			      ZC_H323 /* type */,
-+			      NULL /* domain */,
-+			      NULL /* hostname */,
-+			      g_htons (port) /* port in network byte order */,
-+			      TXTRecordGetLength (&text_record),
-+			      TXTRecordGetBytesPtr (&text_record),
-+			      publish_reply /* callback */,
-+			      NULL /* context */);
-+
-+    if (err == kDNSServiceErr_NoError) {
-+      is_publishing = TRUE;
-+    } else {
-+      g_warning ("Could not do zeroconf publish; error %d\n", err);
-+    }
-+  }
-+#else
-   sw_result err = SW_OKAY;
- 
-   if (!discovery)
-@@ -144,10 +223,33 @@ GMZeroconfPublisher::Publish()
- 				sw_text_record_bytes (text_record), 
- 				sw_text_record_len (text_record), 
- 				publish_reply, NULL, &publish_id);
-+#endif
- 
-   return err;
- }
- 
-+#ifdef HAS_BONJOUR
-+
-+#define check_okay(err, label) if (err != 0) goto label
-+
-+static gint
-+add_to_text_record (TXTRecordRef *text_record, gchar *key, gchar *value)
-+{
-+  TXTRecordSetValue (text_record, key, strlen (value), value);
-+  return 0;
-+}
-+
-+#else
-+
-+#define check_okay(err, label) sw_check_okay (err, label)
-+
-+static gint
-+add_to_text_record (sw_text_record *text_record, gchar *key, gchar *value)
-+{
-+  return sw_text_record_add_key_and_string_value (*text_record, key, value);
-+}
-+
-+#endif
- 
- int
- GMZeroconfPublisher::GetPersonalData()
-@@ -159,7 +261,11 @@ GMZeroconfPublisher::GetPersonalData()
-   gchar	*gm_conf_gchar = NULL;
-   int gm_conf_int = 0;
- 
-+#ifdef HAS_BONJOUR
-+  gint err = 0;
-+#else
-   sw_result err = SW_OKAY;
-+#endif
- 
-   gnomemeeting_threads_enter ();
-   /* fetch first and last name to create a fullname */
-@@ -189,8 +295,12 @@ GMZeroconfPublisher::GetPersonalData()
- 
- 
-   /* Init of text_record: it will publish the Txt record in mDns */
-+#ifdef HAS_BONJOUR
-+  TXTRecordCreate (&text_record, 128, NULL);
-+#else
-   err = sw_text_record_init (&text_record);
-   sw_check_okay (err, exit);
-+#endif
- 
-   gnomemeeting_threads_enter ();
-   /* Email */
-@@ -198,10 +308,10 @@ GMZeroconfPublisher::GetPersonalData()
-       && gm_conf_gchar && strcmp (gm_conf_gchar, "")) {
- 
-     err = 
--      sw_text_record_add_key_and_string_value (text_record, "email", 
--					       gm_conf_gchar);
-+      add_to_text_record (&text_record, "email", 
-+			  gm_conf_gchar);
-     g_free (gm_conf_gchar);
--    sw_check_okay (err, exit);
-+    check_okay (err, exit);
- 
-   }
- 
-@@ -210,10 +320,10 @@ GMZeroconfPublisher::GetPersonalData()
-       && gm_conf_gchar && strcmp (gm_conf_gchar, "")) {
- 
-     err = 
--      sw_text_record_add_key_and_string_value (text_record, "location", 
--					       gm_conf_gchar);
-+      add_to_text_record (&text_record, "location", 
-+			  gm_conf_gchar);
-     g_free (gm_conf_gchar);
--    sw_check_okay (err, exit);
-+    check_okay (err, exit);
-   }
- 
-   /* Comment */
-@@ -221,10 +331,10 @@ GMZeroconfPublisher::GetPersonalData()
-       && gm_conf_gchar && strcmp (gm_conf_gchar, ""))
-     {
-       err = 
--	sw_text_record_add_key_and_string_value (text_record, "comment", 
--						 gm_conf_gchar);
-+	add_to_text_record (&text_record, "comment", 
-+			    gm_conf_gchar);
-       g_free (gm_conf_gchar);
--      sw_check_okay (err, exit);
-+      check_okay (err, exit);
-     }
- 
-   /* Incoming Call Mode */
-@@ -235,18 +345,18 @@ GMZeroconfPublisher::GetPersonalData()
-   if ((gm_conf_gchar = g_strdup_printf ("%d", gm_conf_int)))
-     {
-       err = 
--	sw_text_record_add_key_and_string_value (text_record, "state", 
--						 gm_conf_gchar);
-+	add_to_text_record (&text_record, "state", 
-+			    gm_conf_gchar);
-       g_free (gm_conf_gchar);
--      sw_check_okay (err, exit);
-+      check_okay (err, exit);
-     }
-   gnomemeeting_threads_leave ();
- 
-   /* H323 Software */
-   err = 
--    sw_text_record_add_key_and_string_value (text_record, "software", 
--					     "GnomeMeeting");
--  sw_check_okay (err, exit);
-+    add_to_text_record (&text_record, "software", 
-+			"GnomeMeeting");
-+  check_okay (err, exit);
- 
- exit:
-   return err;
-@@ -259,15 +369,68 @@ GMZeroconfPublisher::Main ()
-   PWaitAndSignal m(quit_mutex);
-   thread_sync_point.Signal ();
- 
-+#ifdef HAS_BONJOUR
-+  for ( ; is_publishing; ) {
-+    struct timeval tv;
-+    gint n_ready;
-+    fd_set read_fds;
-+    gint fd;
-+
-+    FD_ZERO (&read_fds);
-+
-+    /* Listen for browse events */
-+
-+    fd = DNSServiceRefSockFD (publish_session);
-+    if (fd < 0)
-+      break;
-+
-+    FD_SET (fd, &read_fds);
-+
-+    /* Block to listen */
-+
-+    tv.tv_sec = 1;
-+    tv.tv_usec = 0;
-+
-+    n_ready = select (fd + 1, &read_fds, NULL, NULL, &tv);
-+
-+    if (n_ready < 1)
-+      continue;
-+
-+    /* Process publish events */
-+
-+    fd = DNSServiceRefSockFD (publish_session);
-+    if (fd < 0)
-+      break;
-+
-+    if (FD_ISSET (fd, &read_fds)) {
-+      DNSServiceErrorType err;
-+
-+      FD_CLR (fd, &read_fds);
-+      err = DNSServiceProcessResult (publish_session);
-+      if (err != kDNSServiceErr_NoError)
-+        break;
-+    }
-+  }
-+
-+  /* Reset to initial state */
-+
-+  is_publishing = FALSE;
-+
-+#else
-   sw_discovery_run (discovery);
-+#endif
- }
- 
- 
- int 
- GMZeroconfPublisher::Start ()
- {
-+#ifdef HAS_BONJOUR
-+  Resume ();
-+#else
-   if (discovery)
-     Resume ();
-+#endif
- 
-   return 0;
- }
-@@ -276,17 +439,27 @@ GMZeroconfPublisher::Start ()
- int 
- GMZeroconfPublisher::Stop ()
- {
-+#ifdef HAS_BONJOUR
-+  gint err = 0;
-+
-+  if (is_publishing) {
-+    DNSServiceRefDeallocate (publish_session);
-+    TXTRecordDeallocate (&text_record);
-+    is_publishing = FALSE;
-+  }
-+#else
-   sw_result err = SW_FALSE;
- 
-   if (discovery) {
- 
-     err = sw_discovery_cancel (discovery, publish_id);
--    sw_check_okay (err, exit);
-+    check_okay (err, exit);
-   }
- 
- 
-   if (text_record)
-     err = sw_text_record_fina (text_record);
-+#endif
- 
- exit:
-   g_free (name);
-Index: src/zeroconf_publisher.h
-===================================================================
-RCS file: /cvs/gnome/gnomemeeting/src/zeroconf_publisher.h,v
-retrieving revision 1.3
-diff -u -p -r1.3 zeroconf_publisher.h
---- src/zeroconf_publisher.h	19 Nov 2004 11:09:55 -0000	1.3
-+++ src/zeroconf_publisher.h	8 Aug 2005 23:52:27 -0000
-@@ -47,7 +47,9 @@
- /* Zeroconf Service Type */
- #define ZC_H323 "_h323._tcp."
- 
--
-+#ifdef HAS_BONJOUR
-+# include <dns_sd.h>
-+#else
- /* 
-  * Redefine some howl struct because of a bug in howl 
-  * including config.h that conflicts with GM config.h
-@@ -57,6 +59,7 @@ typedef struct _sw_discovery *sw_discove
- typedef unsigned int sw_discovery_oid;
- struct _sw_text_record;
- typedef struct _sw_text_record	*sw_text_record;
-+#endif
- 
- 
- class GMZeroconfPublisher : public PThread
-@@ -130,9 +133,16 @@ class GMZeroconfPublisher : public PThre
-   PMutex quit_mutex;
-   PSyncPoint thread_sync_point;
- 
-+#ifdef HAS_BONJOUR
-+  guint is_publishing : 1;
-+  TXTRecordRef text_record;
-+  DNSServiceRef publish_session;
-+#else
-   sw_discovery discovery; /* HOWL discovery session */
-   sw_discovery_oid publish_id; /* Id of the publisher */
-   sw_text_record text_record; /* Txt Record */
-+#endif
-+
-   gchar	*name; /* Srv Record */
-   int port; /* port number of Srv Record */
- };
Index: extra/network/gnomemeeting/gnomemeeting.install
diff -u extra/network/gnomemeeting/gnomemeeting.install:1.5 extra/network/gnomemeeting/gnomemeeting.install:removed
--- extra/network/gnomemeeting/gnomemeeting.install:1.5	Wed Aug 31 14:01:09 2005
+++ extra/network/gnomemeeting/gnomemeeting.install	Sun Apr 22 12:31:04 2007
@@ -1,51 +0,0 @@
-pkgname=gnomemeeting
-
-post_install() {
-  schemas=(`pacman -Ql $pkgname | grep 'gconf/schemas/.*schemas$' | awk '{ print $2 }'`)
-  scrolls=(`pacman -Ql $pkgname | grep 'share/omf/.*\.omf$' | awk '{ print $2 }'`)
-
-  export GCONF_CONFIG_SOURCE=`opt/gnome/bin/gconftool-2 --get-default-source`
-  for schema in "${schemas[@]}" ; do
-    opt/gnome/bin/gconftool-2 --makefile-install-rule "$schema" >/dev/null 2>&1
-  done
-
-  for scroll in "${scrolls[@]}" ; do
-    scrollkeeper-install -q -p var/lib/scrollkeeper "$scroll"
-  done
-
-  kill -s HUP `pidof /opt/gnome/bin/gconfd-2` >/dev/null 2>&1
-  update-desktop-database -q
-}
-
-pre_upgrade() {
-  pre_remove $1
-}
-
-post_upgrade() {
-  post_install $1
-}
-
-pre_remove() {
-  schemas=(`pacman -Ql $pkgname | grep 'gconf/schemas/.*schemas$' | awk '{ print $2 }'`)
-  scrolls=(`pacman -Ql $pkgname | grep 'share/omf/.*\.omf$' | awk '{ print $2 }'`)
-
-  export GCONF_CONFIG_SOURCE=`opt/gnome/bin/gconftool-2 --get-default-source`
-  for schema in "${schemas[@]}" ; do
-    opt/gnome/bin/gconftool-2 --makefile-uninstall-rule "$schema" >/dev/null 2>&1
-  done
-
-  for scroll in "${scrolls[@]}" ; do
-    scrollkeeper-uninstall -q -p var/lib/scrollkeeper "$scroll"
-  done
-
-  kill -s HUP `pidof /opt/gnome/bin/gconfd-2` >/dev/null 2>&1
-}
-
-post_remove() {
-  update-desktop-database -q
-}
-
-op=$1
-shift
-
-$op $*




More information about the arch-commits mailing list