diff -Nru zeitgeist-0.9.16/debian/changelog zeitgeist-0.9.16/debian/changelog --- zeitgeist-0.9.16/debian/changelog 2015-07-24 19:09:20.000000000 +0200 +++ zeitgeist-0.9.16/debian/changelog 2016-02-03 17:23:45.000000000 +0100 @@ -1,3 +1,12 @@ +zeitgeist (0.9.16-0ubuntu4) UNRELEASED; urgency=medium + + * debian/patches/use-upstart.patch: + - Add support for running zeitgeist with upstart + * debian/patches/startup-database-vacuum.patch: + - Perform VACUUM operation on activity DB on startup (LP: #919801) + + -- Marco Trevisan (Treviño) Tue, 02 Feb 2016 19:38:01 +0100 + zeitgeist (0.9.16-0ubuntu3~gcc5.1) wily; urgency=medium * No-change test rebuild for g++5 ABI transition diff -Nru zeitgeist-0.9.16/debian/patches/series zeitgeist-0.9.16/debian/patches/series --- zeitgeist-0.9.16/debian/patches/series 2015-07-24 06:19:47.000000000 +0200 +++ zeitgeist-0.9.16/debian/patches/series 2016-02-02 19:05:51.000000000 +0100 @@ -5,3 +5,5 @@ pre_populator.patch skip-failing-tests.patch fix-test-crash.patch +use-upstart.patch +startup-database-vacuum.patch diff -Nru zeitgeist-0.9.16/debian/patches/startup-database-vacuum.patch zeitgeist-0.9.16/debian/patches/startup-database-vacuum.patch --- zeitgeist-0.9.16/debian/patches/startup-database-vacuum.patch 1970-01-01 01:00:00.000000000 +0100 +++ zeitgeist-0.9.16/debian/patches/startup-database-vacuum.patch 2016-02-03 18:02:48.000000000 +0100 @@ -0,0 +1,219 @@ +Description: Use execute a VACUUM operation on activity DB on startups every 10 days +Author: Marco Trevisan +Bug-Ubuntu: https://launchpad.net/bugs/919801 +Forwarded: not-needed + +Index: zeitgeist-0.9.16/src/Makefile.am +=================================================================== +--- zeitgeist-0.9.16.orig/src/Makefile.am ++++ zeitgeist-0.9.16/src/Makefile.am +@@ -1,6 +1,7 @@ + NULL = + + bin_PROGRAMS = zeitgeist-daemon ++libexec_PROGRAMS = zeitgeist-vacuum + noinst_LTLIBRARIES = libzeitgeist-engine.la + + AM_CPPFLAGS = \ +@@ -33,6 +34,7 @@ BUILT_SOURCES = \ + libzeitgeist_engine_la_vala.stamp \ + extensions_vala.stamp \ + zeitgeist_daemon_vala.stamp \ ++ zeitgeist_vacuum_vala.stamp \ + $(NULL) + + # Make sure every extension has only one vala file! +@@ -72,6 +74,17 @@ nodist_zeitgeist_daemon_SOURCES = \ + zeitgeist_daemon_LDADD = $(builddir)/libzeitgeist-engine.la $(top_builddir)/libzeitgeist/libzeitgeist-2.0.la $(ZEITGEIST_LIBS) + zeitgeist_daemon_LDFLAGS = -export-dynamic -no-undefined + ++zeitgeist_vacuum_VALASOURCES = \ ++ zeitgeist-vacuum.vala \ ++ $(NULL) ++ ++nodist_zeitgeist_vacuum_SOURCES = \ ++ $(zeitgeist_vacuum_VALASOURCES:.vala=.c) \ ++ $(NULL) ++ ++zeitgeist_vacuum_LDADD = $(top_builddir)/libzeitgeist/libzeitgeist-2.0.la $(ZEITGEIST_LIBS) ++zeitgeist_vacuum_LDFLAGS = -export-dynamic -no-undefined ++ + libzeitgeist_engine_la_LIBADD = $(ZEITGEIST_LIBS) + libzeitgeist_engine_la_LDFLAGS = -avoid-version -non_shared -static + +@@ -101,15 +114,23 @@ zeitgeist_daemon_vala.stamp: libzeitgeis + $(filter %.vala %.c,$^) + $(AM_V_at)touch $@ + ++zeitgeist_vacuum_vala.stamp: $(zeitgeist_vacuum_VALASOURCES) Makefile ++ $(AM_V_VALA)$(VALAC) \ ++ $(AM_VALAFLAGS) \ ++ $(filter %.vala %.c,$^) ++ $(AM_V_at)touch $@ ++ + EXTRA_DIST = \ + $(libzeitgeist_engine_la_VALASOURCES) \ + $(zeitgeist_daemon_VALASOURCES) \ ++ $(zeitgeist_vacuum_VALASOURCES) \ + $(extensions_VALASOURCES) \ + $(NULL) + + CLEANFILES = \ + $(nodist_libzeitgeist_engine_la_SOURCES) \ + $(nodist_zeitgeist_daemon_SOURCES) \ ++ $(nodist_zeitgeist_vacuum_SOURCES) \ + zeitgeist-engine.vapi \ + zeitgeist-engine.h \ + $(NULL) +Index: zeitgeist-0.9.16/src/zeitgeist-vacuum.vala +=================================================================== +--- /dev/null ++++ zeitgeist-0.9.16/src/zeitgeist-vacuum.vala +@@ -0,0 +1,56 @@ ++/* zeitgeist-vacuum.vala ++ * ++ * Copyright © 2015 Marco Trevisan ++ * ++ * This program is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License as published by ++ * the Free Software Foundation, either version 2.1 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program. If not, see . ++ * ++ */ ++ ++using Zeitgeist; ++ ++int main (string[] args) ++{ ++ Sqlite.Database database; ++ ++ if (Utils.using_in_memory_database ()) ++ { ++ warning ("Using in-memory database, no VACUUM needed"); ++ } ++ ++ var db_path = Utils.get_database_file_path (); ++ debug (@"Opening database file at $db_path"); ++ ++ int rc = Sqlite.Database.open_v2 (db_path, out database, Sqlite.OPEN_READWRITE); ++ ++ if (rc != Sqlite.OK) ++ { ++ warning ("Impossible to open database `%s': %s".printf (db_path, database.errmsg ())); ++ return rc; ++ } ++ ++ print ("Performing VACUUM operation... "); ++ rc = database.exec ("VACUUM"); ++ ++ if (rc != Sqlite.OK) ++ { ++ print ("FAIL"); ++ warning (database.errmsg ()); ++ return rc; ++ } ++ ++ print("OK\n"); ++ return 0; ++} ++ ++// vim:expandtab:ts=4:sw=4 +Index: zeitgeist-0.9.16/data/zeitgeist-vacuum.conf.in +=================================================================== +--- /dev/null ++++ zeitgeist-0.9.16/data/zeitgeist-vacuum.conf.in +@@ -0,0 +1,37 @@ ++description "Cleanup activity database" ++author "Marco Trevisan " ++ ++start on starting zeitgeist ++ ++env FREQUENCY=864000 # 10 days ++ ++script ++ cache_dir="$HOME/.cache" ++ ++ if [ -n "$XDG_CACHE_HOME" ]; then ++ cache_dir="$XDG_CACHE_HOME" ++ fi ++ ++ stamp_file="$cache_dir/zeitgeist-vacuum.stamp" ++ timestamp=0 ++ ++ if [ -f "$stamp_file" ]; then ++ timestamp="$(cat $stamp_file)" ++ fi ++ ++ case $timestamp in ++ ''|*[!0-9]*) timestamp=0 ;; ++ *) ;; ++ esac ++ ++ if [ $(($(date +%s) - $timestamp)) -lt $FREQUENCY ]; then ++ exit 0; ++ fi ++ ++ if (@libexecdir@/zeitgeist-vacuum); then ++ mkdir -p "$cache_dir" ++ date +%s > "$stamp_file" ++ else ++ exit $? ++ fi ++end script +Index: zeitgeist-0.9.16/data/Makefile.am +=================================================================== +--- zeitgeist-0.9.16.orig/data/Makefile.am ++++ zeitgeist-0.9.16/data/Makefile.am +@@ -12,7 +12,10 @@ org.gnome.zeitgeist.service: org.gnome.z + org.gnome.zeitgeist.service: Makefile + + upstartdir = $(datadir)/upstart/sessions +-upstart_DATA = zeitgeist.conf ++upstart_DATA = \ ++ zeitgeist.conf \ ++ zeitgeist-vacuum.conf \ ++ $(NULL) + + zeitgeist.conf: zeitgeist.conf.in + $(AM_V_GEN)sed -e s!\@prefix\@!$(prefix)! < $< > $@ +@@ -22,6 +25,10 @@ zeitgeist-datahub.conf: zeitgeist-datahu + $(AM_V_GEN)sed -e s!\@prefix\@!$(prefix)! < $< > $@ + zeitgeist-datahub.conf: Makefile + ++zeitgeist-vacuum.conf: zeitgeist-vacuum.conf.in ++ $(AM_V_GEN)sed -e s!\@libexecdir\@!$(libexecdir)! < $< > $@ ++zeitgeist-vacuum.conf: Makefile ++ + zeitgeistdbusrunnerdir = $(libexecdir) + zeitgeistdbusrunner_SCRIPTS = zeitgeist-daemon-dbus-runner + +@@ -49,6 +56,7 @@ CLEANFILES = \ + zeitgeist-daemon-dbus-runner \ + zeitgeist-datahub.conf \ + zeitgeist-datahub.desktop \ ++ zeitgeist-vacuum.conf \ + $(NULL) + + EXTRA_DIST = \ +@@ -56,11 +64,12 @@ EXTRA_DIST = \ + zeitgeist.conf.in \ + zeitgeist-daemon-dbus-runner.in \ + zeitgeist-datahub.conf.in \ ++ zeitgeist-vacuum.conf.in \ + ontology2code \ + $(xdgautostart_in_files) \ + $(NULL) + +-all-local: org.gnome.zeitgeist.service zeitgeist.conf zeitgeist-datahub.conf ++all-local: org.gnome.zeitgeist.service zeitgeist.conf zeitgeist-datahub.conf zeitgeist-vacuum.conf + + clean: + rm -rf *.pyc *.~[0-9]~ diff -Nru zeitgeist-0.9.16/debian/patches/use-upstart.patch zeitgeist-0.9.16/debian/patches/use-upstart.patch --- zeitgeist-0.9.16/debian/patches/use-upstart.patch 1970-01-01 01:00:00.000000000 +0100 +++ zeitgeist-0.9.16/debian/patches/use-upstart.patch 2016-02-03 18:01:24.000000000 +0100 @@ -0,0 +1,204 @@ +Description: Use upstart to run zeitgeist in Unity environment +Author: Marco Trevisan +Forwarded: not-needed + +Index: zeitgeist-0.9.16/data/Makefile.am +=================================================================== +--- zeitgeist-0.9.16.orig/data/Makefile.am ++++ zeitgeist-0.9.16/data/Makefile.am +@@ -8,9 +8,27 @@ servicedir = $(DBUS_SERVICES_DIR) + service_DATA = org.gnome.zeitgeist.service + + org.gnome.zeitgeist.service: org.gnome.zeitgeist.service.in +- $(AM_V_GEN)sed -e s!\@prefix\@!$(prefix)! < $< > $@ ++ $(AM_V_GEN)sed -e s!\@libexecdir\@!$(libexecdir)! < $< > $@ + org.gnome.zeitgeist.service: Makefile + ++upstartdir = $(datadir)/upstart/sessions ++upstart_DATA = zeitgeist.conf ++ ++zeitgeist.conf: zeitgeist.conf.in ++ $(AM_V_GEN)sed -e s!\@prefix\@!$(prefix)! < $< > $@ ++zeitgeist.conf: Makefile ++ ++zeitgeist-datahub.conf: zeitgeist-datahub.conf.in ++ $(AM_V_GEN)sed -e s!\@prefix\@!$(prefix)! < $< > $@ ++zeitgeist-datahub.conf: Makefile ++ ++zeitgeistdbusrunnerdir = $(libexecdir) ++zeitgeistdbusrunner_SCRIPTS = zeitgeist-daemon-dbus-runner ++ ++zeitgeist-daemon-dbus-runner: zeitgeist-daemon-dbus-runner.in ++ $(AM_V_GEN)sed -e s!\@prefix\@!$(prefix)! < $< > $@ ++zeitgeist-daemon-dbus-runner: Makefile ++ + bashcompletiondir = $(datadir)/bash-completion/completions + dist_bashcompletion_DATA = completions/zeitgeist-daemon + +@@ -19,6 +37,7 @@ xdgautostart_in_files = zeitgeist-datahu + if ENABLE_DATAHUB + xdgautostartdir=$(sysconfdir)/xdg/autostart + xdgautostart_DATA = $(xdgautostart_in_files:.desktop.in=.desktop) ++upstart_DATA += zeitgeist-datahub.conf + endif + + @INTLTOOL_DESKTOP_RULE@ +@@ -26,16 +45,22 @@ endif + CLEANFILES = \ + org.gnome.zeitgeist.service \ + PythonSerializer.pyc \ ++ zeitgeist.conf \ ++ zeitgeist-daemon-dbus-runner \ ++ zeitgeist-datahub.conf \ + zeitgeist-datahub.desktop \ + $(NULL) + + EXTRA_DIST = \ + org.gnome.zeitgeist.service.in \ ++ zeitgeist.conf.in \ ++ zeitgeist-daemon-dbus-runner.in \ ++ zeitgeist-datahub.conf.in \ + ontology2code \ + $(xdgautostart_in_files) \ + $(NULL) + +-all-local: org.gnome.zeitgeist.service ++all-local: org.gnome.zeitgeist.service zeitgeist.conf zeitgeist-datahub.conf + + clean: + rm -rf *.pyc *.~[0-9]~ +Index: zeitgeist-0.9.16/data/org.gnome.zeitgeist.service.in +=================================================================== +--- zeitgeist-0.9.16.orig/data/org.gnome.zeitgeist.service.in ++++ zeitgeist-0.9.16/data/org.gnome.zeitgeist.service.in +@@ -1,3 +1,3 @@ + [D-BUS Service] + Name=org.gnome.zeitgeist.Engine +-Exec=@prefix@/bin/zeitgeist-daemon ++Exec=@libexecdir@/zeitgeist-daemon-dbus-runner +Index: zeitgeist-0.9.16/extensions/fts++/Makefile.am +=================================================================== +--- zeitgeist-0.9.16.orig/extensions/fts++/Makefile.am ++++ zeitgeist-0.9.16/extensions/fts++/Makefile.am +@@ -11,6 +11,20 @@ org.gnome.zeitgeist.fts.service: org.gno + $(AM_V_GEN)sed -e s!\@libexecdir\@!$(libexecdir)! < $< > $@ + org.gnome.zeitgeist.fts.service: Makefile + ++upstartdir = $(datadir)/upstart/sessions ++upstart_DATA = zeitgeist-fts.conf ++ ++zeitgeist-fts.conf: zeitgeist-fts.conf.in ++ $(AM_V_GEN)sed -e s!\@libexecdir\@!$(libexecdir)! < $< > $@ ++zeitgeist-fts.conf: Makefile ++ ++zeitgeistftsdbusrunnerdir = $(libexecdir) ++zeitgeistftsdbusrunner_SCRIPTS = zeitgeist-fts-dbus-runner ++ ++zeitgeist-fts-dbus-runner: zeitgeist-fts-dbus-runner.in ++ $(AM_V_GEN)sed -e s!\@libexecdir\@!$(libexecdir)! < $< > $@ ++zeitgeist-fts-dbus-runner: Makefile ++ + AM_CPPFLAGS = \ + $(ZEITGEIST_CFLAGS) \ + $(XAPIAN_CXXFLAGS) \ +@@ -86,6 +100,8 @@ EXTRA_DIST = \ + $(zeitgeist_fts_VALASOURCES) \ + $(zeitgeist_fts_CSOURCES) \ + org.gnome.zeitgeist.fts.service.in \ ++ zeitgeist-fts.conf.in \ ++ zeitgeist-fts-dbus-runner.in \ + fts.vapi \ + $(NULL) + +@@ -93,6 +109,8 @@ CLEANFILES = \ + $(BUILT_SOURCES) \ + $(zeitgeist_fts_VALASOURCES:.vala=.c) \ + org.gnome.zeitgeist.fts.service \ ++ zeitgeist-fts-dbus-runner \ ++ zeitgeist-fts.conf \ + $(NULL) + + DISTCLEANFILES = \ +Index: zeitgeist-0.9.16/extensions/fts++/org.gnome.zeitgeist.fts.service.in +=================================================================== +--- zeitgeist-0.9.16.orig/extensions/fts++/org.gnome.zeitgeist.fts.service.in ++++ zeitgeist-0.9.16/extensions/fts++/org.gnome.zeitgeist.fts.service.in +@@ -1,3 +1,3 @@ + [D-BUS Service] + Name=org.gnome.zeitgeist.SimpleIndexer +-Exec=@libexecdir@/zeitgeist-fts ++Exec=@libexecdir@/zeitgeist-fts-dbus-runner +Index: zeitgeist-0.9.16/data/zeitgeist-daemon-dbus-runner.in +=================================================================== +--- /dev/null ++++ zeitgeist-0.9.16/data/zeitgeist-daemon-dbus-runner.in +@@ -0,0 +1,9 @@ ++#!/bin/bash ++ ++INITCTL=/sbin/initctl ++ ++if [ -n "$UPSTART_SESSION" ] && [ -x "$INITCTL" ]; then ++ $INITCTL start zeitgeist ++else ++ @prefix@/bin/zeitgeist-daemon ++fi +Index: zeitgeist-0.9.16/data/zeitgeist-datahub.conf.in +=================================================================== +--- /dev/null ++++ zeitgeist-0.9.16/data/zeitgeist-datahub.conf.in +@@ -0,0 +1,12 @@ ++description "Datahub for passive loggers" ++author "Marco Trevisan " ++ ++start on started dbus and xsession SESSION=ubuntu ++ ++# Emulating X-GNOME-Autostart-Delay=20 ++pre-start script ++ sleep 20 ++end script ++ ++respawn ++exec @prefix@/bin/zeitgeist-datahub +Index: zeitgeist-0.9.16/data/zeitgeist-datahub.desktop.in +=================================================================== +--- zeitgeist-0.9.16.orig/data/zeitgeist-datahub.desktop.in ++++ zeitgeist-0.9.16/data/zeitgeist-datahub.desktop.in +@@ -10,3 +10,4 @@ Categories= + GenericName= + X-GNOME-Autostart-Delay=20 + NoDisplay=true ++NotShowIn=Unity; +Index: zeitgeist-0.9.16/data/zeitgeist.conf.in +=================================================================== +--- /dev/null ++++ zeitgeist-0.9.16/data/zeitgeist.conf.in +@@ -0,0 +1,5 @@ ++description "Event logging framework" ++author "Marco Trevisan " ++ ++respawn ++exec @prefix@/bin/zeitgeist-daemon +Index: zeitgeist-0.9.16/extensions/fts++/zeitgeist-fts-dbus-runner.in +=================================================================== +--- /dev/null ++++ zeitgeist-0.9.16/extensions/fts++/zeitgeist-fts-dbus-runner.in +@@ -0,0 +1,9 @@ ++#!/bin/bash ++ ++INITCTL=/sbin/initctl ++ ++if [ -n "$UPSTART_SESSION" ] && [ -x "$INITCTL" ]; then ++ $INITCTL start zeitgeist-fts ++else ++ @libexecdir@/zeitgeist-fts ++fi +Index: zeitgeist-0.9.16/extensions/fts++/zeitgeist-fts.conf.in +=================================================================== +--- /dev/null ++++ zeitgeist-0.9.16/extensions/fts++/zeitgeist-fts.conf.in +@@ -0,0 +1,5 @@ ++description "Event logging framework - FTS extension" ++author "Marco Trevisan " ++ ++respawn ++exec @libexecdir@/zeitgeist-fts diff -Nru zeitgeist-0.9.16/debian/zeitgeist-core.install zeitgeist-0.9.16/debian/zeitgeist-core.install --- zeitgeist-0.9.16/debian/zeitgeist-core.install 2015-07-24 06:19:47.000000000 +0200 +++ zeitgeist-0.9.16/debian/zeitgeist-core.install 2016-02-03 13:34:20.000000000 +0100 @@ -1,7 +1,13 @@ +usr/lib/*/zeitgeist-daemon-dbus-runner usr/lib/*/zeitgeist-fts +usr/lib/*/zeitgeist-fts-dbus-runner +usr/lib/*/zeitgeist-vacuum usr/bin/zeitgeist-daemon usr/share/bash-completion/completions/zeitgeist-daemon usr/share/dbus-1/services/org.gnome.zeitgeist.service usr/share/dbus-1/services/org.gnome.zeitgeist.fts.service usr/share/man/man1/zeitgeist-daemon.1 +usr/share/upstart/sessions/zeitgeist.conf +usr/share/upstart/sessions/zeitgeist-fts.conf +usr/share/upstart/sessions/zeitgeist-vacuum.conf usr/share/zeitgeist/doc diff -Nru zeitgeist-0.9.16/debian/zeitgeist-datahub.install zeitgeist-0.9.16/debian/zeitgeist-datahub.install --- zeitgeist-0.9.16/debian/zeitgeist-datahub.install 2015-07-24 06:19:47.000000000 +0200 +++ zeitgeist-0.9.16/debian/zeitgeist-datahub.install 2016-02-02 18:47:19.000000000 +0100 @@ -1,3 +1,4 @@ etc/xdg/autostart/zeitgeist-datahub.desktop usr/bin/zeitgeist-datahub usr/share/man/man1/zeitgeist-datahub.1 +usr/share/upstart/sessions/zeitgeist-datahub.conf