]> git.ipfire.org Git - pakfire.git/commitdiff
Add triggers to local package database.
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 22 Feb 2011 16:33:28 +0000 (17:33 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 22 Feb 2011 16:33:28 +0000 (17:33 +0100)
pakfire/database.py
pakfire/packages/base.py

index 8f68c95a367caa544a8fa511808fb5890f4df6af..cf1a8ebca0c1cdc88e96f603b7118604b2919b76 100644 (file)
@@ -216,6 +216,7 @@ class LocalPackageDatabase(RemotePackageDatabase):
                        ALTER TABLE packages ADD COLUMN reason TEXT;
                        ALTER TABLE packages ADD COLUMN repository TEXT;
                        ALTER TABLE packages ADD COLUMN scriptlet TEXT;
+                       ALTER TABLE packages ADD COLUMN triggers TEXT;
                """)
                self.commit()
                c.close()
@@ -243,5 +244,9 @@ class LocalPackageDatabase(RemotePackageDatabase):
                # Add the scriptlet to database (needed to update or uninstall packages).
                c.execute("UPDATE packages SET scriptlet = ? WHERE id = ?", (pkg.scriptlet, pkg_id))
 
+               # Add triggers to the database.
+               triggers = " ".join(pkg.triggers)
+               c.execute("UPDATE packages SET triggers = ? WHERE id = ?", (triggers, pkg_id))
+
                self.commit()
                c.close()
index 60abf9d2b1ddb55c40b649b7092ca7daf73ca528..7159cb20b215a12605521446368ae69d29208258 100644 (file)
@@ -190,6 +190,12 @@ class Package(object):
        def url(self):
                return self.metadata.get("PKG_URL")
 
+       @property
+       def triggers(self):
+               triggers = self.metadata.get("PKG_TRIGGERS", "")
+
+               return triggers.split()
+
        @property
        def signature(self):
                raise NotImplementedError