From: Michael Tremer Date: Thu, 9 Mar 2023 16:22:06 +0000 (+0000) Subject: packages: Store all packages as read-only X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c4a55e8a5b1fc9f6de1f4e36284c9b974d86dee5;p=pbs.git packages: Store all packages as read-only Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/__init__.py b/src/buildservice/__init__.py index b8d0f6ff..9a750af2 100644 --- a/src/buildservice/__init__.py +++ b/src/buildservice/__init__.py @@ -291,7 +291,7 @@ class Backend(object): "kinit", "-k", "-t", keytab, principal, **kwargs, ) - async def copy(self, src, dst): + async def copy(self, src, dst, mode=None): """ Copies a file from src to dst """ @@ -303,6 +303,10 @@ class Backend(object): # Copy data without any metadata await asyncio.to_thread(shutil.copyfile, src, dst) + # Set mode + if mode: + await asyncio.to_thread(os.chmod, dst, mode) + async def make_parent_directory(self, path): """ Creates the parent directory of path diff --git a/src/buildservice/packages.py b/src/buildservice/packages.py index 322b83e6..ad139d27 100644 --- a/src/buildservice/packages.py +++ b/src/buildservice/packages.py @@ -405,7 +405,7 @@ class Package(base.DataObject): log.debug("Importing %s to %s..." % (self, path)) # Copy the file - await self.backend.copy(archive.path, path) + await self.backend.copy(archive.path, path, mode=0o444) # Store the path self._set_attribute("path", path)