[meego-commits] 9547: Changes to Trunk/tracker

Peter Zhu no_reply at build.meego.com
Wed Nov 17 08:44:49 UTC 2010


Hi,
I have made the following changes to tracker in project Trunk. Please review and accept ASAP.

Thank You,
Peter Zhu

[This message was auto-generated]

---

Request #9547:

  submit:   Trunk:Testing/tracker(r31) -> Trunk/tracker


Message:
    Move to Trunk

State:   new          2010-11-17T00:44:49 peter
Comment: None



changes files:
--------------
--- tracker.changes
+++ tracker.changes
@@ -0,0 +1,12 @@
+* Thu Nov 11 2010 Wang Quanxian <quanxian.wang at intel.com> 0.9.26
+- BMC#8807
+- Since icu is upgrade to 4.5.2, the pc mechanism is changed, change 
+- to adapt icu 4.5.2
+
+* Wed Nov 03 2010 Maitrey Mishra <ext-maitrey.mishra at nokia.com> - 0.9.26
+- BMC - 6350
+- Added the patch for she-bang in functional tests
+- Renamed the patches 
+- Restructured tracker packages into 3 subpackages tracker-devel, tracker-tests and tracker-utils
+- Updated the version to 0.9.26
+

old:
----
  0001-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch
  0002-Tracker-mediatype-signals.patch
  bug155_workaround.patch
  fix-shebang-on-testscript.patch
  tracker-0.7.23-desktop-files.patch
  tracker-0.9.16.tar.bz2

new:
----
  0001-Tracker-0.7.23-desktop-files.patch
  0002-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch
  0003-Bug155-workaround.patch
  0004-Fix-shebang-on-testscript.patch
  0005-Fix-shebang-on-functionaltests.patch
  tracker-0.9.26.tar.bz2

spec files:
-----------
--- tracker.spec
+++ tracker.spec
@@ -1,6 +1,6 @@
 # 
-# Do not Edit! Generated by:
-# spectacle version 0.18
+# Do NOT Edit the Auto-generated Part!
+# Generated by: spectacle version 0.20
 # 
 # >> macros
 %define enable_demo 0
@@ -8,49 +8,70 @@
 
 Name:       tracker
 Summary:    An object database, tag/metadata database, search tool and indexer
-Version:    0.9.16
+Version:    0.9.26
 Release:    1
 Group:      Applications/System
 License:    GPLv2+
-URL:        http://www.tracker-project.org/
+URL:        http://ftp.gnome.org/pub/GNOME/sources/tracker/0.9/
 Source0:    http://ftp.gnome.org/pub/GNOME/sources/%{name}/0.9/%{name}-%{version}.tar.bz2
 Source1:    tracker-rpmlintrc
 Source100:  tracker.yaml
-Patch0:     tracker-0.7.23-desktop-files.patch
-Patch1:     0001-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch
-Patch2:     bug155_workaround.patch
-Patch3:     fix-shebang-on-testscript.patch
-Patch4:     0002-Tracker-mediatype-signals.patch
-Requires:   exempi
-Requires:   poppler-utils
+Patch0:     0001-Tracker-0.7.23-desktop-files.patch
+Patch1:     0002-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch
+Patch2:     0003-Bug155-workaround.patch
+Patch3:     0004-Fix-shebang-on-testscript.patch
+Patch4:     0005-Fix-shebang-on-functionaltests.patch
+Requires:   gst-plugins-base >= 0.10
+Requires:   gst-plugins-good >= 0.10
 Requires:   o3read
-Requires:   sqlite >= 3.6.23
+Requires:   unzip
+Requires:   w3m
 Requires(post): /sbin/ldconfig
+Requires(post): /bin/touch
+Requires(post): gtk2
 Requires(postun): /sbin/ldconfig
+BuildRequires:  pkgconfig(dbus-1)
+BuildRequires:  pkgconfig(dbus-glib-1) >= 0.60
+BuildRequires:  pkgconfig(dbus-python)
+BuildRequires:  pkgconfig(exempi-2.0)
+BuildRequires:  pkgconfig(gee-1.0)
+BuildRequires:  pkgconfig(glib-2.0) >= 2.24.0
 BuildRequires:  pkgconfig(gmime-2.4)
-BuildRequires:  pkgconfig(dbus-glib-1)
-BuildRequires:  pkgconfig(pango)
-BuildRequires:  pkgconfig(sqlite3)
+BuildRequires:  pkgconfig(gstreamer-0.10)
+BuildRequires:  pkgconfig(gstreamer-audio-0.10)
+BuildRequires:  pkgconfig(gstreamer-plugins-base-0.10)
+BuildRequires:  pkgconfig(gstreamer-interfaces-0.10)
+BuildRequires:  pkgconfig(gstreamer-video-0.10)
 BuildRequires:  pkgconfig(gtk+-2.0)
