]> git.ipfire.org Git - pbs.git/commitdiff
backend: Store file capabilities
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 20 Apr 2023 19:20:35 +0000 (19:20 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 20 Apr 2023 19:20:35 +0000 (19:20 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/packages.py
src/database.sql

index 059f9d6ceccb5a06cfa4f07b61bdcb57197371b8..d849acc97973ec11f652f463b0a62256ad8df7ca 100644 (file)
@@ -431,8 +431,6 @@ class Package(base.DataObject):
        def _import_filelist(self, filelist):
                log.debug("Importing filelist for %s" % self)
 
-               # XXX capabilities
-
                self.db.executemany("""
                        INSERT INTO
                                package_files
@@ -451,11 +449,12 @@ class Package(base.DataObject):
                                digest_blake2b512,
                                digest_blake2s256,
                                digest_sha3_512,
-                               digest_sha3_256
+                               digest_sha3_256,
+                               capabilities
                        )
                        VALUES
                        (
-                               %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s
+                               %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s
                        )""",
                        ((
                                self.id,
@@ -473,6 +472,7 @@ class Package(base.DataObject):
                                file.digest("blake2s256"),
                                file.digest("sha3-512"),
                                file.digest("sha3-256"),
+                               file.capabilities,
                        ) for file in filelist),
                )
 
@@ -599,7 +599,10 @@ class File(base.Object):
 
        @property
        def capabilities(self):
-               return self.data.capabilities
+               try:
+                       return self.data.capabilities.split()
+               except AttributeError:
+                       return []
 
        # Digest SHA512
 
index 0af4f78f37542ac7f8c0ab92ea12abb131ef69f6..49a53b9dfbd22208bf9f9d600d25e6d23015a992 100644 (file)
@@ -704,7 +704,6 @@ CREATE TABLE public.package_files (
     mode integer NOT NULL,
     uname text NOT NULL,
     gname text NOT NULL,
-    capabilities text,
     ctime timestamp without time zone NOT NULL,
     mtime timestamp without time zone NOT NULL,
     digest_sha2_512 bytea,
@@ -713,7 +712,8 @@ CREATE TABLE public.package_files (
     digest_blake2s256 bytea,
     digest_sha3_512 bytea,
     digest_sha3_256 bytea,
-    mimetype text
+    mimetype text,
+    capabilities text[] DEFAULT ARRAY[]::text[] NOT NULL
 );