summaryrefslogtreecommitdiff
path: root/packages/packagekit/files/03_group_infomation.patch
blob: 55872cd6ce4336a3d1f1bef3e563332a693c5d9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
diff --git a/backends/opkg/pk-backend-opkg.c b/backends/opkg/pk-backend-opkg.c
index 2d70108..02966c9 100644
--- a/backends/opkg/pk-backend-opkg.c
+++ b/backends/opkg/pk-backend-opkg.c
@@ -656,6 +656,8 @@ backend_get_details_thread (PkBackend *backend)
 {
 	PkPackageId *pi;
 	const gchar *package_id;
+	int group_index;
+	PkGroupEnum group = 0;
 	opkg_package_t *pkg;
 	gchar *newid;
 
@@ -681,8 +683,16 @@ backend_get_details_thread (PkBackend *backend)
 
 	newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository);
 
-	pk_backend_details (backend, newid, NULL, 0, pkg->description, pkg->url, pkg->size);
+	if (pkg->tags) {
+		for (group_index = 0; group < PK_GROUP_ENUM_UNKNOWN; group_index++) {
+			group = 1 << group_index;
+			if (!(group & backend_get_groups(backend))) continue;
+			if (opkg_check_tag(pkg, (gchar *)pk_group_enum_to_text(group))) 
+				break;
+		}
+	}
 
+	pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size);
 	g_free (newid);
 	pk_backend_finished (backend);
 	return TRUE;