+BuildRequires:  pkgconfig(gtk-doc)
+BuildRequires:  pkgconfig(icu-uc)
 BuildRequires:  pkgconfig(id3tag)
-BuildRequires:  pkgconfig(vorbis)
-BuildRequires:  pkgconfig(uuid)
-BuildRequires:  pkgconfig(gee-1.0)
-BuildRequires:  pkgconfig(totem-plparser)
 BuildRequires:  pkgconfig(libexif)
-BuildRequires:  pkgconfig(exempi-2.0)
-BuildRequires:  pkgconfig(taglib)
 BuildRequires:  pkgconfig(libgsf-1)
+BuildRequires:  pkgconfig(libiptcdata)
+BuildRequires:  pkgconfig(libpng12)
+BuildRequires:  pkgconfig(libxml-2.0)
+BuildRequires:  pkgconfig(ossp-uuid)
+BuildRequires:  pkgconfig(pango)
 BuildRequires:  pkgconfig(poppler-glib)
-BuildRequires:  pkgconfig(gstreamer-video-0.10)
-BuildRequires:  pkgconfig(gstreamer-interfaces-0.10)
-BuildRequires:  pkgconfig(gstreamer-audio-0.10)
+BuildRequires:  pkgconfig(sqlite3)
+BuildRequires:  pkgconfig(taglib)
+BuildRequires:  pkgconfig(totem-plparser)
+BuildRequires:  pkgconfig(uuid)
+BuildRequires:  pkgconfig(vala-1.0)
+BuildRequires:  pkgconfig(vorbis)
+BuildRequires:  fdupes
 BuildRequires:  gettext
-BuildRequires:  desktop-file-utils
+BuildRequires:  giflib-devel
 BuildRequires:  intltool
+BuildRequires:  libenca-devel
 BuildRequires:  libjpeg-devel
-BuildRequires:  giflib-devel
-BuildRequires:  libtiff-devel
+BuildRequires:  libquill-devel
+BuildRequires:  libtiff-devel >= 3.8.2
+BuildRequires:  perl-XML-Parser
+BuildRequires:  pygobject2
+BuildRequires:  python >= 2.6
+BuildRequires:  zlib-devel
 
 
 %description
@@ -69,35 +90,57 @@
 all types of files and other first class objects
 
 
-
 %package devel
-Summary:    Headers for developing programs that will use %{name}
+Summary:    Development files for %{name}
 Group:      Development/Libraries
 Requires:   %{name} = %{version}-%{release}
-Requires:   pkgconfig
-Requires:   dbus-glib-devel
-Requires:   gtk2-devel
-Requires(post): /bin/touch
-Requires(post): gtk2
-
 %description devel
-This package contains the static libraries and header files needed for
-developing with tracker
+Development files for %{name}
+
+
+%package tests
+Summary:    Tests for tracker
+Group:      System/X11
+Requires:   %{name} = %{version}-%{release}
+Requires:   dbus-python
+Requires:   pygobject2
+Requires:   python >= 2.6
+
+%description tests
+Functional tests for tracker to be run once tracker is installed in
+the final environment.
+
+
+%package utils
+Summary:    Tracker command line applications to lookup data
+Group:      Development/Tools
+Requires:   %{name} = %{version}-%{release}
+
+%description utils
+Tracker command line applications to lookup data
+Included utilities for Tracker are as follows
+ tracker-import      Import TTL files.
+ tracker-info        Display all information known about an entity.
+ tracker-search      Search for entites (files, folders, videos, etc) 
+ tracker-sparql      Run a SPARQL query against the databases.
+ tracker-stats       Get statistics on how many entities are indexed.
+ tracker-status      Get the current state of the miners.
+ tracker-tag         Add, remove, list tags for entities.
 
 
 
 %prep
 %setup -q -n %{name}-%{version}
 
-# tracker-0.7.23-desktop-files.patch
+# 0001-Tracker-0.7.23-desktop-files.patch
 %patch0 -p1
-# 0001-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch
+# 0002-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch
 %patch1 -p1
-# bug155_workaround.patch
+# 0003-Bug155-workaround.patch
 %patch2 -p1
-# fix-shebang-on-testscript.patch
+# 0004-Fix-shebang-on-testscript.patch
 %patch3 -p1
-# 0002-Tracker-mediatype-signals.patch
+# 0005-Fix-shebang-on-functionaltests.patch
 %patch4 -p1
 # >> setup
 # << setup
@@ -106,21 +149,40 @@
 # >> build pre
 # << build pre
 
-
+%reconfigure --disable-static
 
 # >> build post
