[pacman-dev] [PATCH 3/8] Python 3 octal literals broke backwards compatibility.
Allan McRae
allan at archlinux.org
Wed Oct 9 23:07:00 EDT 2013
On 10/10/13 10:35, Jeremy Heiner wrote:
> Reported by 2to3. The suggested fix (use the 0o# format) won't work
> here because that syntax is not recognized by 2.5.
>
No python-2.5. Use other format.
> Signed-off-by: Jeremy Heiner <ScalaProtractor at gmail.com>
>
> Conflicts:
> test/pacman/pmpkg.py
> ---
> test/pacman/pmpkg.py | 4 ++--
> test/pacman/pmtest.py | 2 +-
> test/pacman/util.py | 10 +++++++---
> 3 files changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/test/pacman/pmpkg.py b/test/pacman/pmpkg.py
> index c60f11b..0c1ea68 100644
> --- a/test/pacman/pmpkg.py
> +++ b/test/pacman/pmpkg.py
> @@ -161,9 +161,9 @@ def makepkg(self, path):
> if fileinfo["hasperms"]:
> info.mode = fileinfo["perms"]
> elif fileinfo["isdir"]:
> - info.mode = 0755
> + info.mode = util.PERM_DIR
> elif not fileinfo["islink"]:
> - info.mode = 0644
> + info.mode = util.PERM_FILE
> if fileinfo["isdir"]:
> info.type = tarfile.DIRTYPE
> tar.addfile(info)
> diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py
> index c183161..57e6538 100644
> --- a/test/pacman/pmtest.py
> +++ b/test/pacman/pmtest.py
> @@ -134,7 +134,7 @@ def generate(self, pacman):
> for sys_dir in sys_dirs:
> if not os.path.isdir(sys_dir):
> vprint("\t%s" % sys_dir[len(self.root)+1:])
> - os.makedirs(sys_dir, 0755)
> + os.makedirs(sys_dir, util.PERM_DIR)
> # Only the dynamically linked binary is needed for fakechroot
> shutil.copy("/bin/sh", bindir)
> if shell != "bin/sh":
> diff --git a/test/pacman/util.py b/test/pacman/util.py
> index 62f88f9..77dd804 100644
> --- a/test/pacman/util.py
> +++ b/test/pacman/util.py
> @@ -55,6 +55,10 @@ def vprint(msg):
>
> sys_maxsize = sys.maxsize if sys.hexversion >= 0x02060000 else sys.maxint
>
> +# 2.5 won't accept 0o#, and 3.x won't accept 0#, so...
> +PERM_DIR = int("755",8) # 0o755
> +PERM_FILE = int("644",8) # 0o644
> +
>
> #
> # Methods to generate files
> @@ -93,12 +97,12 @@ def mkfile(base, name, data=""):
> path = os.path.join(base, filename)
> if info["isdir"]:
> if not os.path.isdir(path):
> - os.makedirs(path, 0755)
> + os.makedirs(path, PERM_DIR)
> return
>
> dir_path = os.path.dirname(path)
> if dir_path and not os.path.isdir(dir_path):
> - os.makedirs(dir_path, 0755)
> + os.makedirs(dir_path, PERM_DIR)
>
> if info["islink"]:
> os.symlink(info["link"], path)
> @@ -191,6 +195,6 @@ def mkdir(path):
> return
> elif os.path.isfile(path):
> raise OSError("'%s' already exists and is not a directory" % path)
> - os.makedirs(path, 0755)
> + os.makedirs(path, PERM_DIR)
>
> # vim: set ts=4 sw=4 et:
>
More information about the pacman-dev
mailing list