[game-data-packager] 18/25: Move normalize_permissions to util

Simon McVittie smcv at debian.org
Sun Oct 9 21:26:07 UTC 2016


This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to branch master
in repository game-data-packager.

commit 4af8b54b3555e7786292a85b0b1a632ec6eced38
Author: Simon McVittie <smcv at debian.org>
Date:   Sun Oct 9 18:44:25 2016 +0100

    Move normalize_permissions to util
    
    It's stateless.
---
 game_data_packager/build.py | 24 ++++--------------------
 game_data_packager/util.py  | 17 +++++++++++++++++
 2 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/game_data_packager/build.py b/game_data_packager/build.py
index 334f4f6..43f5ad3 100644
--- a/game_data_packager/build.py
+++ b/game_data_packager/build.py
@@ -50,6 +50,7 @@ from .util import (AGENT,
         copy_with_substitutions,
         lang_score,
         mkdir_p,
+        normalize_permissions,
         rm_rf,
         recursive_utime,
         which)
@@ -1587,23 +1588,6 @@ class PackagingTask(object):
 
         self.fill_extra_files(package, destdir)
 
-    def our_dh_fixperms(self, destdir):
-        for dirpath, dirnames, filenames in os.walk(destdir):
-            for fn in filenames + dirnames:
-                full = os.path.join(dirpath, fn)
-                stat_res = os.lstat(full)
-                if stat.S_ISLNK(stat_res.st_mode):
-                    continue
-                elif stat.S_ISDIR(stat_res.st_mode):
-                    # make directories rwxr-xr-x
-                    os.chmod(full, 0o755)
-                elif (stat.S_IMODE(stat_res.st_mode) & 0o111) != 0:
-                    # make executable files rwxr-xr-x
-                    os.chmod(full, 0o755)
-                else:
-                    # make other files rw-r--r--
-                    os.chmod(full, 0o644)
-
     def generate_control(self, package, destdir):
         # import lazily, it's only needed for Debian packages
         from debian.deb822 import Deb822
@@ -2587,7 +2571,7 @@ class PackagingTask(object):
         self.check_component(package)
         self.fill_dest_dir(package, destdir)
         self.fill_dest_dir_deb(package, destdir)
-        self.our_dh_fixperms(destdir)
+        normalize_permissions(destdir)
 
         # it had better have a /usr and a DEBIAN directory or
         # something has gone very wrong
@@ -2628,7 +2612,7 @@ class PackagingTask(object):
         destdir = os.path.join(self.get_workdir(), '%s.pkg.d' % package.name)
         self.fill_dest_dir(package, destdir)
         self.fill_dest_dir_arch(package, destdir, compress, arch)
-        self.our_dh_fixperms(destdir)
+        normalize_permissions(destdir)
 
         assert os.path.isdir(os.path.join(destdir, 'usr')), destdir
         assert os.path.isfile(os.path.join(destdir, '.PKGINFO')), destdir
@@ -2685,7 +2669,7 @@ class PackagingTask(object):
 
         specfile = self.fill_dest_dir_rpm(package, destdir, compress,
                                           arch, release)
-        self.our_dh_fixperms(destdir)
+        normalize_permissions(destdir)
 
         assert os.path.isdir(os.path.join(destdir, 'usr')), destdir
 
diff --git a/game_data_packager/util.py b/game_data_packager/util.py
index 7f81143..80c5839 100644
--- a/game_data_packager/util.py
+++ b/game_data_packager/util.py
@@ -212,3 +212,20 @@ def recursive_utime(directory, orig_time):
         for fn in filenames:
             full = os.path.join(dirpath, fn)
             os.utime(full, orig_time)
+
+def normalize_permissions(directory):
+    for dirpath, dirnames, filenames in os.walk(directory):
+        for fn in filenames + dirnames:
+            full = os.path.join(dirpath, fn)
+            stat_res = os.lstat(full)
+            if stat.S_ISLNK(stat_res.st_mode):
+                continue
+            elif stat.S_ISDIR(stat_res.st_mode):
+                # make directories rwxr-xr-x
+                os.chmod(full, 0o755)
+            elif (stat.S_IMODE(stat_res.st_mode) & 0o111) != 0:
+                # make executable files rwxr-xr-x
+                os.chmod(full, 0o755)
+            else:
+                # make other files rw-r--r--
+                os.chmod(full, 0o644)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git



More information about the Pkg-games-commits mailing list