-%configure --disable-static \
---disable-hal \
---enable-libvorbis \
+%configure --with-compile-warnings=no              \
+--disable-static                        \
+--disable-tracker-status-icon           \
+--disable-tracker-preferences           \
+--disable-tracker-search-bar            \
+--disable-tracker-search-tool           \
+--disable-tracker-explorer              \
+--disable-tracker-fts                   \
+--enable-unit-tests                     \
+--disable-unac                          \
+--enable-video-extractor=gstreamer      \
+--disable-gstreamer-helix               \
+--enable-gstreamer-tagreadbin           \
+--enable-poppler                        \
+--enable-libexif                        \
+--enable-libgsf                         \
+--enable-libtiff                        \
 --enable-libjpeg \
+--enable-libgif                         \
+--enable-exempi                         \
+--enable-functional-tests               \
 --enable-playlist \
---disable-tracker-status-icon \
---disable-deskbar-applet \
---enable-maemo
-
-# Disable rpath
-sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
-sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+--disable-miner-evolution               \
+--disable-miner-kmail                   \
+--disable-miner-flickr                  \
+--disable-miner-rss                     \
+--disable-qt                             \
+--disable-gdkpixbuf                     \
+--disable-libwv2                        \
+--with-enca                             \
+--with-unicode-support=libicu
 
 make %{?_smp_mflags}
 
@@ -128,73 +190,92 @@
 %install
 rm -rf %{buildroot}
 # >> install pre
+%make_install
+%fdupes %{buildroot}/%{_datadir}/
 # << install pre
 
 # >> install post
-rm -rf %{buildroot}
-%make_install
-
-rm -f %{buildroot}%{_sysconfdir}/xdg/autostart/tracker-store.desktop
-
-mkdir -p %{buildroot}%{_sysconfdir}/skel/.config/tracker
-
-
-mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
-echo "%{_libdir}/tracker-0.9"       \
-> %{buildroot}%{_sysconfdir}/ld.so.conf.d/tracker-%{_arch}.conf
-
-rm -f %{buildroot}/usr/share/applications/tracker-preferences.desktop
-rm -f %{buildroot}/usr/share/applications/tracker-search-tool.desktop
-
-chmod -x %{buildroot}/%{_datadir}/tracker-tests/tests.xml
 
 # << install post
 %find_lang %{name}
 
 
 
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-
-
-%post devel
+%post
+/sbin/ldconfig
 /bin/touch --no-create %{_datadir}/icons/hicolor || :
 %{_bindir}/gtk-update-icon-cache \
   --quiet %{_datadir}/icons/hicolor 2> /dev/null|| :
 
-%postun devel
+%postun
+/sbin/ldconfig
 /bin/touch --no-create %{_datadir}/icons/hicolor || :
 %{_bindir}/gtk-update-icon-cache \
   --quiet %{_datadir}/icons/hicolor 2> /dev/null|| :
 
+
+
+
+
+
+
+
 %files -f %{name}.lang
 %defattr(-,root,root,-)
 # >> files
 %defattr(-, root, root, -)
-%doc AUTHORS ChangeLog COPYING NEWS README
-%{_bindir}/tracker*
-%{_datadir}/tracker/
+%{_bindir}/tracker-control
 %{_datadir}/dbus-1/services/*
+%{_datadir}/icons/hicolor/*
+%{_datadir}/man/man1/*
+%{_datadir}/man/man5/*
+%{_datadir}/tracker/*.xml
+%{_datadir}/tracker/languages/*
+%{_datadir}/tracker/miners/*
+%{_datadir}/tracker/ontologies/*
+%{_datadir}/vala/vapi/*
+%{_libdir}/libtracker-client-0.9.so*
+%{_libdir}/libtracker-extract-0.9.so*
+%{_libdir}/libtracker-miner-0.9.so*
+%{_libdir}/libtracker-sparql-0.9.so*
+%{_libdir}/tracker-0.9/*.so*
+%{_libdir}/tracker-0.9/extract-modules/*.so*
+%{_libdir}/tracker-0.9/sparql-modules/*.so
+%{_libdir}/tracker-0.9/writeback-modules/*.so*
+%{_libexecdir}/tracker-extract
+%{_libexecdir}/tracker-miner-fs
+%{_libexecdir}/tracker-store
+%{_libexecdir}/tracker-writeback
 %config %{_sysconfdir}/xdg/autostart/tracker-miner-fs.desktop
-%{_libdir}/*.so.*
-%{_libdir}/tracker-0.9/
-%{_exec_prefix}/libexec/tracker*
-%config %{_sysconfdir}/ld.so.conf.d/*
-%{_mandir}/*/tracker*.gz
+%config %{_sysconfdir}/xdg/autostart/tracker-store.desktop
 # << files
 
-
 %files devel
 %defattr(-,root,root,-)
 # >> files devel
