Request for Rarian external dependancy bump



Hi,

As some of the eagle-eyed among you may have noticed, I released Rarian
0.7.0 several days ago.  Since then I've been working on making yelp
work with the (incompatible) new series.

I've now done this to the point I'm fairly happy and am now requesting
permission to update the Rarian external dependency for GNOME 2.22 to
the Rarian 0.8 series (i.e. 0.7.0 - 0.8.0).  For now, the minimum and
recommended version would be 0.7.0 but Rarian follows the GNOME release
cycle so this will be 0.8.0 when GNOME 2.22 is released.

(For those interested, the attached patch is the work required to port
across.  Oh, and I also made category icons work again ;) )

If I've missed a list, please let me know and I'll add them.

Thanks
Don
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 2988)
+++ ChangeLog	(working copy)
@@ -1,3 +1,12 @@
+2007-11-27  Don Scorgie  <dscorgie svn gnome org>
+
+	* src/yelp-toc.c:
+	* src/yelp-search-parser.c:
+	* src/yelp-utils.c:
+	* data/toc.xml.in:
+	* stylesheets/toc2html.xsl:
+	Port to Rarian 0.8 series
+
 2007-11-07  Don Scorgie  <dscorgie svn gnome org>
 
 	* src/yelp-utils.c: 
Index: configure.in
===================================================================
--- configure.in	(revision 2984)
+++ configure.in	(working copy)
@@ -78,7 +78,7 @@
 	libexslt >= 0.8.1
 	libstartup-notification-1.0 >= 0.8
 	dbus-glib-1
-	rarian >= 0.5.0
+	rarian >= 0.7.0
 ])
 AC_SUBST([YELP_CFLAGS])
 AC_SUBST([YELP_LIBS])
Index: src/yelp-toc.c
===================================================================
--- src/yelp-toc.c	(revision 2984)
+++ src/yelp-toc.c	(working copy)
@@ -33,9 +33,8 @@
 #include <libxml/parserInternals.h>
 #include <libxml/xinclude.h>
 #include <libxml/xmlreader.h>
+#define I_KNOW_RARIAN_0_8_IS_UNSTABLE
 #include <rarian.h>
-#include <rarian-info.h>
-#include <rarian-man.h>
 
 #include "yelp-error.h"
 #include "yelp-toc.h"
@@ -414,10 +413,9 @@
 
     GThread *info_thread;
     GThread *man_thread;
-    xmlTextReaderPtr   reader;
     xmlXPathContextPtr xpath;
     xmlXPathObjectPtr  obj;
-    gint i, ret;
+    gint i;
     debug_print (DB_FUNCTION, "entering\n");
 
     g_assert (toc != NULL && YELP_IS_TOC (toc));
