Hello community, here is the log from the commit of package liferea for openSUSE:Factory checked in at 2013-05-28 11:48:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/liferea (Old) and /work/SRC/openSUSE:Factory/.liferea.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "liferea" Changes: -------- --- /work/SRC/openSUSE:Factory/liferea/liferea.changes 2013-05-13 15:08:31.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.liferea.new/liferea.changes 2013-05-28 11:48:40.000000000 +0200 @@ -1,0 +2,6 @@ +Thu May 23 14:04:04 UTC 2013 - dims...@opensuse.org + +- Update to version 1.8.14: + + sf#1069: broken rendering in tt-rss feeds. + +------------------------------------------------------------------- Old: ---- liferea-1.8.13.tar.bz2 New: ---- liferea-1.8.14.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ liferea.spec ++++++ --- /var/tmp/diff_new_pack.MDsz4l/_old 2013-05-28 11:48:41.000000000 +0200 +++ /var/tmp/diff_new_pack.MDsz4l/_new 2013-05-28 11:48:41.000000000 +0200 @@ -17,13 +17,13 @@ Name: liferea -Version: 1.8.13 +Version: 1.8.14 Release: 0 Summary: Linux Feed Reader License: GPL-2.0+ Group: Productivity/Other Url: http://liferea.sourceforge.net/ -Source: http://downloads.sourceforge.net/project/liferea/Liferea%20Stable/1.8.13/%{name}-%{version}.tar.bz2 +Source: http://downloads.sourceforge.net/project/liferea/Liferea%20Stable/1.8.14/%{name}-%{version}.tar.bz2 # PATCH-FEATURE-OPENSUSE liferea-opensuse-feeds.patch -- Add openSUSE feeds to default feeds Patch0: liferea-opensuse-feeds.patch BuildRequires: fdupes ++++++ liferea-1.8.13.tar.bz2 -> liferea-1.8.14.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/ChangeLog new/liferea-1.8.14/ChangeLog --- old/liferea-1.8.13/ChangeLog 2013-05-12 00:13:24.000000000 +0200 +++ new/liferea-1.8.14/ChangeLog 2013-05-22 23:16:28.000000000 +0200 @@ -1,3 +1,11 @@ +2013-05-22 Lars Windolf <lars.lind...@gmail.com> + + Version 1.8.14 + + * Fixes SF #1069: broken rendering in tt-rss feeds + (patch by Simon Kagedal Reimer) + + 2013-05-12 Lars Windolf <lars.lind...@gmail.com> Version 1.8.13 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/configure new/liferea-1.8.14/configure --- old/liferea-1.8.13/configure 2013-05-12 00:14:38.000000000 +0200 +++ new/liferea-1.8.14/configure 2013-05-22 23:17:56.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for liferea 1.8.13. +# Generated by GNU Autoconf 2.68 for liferea 1.8.14. # # Report bugs to <liferea-de...@lists.sourceforge.net>. # @@ -570,8 +570,8 @@ # Identity of this package. PACKAGE_NAME='liferea' PACKAGE_TARNAME='liferea' -PACKAGE_VERSION='1.8.13' -PACKAGE_STRING='liferea 1.8.13' +PACKAGE_VERSION='1.8.14' +PACKAGE_STRING='liferea 1.8.14' PACKAGE_BUGREPORT='liferea-de...@lists.sourceforge.net' PACKAGE_URL='' @@ -1379,7 +1379,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures liferea 1.8.13 to adapt to many kinds of systems. +\`configure' configures liferea 1.8.14 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1449,7 +1449,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of liferea 1.8.13:";; + short | recursive ) echo "Configuration of liferea 1.8.14:";; esac cat <<\_ACEOF @@ -1582,7 +1582,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -liferea configure 1.8.13 +liferea configure 1.8.14 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -1951,7 +1951,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by liferea $as_me 1.8.13, which was +It was created by liferea $as_me 1.8.14, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2841,7 +2841,7 @@ # Define the identity of the package. PACKAGE='liferea' - VERSION='1.8.13' + VERSION='1.8.14' cat >>confdefs.h <<_ACEOF @@ -15297,7 +15297,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by liferea $as_me 1.8.13, which was +This file was extended by liferea $as_me 1.8.14, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15363,7 +15363,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -liferea config.status 1.8.13 +liferea config.status 1.8.14 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/configure.ac new/liferea-1.8.14/configure.ac --- old/liferea-1.8.13/configure.ac 2013-05-12 00:14:32.000000000 +0200 +++ new/liferea-1.8.14/configure.ac 2013-05-22 23:16:10.000000000 +0200 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([liferea],[1.8.13],[liferea-de...@lists.sourceforge.net]) +AC_INIT([liferea],[1.8.14],[liferea-de...@lists.sourceforge.net]) AC_CANONICAL_HOST AC_CONFIG_SRCDIR([src/feedlist.c]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/liferea.desktop new/liferea-1.8.14/liferea.desktop --- old/liferea-1.8.13/liferea.desktop 2013-05-12 00:15:09.000000000 +0200 +++ new/liferea-1.8.14/liferea.desktop 2013-05-22 23:18:02.000000000 +0200 @@ -138,5 +138,5 @@ Type=Application Categories=Network;News; Version=0.9.4 -MimeType=application/rss+xml;application/atom+xml; +MimeType=application/rss+xml;application/atom+xml;application/rdf+xml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/liferea.desktop.in new/liferea-1.8.14/liferea.desktop.in --- old/liferea-1.8.13/liferea.desktop.in 2013-05-12 00:12:51.000000000 +0200 +++ new/liferea-1.8.14/liferea.desktop.in 2013-05-22 23:15:46.000000000 +0200 @@ -10,5 +10,5 @@ Type=Application Categories=Network;News; Version=0.9.4 -MimeType=application/rss+xml;application/atom+xml; +MimeType=application/rss+xml;application/atom+xml;application/rdf+xml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/src/common.c new/liferea-1.8.14/src/common.c --- old/liferea-1.8.13/src/common.c 2013-05-12 00:12:51.000000000 +0200 +++ new/liferea-1.8.14/src/common.c 2013-05-22 23:15:47.000000000 +0200 @@ -358,6 +358,23 @@ return 0; } +gboolean +common_str_is_empty (const gchar *s) +{ + if (s == NULL) + return TRUE; + + while (*s != '\0') { + if (!g_ascii_isspace (*s)) + return FALSE; + s++; + } + + return TRUE; +} + + + time_t common_get_mod_time (const gchar *file) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/src/common.h new/liferea-1.8.14/src/common.h --- old/liferea-1.8.13/src/common.h 2013-05-12 00:12:51.000000000 +0200 +++ new/liferea-1.8.14/src/common.h 2013-05-22 23:15:47.000000000 +0200 @@ -167,6 +167,15 @@ char * common_strcasestr(const char *phaystack, const char *pneedle); /** + * Checks if a string is empty, when leading and trailing whitespace is ignored + * + * @param string a string to check + * + * @returns TRUE if string only contains whitespace or is NULL, FALSE otherwise + */ +gboolean common_str_is_empty (const gchar *string); + +/** * Get file modification timestamp * * @param *file the file name diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/src/fl_sources/ttrss_source_feed.c new/liferea-1.8.14/src/fl_sources/ttrss_source_feed.c --- old/liferea-1.8.13/src/fl_sources/ttrss_source_feed.c 2013-05-12 00:12:51.000000000 +0200 +++ new/liferea-1.8.14/src/fl_sources/ttrss_source_feed.c 2013-05-22 23:15:56.000000000 +0200 @@ -30,6 +30,7 @@ #include "json.h" #include "metadata.h" #include "subscription.h" +#include "xml.h" #include "fl_sources/ttrss_source.h" @@ -67,11 +68,17 @@ while (iter) { JsonNode *node = (JsonNode *)iter->data; itemPtr item = item_new (); + const gchar *content; + gchar *xhtml; item_set_id (item, g_strdup_printf ("%lld", json_get_int (node, "id"))); item_set_title (item, json_get_string (node, "title")); item_set_source (item, json_get_string (node, "link")); - item_set_description (item, json_get_string (node, "content")); + content = json_get_string (node, "content"); + xhtml = xhtml_extract_from_string (content, NULL); + item_set_description (item, xhtml); + xmlFree (xhtml); + item->time = json_get_int (node, "updated"); if (json_get_bool (node, "unread")) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/src/vfolder_loader.c new/liferea-1.8.14/src/vfolder_loader.c --- old/liferea-1.8.13/src/vfolder_loader.c 2013-05-12 00:12:51.000000000 +0200 +++ new/liferea-1.8.14/src/vfolder_loader.c 2013-05-22 23:15:47.000000000 +0200 @@ -25,6 +25,7 @@ #include "itemset.h" #include "node.h" #include "vfolder.h" +#include "ui/ui_node.h" #define VFOLDER_LOADER_BATCH_SIZE 100 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/src/xml.c new/liferea-1.8.14/src/xml.c --- old/liferea-1.8.13/src/xml.c 2013-05-12 00:12:51.000000000 +0200 +++ new/liferea-1.8.14/src/xml.c 2013-05-22 23:15:47.000000000 +0200 @@ -208,6 +208,33 @@ return result; } +/* + * Read HTML string and convert to XHTML, placing in a div tag + */ +gchar * +xhtml_extract_from_string (const gchar *html, const gchar *defaultBase) +{ + xmlDocPtr doc = NULL; + xmlNodePtr body = NULL; + gchar *result; + + /* never process empty content, xmlDocCopy() doesn't like it... */ + if (html != NULL && !common_str_is_empty (html)) { + doc = xhtml_parse (html, strlen (html)); + body = xhtml_find_body (doc); + if (body == NULL) + body = xmlDocGetRootElement (doc); + } + + if (body != NULL) + result = xhtml_extract (body, 1, defaultBase); + else + result = xmlCharStrdup ("<div></div>"); + + xmlFreeDoc (doc); + return result; +} + gboolean xhtml_is_well_formed (const gchar *data) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.8.13/src/xml.h new/liferea-1.8.14/src/xml.h --- old/liferea-1.8.13/src/xml.h 2013-05-12 00:12:51.000000000 +0200 +++ new/liferea-1.8.14/src/xml.h 2013-05-22 23:15:47.000000000 +0200 @@ -55,6 +55,16 @@ */ gchar * unxmlize (gchar *string); +/** + * Extract XHTML from a string of HTML and place it in a div tag. + * + * @param html The HTML + * @param nodeBase An URI to set as xml:base, or #NULL + * + * @returns XHTML version of the HTML + */ +gchar * xhtml_extract_from_string (const gchar *html, const gchar *nodeBase); + /** * Extract XHTML from the children of the passed node. * -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org