-%defattr(-, root, root, -)
-%{_includedir}/tracker*
-%{_libdir}/*.so
-%{_libdir}/pkgconfig/*.pc
-%{_datadir}/icons/*
-%{_datadir}/tracker-tests/*
-%{_datadir}/vala/vapi/*
+%{_includedir}/tracker-0.9/libtracker-client/*.h
+%{_includedir}/tracker-0.9/libtracker-extract/*.h
+%{_includedir}/tracker-0.9/libtracker-miner/*.h
+%{_includedir}/tracker-0.9/libtracker-sparql/*.h
+%{_libdir}/pkgconfig/tracker-*.pc
 # << files devel
 
+
+%files tests
+%defattr(-,root,root,-)
+# >> files tests
+%{_datadir}/tracker-tests/*
+# << files tests
+
+%files utils
+%defattr(-,root,root,-)
+# >> files utils
+%{_bindir}/tracker-import
+%{_bindir}/tracker-info
+%{_bindir}/tracker-search
+%{_bindir}/tracker-sparql
+%{_bindir}/tracker-stats
+%{_bindir}/tracker-status
+%{_bindir}/tracker-tag
+# << files utils
+

other changes:
--------------

++++++ 0001-Tracker-0.7.23-desktop-files.patch (new)
--- 0001-Tracker-0.7.23-desktop-files.patch
+++ 0001-Tracker-0.7.23-desktop-files.patch
+diff -Naur tracker-0.9.11.orig/data/tracker-miner-fs.desktop.in.in tracker-0.9.11/data/tracker-miner-fs.desktop.in.in
+--- tracker-0.9.11.orig/data/tracker-miner-fs.desktop.in.in	2010-07-08 10:27:16.721227663 -0700
++++ tracker-0.9.11/data/tracker-miner-fs.desktop.in.in	2010-07-08 10:35:03.452915484 -0700
+@@ -6,12 +6,13 @@
+ Terminal=false
+ Type=Application
+ Categories=Utility;
++X-Meego-Priority=Late
+ X-GNOME-Autostart-enabled=true
+ X-KDE-autostart-after=panel
+ X-KDE-StartupNotify=false
+ X-KDE-UniqueApplet=true
+ NoDisplay=true
+-OnlyShowIn=GNOME;KDE;XFCE;
++OnlyShowIn=GNOME;KDE;XFCE;X-MEEGO-HS;X-MEEGO-NB;X-IVI;
+ X-GNOME-Bugzilla-Bugzilla=GNOME
+ X-GNOME-Bugzilla-Product=tracker
+ X-GNOME-Bugzilla-Component=Miners
+diff -Naur tracker-0.9.11.orig/data/tracker-status-icon.desktop.in.in tracker-0.9.11/data/tracker-status-icon.desktop.in.in
+--- tracker-0.9.11.orig/data/tracker-status-icon.desktop.in.in	2010-07-08 10:27:16.721227663 -0700
++++ tracker-0.9.11/data/tracker-status-icon.desktop.in.in	2010-07-08 10:30:08.886915837 -0700
+@@ -11,7 +11,7 @@
+ X-KDE-StartupNotify=false
+ X-KDE-UniqueApplet=true
+ NoDisplay=true
+-OnlyShowIn=GNOME;KDE;XFCE;
++OnlyShowIn=GNOME;KDE;XFCE;X-MEEGO-HS;X-MEEGO-NB;X-IVI;
+ X-GNOME-Bugzilla-Bugzilla=GNOME
+ X-GNOME-Bugzilla-Product=tracker
+ X-GNOME-Bugzilla-Component=Status Icon
+diff -Naur tracker-0.9.11.orig/data/tracker-store.desktop.in.in tracker-0.9.11/data/tracker-store.desktop.in.in
+--- tracker-0.9.11.orig/data/tracker-store.desktop.in.in	2010-07-08 10:27:16.726227677 -0700
++++ tracker-0.9.11/data/tracker-store.desktop.in.in	2010-07-08 10:30:55.283921080 -0700
+@@ -11,7 +11,7 @@
+ X-KDE-StartupNotify=false
+ X-KDE-UniqueApplet=true
+ NoDisplay=true
+-OnlyShowIn=GNOME;KDE;XFCE;
++OnlyShowIn=GNOME;KDE;XFCE;X-MEEGO-HS;X-MEEGO-NB;X-IVI;
+ X-GNOME-Bugzilla-Bugzilla=GNOME
+ X-GNOME-Bugzilla-Product=tracker
+ X-GNOME-Bugzilla-Component=Store

++++++ 0002-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch (new)
--- 0002-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch
+++ 0002-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch
+From 3e6bd60b1f60d89ced9c614e76b16d3ba9820ce3 Mon Sep 17 00:00:00 2001
+From: iain <iain at linux.intel.com>
+Date: Mon, 8 Feb 2010 15:32:19 +0000
+Subject: [PATCH 1/2] [Tracker-extract] Parse the video filename to obtain extra metadata
+
+---
+ src/tracker-extract/tracker-extract-gstreamer.c |  321 ++++++++++++++++++++++-
+ 1 files changed, 319 insertions(+), 2 deletions(-)
+
+diff --git a/src/tracker-extract/tracker-extract-gstreamer.c b/src/tracker-extract/tracker-extract-gstreamer.c
+index d1c770a..1c84533 100644
+--- a/src/tracker-extract/tracker-extract-gstreamer.c
++++ b/src/tracker-extract/tracker-extract-gstreamer.c
+@@ -86,6 +86,29 @@ long long int llroundl(long double x);
+ #define GST_TAG_FRAMERATE "framerate"
+ #endif
+ 
++/* These are in newer GStreamer releases, but we define them here
++   so we don't need to depend on a new release */
++#ifndef GST_TAG_SHOW_NAME
++#define GST_TAG_SHOW_NAME "show-name"
++#endif
++
++#ifndef GST_TAG_SHOW_EPISODE_NUMBER
++#define GST_TAG_SHOW_EPISODE_NUMBER "show-episode-number"
++#endif
++
++#ifndef GST_TAG_SHOW_SEASON_NUMBER
++#define GST_TAG_SHOW_SEASON_NUMBER "show-season-number"
++#endif
++
++#define TV_REGEX "(?<showname>.*)\\.(?<season>(?:\\d{1,2})|(?:[sS]\\K\\d{1,2}))(?<episode>(?:\\d{2})|(?:[eE]\\K\\d{1,2}))\\.?(?<name>.*)?"
++#define MOVIE_REGEX "(?<name>.*)\\.?[\\(\\[](?<year>[12][90]\\d{2})[\\)\\]]"
++
++typedef enum {
++    VIDEO_TYPE_UNKNOWN,
++    VIDEO_TYPE_MOVIE,
++    VIDEO_TYPE_SERIES
++} VideoType;
++
+ typedef enum {
+ 	EXTRACT_MIME_AUDIO,
+ 	EXTRACT_MIME_VIDEO,
+@@ -448,6 +471,295 @@ extract_stream_metadata_decodebin (MetadataExtractor *extractor,
+ 	}
+ }
+ 
++const gchar *blacklisted_prefix[] = {
++        "tpz-", NULL
++};
++
++/* Blacklisted are words that we ignore everything after */
++const char *blacklist[] = {
++        "720p", "1080p",
++        "ws", "WS", "proper", "PROPER",
++        "repack", "real.repack",
++        "hdtv", "HDTV", "pdtv", "PDTV", "notv", "NOTV",
++        "dsr", "DSR", "DVDRip", "divx", "DIVX", "xvid", "Xvid",
++        NULL
++};
++
++static gchar *
++sanitise_string (const gchar *str)
++{
++        int i;
++        gchar *line;
++
++        line = (gchar *) str;
++        for (i = 0; blacklisted_prefix[i]; i++) {
++                if (g_str_has_prefix (str, blacklisted_prefix[i])) {
++                        int len = strlen (blacklisted_prefix[i]);
++
++                        line = (gchar *) str + len;
++                }
++        }
++
++        for (i = 0; blacklist[i]; i++) {
++                gchar *end;
++
++                end = strstr (line, blacklist[i]);
++                if (end) {
++                        return g_strndup (line, end - line);
++                }
++        }
++
++        return g_strdup (line);
++}
++
++/* tidies strings before we run them through the regexes */
++static gchar *
++uri_to_metadata (const gchar *uri)
++{
++        gchar *ext, *basename, *name, *whitelisted;
++
++        basename = g_path_get_basename (uri);
++        ext = strrchr (basename, '.');
++        if (ext) {
++                name = g_strndup (basename, ext - basename);
++                g_free (basename);
++        } else {
++                name = basename;
++        }
++
++        /* Replace _ <space> with . */
++        g_strdelimit (name, "_ ", '.');
++        whitelisted = sanitise_string (name);
++        g_free (name);
++
++        return whitelisted;
++}
++
++static VideoType
++parse_uri (const gchar *uri,
++           gchar      **title,
++           gchar      **showname,
++           GDate      **date,
++           gint        *season,
++           gint        *episode)
++{
++        gchar *metadata;
++        GRegex *regex;
++        GMatchInfo *info;
++
++        metadata = uri_to_metadata (uri);
++
++        regex = g_regex_new (MOVIE_REGEX, 0, 0, NULL);
++        g_regex_match (regex, metadata, 0, &info);
++
++        if (g_match_info_matches (info)) {
++                if (title) {
++                        *title= g_match_info_fetch_named (info, "name");
++                        /* Replace "." with <space> */
++                        g_strdelimit (*title, ".", ' ');
++                }
++
++                if (date) {
++                        gchar *year = g_match_info_fetch_named (info, "year");
++
++                        *date = g_date_new ();
++                        g_date_set_year (*date, atoi (year));
++                        g_free (year);
++                }
++
++                if (showname) {
++                        *showname = NULL;
++                }
++
++                if (season) {
++                        *season = 0;
++                }
++
++                if (episode) {
++                        *episode = 0;
++                }
++
++                g_regex_unref (regex);
++                g_match_info_free (info);
++                g_free (metadata);
++
++                return VIDEO_TYPE_MOVIE;
++        }
++
++        g_regex_unref (regex);
++        g_match_info_free (info);
++
++        regex = g_regex_new (TV_REGEX, 0, 0, NULL);
++        g_regex_match (regex, metadata, 0, &info);
++
++        if (g_match_info_matches (info)) {
++                if (title) {
++                        *title = g_match_info_fetch_named (info, "name");
++                        g_strdelimit (*title, ".", ' ');
++                }
++
++                if (showname) {
++                        *showname = g_match_info_fetch_named (info, "showname");
++                        g_strdelimit (*showname, ".", ' ');
++                }
++
++                if (season) {
++                        gchar *s = g_match_info_fetch_named (info, "season");
++                        if (s) {
++                                if (*s == 's' || *s == 'S') {
++                                        *season = atoi (s + 1);
++                                } else {
++                                        *season = atoi (s);
++                                }
++                        } else {
++                                *season = 0;
++                        }
++
++                        g_free (s);
++                }
++
++                if (episode) {
++                        gchar *e = g_match_info_fetch_named (info, "episode");
++                        if (e) {
++                                if (*e == 'e' || *e == 'E') {
(163 more lines skipped)

++++++ 0003-Bug155-workaround.patch (new)
--- 0003-Bug155-workaround.patch
+++ 0003-Bug155-workaround.patch
+diff -Naur tracker-0.9.6/src/miners/fs/tracker-miner-files.c tracker-0.9.6-new/src/miners/fs/tracker-miner-files.c
+--- tracker-0.9.6/src/miners/fs/tracker-miner-files.c	2010-06-09 08:58:44.972828531 -0700
++++ tracker-0.9.6-new/src/miners/fs/tracker-miner-files.c	2010-06-09 09:51:07.738576197 -0700
+@@ -163,6 +163,8 @@
+ static void      extractor_get_embedded_metadata_cancel (GCancellable    *cancellable,
+                                                          ProcessFileData *data);
+ 
++static ProcessFileData *data_bk;
++
+ static void        miner_finished_cb                    (TrackerMinerFS *fs,
+                                                          gdouble         seconds_elapsed,
+                                                          guint           total_directories_found,
+@@ -1419,6 +1421,9 @@
+ 	g_object_unref (data->sparql);
+ 	g_object_unref (data->cancellable);
+ 	g_object_unref (data->file);
++	if (data_bk == data){
++		data_bk = NULL;
++	}
+ 	g_slice_free (ProcessFileData, data);
+ }
+ 
+@@ -1546,6 +1551,11 @@
+ {
+ 	GError *error;
+ 
++	if (data_bk == NULL){
++		//data is already freed.
++		return;
++	}
++
+ 	/* Cancel extractor call */
+ 	dbus_g_proxy_cancel_call (data->miner->private->extractor_proxy,
+ 	                          data->call);
+@@ -1674,6 +1684,7 @@
+ 	const gchar *attrs;
+ 
+ 	data = g_slice_new0 (ProcessFileData);
++	data_bk = data;
+ 	data->miner = g_object_ref (fs);
+ 	data->cancellable = g_object_ref (cancellable);
+ 	data->sparql = g_object_ref (sparql);

++++++ 0004-Fix-shebang-on-testscript.patch (new)
--- 0004-Fix-shebang-on-testscript.patch
+++ 0004-Fix-shebang-on-testscript.patch
+diff -Nur tracker-0.9.11.orig/tests/functional-tests/mass-storage-mode.py tracker-0.9.11/tests/functional-tests/mass-storage-mode.py
+--- tracker-0.9.11.orig/tests/functional-tests/mass-storage-mode.py	2010-07-01 18:45:04.000000000 +0300
++++ tracker-0.9.11/tests/functional-tests/mass-storage-mode.py	2010-07-07 12:46:19.000000000 +0300
+@@ -1,4 +1,4 @@
+-#/bin/env python
++#!/bin/env python
+ 
+ # Copyright (C) 2008, Nokia (urho.konttori at nokia.com)
+ #

++++++ 0005-Fix-shebang-on-functionaltests.patch (new)
--- 0005-Fix-shebang-on-functionaltests.patch
+++ 0005-Fix-shebang-on-functionaltests.patch
+diff -Naur ../tracker-0.9.26/tests/functional-tests//common/__init__.py tracker-0.9.26/tests/functional-tests//common/__init__.py
+--- ../tracker-0.9.26/tests/functional-tests//common/__init__.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//common/__init__.py	2010-11-08 12:08:11.462224001 +0200
+@@ -0,0 +1 @@
++#!/usr/bin/python
+diff -Naur ../tracker-0.9.26/tests/functional-tests//common/utils/__init__.py tracker-0.9.26/tests/functional-tests//common/utils/__init__.py
+--- ../tracker-0.9.26/tests/functional-tests//common/utils/__init__.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//common/utils/__init__.py	2010-11-08 12:08:25.498224000 +0200
+@@ -0,0 +1 @@
++#!/usr/bin/python
+diff -Naur ../tracker-0.9.26/tests/functional-tests//common/utils/system.py tracker-0.9.26/tests/functional-tests//common/utils/system.py
+--- ../tracker-0.9.26/tests/functional-tests//common/utils/system.py	2010-10-21 11:29:53.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//common/utils/system.py	2010-11-08 12:08:45.130224000 +0200
+@@ -1,3 +1,4 @@
++#!/usr/bin/python
+ import os
+ import subprocess
+ import shutil
+diff -Naur ../tracker-0.9.26/tests/functional-tests//__init__.py tracker-0.9.26/tests/functional-tests//__init__.py
+--- ../tracker-0.9.26/tests/functional-tests//__init__.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//__init__.py	2010-11-08 12:09:03.850224001 +0200
+@@ -0,0 +1 @@
++#!/usr/bin/python
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/case.py tracker-0.9.26/tests/functional-tests//unittest2/case.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/case.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/case.py	2010-11-08 12:09:30.638224001 +0200
+@@ -1,3 +1,4 @@
++#!/usr/bin/python
+ """Test case implementation"""
+ 
+ import sys
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/compatibility.py tracker-0.9.26/tests/functional-tests//unittest2/compatibility.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/compatibility.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/compatibility.py	2010-11-08 12:09:44.178224000 +0200
+@@ -1,3 +1,5 @@
++#!/usr/bin/python
++
+ import os
+ import sys
+ 
+@@ -63,4 +65,4 @@
+                 return os.path.curdir
+             return os.path.join(*rel_list)
+         
+-    os.path.relpath = relpath
+\ No newline at end of file
++    os.path.relpath = relpath
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/__init__.py tracker-0.9.26/tests/functional-tests//unittest2/__init__.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/__init__.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/__init__.py	2010-11-08 12:10:09.294224000 +0200
+@@ -1,3 +1,5 @@
++#!/usr/bin/python
++
+ """
+ unittest2
+ 
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/loader.py tracker-0.9.26/tests/functional-tests//unittest2/loader.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/loader.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/loader.py	2010-11-08 12:10:24.078224000 +0200
+@@ -1,3 +1,5 @@
++#!/usr/bin/python
++
+ """Loading unittests."""
+ 
+ import os
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/__main__.py tracker-0.9.26/tests/functional-tests//unittest2/__main__.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/__main__.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/__main__.py	2010-11-08 12:10:38.682224000 +0200
+@@ -1,3 +1,5 @@
++#!/usr/bin/python
++
+ """Main entry point"""
+ 
+ import sys
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/main.py tracker-0.9.26/tests/functional-tests//unittest2/main.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/main.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/main.py	2010-11-08 12:10:52.282224001 +0200
+@@ -1,3 +1,5 @@
++#!/usr/bin/python
++
+ """Unittest main program"""
+ 
+ import sys
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/result.py tracker-0.9.26/tests/functional-tests//unittest2/result.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/result.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/result.py	2010-11-08 12:11:11.178224000 +0200
+@@ -1,3 +1,5 @@
++#!/usr/bin/python
++
+ """Test result object"""
+ 
+ import sys
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/runner.py tracker-0.9.26/tests/functional-tests//unittest2/runner.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/runner.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/runner.py	2010-11-08 12:11:19.574224000 +0200
+@@ -1,3 +1,5 @@
++#!/usr/bin/python
++
+ """Running tests"""
+ 
+ import sys
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/signals.py tracker-0.9.26/tests/functional-tests//unittest2/signals.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/signals.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/signals.py	2010-11-08 12:11:34.998224000 +0200
+@@ -1,3 +1,5 @@
++#!/usr/bin/python
++
+ import signal
+ import weakref
+ 
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/suite.py tracker-0.9.26/tests/functional-tests//unittest2/suite.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/suite.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/suite.py	2010-11-08 12:11:42.998224001 +0200
+@@ -1,3 +1,5 @@
++#!/usr/bin/python
++
+ """TestSuite"""
+ 
+ import sys
+diff -Naur ../tracker-0.9.26/tests/functional-tests//unittest2/util.py tracker-0.9.26/tests/functional-tests//unittest2/util.py
+--- ../tracker-0.9.26/tests/functional-tests//unittest2/util.py	2010-10-07 16:37:12.000000000 +0300
++++ tracker-0.9.26/tests/functional-tests//unittest2/util.py	2010-11-08 12:11:55.206224000 +0200
+@@ -1,3 +1,5 @@
++#!/usr/bin/python
++
+ """Various utility functions."""
+ 
+ def safe_repr(obj):

++++++ tracker-0.9.16.tar.bz2 -> tracker-0.9.26.tar.bz2
207249 lines of diff (skipped)

++++++ tracker.yaml
--- tracker.yaml
+++ tracker.yaml
@@ -1,18 +1,19 @@
 Name: tracker
 Summary: An object database, tag/metadata database, search tool and indexer
-Version: 0.9.16
+Version: 0.9.26
 Release: 1
 Group: Applications/System
 License: GPLv2+
-URL: http://www.tracker-project.org/
+URL: http://ftp.gnome.org/pub/GNOME/sources/tracker/0.9/ 
 Sources:
     - http://ftp.gnome.org/pub/GNOME/sources/%{name}/0.9/%{name}-%{version}.tar.bz2
     - tracker-rpmlintrc
 Patches:
-    - tracker-0.7.23-desktop-files.patch
-    - 0001-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch
-    - bug155_workaround.patch
-    - fix-shebang-on-testscript.patch
+    - 0001-Tracker-0.7.23-desktop-files.patch 
+    - 0002-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch 
+    - 0003-Bug155-workaround.patch 
+    - 0004-Fix-shebang-on-testscript.patch 
+    - 0005-Fix-shebang-on-functionaltests.patch
 Description: |
     Tracker is a powerful desktop-neutral first class object database,
     tag/metadata database, search tool and indexer. 
@@ -29,49 +30,82 @@
     all types of files and other first class objects
 
 Requires:
-    - exempi
-    - poppler-utils
+    - gst-plugins-base >= 0.10
+    - gst-plugins-good >= 0.10
     - o3read
-    - sqlite >= 3.6.23
+    - unzip
+    - w3m
 PkgBR:
+    - fdupes
     - gettext
-    - desktop-file-utils
+    - giflib-devel
     - intltool
+    - libenca-devel
     - libjpeg-devel
-    - giflib-devel
-    - libtiff-devel
+    - libquill-devel
+    - libtiff-devel >= 3.8.2
+    - perl-XML-Parser
+    - pygobject2
+    - python >= 2.6
+    - zlib-devel
 PkgConfigBR:
+    - dbus-1
+    - dbus-glib-1 >= 0.60
+    - dbus-python
+    - exempi-2.0
+    - gee-1.0
+    - glib-2.0 >= 2.24.0
     - gmime-2.4
-    - dbus-glib-1
-    - pango
-    - sqlite3
+    - gstreamer-0.10
+    - gstreamer-audio-0.10
+    - gstreamer-plugins-base-0.10
+    - gstreamer-interfaces-0.10
+    - gstreamer-video-0.10
     - gtk+-2.0
+    - gtk-doc
+    - icu-uc
     - id3tag
-    - vorbis
-    - uuid
-    - gee-1.0
-    - totem-plparser
     - libexif
-    - exempi-2.0
-    - taglib
     - libgsf-1
+    - libiptcdata
+    - libpng12
+    - libxml-2.0
+    - ossp-uuid
+    - pango
     - poppler-glib
-    - gstreamer-video-0.10
-    - gstreamer-interfaces-0.10
-    - gstreamer-audio-0.10
-
-Configure: none
+    - sqlite3
+    - taglib
+    - totem-plparser 
+    - uuid
+    - vala-1.0
+    - vorbis
+Configure: reconfigure
 Builder: none
 LocaleName: "%{name}"
+AutoSubPackages:
+- devel  
 SubPackages:
-    - Name: devel
-      Summary: Headers for developing programs that will use %{name}
-      Group: Development/Libraries
+    - Name: tests
+      Summary: Tests for tracker
+      Group: System/X11
       Description: |
-          This package contains the static libraries and header files needed for
-          developing with tracker
+          Functional tests for tracker to be run once tracker is installed in
+          the final environment.
       Requires:
-          - pkgconfig
-          - dbus-glib-devel
-          - gtk2-devel
+          - dbus-python
+          - pygobject2
+          - python >= 2.6
 
+    - Name: utils 
+      Summary: Tracker command line applications to lookup data 
+      Group: Development/Tools
+      Description: |  
+           Tracker command line applications to lookup data
+           Included utilities for Tracker are as follows
+            tracker-import      Import TTL files.
+            tracker-info        Display all information known about an entity.
+            tracker-search      Search for entites (files, folders, videos, etc) 
+            tracker-sparql      Run a SPARQL query against the databases.
+            tracker-stats       Get statistics on how many entities are indexed.
+            tracker-status      Get the current state of the miners.
+            tracker-tag         Add, remove, list tags for entities.

++++++ deleted files:
--- 0001-Tracker-extract-Parse-the-video-filename-to-obtain-e.patch
--- 0002-Tracker-mediatype-signals.patch
--- bug155_workaround.patch
--- fix-shebang-on-testscript.patch
--- tracker-0.7.23-desktop-files.patch




More information about the MeeGo-commits mailing list