[PackageKit-commit] packagekit: Branch 'master' - 21 commits

Richard Hughes hughsient at kemper.freedesktop.org
Tue May 5 02:03:32 PDT 2009


Rebased ref, commits from common ancestor:
commit 1ae5039a025b2d3e7c6517014194499a9c1a6a8b
Author: Richard Hughes <richard at hughsie.com>
Date:   Tue May 5 09:55:53 2009 +0100

    Add support for /etc/lsb-release to pk_get_distro_id() to fix fd#21550

diff --git a/lib/packagekit-glib/pk-common.c b/lib/packagekit-glib/pk-common.c
index 4a7cebe..ed6e10d 100644
--- a/lib/packagekit-glib/pk-common.c
+++ b/lib/packagekit-glib/pk-common.c
@@ -74,10 +74,12 @@ pk_get_machine_type (void)
 gchar *
 pk_get_distro_id (void)
 {
+	guint i;
 	gboolean ret;
 	gchar *contents = NULL;
 	gchar *distro = NULL;
 	gchar *arch = NULL;
+	gchar *version = NULL;
 	gchar **split = NULL;
 
 	/* check for fedora */
@@ -158,6 +160,28 @@ pk_get_distro_id (void)
 		goto out;
 	}
 
+	/* check for LSB */
+	ret = g_file_get_contents ("/etc/lsb-release", &contents, NULL, NULL);
+	if (ret) {
+		/* we can't get arch from /etc */
+		arch = pk_get_machine_type ();
+		if (arch == NULL)
+			goto out;
+
+		/* split by lines */
+		split = g_strsplit (contents, "\n", -1);
+		for (i=0; split[i] != NULL; i++) {
+			if (g_str_has_prefix (split[i], "DISTRIB_ID="))
+				distro = g_ascii_strdown (&split[i][11], -1);
+			if (g_str_has_prefix (split[i], "DISTRIB_RELEASE="))
+				version = g_ascii_strdown (&split[i][16], -1);
+		}
+
+		/* complete! */
+		distro = g_strdup_printf ("%s-%s-%s", distro, version, arch);
+		goto out;
+	}
+
 	/* check for Debian or Debian derivatives */
 	ret = g_file_get_contents ("/etc/debian_version", &contents, NULL, NULL);
 	if (ret) {
@@ -173,6 +197,7 @@ pk_get_distro_id (void)
 
 out:
 	g_strfreev (split);
+	g_free (version);
 	g_free (arch);
 	g_free (contents);
 	return distro;
commit 584be0a61f67567300f1185a2d77e02ef74358bb
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Mon May 4 02:46:32 2009 -0500

    conary: fix status on get-repo-list

diff --git a/backends/conary/conaryBackend.py b/backends/conary/conaryBackend.py
index 76f74f8..edc79cd 100755
--- a/backends/conary/conaryBackend.py
+++ b/backends/conary/conaryBackend.py
@@ -924,6 +924,7 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
         '''
         log.info("======= get repo list ===========0")
         labels = self.conary.get_labels_from_config()
+        self.status(STATUS_QUERY)
         for repo in labels:
             repo_name = repo.split("@")[0]
             repo_branch  = repo.split("@")[1]
commit ab11a49307ba53a981f3073e79f25f13e330222e
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Mon May 4 02:38:21 2009 -0500

    conary: add get-repo-list

diff --git a/backends/conary/conaryBackend.py b/backends/conary/conaryBackend.py
index 2bdb4d4..76f74f8 100755
--- a/backends/conary/conaryBackend.py
+++ b/backends/conary/conaryBackend.py
@@ -560,6 +560,7 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
         #log.debug("refresh-cache command ")
     #    self.percentage()
 
+        self.percentage(None)
         self.status(STATUS_REFRESH_CACHE)
         self.percentage(None)
         cache = Cache()
@@ -921,7 +922,12 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
         '''
         Implement the {backend}-get-repo-list functionality
         '''
-        pass
+        log.info("======= get repo list ===========0")
+        labels = self.conary.get_labels_from_config()
+        for repo in labels:
+            repo_name = repo.split("@")[0]
+            repo_branch  = repo.split("@")[1]
+            self.repo_detail(repo,repo,"true")
 
     def repo_enable(self, repoid, enable):
         '''
diff --git a/backends/conary/pk-backend-conary.c b/backends/conary/pk-backend-conary.c
index 8708b44..21605b8 100644
--- a/backends/conary/pk-backend-conary.c
+++ b/backends/conary/pk-backend-conary.c
@@ -349,6 +349,20 @@ backend_get_distro_upgrades (PkBackend *backend)
 
  */
 
+
+/**
+ * pk_backend_get_repo_list:
+ */
+static void
+backend_get_repo_list (PkBackend *backend, PkBitfield filters)
+{
+    gchar *filters_text;
+    filters_text = pk_filter_bitfield_to_text (filters);
+    pk_backend_spawn_helper (spawn, "conaryBackend.py", "get-repo-list", filters_text, NULL);
+    g_free (filters_text);
+}
+
+
 PK_BACKEND_OPTIONS (
 	"Conary with XMLCache",				/* description */
 	"Andres Vargas <zodman at foresightlinux.org>",
@@ -366,7 +380,7 @@ PK_BACKEND_OPTIONS (
 	NULL,	                /* get_distro_upgrades */
 	backend_get_files,			/* get_files */
 	backend_get_packages,					/* get_packages */
-	NULL,					/* get_repo_list */
+	backend_get_repo_list,					/* get_repo_list */
 	NULL,					/* get_requires */
 	backend_get_update_detail,              /* get_update_detail */
 	backend_get_updates,			/* get_updates */
commit 7426091889240dcb7db81439a215416ebbd2927a
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Mon May 4 00:48:53 2009 -0500

    conary:make remove packages more faster

diff --git a/backends/conary/conaryBackend.py b/backends/conary/conaryBackend.py
index daf8833..2bdb4d4 100755
--- a/backends/conary/conaryBackend.py
+++ b/backends/conary/conaryBackend.py
@@ -612,21 +612,19 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
         errors = ""
         #for package_id in package_ids.split('%'):
         for package_id in package_ids:
-            name, version, flavor, installed = self._findPackage(package_id)
-            if name:
-                if not installed == INFO_INSTALLED:
-                    self.error(ERROR_PACKAGE_NOT_INSTALLED, 'The package %s is not installed' % name)
-
+            name, version, arch,data = pkpackage.get_package_from_id(package_id)
+            troveTuple = self.conary.query(name)
+            for name,version,flavor in troveTuple:
                 name = '-%s' % name
+                #self.client.repos.findTrove(self.conary.default_label)
                 self.status(STATUS_REMOVE)
                 self._get_package_update(name, version, flavor)
+
                 callback = self.client.getUpdateCallback()
                 if callback.error:
                     self.error(ERROR_DEP_RESOLUTION_FAILED,', '.join(callback.error))
                         
                 self._do_package_update(name, version, flavor)
-            else:
-                self.error(ERROR_PACKAGE_ALREADY_INSTALLED, 'The package was not found')
         self.client.setUpdateCallback(self.callback)
 
     def _get_metadata(self, package_id, field):
commit 64dcc09d8a76ded902de2424e125e96e8510cd57
Author: kmilos <kmilos at fedoraproject.org>
Date:   Sun May 3 21:41:39 2009 +0000

    Sending translation for po/sr at latin.po

diff --git a/po/sr at latin.po b/po/sr at latin.po
index 00baec4..b180493 100644
--- a/po/sr at latin.po
+++ b/po/sr at latin.po
@@ -10,13 +10,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PackageKit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-27 19:07+0000\n"
-"PO-Revision-Date: 2009-03-27 14:57-0400\n"
-"Last-Translator: Igor Miletic (Igor Miletić) <grejigl-gnomeprevod at yahoo.ca>\n"
+"POT-Creation-Date: 2009-05-03 19:22+0000\n"
+"PO-Revision-Date: 2009-05-03 22:29+0100\n"
+"Last-Translator: Miloš Komarčević <kmilos at gmail.com>\n"
 "Language-Team: Serbian <fedora-trans-sr at redhat.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4;    plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 :    n"
 "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 
@@ -435,213 +435,218 @@ msgstr "Greška:"
 msgid "Package description"
 msgstr "Opis paketa"
 
+#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
+#: ../client/pk-console.c:1473
+msgid "Message:"
+msgstr "Poruka:"
+
 #. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:1491
+#: ../client/pk-console.c:1501
 msgid "Package files"
 msgstr "Spisak datoteka"
 
 #. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:1499
+#: ../client/pk-console.c:1509
 msgid "No files"
 msgstr "Nema datoteka"
 
 #. TRANSLATORS: This a request for a GPG key signature from the backend, which the client will prompt for later
-#: ../client/pk-console.c:1522
+#: ../client/pk-console.c:1532
 msgid "Repository signature required"
 msgstr "Potpis riznice je obavezan"
 
 #. TRANSLATORS: This a prompt asking the user to import the security key
-#: ../client/pk-console.c:1532
+#: ../client/pk-console.c:1542
 msgid "Do you accept this signature?"
 msgstr "Prihvatate li ovaj potpis?"
 
 #. TRANSLATORS: This is where the user declined the security key
-#: ../client/pk-console.c:1536
+#: ../client/pk-console.c:1546
 msgid "The signature was not accepted."
 msgstr "Ovaj potpis nije prihvaćen."
 
 #. TRANSLATORS: This a request for a EULA
-#: ../client/pk-console.c:1570
+#: ../client/pk-console.c:1580
 msgid "End user license agreement required"
 msgstr "Licenci dogovor sa krajnjim korisnikom je obavezan"
 
 #. TRANSLATORS: This a prompt asking the user to agree to the license
-#: ../client/pk-console.c:1577
+#: ../client/pk-console.c:1587
 msgid "Do you agree to this license?"
 msgstr "Slažete li se sa ovom licencom?"
 
 #. TRANSLATORS: This is where the user declined the license
-#: ../client/pk-console.c:1581
+#: ../client/pk-console.c:1591
 msgid "The license was refused."
 msgstr "Licenca je odbijena."
 
 #. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1610
+#: ../client/pk-console.c:1620
 msgid "The daemon crashed mid-transaction!"
 msgstr "Uslužni program se iznenada prekinuo!"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1663
+#: ../client/pk-console.c:1673
 msgid "PackageKit Console Interface"
 msgstr "Tekstualno sučelje programa PaketKit"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:1665
+#: ../client/pk-console.c:1675
 msgid "Subcommands:"
 msgstr "Naredbe:"
 
 #. TRANSLATORS: command line argument, if we should show debugging information
 #. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:1757 ../client/pk-generate-pack.c:185
+#: ../client/pk-console.c:1767 ../client/pk-generate-pack.c:185
 #: ../client/pk-monitor.c:125
 #: ../contrib/command-not-found/pk-command-not-found.c:518
-#: ../src/pk-main.c:199
+#: ../src/pk-main.c:201
 msgid "Show extra debugging information"
 msgstr "Prikaži dodatne podatke za otkrivanje grešaka"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1760 ../client/pk-monitor.c:127
+#: ../client/pk-console.c:1770 ../client/pk-monitor.c:127
 msgid "Show the program version and exit"
 msgstr "Prikaži verziju programa i završi rad"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1763
+#: ../client/pk-console.c:1773
 msgid "Set the filter, e.g. installed"
 msgstr "Namesti filter, npr. instalirani"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1766
+#: ../client/pk-console.c:1776
 msgid "Exit without waiting for actions to complete"
 msgstr "Završi rad bez čekanja da se poslovi završe"
 
 #. TRANSLATORS: This is when we could not connect to the system bus, and is fatal
-#: ../client/pk-console.c:1793
+#: ../client/pk-console.c:1803
 msgid "This tool could not connect to system DBUS."
 msgstr "Ne mogu da se povežem na sistemsku komunikacionu magistralu (DBUS)."
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1880
+#: ../client/pk-console.c:1894
 msgid "The filter specified was invalid"
 msgstr "Navedeni filter nije ispravan"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1898
+#: ../client/pk-console.c:1912
 msgid "A search type is required, e.g. name"
 msgstr "Morate navesti vrstu pretrage, npr. po imenu"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1904 ../client/pk-console.c:1912
-#: ../client/pk-console.c:1920 ../client/pk-console.c:1928
+#: ../client/pk-console.c:1918 ../client/pk-console.c:1926
+#: ../client/pk-console.c:1934 ../client/pk-console.c:1942
 msgid "A search term is required"
 msgstr "Morate navesti termin za pretragu"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1934
+#: ../client/pk-console.c:1948
 msgid "Invalid search type"
 msgstr "Neispravna vrsta pretrage"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1940
+#: ../client/pk-console.c:1954
 msgid "A package name or filename to install is required"
 msgstr "Morate navesti ime paketa ili ime datoteke za instalaciju"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1948
+#: ../client/pk-console.c:1962
 msgid "A type, key_id and package_id are required"
 msgstr "Morate navesti vrstu, IB ključa i IB paketa (key_id i package_id)"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1956
+#: ../client/pk-console.c:1970
 msgid "A package name to remove is required"
 msgstr "Morate navesti naziv paketa za uklanjanje"
 
 #. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1963
+#: ../client/pk-console.c:1977
 msgid ""
 "A destination directory and then the package names to download are required"
 msgstr "Morate navesti odredišni direktorijum pa onda pakete za preuzimanje"
 
 #. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1969
+#: ../client/pk-console.c:1983
 msgid "Directory not found"
 msgstr "Direktorijum nije nađen"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1976
+#: ../client/pk-console.c:1990
 msgid "A licence identifier (eula-id) is required"
 msgstr "Morete navesti identifikator licence (eula-id)"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1985
+#: ../client/pk-console.c:1999
 msgid "A transaction identifier (tid) is required"
 msgstr "Morate navesti identifikator transakcije (tid)"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:2001
+#: ../client/pk-console.c:2015
 msgid "A package name to resolve is required"
 msgstr "Morate navesti ime paketa za razrešavanje"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:2009 ../client/pk-console.c:2017
+#: ../client/pk-console.c:2023 ../client/pk-console.c:2031
 msgid "A repository name is required"
 msgstr "Morate navesti ime riznice"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:2025
+#: ../client/pk-console.c:2039
 msgid "A repo name, parameter and value are required"
 msgstr "Morate navesti ime, parametar i vrednost riznice"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:2038
+#: ../client/pk-console.c:2052
 msgid "An action, e.g. 'update-system' is required"
 msgstr "Morate navesti radnju, npr. „update-system“ (ažuriranje sistema)"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:2044
+#: ../client/pk-console.c:2058
 msgid "A correct role is required"
 msgstr "Morate navesti važeću radnju"
 
 #. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:2050
+#: ../client/pk-console.c:2064
 msgid "Failed to get the time since this action was last completed"
 msgstr "Datum poslednjeg izvršavanja ove radnje nije pronađen"
 
 #. TRANSLATORS: The user did not provide a package name
 #. TRANSLATORS: This is when the user fails to supply the package name
-#: ../client/pk-console.c:2059 ../client/pk-console.c:2070
-#: ../client/pk-console.c:2078 ../client/pk-console.c:2094
-#: ../client/pk-console.c:2102 ../client/pk-generate-pack.c:241
+#: ../client/pk-console.c:2073 ../client/pk-console.c:2084
+#: ../client/pk-console.c:2092 ../client/pk-console.c:2108
+#: ../client/pk-console.c:2116 ../client/pk-generate-pack.c:241
 msgid "A package name is required"
 msgstr "Morate navesti ime paketa"
 
 #. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:2086
+#: ../client/pk-console.c:2100
 msgid "A package provide string is required"
 msgstr "Morate navesti „provide“ niz (šta paket pruža)"
 
 #. TRANSLATORS: The user didn't specify a filename to create as a list
-#: ../client/pk-console.c:2110
+#: ../client/pk-console.c:2124
 msgid "A list file name to create is required"
 msgstr "Morate navesti ime datoteke spiska koja će se napraviti"
 
 #. TRANSLATORS: The user didn't specify a filename to open as a list
-#: ../client/pk-console.c:2119 ../client/pk-console.c:2128
+#: ../client/pk-console.c:2133 ../client/pk-console.c:2142
 msgid "A list file to open is required"
 msgstr "Morate navesti datoteku spiska za otvaranje"
 
 #. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:2181
+#: ../client/pk-console.c:2195
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "Opcija „%s“ nije podržana"
 
 #. TRANSLATORS: User does not have permission to do this
-#: ../client/pk-console.c:2194
+#: ../client/pk-console.c:2208
 msgid "Incorrect privileges for this operation"
 msgstr "Neispravna ovlašćenja za ovu operaciju"
 
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:2197
+#: ../client/pk-console.c:2211
 msgid "Command failed"
 msgstr "Naredba nije uspela"
 
@@ -799,56 +804,56 @@ msgid "PackageKit Command Not Found"
 msgstr "PaketKit naredba nije nađena"
 
 #. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:556
+#: ../contrib/command-not-found/pk-command-not-found.c:557
 msgid "Command not found."
 msgstr "Naredba nije nađena."
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:563
+#: ../contrib/command-not-found/pk-command-not-found.c:564
 msgid "Similar command is:"
 msgstr "Slična naredba je:"
 
 #. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:572
+#: ../contrib/command-not-found/pk-command-not-found.c:573
 msgid "Run similar command:"
 msgstr "Pokreni sličnu naredbu:"
 
 #. TRANSLATORS: show the user a list of commands that they could have meant
 #. TRANSLATORS: show the user a list of commands we could run
-#: ../contrib/command-not-found/pk-command-not-found.c:584
-#: ../contrib/command-not-found/pk-command-not-found.c:593
+#: ../contrib/command-not-found/pk-command-not-found.c:585
+#: ../contrib/command-not-found/pk-command-not-found.c:594
 msgid "Similar commands are:"
 msgstr "Slične naredbe su:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:600
+#: ../contrib/command-not-found/pk-command-not-found.c:601
 msgid "Please choose a command to run"
 msgstr "Izaberite naredbu za pokretanje"
 
 #. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:615
+#: ../contrib/command-not-found/pk-command-not-found.c:616
 msgid "The package providing this file is:"
 msgstr "Paket koji pruža ovu datoteku je:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:620
+#: ../contrib/command-not-found/pk-command-not-found.c:621
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Da instaliram paket „%s“ koji pruža naredbu „%s“?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:641
+#: ../contrib/command-not-found/pk-command-not-found.c:642
 msgid "Packages providing this file are:"
 msgstr "Paketi koji pružaju ovu datoteku su:"
 
 #. TRANSLATORS: Show the user a list of packages that they can install to provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:650
+#: ../contrib/command-not-found/pk-command-not-found.c:651
 msgid "Suitable packages are:"
 msgstr "Prikladni paketi su:"
 
 #. get selection
 #. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:658
+#: ../contrib/command-not-found/pk-command-not-found.c:659
 msgid "Please choose a package to install"
 msgstr "Izaberite paket za instalaciju"
 
@@ -1042,47 +1047,47 @@ msgstr ""
 "direktorijum:"
 
 #. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
-#: ../src/pk-main.c:193
+#: ../src/pk-main.c:195
 msgid "Packaging backend to use, e.g. dummy"
 msgstr "Pozadinski sistem u upotrebi, npr. „dummy“ (probni)"
 
 #. TRANSLATORS: if we should run in the background
-#: ../src/pk-main.c:196
+#: ../src/pk-main.c:198
 msgid "Daemonize and detach from the terminal"
 msgstr "Odvoji od terminala i nastavi rad kao uslužni program"
 
 #. TRANSLATORS: if we should not monitor how long we are inactive for
-#: ../src/pk-main.c:202
+#: ../src/pk-main.c:204
 msgid "Disable the idle timer"
 msgstr "Onemogući merač čekanja"
 
 #. TRANSLATORS: show version
-#: ../src/pk-main.c:205
+#: ../src/pk-main.c:207
 msgid "Show version and exit"
 msgstr "Prikaži verziju i završi rad"
 
 #. TRANSLATORS: exit after we've started up, used for user profiling
-#: ../src/pk-main.c:208
+#: ../src/pk-main.c:210
 msgid "Exit after a small delay"
 msgstr "Izađi posle kratke zadrške"
 
 #. TRANSLATORS: exit straight away, used for automatic profiling
-#: ../src/pk-main.c:211
+#: ../src/pk-main.c:213
 msgid "Exit after the engine has loaded"
 msgstr "Završi rad nakon što se učita pozadinski sistem"
 
 #. TRANSLATORS: describing the service that is running
-#: ../src/pk-main.c:226
+#: ../src/pk-main.c:228
 msgid "PackageKit service"
 msgstr "Servis PaketKita"
 
 #. TRANSLATORS: fatal error, dbus is not running
-#: ../src/pk-main.c:263
+#: ../src/pk-main.c:265
 msgid "Cannot connect to the system bus"
 msgstr "Ne mogu da se povežem na sistemsku magistralu"
 
 #. TRANSLATORS: cannot register on system bus, unknown reason
-#: ../src/pk-main.c:313
+#: ../src/pk-main.c:317
 #, c-format
 msgid "Error trying to start: %s\n"
 msgstr "Greška pri pokretanju: %s\n"
@@ -1196,8 +1201,3 @@ msgstr "Greška pri pokretanju: %s\n"
 
 #~ msgid "Could not find a description for this package"
 #~ msgstr "Ne mogu da pribavim opis za ovaj paket"
-
-# msgstr "Nisam uspeo da otkrijem prethodno vreme"
-# msgstr "Prošli put nisam uspeo da preuzmem"
-#~ msgid "You need to specify a package to find the description for"
-#~ msgstr "Moraš navesti ime paketa za prikaz opisa"
commit 6ab0bc816cc1c736880a62e1f302e23c49f0b44f
Author: kmilos <kmilos at fedoraproject.org>
Date:   Sun May 3 21:41:02 2009 +0000

    Sending translation for Serbian

diff --git a/po/sr.po b/po/sr.po
index 7a9711b..3903e91 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -10,13 +10,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PackageKit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-27 19:07+0000\n"
-"PO-Revision-Date: 2009-03-27 14:57-0400\n"
-"Last-Translator: Igor Miletic (Игор Милетић) <grejigl-gnomeprevod at yahoo.ca>\n"
+"POT-Creation-Date: 2009-05-03 19:22+0000\n"
+"PO-Revision-Date: 2009-05-03 22:29+0100\n"
+"Last-Translator: Miloš Komarčević <kmilos at gmail.com>\n"
 "Language-Team: Serbian <fedora-trans-sr at redhat.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4;    plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 :    n"
 "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 
@@ -434,213 +434,218 @@ msgstr "Грешка:"
 msgid "Package description"
 msgstr "Опис пакета"
 
+#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
+#: ../client/pk-console.c:1473
+msgid "Message:"
+msgstr "Порука:"
+
 #. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:1491
+#: ../client/pk-console.c:1501
 msgid "Package files"
 msgstr "Списак датотека"
 
 #. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:1499
+#: ../client/pk-console.c:1509
 msgid "No files"
 msgstr "Нема датотека"
 
 #. TRANSLATORS: This a request for a GPG key signature from the backend, which the client will prompt for later
-#: ../client/pk-console.c:1522
+#: ../client/pk-console.c:1532
 msgid "Repository signature required"
 msgstr "Потпис ризнице је обавезан"
 
 #. TRANSLATORS: This a prompt asking the user to import the security key
-#: ../client/pk-console.c:1532
+#: ../client/pk-console.c:1542
 msgid "Do you accept this signature?"
 msgstr "Прихватате ли овај потпис?"
 
 #. TRANSLATORS: This is where the user declined the security key
-#: ../client/pk-console.c:1536
+#: ../client/pk-console.c:1546
 msgid "The signature was not accepted."
 msgstr "Овај потпис није прихваћен."
 
 #. TRANSLATORS: This a request for a EULA
-#: ../client/pk-console.c:1570
+#: ../client/pk-console.c:1580
 msgid "End user license agreement required"
 msgstr "Лиценци договор са крајњим корисником је обавезан"
 
 #. TRANSLATORS: This a prompt asking the user to agree to the license
-#: ../client/pk-console.c:1577
+#: ../client/pk-console.c:1587
 msgid "Do you agree to this license?"
 msgstr "Слажете ли се са овом лиценцом?"
 
 #. TRANSLATORS: This is where the user declined the license
-#: ../client/pk-console.c:1581
+#: ../client/pk-console.c:1591
 msgid "The license was refused."
 msgstr "Лиценца је одбијена."
 
 #. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1610
+#: ../client/pk-console.c:1620
 msgid "The daemon crashed mid-transaction!"
 msgstr "Услужни програм се изненада прекинуо!"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1663
+#: ../client/pk-console.c:1673
 msgid "PackageKit Console Interface"
 msgstr "Текстуално сучеље програма ПакетКит"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:1665
+#: ../client/pk-console.c:1675
 msgid "Subcommands:"
 msgstr "Наредбе:"
 
 #. TRANSLATORS: command line argument, if we should show debugging information
 #. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:1757 ../client/pk-generate-pack.c:185
+#: ../client/pk-console.c:1767 ../client/pk-generate-pack.c:185
 #: ../client/pk-monitor.c:125
 #: ../contrib/command-not-found/pk-command-not-found.c:518
-#: ../src/pk-main.c:199
+#: ../src/pk-main.c:201
 msgid "Show extra debugging information"
 msgstr "Прикажи додатне податке за откривање грешака"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1760 ../client/pk-monitor.c:127
+#: ../client/pk-console.c:1770 ../client/pk-monitor.c:127
 msgid "Show the program version and exit"
 msgstr "Прикажи верзију програма и заврши рад"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1763
+#: ../client/pk-console.c:1773
 msgid "Set the filter, e.g. installed"
 msgstr "Намести филтер, нпр. инсталирани"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1766
+#: ../client/pk-console.c:1776
 msgid "Exit without waiting for actions to complete"
 msgstr "Заврши рад без чекања да се послови заврше"
 
 #. TRANSLATORS: This is when we could not connect to the system bus, and is fatal
-#: ../client/pk-console.c:1793
+#: ../client/pk-console.c:1803
 msgid "This tool could not connect to system DBUS."
 msgstr "Не могу да се повежем на системску комуникациону магистралу (DBUS)."
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1880
+#: ../client/pk-console.c:1894
 msgid "The filter specified was invalid"
 msgstr "Наведени филтер није исправан"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1898
+#: ../client/pk-console.c:1912
 msgid "A search type is required, e.g. name"
 msgstr "Морате навести врсту претраге, нпр. по имену"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1904 ../client/pk-console.c:1912
-#: ../client/pk-console.c:1920 ../client/pk-console.c:1928
+#: ../client/pk-console.c:1918 ../client/pk-console.c:1926
+#: ../client/pk-console.c:1934 ../client/pk-console.c:1942
 msgid "A search term is required"
 msgstr "Морате навести термин за претрагу"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1934
+#: ../client/pk-console.c:1948
 msgid "Invalid search type"
 msgstr "Неисправна врста претраге"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1940
+#: ../client/pk-console.c:1954
 msgid "A package name or filename to install is required"
 msgstr "Морате навести име пакета или име датотеке за инсталацију"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1948
+#: ../client/pk-console.c:1962
 msgid "A type, key_id and package_id are required"
 msgstr "Морате навести врсту, ИБ кључа и ИБ пакета (key_id и package_id)"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1956
+#: ../client/pk-console.c:1970
 msgid "A package name to remove is required"
 msgstr "Морате навести назив пакета за уклањање"
 
 #. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1963
+#: ../client/pk-console.c:1977
 msgid ""
 "A destination directory and then the package names to download are required"
 msgstr "Морате навести одредишни директоријум па онда пакете за преузимање"
 
 #. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1969
+#: ../client/pk-console.c:1983
 msgid "Directory not found"
 msgstr "Директоријум није нађен"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1976
+#: ../client/pk-console.c:1990
 msgid "A licence identifier (eula-id) is required"
 msgstr "Морете навести идентификатор лиценце (eula-id)"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1985
+#: ../client/pk-console.c:1999
 msgid "A transaction identifier (tid) is required"
 msgstr "Морате навести идентификатор трансакције (tid)"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:2001
+#: ../client/pk-console.c:2015
 msgid "A package name to resolve is required"
 msgstr "Морате навести име пакета за разрешавање"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:2009 ../client/pk-console.c:2017
+#: ../client/pk-console.c:2023 ../client/pk-console.c:2031
 msgid "A repository name is required"
 msgstr "Морате навести име ризнице"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:2025
+#: ../client/pk-console.c:2039
 msgid "A repo name, parameter and value are required"
 msgstr "Морате навести име, параметар и вредност ризнице"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:2038
+#: ../client/pk-console.c:2052
 msgid "An action, e.g. 'update-system' is required"
 msgstr "Морате навести радњу, нпр. „update-system“ (ажурирање система)"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:2044
+#: ../client/pk-console.c:2058
 msgid "A correct role is required"
 msgstr "Морате навести важећу радњу"
 
 #. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:2050
+#: ../client/pk-console.c:2064
 msgid "Failed to get the time since this action was last completed"
 msgstr "Датум последњег извршавања ове радње није пронађен"
 
 #. TRANSLATORS: The user did not provide a package name
 #. TRANSLATORS: This is when the user fails to supply the package name
-#: ../client/pk-console.c:2059 ../client/pk-console.c:2070
-#: ../client/pk-console.c:2078 ../client/pk-console.c:2094
-#: ../client/pk-console.c:2102 ../client/pk-generate-pack.c:241
+#: ../client/pk-console.c:2073 ../client/pk-console.c:2084
+#: ../client/pk-console.c:2092 ../client/pk-console.c:2108
+#: ../client/pk-console.c:2116 ../client/pk-generate-pack.c:241
 msgid "A package name is required"
 msgstr "Морате навести име пакета"
 
 #. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:2086
+#: ../client/pk-console.c:2100
 msgid "A package provide string is required"
 msgstr "Морате навести „provide“ низ (шта пакет пружа)"
 
 #. TRANSLATORS: The user didn't specify a filename to create as a list
-#: ../client/pk-console.c:2110
+#: ../client/pk-console.c:2124
 msgid "A list file name to create is required"
 msgstr "Морате навести име датотеке списка која ће се направити"
 
 #. TRANSLATORS: The user didn't specify a filename to open as a list
-#: ../client/pk-console.c:2119 ../client/pk-console.c:2128
+#: ../client/pk-console.c:2133 ../client/pk-console.c:2142
 msgid "A list file to open is required"
 msgstr "Морате навести датотеку списка за отварање"
 
 #. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:2181
+#: ../client/pk-console.c:2195
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "Опција „%s“ није подржана"
 
 #. TRANSLATORS: User does not have permission to do this
-#: ../client/pk-console.c:2194
+#: ../client/pk-console.c:2208
 msgid "Incorrect privileges for this operation"
 msgstr "Неисправна овлашћења за ову операцију"
 
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:2197
+#: ../client/pk-console.c:2211
 msgid "Command failed"
 msgstr "Наредба није успела"
 
@@ -798,56 +803,56 @@ msgid "PackageKit Command Not Found"
 msgstr "ПакетКит наредба није нађена"
 
 #. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:556
+#: ../contrib/command-not-found/pk-command-not-found.c:557
 msgid "Command not found."
 msgstr "Наредба није нађена."
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:563
+#: ../contrib/command-not-found/pk-command-not-found.c:564
 msgid "Similar command is:"
 msgstr "Слична наредба је:"
 
 #. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:572
+#: ../contrib/command-not-found/pk-command-not-found.c:573
 msgid "Run similar command:"
 msgstr "Покрени сличну наредбу:"
 
 #. TRANSLATORS: show the user a list of commands that they could have meant
 #. TRANSLATORS: show the user a list of commands we could run
-#: ../contrib/command-not-found/pk-command-not-found.c:584
-#: ../contrib/command-not-found/pk-command-not-found.c:593
+#: ../contrib/command-not-found/pk-command-not-found.c:585
+#: ../contrib/command-not-found/pk-command-not-found.c:594
 msgid "Similar commands are:"
 msgstr "Сличне наредбе су:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:600
+#: ../contrib/command-not-found/pk-command-not-found.c:601
 msgid "Please choose a command to run"
 msgstr "Изаберите наредбу за покретање"
 
 #. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:615
+#: ../contrib/command-not-found/pk-command-not-found.c:616
 msgid "The package providing this file is:"
 msgstr "Пакет који пружа ову датотеку је:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:620
+#: ../contrib/command-not-found/pk-command-not-found.c:621
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Да инсталирам пакет „%s“ који пружа наредбу „%s“?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:641
+#: ../contrib/command-not-found/pk-command-not-found.c:642
 msgid "Packages providing this file are:"
 msgstr "Пакети који пружају ову датотеку су:"
 
 #. TRANSLATORS: Show the user a list of packages that they can install to provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:650
+#: ../contrib/command-not-found/pk-command-not-found.c:651
 msgid "Suitable packages are:"
 msgstr "Прикладни пакети су:"
 
 #. get selection
 #. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:658
+#: ../contrib/command-not-found/pk-command-not-found.c:659
 msgid "Please choose a package to install"
 msgstr "Изаберите пакет за инсталацију"
 
@@ -1041,47 +1046,47 @@ msgstr ""
 "директоријум:"
 
 #. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
-#: ../src/pk-main.c:193
+#: ../src/pk-main.c:195
 msgid "Packaging backend to use, e.g. dummy"
 msgstr "Позадински систем у употреби, нпр. „dummy“ (пробни)"
 
 #. TRANSLATORS: if we should run in the background
-#: ../src/pk-main.c:196
+#: ../src/pk-main.c:198
 msgid "Daemonize and detach from the terminal"
 msgstr "Одвоји од терминала и настави рад као услужни програм"
 
 #. TRANSLATORS: if we should not monitor how long we are inactive for
-#: ../src/pk-main.c:202
+#: ../src/pk-main.c:204
 msgid "Disable the idle timer"
 msgstr "Онемогући мерач чекања"
 
 #. TRANSLATORS: show version
-#: ../src/pk-main.c:205
+#: ../src/pk-main.c:207
 msgid "Show version and exit"
 msgstr "Прикажи верзију и заврши рад"
 
 #. TRANSLATORS: exit after we've started up, used for user profiling
-#: ../src/pk-main.c:208
+#: ../src/pk-main.c:210
 msgid "Exit after a small delay"
 msgstr "Изађи после кратке задршке"
 
 #. TRANSLATORS: exit straight away, used for automatic profiling
-#: ../src/pk-main.c:211
+#: ../src/pk-main.c:213
 msgid "Exit after the engine has loaded"
 msgstr "Заврши рад након што се учита позадински систем"
 
 #. TRANSLATORS: describing the service that is running
-#: ../src/pk-main.c:226
+#: ../src/pk-main.c:228
 msgid "PackageKit service"
 msgstr "Сервис ПакетКита"
 
 #. TRANSLATORS: fatal error, dbus is not running
-#: ../src/pk-main.c:263
+#: ../src/pk-main.c:265
 msgid "Cannot connect to the system bus"
 msgstr "Не могу да се повежем на системску магистралу"
 
 #. TRANSLATORS: cannot register on system bus, unknown reason
-#: ../src/pk-main.c:313
+#: ../src/pk-main.c:317
 #, c-format
 msgid "Error trying to start: %s\n"
 msgstr "Грешка при покретању: %s\n"
@@ -1194,8 +1199,3 @@ msgstr "Грешка при покретању: %s\n"
 
 #~ msgid "Could not find a description for this package"
 #~ msgstr "Не могу да прибавим опис за овај пакет"
-
-# msgstr "Нисам успео да откријем претходно време"
-# msgstr "Прошли пут нисам успео да преузмем"
-#~ msgid "You need to specify a package to find the description for"
-#~ msgstr "Мораш навести име пакета за приказ описа"
commit c730015b32453db0624afab22979de0934e808a6
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Apr 24 22:12:31 2009 +0100

    A few more trivial FreeBSD compile fixes

diff --git a/client/Makefile.am b/client/Makefile.am
index b6c644f..ccd24e4 100644
--- a/client/Makefile.am
+++ b/client/Makefile.am
@@ -6,6 +6,7 @@ NULL =
 INCLUDES =						\
 	$(GLIB_CFLAGS)					\
 	$(DBUS_CFLAGS)					\
+	$(SQLITE_CFLAGS)				\
 	-DBINDIR=\"$(bindir)\"			 	\
 	-DDATADIR=\"$(datadir)\"			\
 	-DPREFIX=\""$(prefix)"\" 			\
diff --git a/configure.ac b/configure.ac
index aaad218..0d70def 100644
--- a/configure.ac
+++ b/configure.ac
@@ -409,7 +409,7 @@ dnl ---------------------------------------------------------------------------
 AC_ARG_ENABLE(gtk_module, AS_HELP_STRING([--enable-gtk-module],[Build GTK module functionality]),
 	      enable_gtk_module=$enableval,enable_gtk_module=yes)
 if test x$enable_gtk_module = xyes; then
-	PKG_CHECK_MODULES(PK_GTK_MODULE, gtk+-2.0 pangoft2 fontconfig dbus-glib-1,
+	PKG_CHECK_MODULES(PK_GTK_MODULE, gtk+-2.0 >= 2.14.0 pangoft2 fontconfig dbus-glib-1,
 	                  build_gtk_module=yes, build_gtk_module=no)
 	AC_SUBST(PK_GTK_MODULE_CFLAGS)
 	AC_SUBST(PK_GTK_MODULE_LIBS)
diff --git a/contrib/command-not-found/Makefile.am b/contrib/command-not-found/Makefile.am
index 509f1e0..f59001d 100644
--- a/contrib/command-not-found/Makefile.am
+++ b/contrib/command-not-found/Makefile.am
@@ -4,6 +4,7 @@ AUTOMAKE_OPTIONS = 1.7
 INCLUDES =						\
 	$(GLIB_CFLAGS)					\
 	$(DBUS_CFLAGS)					\
+	$(SQLITE_CFLAGS)				\
 	-DPACKAGE_LOCALE_DIR=\"$(localedir)\"		\
 	-DSYSCONFDIR=\""$(sysconfdir)"\" 		\
 	-DEGG_LOG_FILE=\""$(PK_LOG_DIR)/PackageKit"\"	\
commit 8acbe369419bc2dbc1411b8f50d7ed3ce7cf4501
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Apr 24 21:40:20 2009 +0100

    trivial: one more FreeBSD fix for gmsgfmt compatibility

diff --git a/configure.ac b/configure.ac
index 260f9e5..aaad218 100644
--- a/configure.ac
+++ b/configure.ac
@@ -232,6 +232,7 @@ dnl - FreeBSD compatibility
 dnl ---------------------------------------------------------------------------
 AC_CHECK_HEADERS([execinfo.h])
 AC_CHECK_FUNCS(clearenv)
+AC_PATH_PROG(GMSGFMT, msgfmt, msgfmt)
 
 dnl ---------------------------------------------------------------------------
 dnl - xsltproc
commit 8dab886aa395f533f258aa91ff21e46e83dde4ea
Author: Anders F Bjorklund <afb at users.sourceforge.net>
Date:   Sun May 3 13:52:37 2009 +0200

    smart: don't require rpm-python

diff --git a/backends/smart/smartBackend.py b/backends/smart/smartBackend.py
index 40994ba..980cf6a 100755
--- a/backends/smart/smartBackend.py
+++ b/backends/smart/smartBackend.py
@@ -946,11 +946,12 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
         return False
 
     def _splitpackage(self, package):
-        from smart.backends.rpm.base import RPMPackage
+        #from smart.backends.rpm.base import RPMPackage
         from smart.backends.deb.base import DebPackage
         from smart.backends.slack.base import SlackPackage
         #from smart.backends.arch.base import ArchPackage
-        if isinstance(package, RPMPackage):
+        #if isinstance(package, RPMPackage):
+        if package.__class__.__name__ == 'RPMPackage':
             name = package.name
             version, arch = package.version.split('@')
         elif isinstance(package, DebPackage):
commit 717478ace67c0d4dc7165e59650df219d213e96b
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Fri May 1 14:37:40 2009 -0500

    conary: disable packageBrowsing

diff --git a/backends/conary/pk-backend-conary.c b/backends/conary/pk-backend-conary.c
index 49e446a..8708b44 100644
--- a/backends/conary/pk-backend-conary.c
+++ b/backends/conary/pk-backend-conary.c
@@ -51,7 +51,6 @@ backend_destroy (PkBackend *backend)
 
 /**
  * backend_get_groups:
- */
 static PkBitfield
 backend_get_groups (PkBackend *backend)
 {
@@ -70,6 +69,7 @@ backend_get_groups (PkBackend *backend)
 		-1);
 }
 
+ */
 /**
  * backend_get_filters:
  */
@@ -235,7 +235,6 @@ backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search
 
 /**
     pk_backend_search_groups
-*/
 static void
 backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search)
 {
@@ -246,6 +245,7 @@ backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *searc
 }
 
 
+*/
 
 /**
     pk_backend_search_details
@@ -355,7 +355,7 @@ PK_BACKEND_OPTIONS (
 						/* author */
 	backend_initialize,			/* initalize */
 	backend_destroy,			/* destroy */
-	backend_get_groups,			/* get_groups */
+	NULL,//backend_get_groups,			/* get_groups */
 	backend_get_filters,			/* get_filters */
 	NULL,					/* get_mime_types */
 	backend_cancel,				/* cancel */
@@ -381,7 +381,7 @@ PK_BACKEND_OPTIONS (
 	NULL,					/* rollback */
 	backend_search_details,					/* search_details */
 	backend_search_file,					/* search_file */
-	backend_search_group,					/* search_group */
+	NULL, //backend_search_group,					/* search_group */
 	backend_search_name,			/* search_name */
 	backend_update_packages,		/* update_packages */
 	backend_update_system,			/* update_system */
commit dcfaed30654651077e6ca6718a73640c7cb1b6d8
Merge: 9aa22e6... 25ea46e...
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Fri May 1 11:18:20 2009 -0500

    Merge branch 'master' of git+ssh://zodman@git.packagekit.org/srv/git/PackageKit

commit 9aa22e66fbac148fbb6617c2170f30b3cb1851e7
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Fri May 1 11:12:37 2009 -0500

    conary: add exception for bad xml generation

diff --git a/backends/conary/XMLCache.py b/backends/conary/XMLCache.py
index bc9218b..527d962 100644
--- a/backends/conary/XMLCache.py
+++ b/backends/conary/XMLCache.py
@@ -82,9 +82,9 @@ class XMLRepo:
                 r = self.xml_path +self.repo
                 self._repo =   cElementTree.parse(r).getroot()
                 return self._repo
-            except ExpatError:
+            except:
                 Pk = PackageKitBaseBackend("")
-                Pk.error(ERROR_REPO_CONFIGURATION_ERROR," The file %s not parsed submit a issue " % ( self.xml_path + self.repo, ) )
+                Pk.error(ERROR_REPO_CONFIGURATION_ERROR," The file %s not parsed submit a issue at http://issues.foresightlinux.org" % self.repo )
        
 
     def _generatePackage(self, package_node ): 
diff --git a/backends/conary/conaryBackend.py b/backends/conary/conaryBackend.py
index 5da6d24..daf8833 100755
--- a/backends/conary/conaryBackend.py
+++ b/backends/conary/conaryBackend.py
@@ -560,8 +560,8 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
         #log.debug("refresh-cache command ")
     #    self.percentage()
 
-        self.percentage(None)
         self.status(STATUS_REFRESH_CACHE)
+        self.percentage(None)
         cache = Cache()
         cache.refresh()
 
commit 25ea46e0643a0bd9ce1a6a628c658ac4fbb5b4c3
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Mon Apr 27 21:55:11 2009 -0300

    Pk-qt: removed a useless resolv method

diff --git a/lib/packagekit-qt/src/client.h b/lib/packagekit-qt/src/client.h
index e56a860..36e46b2 100644
--- a/lib/packagekit-qt/src/client.h
+++ b/lib/packagekit-qt/src/client.h
@@ -630,7 +630,6 @@ public:
 	 * The \p filters can be used to restrict the search
 	 */
 	Transaction* resolve(const QStringList& packageNames, Filters filters = NoFilter);
-	Transaction* resolve(Package* package, Filters filters = NoFilter);
 	Transaction* resolve(const QString& packageName, Filters filters = NoFilter);
 
 	/**
commit ab735f3d7090676579d97b6cccba706610473e5e
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Mon Apr 27 21:51:58 2009 -0300

    Packagekit-qt: switch some QSets to QFlags, not groups cause keyToValue() returns int not qint64

diff --git a/lib/packagekit-qt/src/client.cpp b/lib/packagekit-qt/src/client.cpp
index e20f474..d231d0e 100644
--- a/lib/packagekit-qt/src/client.cpp
+++ b/lib/packagekit-qt/src/client.cpp
@@ -73,11 +73,10 @@ Client::~Client()
 Client::Actions Client::getActions()
 {
 	QStringList actions = d->daemon->GetActions().value().split(";");
+
 	Actions flags;
-	int value;
 	foreach(const QString& action, actions) {
-		value = Util::enumFromString<Client>(action, "Action", "Action");
-		flags.insert((Action)value);
+		flags |= (Action) Util::enumFromString<Client>(action, "Action", "Action");
 	}
 	return flags;
 }
@@ -102,10 +101,8 @@ Client::Filters Client::getFilters()
 	}
 
 	Filters flags;
-	int value;
 	foreach(const QString& filter, filters) {
-		value = Util::enumFromString<Client>(filter, "Filter", "Filter");
-		flags.insert((Filter)value);
+		flags |= (Filter) Util::enumFromString<Client>(filter, "Filter", "Filter");
 	}
 	return flags;
 }
@@ -115,10 +112,8 @@ Client::Groups Client::getGroups()
 	QStringList groups = d->daemon->GetGroups().value().split(";");
 
 	Groups flags;
-	int value;
 	foreach(const QString& group, groups) {
-		value = Util::enumFromString<Client>(group, "Group", "Group");
-		flags.insert((Group)value);
+		flags.insert((Group) Util::enumFromString<Client>(group, "Group", "Group"));
 	}
 	return flags;
 }
@@ -131,8 +126,7 @@ QStringList Client::getMimeTypes()
 Client::NetworkState Client::getNetworkState()
 {
 	QString state = d->daemon->GetNetworkState();
-	int value = Util::enumFromString<Client>(state, "NetworkState", "Network");
-	return (NetworkState)value;
+	return (NetworkState) Util::enumFromString<Client>(state, "NetworkState", "Network");
 }
 
 uint Client::getTimeSinceAction(Action action)
@@ -228,7 +222,6 @@ Transaction* Client::getDepends(const QList<Package*>& packages, Filters filters
 		return NULL;
 	}
 
-
 	t->d->p->GetDepends(Util::filtersToString(filters), Util::packageListToPids(packages), recursive);
 
 	return t;
@@ -239,16 +232,6 @@ Transaction* Client::getDepends(Package* package, Filters filters, bool recursiv
 	return getDepends(QList<Package*>() << package, filters, recursive);
 }
 
-Transaction* Client::getDepends(const QList<Package*>& packages, Filter filter, bool recursive)
-{
-	return getDepends(packages, Filters() << filter, recursive);
-}
-
-Transaction* Client::getDepends(Package* package, Filter filter, bool recursive)
-{
-	return getDepends(QList<Package*>() << package, filter, recursive);
-}
-
 Transaction* Client::getDetails(const QList<Package*>& packages)
 {
 	Transaction* t = d->createNewTransaction();
@@ -315,11 +298,6 @@ Transaction* Client::getPackages(Filters filters)
 	return t;
 }
 
-Transaction* Client::getPackages(Filter filter)
-{
-	return getPackages(Filters() << filter);
-}
-
 Transaction* Client::getRepoList(Filters filters)
 {
 	Transaction* t = d->createNewTransaction();
@@ -333,11 +311,6 @@ Transaction* Client::getRepoList(Filters filters)
 	return t;
 }
 
-Transaction* Client::getRepoList(Filter filter)
-{
-	return getRepoList(Filters() << filter);
-}
-
 Transaction* Client::getRequires(const QList<Package*>& packages, Filters filters, bool recursive)
 {
 	Transaction* t = d->createNewTransaction();
@@ -356,16 +329,6 @@ Transaction* Client::getRequires(Package* package, Filters filters, bool recursi
 	return getRequires(QList<Package*>() << package, filters, recursive);
 }
 
-Transaction* Client::getRequires(const QList<Package*>& packages, Filter filter, bool recursive)
-{
-	return getRequires(packages, Filters() << filter, recursive);
-}
-
-Transaction* Client::getRequires(Package* package, Filter filter, bool recursive)
-{
-	return getRequires(QList<Package*>() << package, filter, recursive);
-}
-
 Transaction* Client::getUpdateDetail(const QList<Package*>& packages)
 {
 	Transaction* t = d->createNewTransaction();
@@ -397,11 +360,6 @@ Transaction* Client::getUpdates(Filters filters)
 	return t;
 }
 
-Transaction* Client::getUpdates(Filter filter)
-{
-	return getUpdates(Filters() << filter);
-}
-
 Transaction* Client::getDistroUpgrades()
 {
 	Transaction* t = d->createNewTransaction();
@@ -570,21 +528,11 @@ Transaction* Client::resolve(const QStringList& packageNames, Filters filters)
 	return t;
 }
 
-Transaction* Client::resolve(const QStringList& packageNames, Filter filter)
-{
-	return resolve(packageNames, Filters() << filter);
-}
-
 Transaction* Client::resolve(const QString& packageName, Filters filters)
 {
 	return resolve(QStringList() << packageName, filters);
 }
 
-Transaction* Client::resolve(const QString& packageName, Filter filter)
-{
-	return resolve(packageName, Filters() << filter);
-}
-
 Transaction* Client::rollback(Transaction* oldtrans)
 {
 	if(!PolkitClient::instance()->getAuth(AUTH_SYSTEM_ROLLBACK)) {
@@ -616,11 +564,6 @@ Transaction* Client::searchFile(const QString& search, Filters filters)
         return t;
 }
 
-Transaction* Client::searchFile(const QString& search, Filter filter)
-{
-        return Client::searchFile(search, Filters() << filter);
-}
-
 Transaction* Client::searchDetails(const QString& search, Filters filters)
 {
 	Transaction* t = d->createNewTransaction();
@@ -634,11 +577,6 @@ Transaction* Client::searchDetails(const QString& search, Filters filters)
 	return t;
 }
 
-Transaction* Client::searchDetails(const QString& search, Filter filter)
-{
-        return Client::searchDetails(search, Filters() << filter);
-}
-
 Transaction* Client::searchGroup(Client::Group group, Filters filters)
 {
 	Transaction* t = d->createNewTransaction();
@@ -652,11 +590,6 @@ Transaction* Client::searchGroup(Client::Group group, Filters filters)
 	return t;
 }
 
-Transaction* Client::searchGroup(Client::Group group, Filter filter)
-{
-	return searchGroup(group, Filters() << filter);
-}
-
 Transaction* Client::searchName(const QString& search, Filters filters)
 {
 	Transaction* t = d->createNewTransaction();
@@ -670,11 +603,6 @@ Transaction* Client::searchName(const QString& search, Filters filters)
 	return t;
 }
 
-Transaction* Client::searchName(const QString& search, Filter filter)
-{
-	return Client::searchName(search, Filters() << filter);
-}
-
 Package* Client::searchFromDesktopFile(const QString& path)
 {
 	QSqlDatabase db = QSqlDatabase::database();
@@ -752,10 +680,5 @@ Transaction* Client::whatProvides(ProvidesType type, const QString& search, Filt
 	return t;
 }
 
-Transaction* Client::whatProvides(ProvidesType type, const QString& search, Filter filter)
-{
-	return whatProvides(type, search, Filters() << filter);
-}
-
 #include "client.moc"
 
diff --git a/lib/packagekit-qt/src/client.h b/lib/packagekit-qt/src/client.h
index f2fbbe8..e56a860 100644
--- a/lib/packagekit-qt/src/client.h
+++ b/lib/packagekit-qt/src/client.h
@@ -82,39 +82,39 @@ public:
 	 * \sa getActions
 	 */
 	typedef enum {
-		ActionCancel,
-		ActionGetDepends,
-		ActionGetDetails,
-		ActionGetFiles,
-		ActionGetPackages,
-		ActionGetRepoList,
-		ActionGetRequires,
-		ActionGetUpdateDetail,
-		ActionGetUpdates,
-		ActionInstallFiles,
-		ActionInstallPackages,
-		ActionInstallSignature,
-		ActionRefreshCache,
-		ActionRemovePackages,
-		ActionRepoEnable,
-		ActionRepoSetData,
-		ActionResolve,
-		ActionRollback,
-		ActionSearchDetails,
-		ActionSearchFile,
-		ActionSearchGroup,
-		ActionSearchName,
-		ActionUpdatePackages,
-		ActionUpdateSystem,
-		ActionWhatProvides,
-		ActionAcceptEula,
-		ActionDownloadPackages,
-		ActionGetDistroUpgrades,
-		ActionGetCategories,
-		ActionGetOldTransactions,
-		UnkownAction = -1
+		ActionCancel		 = 0x00000001,
+		ActionGetDepends	 = 0x00000002,
+		ActionGetDetails	 = 0x00000004,
+		ActionGetFiles		 = 0x00000008,
+		ActionGetPackages	 = 0x00000010,
+		ActionGetRepoList	 = 0x00000020,
+		ActionGetRequires	 = 0x00000040,
+		ActionGetUpdateDetail	 = 0x00000080,
+		ActionGetUpdates	 = 0x00000100,
+		ActionInstallFiles	 = 0x00000200,
+		ActionInstallPackages	 = 0x00000400,
+		ActionInstallSignature	 = 0x00000800,
+		ActionRefreshCache	 = 0x00001000,
+		ActionRemovePackages	 = 0x00002000,
+		ActionRepoEnable	 = 0x00004000,
+		ActionRepoSetData	 = 0x00008000,
+		ActionResolve		 = 0x00010000,
+		ActionRollback		 = 0x00020000,
+		ActionSearchDetails	 = 0x00040000,
+		ActionSearchFile	 = 0x00080000,
+		ActionSearchGroup	 = 0x00100000,
+		ActionSearchName	 = 0x00200000,
+		ActionUpdatePackages	 = 0x00400000,
+		ActionUpdateSystem	 = 0x00800000,
+		ActionWhatProvides	 = 0x01000000,
+		ActionAcceptEula	 = 0x02000000,
+		ActionDownloadPackages	 = 0x04000000,
+		ActionGetDistroUpgrades	 = 0x08000000,
+		ActionGetCategories	 = 0x10000000,
+		ActionGetOldTransactions = 0x20000000,
+		UnknownAction		 = 0x40000000
 	} Action;
-	typedef QSet<Action> Actions;
+	Q_DECLARE_FLAGS(Actions, Action);
 
 	/**
 	 * Returns all the actions supported by the current backend
@@ -141,34 +141,34 @@ public:
 	 * Describes the different filters
 	 */
 	typedef enum {
-		NoFilter,
-		FilterInstalled,
-		FilterNotInstalled,
-		FilterDevelopment,
-		FilterNotDevelopment,
-		FilterGui,
-		FilterNotGui,
-		FilterFree,
-		FilterNotFree,
-		FilterVisible,
-		FilterNotVisible,
-		FilterSupported,
-		FilterNotSupported,
-		FilterBasename,
-		FilterNotBasename,
-		FilterNewest,
-		FilterNotNewest,
-		FilterArch,
-		FilterNotArch,
-		FilterSource,
-		FilterNotSource,
-		FilterCollections,
-		FilterNotCollections,
-		FilterApplication,
-		FilterNotApplication,
-		UnknownFilter = -1
+		NoFilter		 = 0x0000001,
+		FilterInstalled		 = 0x0000002,
+		FilterNotInstalled	 = 0x0000004,
+		FilterDevelopment	 = 0x0000008,
+		FilterNotDevelopment	 = 0x0000010,
+		FilterGui		 = 0x0000020,
+		FilterNotGui		 = 0x0000040,
+		FilterFree		 = 0x0000080,
+		FilterNotFree		 = 0x0000100,
+		FilterVisible		 = 0x0000200,
+		FilterNotVisible	 = 0x0000400,
+		FilterSupported		 = 0x0000800,
+		FilterNotSupported	 = 0x0001000,
+		FilterBasename		 = 0x0002000,
+		FilterNotBasename	 = 0x0004000,
+		FilterNewest		 = 0x0008000,
+		FilterNotNewest		 = 0x0010000,
+		FilterArch		 = 0x0020000,
+		FilterNotArch		 = 0x0040000,
+		FilterSource		 = 0x0080000,
+		FilterNotSource		 = 0x0100000,
+		FilterCollections	 = 0x0200000,
+		FilterNotCollections	 = 0x0400000,
+		FilterApplication	 = 0x0800000,
+		FilterNotApplication	 = 0x1000000,
+		UnknownFilter		 = 0x2000000
 	} Filter;
-	typedef QSet<Filter> Filters;
+	Q_DECLARE_FLAGS(Filters, Filter);
 
 	/**
 	 * Returns the filters supported by the current backend
@@ -213,7 +213,7 @@ public:
 		GroupCollections,
 		GroupVendor,
 		GroupNewest,
-		UnknownGroup = -1
+		UnknownGroup
 	} Group;
 	typedef QSet<Group> Groups;
 
@@ -236,7 +236,7 @@ public:
 		NetworkWired,
 		NetworkWifi,
 		NetworkMobile,
-		UnknownNetworkState = -1
+		UnknownNetworkState
 	} NetworkState;
 
 	/**
@@ -282,7 +282,7 @@ public:
 	 */
 	typedef enum {
 		SignatureGpg,
-		UnknownSignatureType = -1
+		UnknownSignatureType
 	} SignatureType;
 
 	/**
@@ -314,7 +314,7 @@ public:
 		ProvidesMimetype,
 		ProvidesFont,
 		ProvidesHardwareDriver,
-		UnknownProvidesType = -1
+		UnknownProvidesType
 	} ProvidesType;
 
 	/**
@@ -368,7 +368,7 @@ public:
 		ErrorIncompatibleArchitecture,
 		ErrorNoSpaceOnDevice,
 		ErrorMediaChangeRequired,
-		UnknownErrorType = -1
+		UnknownErrorType
 	} ErrorType;
 
 	/**
@@ -387,7 +387,7 @@ public:
 		MessageCouldNotFindPackage,
 		MessageConfigFilesChanged,
 		MessagePackageAlreadyInstalled,
-		UnknownMessageType = -1
+		UnknownMessageType
 	} MessageType;
 
 	/**
@@ -412,7 +412,7 @@ public:
 		RestartApplication,
 		RestartSession,
 		RestartSystem,
-		UnknownRestartType = -1
+		UnknownRestartType
 	} RestartType;
 
 	/**
@@ -422,7 +422,7 @@ public:
 		UpdateStable,
 		UpdateUnstable,
 		UpdateTesting,
-		UnknownUpdateState = -1
+		UnknownUpdateState
 	} UpdateState;
 
 	/**
@@ -431,7 +431,7 @@ public:
 	typedef enum {
 		DistroUpgradeStable,
 		DistroUpgradeUnstable,
-		UnknownDistroUpgrade = -1
+		UnknownDistroUpgrade
 	} DistroUpgradeType;
 
 	/**
@@ -439,7 +439,7 @@ public:
 	 */
 	typedef enum {
 		DaemonUnreachable,
-		UnkownDaemonError = -1
+		UnkownDaemonError
 	} DaemonError;
 	/**
 	 * Returns the last daemon error that was caught
@@ -513,10 +513,8 @@ public:
 	 * \sa Transaction::package
 	 *
 	 */
-	Transaction* getDepends(const QList<Package*>& packages, Filters filters = Filters() << NoFilter, bool recursive = true);
-	Transaction* getDepends(Package* package, Filters filters = Filters() << NoFilter, bool recursive = true);
-	Transaction* getDepends(const QList<Package*>& packages, Filter filter, bool recursive = true);
-	Transaction* getDepends(Package* package, Filter filter, bool recursive = true);
+	Transaction* getDepends(const QList<Package*>& packages, Filters filters = NoFilter, bool recursive = true);
+	Transaction* getDepends(Package* package, Filters filters = NoFilter, bool recursive = true);
 
 	/**
 	 * Gets more details about the given \p packages
@@ -546,14 +544,12 @@ public:
 	 *
 	 * \sa Transaction::package
 	 */
-	Transaction* getPackages(Filters filters = Filters() << NoFilter);
-	Transaction* getPackages(Filter filter);
+	Transaction* getPackages(Filters filters = NoFilter);
 
 	/**
 	 * Gets the list of software repositories matching the given \p filters
 	 */
-	Transaction* getRepoList(Filters filter = Filters() << NoFilter);
-	Transaction* getRepoList(Filter filter);
+	Transaction* getRepoList(Filters filter = NoFilter);
 
 	/**
 	 * \brief Searches for the packages requiring the given \p packages
@@ -561,10 +557,8 @@ public:
 	 * The search can be limited using the \p filters parameter. The recursive flag is used to tell
 	 * if the package manager should also search for the package requiring the resulting packages.
 	 */
-	Transaction* getRequires(const QList<Package*>& packages, Filters filters = Filters() << NoFilter, bool recursive = true);
-	Transaction* getRequires(Package* package, Filters filters = Filters() << NoFilter, bool recursive = true);
-	Transaction* getRequires(const QList<Package*>& packages, Filter filter, bool recursive = true);
-	Transaction* getRequires(Package* package, Filter filter, bool recursive = true);
+	Transaction* getRequires(const QList<Package*>& packages, Filters filters = NoFilter, bool recursive = true);
+	Transaction* getRequires(Package* package, Filters filters = NoFilter, bool recursive = true);
 
 	/**
 	 * Retrieves more details about the update for the given \p packages
@@ -577,8 +571,7 @@ public:
 	 *
 	 * The \p filters parameters can be used to restrict the updates returned
 	 */
-	Transaction* getUpdates(Filters filters = Filters() << NoFilter);
-	Transaction* getUpdates(Filter filter);
+	Transaction* getUpdates(Filters filters = NoFilter);
 
 	/**
 	 * Retrieves the available distribution upgrades
@@ -636,11 +629,9 @@ public:
 	 *
 	 * The \p filters can be used to restrict the search
 	 */
-	Transaction* resolve(const QStringList& packageNames, Filters filters = Filters() << NoFilter);
-	Transaction* resolve(Package* package, Filters filters = Filters() << NoFilter);
-	Transaction* resolve(const QStringList& packageNames, Filter filter);
-	Transaction* resolve(const QString& packageName, Filters filters = Filters() << NoFilter);
-	Transaction* resolve(const QString& packageName, Filter filter);
+	Transaction* resolve(const QStringList& packageNames, Filters filters = NoFilter);
+	Transaction* resolve(Package* package, Filters filters = NoFilter);
+	Transaction* resolve(const QString& packageName, Filters filters = NoFilter);
 
 	/**
 	 * Rolls back the given \p transactions
@@ -652,32 +643,28 @@ public:
 	 *
 	 * \p filters can be used to restrict the returned packages
 	 */
-	Transaction* searchFile(const QString& search, Filters filters = Filters() << NoFilter);
-	Transaction* searchFile(const QString& search, Filter filter);
+	Transaction* searchFile(const QString& search, Filters filters = NoFilter);
 
 	/**
 	 * \brief Search in the packages details
 	 *
 	 * \p filters can be used to restrict the returned packages
 	 */
-	Transaction* searchDetails(const QString& search, Filters filters = Filters() << NoFilter);
-	Transaction* searchDetails(const QString& search, Filter filter);
+	Transaction* searchDetails(const QString& search, Filters filters = NoFilter);
 
 	/**
 	 * \brief Lists all the packages in the given \p group
 	 *
 	 * \p filters can be used to restrict the returned packages
 	 */
-	Transaction* searchGroup(Client::Group group, Filters filters = Filters() << NoFilter);
-	Transaction* searchGroup(Client::Group group, Filter filter);
+	Transaction* searchGroup(Client::Group group, Filters filters = NoFilter);
 
 	/**
 	 * \brief Search in the packages names
 	 *
 	 * \p filters can be used to restrict the returned packages
 	 */
-	Transaction* searchName(const QString& search, Filters filters = Filters() << NoFilter);
-	Transaction* searchName(const QString& search, Filter filter);
+	Transaction* searchName(const QString& search, Filters filters = NoFilter);
 
 	/**
 	 * \brief Tries to find a package name from a desktop file
@@ -703,8 +690,7 @@ public:
 	/**
 	 * Searchs for a package providing a file/a mimetype
 	 */
-	Transaction* whatProvides(ProvidesType type, const QString& search, Filters filters = Filters() << NoFilter);
-	Transaction* whatProvides(ProvidesType type, const QString& search, Filter filter);
+	Transaction* whatProvides(ProvidesType type, const QString& search, Filters filters = NoFilter);
 
 Q_SIGNALS:
 	/**
@@ -757,6 +743,8 @@ private:
 	friend class ClientPrivate;
 	ClientPrivate* d;
 };
+Q_DECLARE_OPERATORS_FOR_FLAGS(Client::Actions)
+Q_DECLARE_OPERATORS_FOR_FLAGS(Client::Filters)
 
 } // End namespace PackageKit
 
diff --git a/lib/packagekit-qt/src/package.h b/lib/packagekit-qt/src/package.h
index 7d9f12f..6385c8e 100644
--- a/lib/packagekit-qt/src/package.h
+++ b/lib/packagekit-qt/src/package.h
@@ -102,7 +102,7 @@ public:
 		StateCollectionInstalled,
 		StateCollectionAvailable,
 		StateFinished,
-		UnknownState = -1
+		UnknownState
 	} State;
 	/**
 	 * Returns the package's state
@@ -238,7 +238,7 @@ public:
 		LicenseXerox,
 		LicenseRicebsd,
 		LicenseQhull,
-		UnknownLicense = -1
+		UnknownLicense
 	} License;
 
 	/**
diff --git a/lib/packagekit-qt/src/transaction.cpp b/lib/packagekit-qt/src/transaction.cpp
index 109c9de..7948441 100644
--- a/lib/packagekit-qt/src/transaction.cpp
+++ b/lib/packagekit-qt/src/transaction.cpp
@@ -139,12 +139,7 @@ Transaction::RoleInfo Transaction::role()
 	QString terms;
 	RoleInfo i;
 
-	int roleValue = Util::enumFromString<Client>(d->p->GetRole(terms).value(), "Action", "Action");
-	if(roleValue == -1)
-		i.action = Client::UnkownAction;
-	else
-		i.action = (Client::Action)roleValue;
-
+	i.action = (Client::Action) Util::enumFromString<Client>(d->p->GetRole(terms).value(), "Action", "Action");
 	i.terms = terms.split(";");
 
 	return i;
@@ -157,11 +152,7 @@ void Transaction::setLocale(const QString& locale)
 
 Transaction::Status Transaction::status()
 {
-	int statusValue = Util::enumFromString<Transaction>(d->p->GetStatus().value(), "Status", "Status");
-	if(statusValue == -1)
-		return UnknownStatus;
-	else
-		return (Transaction::Status)statusValue;
+	return (Transaction::Status) Util::enumFromString<Transaction>(d->p->GetStatus().value(), "Status", "Status");
 }
 
 QDateTime Transaction::timespec()
diff --git a/lib/packagekit-qt/src/transaction.h b/lib/packagekit-qt/src/transaction.h
index 3851f85..7c413c0 100644
--- a/lib/packagekit-qt/src/transaction.h
+++ b/lib/packagekit-qt/src/transaction.h
@@ -176,7 +176,7 @@ public:
 		StatusScanApplications,
 		StatusGeneratePackageList,
 		StatusWaitingForLock,
-		UnknownStatus = -1
+		UnknownStatus
 	} Status;
 	/**
 	 * Returns the current state of the transaction
@@ -238,7 +238,7 @@ public:
 		ExitEulaRequired,
 		ExitKilled, /* when we forced the cancel, but had to sigkill */
 		ExitMediaChangeRequired,
-		UnknownExitStatus = -1
+		UnknownExitStatus
 	} ExitStatus;
 
 	/**
@@ -248,7 +248,7 @@ public:
 		MediaCd,
 		MediaDvd,
 		MediaDisc,
-		UnknownMediaType = -1
+		UnknownMediaType
 	} MediaType;
 
 public Q_SLOTS:
diff --git a/lib/packagekit-qt/src/util.cpp b/lib/packagekit-qt/src/util.cpp
index cd5e4f8..4dfb620 100644
--- a/lib/packagekit-qt/src/util.cpp
+++ b/lib/packagekit-qt/src/util.cpp
@@ -32,11 +32,13 @@ QStringList Util::packageListToPids(const QList<Package*>& packages)
 	return pids;
 }
 
-QString Util::filtersToString(const QSet<PackageKit::Client::Filter>& flags)
+QString Util::filtersToString(const QFlags<PackageKit::Client::Filter>& flags)
 {
 	QStringList flagStrings;
-	foreach(Client::Filter f, flags) {
-		flagStrings.append(Util::enumToString<Client>(f, "Filter", "Filter"));
+	for (qint64 i = 1; i < Client::UnknownFilter; i *= 2) {
+		if ((Client::Filter) i & flags) {
+			flagStrings.append(Util::enumToString<Client>((Client::Filter) i, "Filter", "Filter"));
+		}
 	}
 
 	return flagStrings.join(";");
diff --git a/lib/packagekit-qt/src/util.h b/lib/packagekit-qt/src/util.h
index 564fcd4..088014e 100644
--- a/lib/packagekit-qt/src/util.h
+++ b/lib/packagekit-qt/src/util.h
@@ -82,8 +82,10 @@ public:
 		QMetaEnum e = T::staticMetaObject.enumerator(id);
 		int enumValue = e.keyToValue(realName.toAscii().data());
 
-		if(enumValue == -1)
-			qDebug() << "enumFromString (" << enumName << ") : converted" << str << "to" << realName << ", enum value" << enumValue;
+		if(enumValue == -1) {
+			enumValue = e.keyToValue(QString("Unknown").append(enumName).toAscii().data());
+			qDebug() << "enumFromString (" << enumName << ") : converted" << str << "to" << QString("Unknown").append(enumName) << ", enum value" << enumValue;
+		}
 		return enumValue;
 	}
 
@@ -125,7 +127,7 @@ public:
 
 	static QStringList packageListToPids(const QList<Package*>& packages);
 
-	static QString filtersToString(const QSet<PackageKit::Client::Filter>& flags);
+	static QString filtersToString(const QFlags<PackageKit::Client::Filter>& flags);
 
 
 };
commit eccc90e993f8b76b3b0c04df3f944bbd771f36da
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Sun Apr 26 19:00:06 2009 -0500

    conary: new fetch xml cache for unsupported repos

diff --git a/backends/conary/Makefile.am b/backends/conary/Makefile.am
index a605db6..7e03cb4 100644
--- a/backends/conary/Makefile.am
+++ b/backends/conary/Makefile.am
@@ -5,6 +5,7 @@ dist_helper_DATA = 			\
 	conaryCallback.py		\
 	conaryInit.py			\
 	XMLCache.py			    \
+	generateXML.py			    \
 	pkConaryLog.py			\
 	conarypk.py			    \
     conaryProgress.py       \
diff --git a/backends/conary/XMLCache.py b/backends/conary/XMLCache.py
index e60e4f4..bc9218b 100644
--- a/backends/conary/XMLCache.py
+++ b/backends/conary/XMLCache.py
@@ -1,6 +1,5 @@
 import os
 import cElementTree
-#from xml.dom.minidom import parse, parseString
 from xml.parsers.expat import ExpatError
 import urllib as url
 
@@ -9,7 +8,7 @@ from conary.lib import sha1helper
 from conary.lib import util
 
 from packagekit.backend import PackageKitBaseBackend
-from packagekit.enums import ERROR_NO_CACHE,ERROR_REPO_CONFIGURATION_ERROR
+from packagekit.enums import ERROR_NO_CACHE,ERROR_REPO_CONFIGURATION_ERROR, ERROR_NO_NETWORK
 
 
 from pkConaryLog import log
@@ -280,18 +279,27 @@ class XMLCache:
         con = ConaryPk()
         labels = con.get_labels_from_config()
         log.info(labels)
+        Pk = PackageKitBaseBackend("")
         for i in labels:
-            label = i + '.xml'
-            filename = self.xml_path + label
-            wwwfile = self.server + label
-            try:
-                wget = url.urlopen( wwwfile )
-            except:
-                Pk = PackageKitBaseBackend("")
-                Pk.error(ERROR_NO_CACHE," %s can not open" % wwwfile)
-            openfile = open( filename ,'w')
-            openfile.writelines(wget.readlines())
-            openfile.close()
+            if "foresight.rpath.org" in i or "conary.rpath.com" in i:
+                label = i + '.xml'
+                filename = self.xml_path + label
+                wwwfile = self.server + label
+                if os.environ.get("NETWORK"):
+                    try:
+                        wget = url.urlopen( wwwfile )
+                    except:
+                        Pk.error(ERROR_NO_NETWORK,"%s can not open" % wwwfile)
+                else:
+                    Pk.error(ERROR_NO_CACHE,"Not exist network conection")
+                openfile = open( filename ,'w')
+                openfile.writelines(wget.readlines())
+                openfile.close()
+            else:
+                import generateXML
+                filename = self.xml_path + i + ".xml"
+                generateXML.init(i,filename)
+
     def getGroup(self,categorieList):
         return getGroup(categorieList)
                 
diff --git a/backends/conary/conaryBackend.py b/backends/conary/conaryBackend.py
index bf5c6fd..5da6d24 100755
--- a/backends/conary/conaryBackend.py
+++ b/backends/conary/conaryBackend.py
@@ -254,6 +254,7 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
         updJob = self.client.newUpdateJob()
         try:
             log.info("prepare updateJOb...............")
+            log.info(applyList)
             suggMap = self.client.prepareUpdateJob(updJob, applyList)
             log.info("end prepare updateJOB..............")
         except NoNewTrovesError:
diff --git a/backends/conary/conarypk.py b/backends/conary/conarypk.py
index 5061065..7a8628e 100644
--- a/backends/conary/conarypk.py
+++ b/backends/conary/conarypk.py
@@ -11,6 +11,13 @@ from conary.conaryclient.update import NoNewTrovesError
 
 from pkConaryLog import log
 
+import os
+
+from packagekit.backend import PackageKitBaseBackend
+from packagekit.enums import ERROR_NO_NETWORK
+
+
+
 class ConaryPk:
     def __init__(self):
         # get configs from /etc/conary
@@ -25,6 +32,7 @@ class ConaryPk:
         self.default_label = self.cfg.installLabelPath
 
         # get if x86 or x86_64
+        self.flavors = self.cfg.flavor
         self.flavor = self.cfg.flavor[0]
         # for client
         self.cli = cli
@@ -32,6 +40,10 @@ class ConaryPk:
         self.db = cli.db
         # for request query on repository (repos)
         self.repos = cli.repos
+    def _exist_network(self):
+        if not os.environ.get("NETWORK"):
+            Pk = PackageKitBaseBackend("")
+            Pk.error(ERROR_NO_NETWORK,"Not exist network conection")
 
     def _get_db(self):
         """ get the database for do querys """
@@ -49,8 +61,8 @@ class ConaryPk:
     def get_labels_from_config(self):
         labels = []
         for i in self.default_label:
-            if "foresight.rpath.org" or "conary.rpath.com" in i.asString():
-                labels.append(i.asString())
+            #if "foresight.rpath.org" or "conary.rpath.com" in i.asString():
+            labels.append(i.asString())
         return labels
 
     def search_path(self,path_file ):
@@ -63,8 +75,6 @@ class ConaryPk:
                 for ( name,version,flavor) in trove[path_file]:
                     return name
                 
-
-
     def query(self, name):
         """ do a conary query """
         if name is None or name == "":
@@ -79,6 +89,7 @@ class ConaryPk:
 
     def request_query(self, name, installLabel = None):
         """ Do a conary request query """
+        self._exist_network()
         label = self.label( installLabel )
         repos = self._get_repos()
         try:
diff --git a/backends/conary/generateXML.py b/backends/conary/generateXML.py
index 55e5032..a512aac 100644
--- a/backends/conary/generateXML.py
+++ b/backends/conary/generateXML.py
@@ -6,6 +6,7 @@ from conary.deps import deps
 from conary.lib.cfg import ConfigFile
 from conary.lib.cfgtypes import CfgInt, CfgPath
 import cElementTree
+from pkConaryLog import log
 
 def getPackagesFromLabel(cfg, cli, label):
     '''
@@ -25,13 +26,12 @@ def getPackagesFromLabel(cfg, cli, label):
         if ':' in name:
             # Skip components
             continue
-
         latestVersion = max(trove_versions.iterkeys())
         flavors = trove_versions[latestVersion]
         for flavor in flavors:
-            if flavor.satisfies(searchFlavor):
-                ret.add((name, latestVersion, flavor))
-                break
+            #if flavor.satisfies(searchFlavor):
+            ret.add((name, latestVersion, flavor))
+            break
     return ret
 
 
@@ -73,12 +73,14 @@ def init(label, fileoutput ):
     cli = conary.cli
 
     cfg = conary.cfg
+    log.info(" write %s on xml" %  label)
     pkgs = getPackagesFromLabel(cfg,cli,label)
     troves = conary.repos.getTroves(pkgs,withFiles=False)
     nodes = generate_xml(troves,label)
     cElementTree.ElementTree(nodes).write(fileoutput)
+    log.info("%s repo done" % label)
 
 
 
 if __name__ == "__main__":
-    init('zodyrepo.rpath.org at rpl:devel')
+    init('zodyrepo.rpath.org at rpl:devel','tmp.xml')
commit 8f553030063cab8ae8d89fa67a35d6d4d888527a
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Sun Apr 26 16:33:46 2009 -0500

    conary: add generateXML with it no need get XML from web
    conary: add more validations of network

diff --git a/backends/conary/generateXML.py b/backends/conary/generateXML.py
new file mode 100644
index 0000000..55e5032
--- /dev/null
+++ b/backends/conary/generateXML.py
@@ -0,0 +1,84 @@
+from conarypk import ConaryPk
+
+from conary import versions
+from conary.conarycfg import CfgFlavor
+from conary.deps import deps
+from conary.lib.cfg import ConfigFile
+from conary.lib.cfgtypes import CfgInt, CfgPath
+import cElementTree
+
+def getPackagesFromLabel(cfg, cli, label):
+    '''
+    Return a set of (name, version, flavor) triples representing each
+    package on the specified I{label}.
+    '''
+    repos = cli.getRepos()
+    label = versions.Label(label)
+    #searchFlavor =  (CfgFlavor, deps.parseFlavor('is: x86(~i486,~i586,~i686,~sse,~sse2)'))
+    searchFlavor =   deps.parseFlavor('is: x86(~i486,~i586,~i686,~sse,~sse2)')
+    mapping = repos.getTroveLatestByLabel({'': {label: None}})
+
+    # Get a list of troves on that label
+    # {name: {version: [flavor, ...], ...}, ...}
+    ret = set()
+    for name, trove_versions in mapping.iteritems():
+        if ':' in name:
+            # Skip components
+            continue
+
+        latestVersion = max(trove_versions.iterkeys())
+        flavors = trove_versions[latestVersion]
+        for flavor in flavors:
+            if flavor.satisfies(searchFlavor):
+                ret.add((name, latestVersion, flavor))
+                break
+    return ret
+
+
+def generate_xml( troves, label):
+    document = cElementTree.Element("Packages", label = label)
+    for trove in troves:
+        name = trove.getName()
+        version= trove.getVersion().trailingRevision().asString()
+        meta = trove.getMetadata()
+
+        package = cElementTree.Element("Package")
+
+        node_name = cElementTree.Element("name")
+        node_name.text = name
+        node_version = cElementTree.Element("version")
+        node_version.text = version 
+
+        for i in [ node_name, node_version ]:
+            package.append(i)
+
+        for key,value in meta.items():
+            if value is not None and value != "None":
+                if key == "categories":
+                    for cat in value:
+                        cat_node = cElementTree.Element("category", lang = "en")
+                        cat_node.text = cat
+                        package.append(node)
+                else:
+                    node = cElementTree.Element(key, lang = "en")
+                    node.text = value
+                    package.append(node)
+
+        document.append(package)
+    return document
+
+
+def init(label, fileoutput ):
+    conary = ConaryPk()
+    cli = conary.cli
+
+    cfg = conary.cfg
+    pkgs = getPackagesFromLabel(cfg,cli,label)
+    troves = conary.repos.getTroves(pkgs,withFiles=False)
+    nodes = generate_xml(troves,label)
+    cElementTree.ElementTree(nodes).write(fileoutput)
+
+
+
+if __name__ == "__main__":
+    init('zodyrepo.rpath.org at rpl:devel')
commit 4e62708d12f741943b591bf4a6077d52692640ca
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Sat Apr 25 20:32:53 2009 -0500

    conary: add search file
    conary: fix typo on resolve

diff --git a/backends/conary/XMLCache.py b/backends/conary/XMLCache.py
index 78113e5..e60e4f4 100644
--- a/backends/conary/XMLCache.py
+++ b/backends/conary/XMLCache.py
@@ -106,8 +106,9 @@ class XMLRepo:
     def _getPackage(self, name):
         doc = self._open()
         for package in  doc.findall("Package"):
-            if package.find("name").text in name:
+            if package.find("name").text == name:
                 return self._generatePackage(package)
+        return None
 
     def _getPackages(self, name_list ):
         doc = self._open()
diff --git a/backends/conary/conaryBackend.py b/backends/conary/conaryBackend.py
index 80bbb3b..bf5c6fd 100755
--- a/backends/conary/conaryBackend.py
+++ b/backends/conary/conaryBackend.py
@@ -51,6 +51,7 @@ sys.excepthook = util.genExcepthook()
 def ExceptionHandler(func):
     return func
     def display(error):
+        log.info(error)
         return str(error).replace('\n', ' ').replace("\t",'')
     def wrapper(self, *args, **kwargs):
         try:
@@ -104,18 +105,18 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
     restartpkgs = ("PackageKit","gnome-packagekit")
 
     packages = []
-    #{{{ 
+    #{{{   Packages structure 
     """
     packages = {
         pkg_name: {
             'trove': ( name,version,flavor)
             'metadata': pkgDict,
-            'status' : status
         }
     }
     
     """
     #}}}
+    #{{{ Init
     def __init__(self, args):
         PackageKitBaseBackend.__init__(self, args)
 
@@ -136,7 +137,7 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
         version = versions.ThawVersion(frzVersion)
         flavor = deps.ThawFlavor(frzFlavor)
         return version, flavor
-
+    #}}}
     def _get_arch(self, flavor):
         return _get_arch(flavor)
  
@@ -264,7 +265,7 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
             
             dep_package = [ str(i[0][0]).split(":")[0] for i in deps ]
             log.info(dep_package)
-            self.error(ERROR_DEP_RESOLUTION_FAILED,  "This package depends of:  %s" % " ,".join(set(dep_package)))
+            self.error(ERROR_DEP_RESOLUTION_FAILED,  "This package depends of:  %s" % ", ".join(set(dep_package)))
         if cache:
             Cache().cacheUpdateJob(applyList, updJob)
         return updJob, suggMap
@@ -367,6 +368,9 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
 
         cache = Cache()
         pkg_dict = cache.resolve( package[0] )
+        log.info(pkg_dict)
+        if pkg_dict is None:
+            return None
         log.info("doing a resolve")
 
         filter = ConaryFilter(filters)
@@ -422,6 +426,29 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
         log.info("options: %s searchlist:%s "%(options, searchlist))
         self._do_search(options, searchlist, 'group')
 
+    @ExceptionHandler
+    def search_file(self, filters, search ):
+
+        log.info("============= search_file ========")
+        self.allow_cancel(True)
+        self.percentage(0)
+        self.status(STATUS_QUERY)
+        log.info("options: %s searchlist:%s "%(filters, search))
+        self.percentage(10)
+
+
+        self.percentage(20)
+      
+
+        self.percentage(30)
+        name = self.conary.search_path( search )
+        self.percentage(50)
+        log.info(name)
+        if name:
+            log.info("resolving")
+            if ":" in name:
+                name = name.split(":")[0]
+            self.resolve( filters, [name]) 
 
     @ExceptionHandler
     def search_name(self, options, searchlist):
@@ -520,7 +547,7 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
         applyList = [ (x[0], (None, None), x[1:], True) for x in updateItems ]
 
         log.info(">>>>>>>>>> get update >>>>>>>>>>>>")
-        #self._get_update(applyList)
+        self._get_update(applyList)
         log.info(">>>>>>>>>> DO Update >>>>>>>>>>>>")
         jobs = self._do_update(applyList)
         log.info(">>>>>>>>>>END DO Update >>>>>>>>>>>>")
@@ -536,24 +563,6 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
         self.status(STATUS_REFRESH_CACHE)
         cache = Cache()
         cache.refresh()
-    """
-    @ExceptionHandler
-    def update(self, package_ids):
-        '''
-        Implement the {backend}-update functionality
-        '''
-        self.allow_cancel(True)
-        self.percentage(0)
-        self.status(STATUS_RUNNING)
-        
-        for package in package_ids.split(" "):
-            name, version, flavor, installed = self._findPackage(package)
-            if name:
-                cli = ConaryPk()
-                cli.update(name)
-            else:
-                self.error(ERROR_PACKAGE_ALREADY_INSTALLED, 'No available updates')
-    """
 
     def install_packages(self, package_ids):
         """
@@ -587,6 +596,7 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
                 log.info(">>> end Prepare Update")
                 self._do_package_update(name, version, flavor)
 
+        
     @ExceptionHandler
     def remove_packages(self, allowDeps, package_ids):
         '''
@@ -809,6 +819,15 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
                 if lic[1:][0].lower() == j.lower():
                     return j
         return ""
+    def _upgrade_from_branch( self, branch):
+        branchList = branch.split("@")
+        if "2-qa" in branchList[1]:
+            return DISTRO_UPGRADE_TESTING
+        elif "2-devel" in branchList[1]:
+            return DISTRO_UPGRADE_UNSTABLE
+        else:
+            return DISTRO_UPGRADE_STABLE
+
 
     def _get_branch(self, branch ):
         branchList = branch.split("@")
diff --git a/backends/conary/conarypk.py b/backends/conary/conarypk.py
index f2aa3bd..5061065 100644
--- a/backends/conary/conarypk.py
+++ b/backends/conary/conarypk.py
@@ -53,6 +53,18 @@ class ConaryPk:
                 labels.append(i.asString())
         return labels
 
+    def search_path(self,path_file ):
+        labels = self.get_labels_from_config()
+        where = self._get_repos()
+        from conary.deps.deps import compatibleFlavors
+        for label in self.default_label:
+            trove = where.getTroveLeavesByPath([path_file], label)
+            if trove.get(path_file):
+                for ( name,version,flavor) in trove[path_file]:
+                    return name
+                
+
+
     def query(self, name):
         """ do a conary query """
         if name is None or name == "":
@@ -109,7 +121,7 @@ class ConaryPk:
 
 if __name__ == "__main__":
     conary = ConaryPk()
-    print conary.query("vim-scripts")
+    print conary.search_path("/usr/bin/vim")
     #print conary.query("gimpasdas")
     #print conary.request_query("dpaster",'zodyrepo.rpath.org at rpl:devel')
     #print conary.request_query("gimp")
diff --git a/backends/conary/pk-backend-conary.c b/backends/conary/pk-backend-conary.c
index edbac44..49e446a 100644
--- a/backends/conary/pk-backend-conary.c
+++ b/backends/conary/pk-backend-conary.c
@@ -327,8 +327,27 @@ backend_get_packages (PkBackend *backend, PkBitfield filters)
     pk_backend_spawn_helper (spawn, "conaryBackend.py", "get-packages", filters_text, NULL);
     g_free (filters_text);
 }
+/**
+ * pk_backend_search_file:
+ */
+static void
+backend_search_file (PkBackend *backend, PkBitfield filters, const gchar *search)
+{
+        gchar *filters_text;
+        filters_text = pk_filter_bitfield_to_text (filters);
+        pk_backend_spawn_helper (spawn, "conaryBackend.py", "search-file", filters_text, search, NULL);
+        g_free (filters_text);
+}
 
+/**
+ * backend_get_distro_upgrades:
+static void
+backend_get_distro_upgrades (PkBackend *backend)
+{
+    pk_backend_spawn_helper (spawn, "conaryBackend.py", "get-distro-upgrades", NULL);
+}
 
+ */
 
 PK_BACKEND_OPTIONS (
 	"Conary with XMLCache",				/* description */
@@ -344,7 +363,7 @@ PK_BACKEND_OPTIONS (
 	NULL,					/* get_categories */
 	NULL,					/* get_depends */
 	backend_get_details,			/* get_details */
-	NULL,					/* get_distro_upgrades */
+	NULL,	                /* get_distro_upgrades */
 	backend_get_files,			/* get_files */
 	backend_get_packages,					/* get_packages */
 	NULL,					/* get_repo_list */
@@ -361,7 +380,7 @@ PK_BACKEND_OPTIONS (
 	backend_resolve,			/* resolve */
 	NULL,					/* rollback */
 	backend_search_details,					/* search_details */
-	NULL,					/* search_file */
+	backend_search_file,					/* search_file */
 	backend_search_group,					/* search_group */
 	backend_search_name,			/* search_name */
 	backend_update_packages,		/* update_packages */
commit 4c073ba4dc574ee20ca74acc2572026b4afb13b9
Merge: 69e62e9... ed15735...
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Sat Apr 25 19:42:14 2009 -0500

    Merge branch 'master' of git+ssh://zodman@git.packagekit.org/srv/git/PackageKit

commit 69e62e95b7bb8e666f9fe4f1690cc9976b468f71
Merge: ea60647... 4f6992f...
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Sat Apr 11 00:21:11 2009 -0500

    Merge branch 'master' of git+ssh://zodman@git.packagekit.org/srv/git/PackageKit

commit ea606473676bbc156463caab4a621ac3dcc53925
Merge: f68c051... ea2e760...
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Wed Apr 1 18:17:28 2009 -0600

    Merge branch 'master' of git+ssh://zodman@git.packagekit.org/srv/git/PackageKit

commit f68c0514c75b988ee9f02f8f9f436ff991ccbed3
Author: Andres Vargas ( zodman ) <zodman at foresightlinux.org>
Date:   Wed Apr 1 09:52:49 2009 -0600

    update conary matrix

diff --git a/docs/html/pk-matrix.html b/docs/html/pk-matrix.html
index 4910f36..57efd65 100644
--- a/docs/html/pk-matrix.html
+++ b/docs/html/pk-matrix.html
@@ -122,7 +122,7 @@
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- apt -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- alpm -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- box -->
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- conary -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- conary -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- opkg -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- pisi -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- poldek -->
@@ -164,7 +164,7 @@
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- apt -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- alpm -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- box -->
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- conary -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- conary -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- opkg -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- pisi -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- poldek -->
@@ -318,7 +318,7 @@
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- apt -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- alpm -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- box -->
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- conary -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- conary -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- opkg -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- pisi -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- poldek -->
@@ -346,7 +346,7 @@
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- apt -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- alpm -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- box -->
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- conary -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- conary -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- opkg -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- pisi -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- poldek -->


More information about the PackageKit-commit mailing list