Re: [Tracker] Tracker on Solaris



Hi,

2013/1/24 Martyn Russell <martyn lanedo com>:
On 24/01/13 14:37, Frank Lahm wrote:
---8<---
root solaris:~# echo $DBUS_SESSION_BUS_ADDRESS
unix:path=/tmp/spotlight.ipc
root solaris:~# /opt/tracker/bin/tracker-control -S
Store:
24 Jan 2013, 15:32:37:  â     Store                - Idle

Miners:
24 Jan 2013, 15:32:37:  â     Dateisystem          - Not running or is
a disabled plugin
24 Jan 2013, 15:32:37:  â     Anwendungen          - Not running or is
a disabled plugin

root solaris:~# ps auxwww | grep tracker
root      8223  0.1  0.23940019184 ?        S 15:32:03  0:00
/opt/tracker/libexec/tracker-store
root      8269  0.0  0.0 8908 1456 pts/3    S 15:32:57  0:00 grep tracker
---8<---
Note that tracker-store IS running, just not the miners.


Yea. Are you starting the store via the miner-fs instigation? or yourself?

With tracker-control -s.

3. Are you able to test other dbus programs with your session and can
they
"register"?


I'm really new to dbus, could you give me a hint at an example program?


Yea, you can try the server/client here (might be out of date, and needs
Python):

  http://cgit.freedesktop.org/dbus/dbus-python/tree/examples

Thanks, learning Python and dbus on the fly, I was able to write
(well, really copy and paste) a simple tracker-miner-fs replacement
which can be activated and called from a python interactive shell.
This is the tracker-miner-fs replacement:
---8<---
#!/usr/bin/env python
import gobject
import dbus
import dbus.service
import dbus.mainloop.glib

class ExampleObject(dbus.service.Object):
    @dbus.service.method("org.freedesktop.Tracker1.Miner.Files",
                          in_signature='', out_signature='s')
    def Ping(self):
        return str("Hi. I am Alive")

if __name__ == '__main__':
    dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
    session_bus = dbus.SessionBus()
    name = dbus.service.BusName("org.freedesktop.Tracker1.Miner.Files",
session_bus)
    name2 = dbus.service.BusName("org.freedesktop.Tracker1.Miner.Applications",
session_bus)
    object = ExampleObject(session_bus, '/ExampleObject')

    mainloop = gobject.MainLoop()
    mainloop.run()
---8<---

I can interact with this just fine from a Python shell:

root solaris:~# env | egrep 'TRACKER|DBUS|XDG'
TRACKER_EXTRACTOR_RULES_DIR=/opt/tracker/share/tracker/extract-rules
TRACKER_DB_ONTOLOGIES_DIR=/opt/tracker/share/tracker/ontologies
DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/spotlight.ipc
XDG_DATA_DIRS=/opt/tracker/share/:/usr/share/
TRACKER_LANGUAGE_STOPWORDS_DIR=/opt/tracker/share/tracker/languages

root solaris:~# python
Python 2.6.8 (unknown, Aug 30 2012, 01:56:38) [C] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
import dbus
bus = dbus.SessionBus()
remote_object = bus.get_object("org.freedesktop.Tracker1.Miner.Files","/ExampleObject")
interface = dbus.Interface(remote_object,'org.freedesktop.Tracker1.Miner.Files')
reply = interface.Ping()
print reply
Hi. I am Alive


A test program to do this should be only a few lines of code.


Well, ok, lets get down and dirty. By chance, can you share a link to
a good online ressource or similar.

Try the above first ;)

The Python examples from freedesktop work just fine too... :/

Would it help running tracker-miner-fs from gdb?

Thanks!
-f



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