From 327b05574f0dc1b1046c72401256ce5afd3e3247 Mon Sep 17 00:00:00 2001 From: Marcel Telka <marcel@telka.sk> Date: Tue, 02 Apr 2024 11:21:42 +0200 Subject: [PATCH] python/PyNUTClient: update to 2.8.2 --- tools/userland-unpack | 38 +++++++++++++++++++++++++------------- 1 files changed, 25 insertions(+), 13 deletions(-) diff --git a/tools/userland-unpack b/tools/userland-unpack index a2b51ad..042c1ed 100755 --- a/tools/userland-unpack +++ b/tools/userland-unpack @@ -1,4 +1,4 @@ -#!/usr/bin/python2.7 +#!/usr/bin/python3.9 # # CDDL HEADER START # @@ -20,6 +20,7 @@ # CDDL HEADER END # # Copyright (c) 2010, Oracle and/or it's affiliates. All rights reserved. +# Copyright (c) 2018-2019, Michal Nowak # # # unpack.py - an archive unpack utility @@ -43,20 +44,28 @@ elif (re.search("(\.Z)$", filename) != None): uncompress = "/usr/bin/uncompress -c" elif (re.search("(\.7z)$", filename) != None): - uncompress = "/usr/bin/7z --s" + uncompress = "/usr/bin/7z x" + elif (re.search("(\.lz)$", filename) != None): + uncompress = "/usr/bin/lzip -dc" elif (re.search("(\.xz)$", filename) != None): uncompress = "/usr/bin/xz -dc" elif (re.search("(\.zip)$", filename) != None): uncompress = "/usr/bin/unzip -qo" elif (re.search("(\.oxt)$", filename) != None): uncompress = "/usr/bin/unzip -qo" + elif (re.search("(\.zst|\.tzst)$", filename) != None): + uncompress = "/usr/bin/unzstd -c" elif (re.search("(\.gem)$", filename) != None): ruby_ver = os.getenv('RUBY_VERSION', '') uncompress = "/usr/ruby/" + ruby_ver + "/bin/gem unpack" - unpack = " | gtar -xf -" + # if the file is just compressed, redirect stdout to ./filename with + # one less extension. + unpack = " > ./" + '.'.join(os.path.basename(filename).split('.')[:-1]) - if (re.search("(\.zip)$", filename) != None): + if (re.search("(\.tar\.[^\.]+|\.tgz|\.txz|\.tbz2?)$",filename) != None): + unpack = " | gtar -xf -" + elif (re.search("(\.zip)$", filename) != None): unpack = "" elif (re.search("(\.oxt)$", filename) != None): unpack = "" @@ -66,7 +75,7 @@ unpack = "" if (verbose == True): - print "command: %s %s %s" % (uncompress, filename, unpack) + print("command: %s %s%s" % (uncompress, filename, unpack)) return uncompress, unpack @@ -88,8 +97,8 @@ if (stat.S_IMODE(st.st_mode) != mode): if (verbose == True): - print "Changing %s from %4.4o to %4.4o" % (path, - stat.S_IMODE(st.st_mode), mode) + print("Changing %s from %4.4o to %4.4o" % (path, + stat.S_IMODE(st.st_mode), mode)) os.chmod(path, mode) if stat.S_ISDIR(st.st_mode): @@ -97,7 +106,7 @@ def usage(): - print "Usage: %s [-v|--verbose] [-f|--fix-permissions] [-r|--relocate-to (dir)] (file)" % (sys.argv[0].split('/')[-1]) + print("Usage: %s [-v|--verbose] [-f|--fix-permissions] [-r|--relocate-to (dir)] (file)" % (sys.argv[0].split('/')[-1])) sys.exit(1) def main(): @@ -109,11 +118,14 @@ permissions = None relocate_to = None + if len(sys.argv) == 1: + usage() + try: opts, args = getopt.getopt(sys.argv[1:], "fr:v", ["fix-permissions", "relocate-to=", "verbose"]) - except getopt.GetoptError, err: - print str(err) + except getopt.GetoptError as err: + print(str(err)) usage() for opt, arg in opts: @@ -132,8 +144,8 @@ # extract the archive contents if (verbose == True): - print "cd %s ; %s %s%s" % (tempdir, uncompress, filename, - unpack) + print("cd %s ; %s %s%s" % (tempdir, uncompress, filename, + unpack)) os.system("cd %s ; %s %s%s" % (tempdir, uncompress, filename, unpack)) # open up the permissions on what we extracted @@ -148,7 +160,7 @@ else: # rename the tempdir and open it's permissions os.renames(tempdir, relocate_to) - os.chmod(relocate_to, 0755) + os.chmod(relocate_to, 0o755) if __name__ == "__main__": -- Gitblit v1.9.3