@@ -446,13 +444,15 @@
     for (i = 0; i < obj->nodesetval->nodeNr; i++) {
 	xmlNodePtr node = obj->nodesetval->nodeTab[i];
 	xmlChar *icon = NULL;
+	xmlChar *id = NULL;
 
 	xml_trim_titles (node, BAD_CAST "title");
 	xml_trim_titles (node, BAD_CAST "description");
 
 	icon = xmlGetProp (node, BAD_CAST "icon");
 	if (icon) {
-	    info = gtk_icon_theme_lookup_icon (theme, (gchar *) icon, 48, 0);
+	    info = gtk_icon_theme_lookup_icon (theme, (gchar *) icon, 48, 
+					       GTK_ICON_LOOKUP_NO_SVG);
 	    if (info) {
 		xmlNodePtr new = xmlNewChild (node, NULL, BAD_CAST "icon", 
 					      NULL);
@@ -462,65 +462,20 @@
 	    }
 	}
 	xmlFree (icon);
+	id = xmlGetProp (node, BAD_CAST "id");
 
-    }
-    xmlXPathFreeObject (obj);
-
-    reader = xmlReaderForFile (DATADIR "/yelp/scrollkeeper.xml", NULL,
-			       XML_PARSE_NOBLANKS | XML_PARSE_NOCDATA  |
-			       XML_PARSE_NOENT    | XML_PARSE_NOERROR  |
-			       XML_PARSE_NONET    );
-    ret = xmlTextReaderRead (reader);
-    while (ret == 1) {
-	if (!xmlStrcmp (xmlTextReaderConstLocalName (reader),
-			BAD_CAST "toc")) {
-	    xmlChar *id = xmlTextReaderGetAttribute (reader, BAD_CAST "id");
-	    xmlNodePtr node;
-	    gchar *xpath_s;
-	    if (!id) {
-		ret = xmlTextReaderRead (reader);
-		continue;
-	    }
-
-	    g_mutex_lock (priv->mutex);
-
-	    yelp_document_add_page_id (YELP_DOCUMENT (toc), (gchar *) id, (gchar *) id);
-	    g_mutex_unlock (priv->mutex);
-	    xpath_s = g_strdup_printf ("//toc[ id = '%s']", id);
-	    obj = xmlXPathEvalExpression (BAD_CAST xpath_s, xpath);
-	    g_free (xpath_s);
-
-	    node = obj->nodesetval->nodeTab[0];
-	    xmlXPathFreeObject (obj);
-
-	    ret = xmlTextReaderRead (reader);
-	    while (ret == 1) {
-		if (!xmlStrcmp (xmlTextReaderConstLocalName (reader),
-				BAD_CAST "subject")) {
-		    xmlChar *cat = xmlTextReaderGetAttribute (reader, 
-							      BAD_CAST "category");
-		    rrn_for_each_in_category (rrn_add_document,
-						(char *) cat,
-						(void *) node);
-		    xmlFree (cat);
-		}
-		else if (!xmlStrcmp (xmlTextReaderConstLocalName (reader),
-				     BAD_CAST "toc")) {
-		    break;
-		}
-		ret = xmlTextReaderRead (reader);
-	    }
-
+	if (id) {
+	    if (g_str_equal (id, "Core"))
+		xmlSetProp (node, BAD_CAST "id", BAD_CAST "index");
+	    rrn_for_each_in_category (rrn_add_document,
+				      (char *) id,
+				      (void *) node);
 	    xmlFree (id);
-	    ret = xmlTextReaderRead (reader);
-	} else {
-	    ret = xmlTextReaderRead (reader);
 	}
+
     }
-    xmlFreeTextReader (reader);
-    xmlXPathFreeContext (xpath);
+    xmlXPathFreeObject (obj);
 
-
     man_thread = g_thread_create ((GThreadFunc) toc_process_man, toc, TRUE, NULL);
     if (!man_thread) {
 	g_warning ("Could not create Man page thread");
Index: src/yelp-search-parser.c
===================================================================
--- src/yelp-search-parser.c	(revision 2985)
+++ src/yelp-search-parser.c	(working copy)
@@ -41,6 +41,7 @@
 #include <libxslt/extensions.h>
 #include <libxslt/xsltInternals.h>
 #include <libxslt/xsltutils.h>
+#define I_KNOW_RARIAN_0_8_IS_UNSTABLE
 #include <rarian.h>
 
 #ifdef ENABLE_BEAGLE
Index: src/yelp-utils.c
===================================================================
--- src/yelp-utils.c	(revision 2988)
+++ src/yelp-utils.c	(working copy)
@@ -31,8 +31,7 @@
 #include <libgnomevfs/gnome-vfs-mime-utils.h>
 
 #include <string.h>
-#include <rarian-info.h>
-#include <rarian-man.h>
+#define I_KNOW_RARIAN_0_8_IS_UNSTABLE
 #include <rarian.h>
 
 #include "yelp-utils.h"
Index: data/toc.xml.in
===================================================================
--- data/toc.xml.in	(revision 2984)
+++ data/toc.xml.in	(working copy)
@@ -1,71 +1,411 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet href="toc.xml.in.content/toc.css" type="text/css"?>
-<toc id="index">
+<toc id="Core">
   <_title>Desktop</_title>
   <_description>Welcome to the GNOME Help Browser</_description>
-
-  <toc id="ApplicationsAccessibility" icon="accessibility-directory">
+  <toc id="Accessibility" icon="accessibility-directory">
     <_title>Accessibility</_title>
-    <_description>Applications that support assistive technologies</_description>
+    <_description>Learn more about making you're system more accessible for a 
+    range of disabilities</_description>
   </toc>
-  <toc id="ApplicationsAccessories" icon="gnome-util">
-    <_title>Accessories</_title>
-    <_description>Utility applications</_description>
+  <toc id="GNOME">
+    <_title>GNOME Applications</_title>
+    <_description>Generic applications for the GNOME environment</_description>
   </toc>
-  <toc id="ApplicationsEducation">
+  <toc id="KDE">
+    <_title>KDE Applications</_title>
+    <_description>Generic applications for the KDE environment</_description>
+  </toc>
+  <toc id="AudioVideo" icon="gnome-multimedia">
+    <_title>Sound &amp; Video</_title>
+    <_description>Applications related to audio and video</_description>
+    <toc id="Video">
+      <_title>Video</_title>
+      <toc id="TV">
+	<_title>TV</_title>
+      </toc>
+    </toc>
+    <toc id="Audio">
+      <_title>Sound</_title>
+      <toc id="Midi">
+	<_title>Midi</_title>
+      </toc>
+      <toc id="Mixer">
+	<_title>Mixer</_title>
+      </toc>
+      <toc id="Sequencer">
+	<_title>Sequencer</_title>
+      </toc>
+      <toc id="Tuner">
+	<_title>Tuner</_title>
+      </toc>
+    </toc>
+    <toc id="AudioVideoEditing">
+      <_title>AudioVideoEditing</_title>
+    </toc>
+    <toc id="Player">
+      <_title>Player</_title>
+    </toc>
+    <toc id="Recorder">
+      <_title>Recorder</_title>
+    </toc>
+    <toc id="DiscBurning">
+      <_title>DiscBurning</_title>
+    </toc>
+  </toc>
+  <toc id="Development" icon="gnome-devel">
+    <_title>Development</_title>
+    <_description>Guides for getting involved in development</_description>
+    <toc id="Building">
+      <_title>Building</_title>
+    </toc>
+    <toc id="Debugger">
+      <_title>Debugger</_title>
+    </toc>
+    <toc id="IDE">
+      <_title>IDE</_title>
+    </toc>
+    <toc id="GUIDesigner">
+      <_title>GUIDesigner</_title>
+    </toc>
+    <toc id="Profiling">
+      <_title>Profiling</_title>
+    </toc>
+    <toc id="RevisionControl">
+      <_title>RevisionControl</_title>
+    </toc>
+    <toc id="Translation">
+      <_title>Translation</_title>
+    </toc>
+  </toc>
+  <toc id="Education">
     <_title>Education</_title>
-    <_description>Learning applications</_description>
+    <_description>Applications that teach or aid in learning</_description>
+    <toc id="Art">
+      <_title>Art</_title>
+    </toc>
+    <toc id="Construction">
+      <_title>Construction</_title>
+    </toc>
+    <toc id="Music">
+      <_title>Music</_title>
+    </toc>
+    <toc id="Science">
+      <_title>Science</_title>
+    </toc>
+    <toc id="ArtificialIntelligence">
+      <_title>ArtificialIntelligence</_title>
+    </toc>
+    <toc id="Astronomy">
+      <_title>Astronomy</_title>
+    </toc>
+    <toc id="Biology">
+      <_title>Biology</_title>
+    </toc>
+    <toc id="Chemistry">
+      <_title>Chemistry</_title>
+    </toc>
+    <toc id="ComputerScience">
+      <_title>ComputerScience</_title>
+    </toc>
+    <toc id="DataVisualization">
+      <_title>DataVisualization</_title>
+    </toc>
+    <toc id="Economy">
+      <_title>Economy</_title>
+    </toc>
+    <toc id="Electricity">
+      <_title>Electricity</_title>
+    </toc>
+    <toc id="Geography">
+      <_title>Geography</_title>
+    </toc>
+    <toc id="Geology">
+      <_title>Geology</_title>
+    </toc>
+    <toc id="Geoscience">
+      <_title>Geoscience</_title>
+    </toc>
+    <toc id="History">
+      <_title>History</_title>
+    </toc>
+    <toc id="ImageProcessing">
+      <_title>ImageProcessing</_title>
+    </toc>
+    <toc id="Literature">
+      <_title>Literature</_title>
+    </toc>
+    <toc id="Math">
+      <_title>Math</_title>
+    </toc>
+    <toc id="NumericalAnalysis">
+      <_title>NumericalAnalysis</_title>
+    </toc>
+    <toc id="MedicalSoftware">
+      <_title>MedicalSoftware</_title>
+    </toc>
+    <toc id="Physics">
+      <_title>Physics</_title>
+    </toc>
+    <toc id="Robotics">
+      <_title>Robotics</_title>
+    </toc>
+    <toc id="Sports">
+      <_title>Sports</_title>
+    </toc>
+    <toc id="ParallelComputing">
+      <_title>ParallelComputing</_title>
+    </toc>
   </toc>
-  <toc id="ApplicationsGames" icon="gnome-joystick">
+  <toc id="Games" icon="gnome-joystick">
     <_title>Games</_title>
-    <_description>Applications for fun</_description>
+    <_description>Have some fun</_description>
+    <toc id="ActionGame">
+      <_title>Action Games</_title>
+    </toc>
+    <toc id="AdventureGame">
+      <_title>Adventure Games</_title>
+    </toc>
+    <toc id="ArcadeGame">
+      <_title>Arcade Games</_title>
+    </toc>
+    <toc id="BoardGame">
+      <_title>Board Games</_title>
+    </toc>
+    <toc id="BlocksGame">
+      <_title>Blocks Games</_title>
+    </toc>
+    <toc id="CardGame">
+      <_title>Card Games</_title>
+    </toc>
+    <toc id="KidsGame">
+      <_title>Kids Games</_title>
+    </toc>
+    <toc id="LogicGame">
+      <_title>Logic Games</_title>
+    </toc>
+    <toc id="RolePlaying">
+      <_title>Role Playing Games</_title>
+    </toc>
+    <toc id="Simulation">
+      <_title>Simulation Games</_title>
+    </toc>
+    <toc id="SportsGame">
+      <_title>Sports Games</_title>
+    </toc>
+    <toc id="StrategyGame">
+      <_title>Strategy Games</_title>
+    </toc>
+    <toc id="Amusement">
+      <_title>Amusement</_title>
+    </toc>
   </toc>
-  <toc id="ApplicationsGraphics" icon="gnome-graphics">
+  <toc id="Graphics" icon="gnome-graphics">
     <_title>Graphics</_title>
-    <_description>Applications for manipulating or viewing graphics</_description>
+    <_description>Applications for viewing and manipulating graphics</_description>
+    <toc id="2DGraphics">
+      <_title>2DGraphics</_title>
+    </toc>
+    <toc id="VectorGraphics">
+      <_title>VectorGraphics</_title>
+    </toc>
+    <toc id="RasterGraphics">
+      <_title>RasterGraphics</_title>
+    </toc>
+    <toc id="3DGraphics">
+      <_title>3DGraphics</_title>
+    </toc>
+    <toc id="Scanning">
+      <_title>Scanning</_title>
+    </toc>
+    <toc id="OCR">
+      <_title>OCR</_title>
+    </toc>
+    <toc id="Photography">
+      <_title>Photography</_title>
+    </toc>
+    <toc id="Publishing">
+      <_title>Publishing</_title>
+    </toc>
+    <toc id="Viewer">
+      <_title>Viewer</_title>
+    </toc>
   </toc>
-  <toc id="ApplicationsInternet" icon="gnome-globe">
+  <toc id="Network">
     <_title>Internet</_title>
-    <_description>Applications related to the internet</_description>
+    <_description>Guides and manuals for applications that connect to the outside world</_description>
+    <toc id="Dialup">
+      <_title>Dialup</_title>
+    </toc>
+    <toc id="InstantMessaging">
+      <_title>InstantMessaging</_title>
+    </toc>
+    <toc id="Chat">
+      <_title>Chat</_title>
+    </toc>
+    <toc id="IRCClient">
+      <_title>IRCClient</_title>
+    </toc>
+    <toc id="FileTransfer">
+      <_title>FileTransfer</_title>
+    </toc>
+    <toc id="HamRadio">
+      <_title>HamRadio</_title>
+    </toc>
+    <toc id="News">
+      <_title>News</_title>
+    </toc>
+    <toc id="P2P">
+      <_title>P2P</_title>
+    </toc>
+    <toc id="RemoteAccess">
+      <_title>RemoteAccess</_title>
+    </toc>
+    <toc id="Telephony">
+      <_title>Telephony</_title>
+    </toc>
+    <toc id="VideoConference">
+      <_title>VideoConference</_title>
+    </toc>
+    <toc id="WebBrowser">
+      <_title>WebBrowser</_title>
+    </toc>
+    <toc id="WebDevelopment">
+      <_title>WebDevelopment</_title>
+    </toc>
   </toc>
-  <toc id="KDE">
-    <_title>KDE</_title>
-    <_description>Documents specific to the KDE Desktop Environment</_description>
+  <toc id="Office" icon="gnome-applications">
+    <_title>Office Applications</_title>
+    <_description>Office applications</_description>
+    <toc id="Calendar">
+      <_title>Calendar</_title>
+    </toc>
+    <toc id="ContactManagement">
+      <_title>ContactManagement</_title>
+    </toc>
+    <toc id="Database">
+      <_title>Database</_title>
+    </toc>
+    <toc id="Dictionary">
+      <_title>Dictionary</_title>
+    </toc>
+    <toc id="Chart">
+      <_title>Chart</_title>
+    </toc>
+    <toc id="Email">
+      <_title>Email</_title>
+    </toc>
+    <toc id="Finance">
+      <_title>Finance</_title>
+    </toc>
+    <toc id="FlowChart">
+      <_title>FlowChart</_title>
+    </toc>
+    <toc id="PDA">
+      <_title>PDA</_title>
+    </toc>
+    <toc id="ProjectManagement">
+      <_title>ProjectManagement</_title>
+    </toc>
+    <toc id="Presentation">
+      <_title>Presentation</_title>
+    </toc>
+    <toc id="Spreadsheet">
+      <_title>Spreadsheet</_title>
+    </toc>
+    <toc id="WordProcessor">
+      <_title>WordProcessor</_title>
+    </toc>
   </toc>
-  <toc id="ApplicationsOffice" icon="gnome-applications">
-    <_title>Office</_title>
-    <_description>Applications for word processing and other office tasks</_description>
+  <toc id="Settings" icon="gnome-system">
+    <_title>Settings</_title>
+    <_description>Settings users can manipulate to make their environment more pleasent</_description>
+    <toc id="DesktopSettings">
+      <_title>DesktopSettings</_title>
+    </toc>
+    <toc id="Printing">
+      <_title>Printing</_title>
+    </toc>
+    <toc id="TerminalEmulator">
+      <_title>TerminalEmulator</_title>
+    </toc>
   </toc>
-  <toc id="ApplicationsOther" icon="gnome-other">
-    <_title>Other Applications</_title>
-    <_description>Variety of other applications</_description>
+  <toc id="System" icon="gnome-system">
+    <_title>System</_title>
+    <_description>Tools to help you manage you're computer</_description>
+    <toc id="Emulator">
+      <_title>Emulator</_title>
+    </toc>
+    <toc id="Engineering">
+      <_title>Engineering</_title>
+    </toc>
+    <toc id="PackageManager">
+      <_title>PackageManager</_title>
+    </toc>
+    <toc id="FileTools">
+      <_title>FileTools</_title>
+    </toc>
+    <toc id="FileManager">
+      <_title>FileManager</_title>
+    </toc>
+    <toc id="HardwareSettings">
+      <_title>HardwareSettings</_title>
+    </toc>
+    <toc id="Filesystem">
+      <_title>Filesystem</_title>
+    </toc>
+    <toc id="Monitor">
+      <_title>Monitor</_title>
+    </toc>
+    <toc id="Security">
+      <_title>Security</_title>
+    </toc>
   </toc>
-  <toc id="DesktopApplets">
-    <_title>Panel Applets</_title>
-    <_description>Applications specific to the panel</_description>
+  <toc id="Utility" icon="gnome-util">
+    <_title>Utilities</_title>
+    <_description>Utilities to help you get work done</_description>
+    <toc id="Calculator">
+      <_title>Calculator</_title>
+    </toc>
+    <toc id="Clock">
+      <_title>Clock</_title>
+    </toc>
+    <toc id="TextEditor">
+      <_title>TextEditor</_title>
+    </toc>
+    <toc id="TelephonyTools">
+      <_title>TelephonyTools</_title>
+    </toc>
+    <toc id="Archiving">
+      <_title>Archiving</_title>
+    </toc>
+    <toc id="Compression">
+      <_title>Compression</_title>
+    </toc>
+    <toc id="Electronics">
+      <_title>Electronics</_title>
+    </toc>
   </toc>
-  <toc id="ApplicationsProgramming" icon="gnome-devel">
-    <_title>Programming</_title>
-    <_description>Applications related to software development</_description>
-  </toc>
-  <toc id="ApplicationsScientific">
-    <_title>Scientific</_title>
-    <_description>Scientific Applications.</_description>
-  </toc>
-  <toc id="ApplicationsMultimedia" icon="gnome-multimedia">
-    <_title>Sound &amp; Video</_title>
-    <_description>Applications related to multimedia</_description>
-  </toc>
-  <toc id="ApplicationsSystem" icon="gnome-system">
-    <_title>System Tools</_title>
-    <_description>Utilities to manage your computer</_description>
-  </toc>
-  <toc id="ApplicationsX">
-    <_title>X Applications</_title>
-    <_description>Applications related to X Windows</_description>
-  </toc>
-  <toc id="Other">
+  <toc id="Other" icon="gnome-other">
     <_title>Other Documentation</_title>
-    <_description>Miscellaneous documents</_description>
+    <_description>Miscellaneous Documentation</_description>
+    <toc id="TextTools">
+      <_title>Text Tools</_title>
+    </toc>
+    <toc id="Documentation">
+      <_title>Licences</_title>
+    </toc>
+    <toc id="GTK">
+      <_title>GTK</_title>
+    </toc>
+    <toc id="Qt">
+      <_title>Qt</_title>
+    </toc>
+    <toc id="Motif">
+      <_title>Motif</_title>
+    </toc>
+    <toc id="Java">
+      <_title>Java</_title>
+    </toc>
   </toc>
 </toc>
Index: stylesheets/toc2html.xsl
===================================================================
--- stylesheets/toc2html.xsl	(revision 2984)
+++ stylesheets/toc2html.xsl	(working copy)
@@ -53,7 +53,7 @@
         }
         h1 img {
           position: absolute;
-          top: 6px;
+          top: 15px;
           right: 18px;
         }
 	h2 h3 {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]