]> glassweightruler.freedombox.rocks Git - waydroid.git/commitdiff
tools: Remove umask 0
authorAlessandro Astone <ales.astone@gmail.com>
Thu, 29 Dec 2022 01:18:55 +0000 (02:18 +0100)
committerAlessandro Astone <ales.astone@gmail.com>
Tue, 3 Jan 2023 15:03:12 +0000 (16:03 +0100)
Try to remove old permissions on upgrade

tools/__init__.py
tools/actions/upgrader.py
tools/helpers/logging.py

index 9a4701b0bc961a4fb2ba7cf89423b3e5f616f68b..d317414caec950d4dc3703ed01f15abf89d5e8dd 100644 (file)
@@ -24,7 +24,6 @@ def main():
     # Wrap everything to display nice error messages
     args = None
     try:
-        os.umask(0o000)
         # Parse arguments, set up logging
         args = helpers.arguments()
         args.cache = {}
index 21819717b8a09f16a3939a8d5599ab48d6adbd0d..605de441e040546c3b705feab1e148326a97bf9a 100644 (file)
@@ -15,8 +15,22 @@ def get_config(args):
     args.vendor_ota = cfg["waydroid"]["vendor_ota"]
     args.session = None
 
+def migration(args):
+    def versiontuple(v):
+        return tuple(map(int, (v.split("."))))
+
+    try:
+        old_ver = tools.helpers.props.file_get(args, args.work + "/waydroid_base.prop", "waydroid.tools_version")
+        if versiontuple(old_ver) <= versiontuple("1.3.4"):
+            chmod_paths = ["cache_http", "host-permissions", "lxc", "images", "waydroid_base.prop", "waydroid.prop", "waydroid.cfg"]
+            tools.helpers.run.user(args, ["chmod", "-R", "g-w,o-w"] + [os.path.join(args.work, f) for f in chmod_paths], check=False)
+            tools.helpers.run.user(args, ["chmod", "g-w,o-w", args.work], check=False)
+    except:
+        pass
+
 def upgrade(args):
     get_config(args)
+    migration(args)
     status = "STOPPED"
     if os.path.exists(tools.config.defaults["lxc"] + "/waydroid"):
         status = helpers.lxc.status(args)
index 094bf824190d84f336e89c1271992deecb7800f0..768f2bf4d6b3f2352a18d1d7f71aef601ab0cc93 100644 (file)
@@ -69,6 +69,10 @@ def init(args):
         dir = os.path.dirname(args.log)
         if os.path.exists(dir):
             setattr(args, "logfd", open(args.log, "a+"))
+            try:
+                os.chmod(args.log, 0o666)
+            except PermissionError:
+                pass
         else:
             setattr(args, "logfd", open(os.devnull, "a+"))
             if args.action != "init":