Reformates with black
This commit is contained in:
1 parent
6bb80ee9c8
commit
6ef895bfa3
6 files changed
+1491
-1358
No files matched your search
+178
-166
@@ -1,11 +1,6 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
import getpass
|
||||
import os
|
||||
@@ -15,192 +10,209 @@ import stat
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
|
||||
def verbose():
|
||||
verb = os.getenv( "EMERGE_VERBOSE" )
|
||||
if ( not verb == None and verb.isdigit() and int(verb) > 0 ):
|
||||
return int( verb )
|
||||
verb = os.getenv("EMERGE_VERBOSE")
|
||||
if not verb == None and verb.isdigit() and int(verb) > 0:
|
||||
return int(verb)
|
||||
else:
|
||||
return 0
|
||||
|
||||
def debug( message ):
|
||||
|
||||
def debug(message):
|
||||
if verbose() >= 0:
|
||||
print("debug: %s" % message)
|
||||
return True
|
||||
|
||||
def info( message ):
|
||||
|
||||
def info(message):
|
||||
if verbose() >= 0:
|
||||
print("info: %s" % message)
|
||||
return True
|
||||
|
||||
def warning( message ):
|
||||
|
||||
def warning(message):
|
||||
print("warning: %s" % message)
|
||||
return True
|
||||
|
||||
def error( message ):
|
||||
die( message )
|
||||
|
||||
def die( message ):
|
||||
def error(message):
|
||||
die(message)
|
||||
|
||||
|
||||
def die(message):
|
||||
print >> sys.stderr, "emerge fatal error: %s" % message
|
||||
sys.exit( 1 )
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def system(cmdstring, file=None):
|
||||
debug("Executing '%s'" % cmdstring)
|
||||
out = subprocess.PIPE
|
||||
if file != None:
|
||||
out = file
|
||||
p = subprocess.Popen(cmdstring, shell=True, stdout=out, stderr=sys.stderr)
|
||||
ret = p.wait()
|
||||
if ret != 0:
|
||||
die("Error executing %s (%s)" % (cmdstring, ret))
|
||||
ret = ""
|
||||
if file == None:
|
||||
ret = p.stdout.read().strip()
|
||||
return ret
|
||||
|
||||
def system( cmdstring, file = None ):
|
||||
debug( "Executing '%s'" % cmdstring )
|
||||
out = subprocess.PIPE
|
||||
if file != None:
|
||||
out = file
|
||||
p = subprocess.Popen( cmdstring, shell=True, stdout=out, stderr=sys.stderr )
|
||||
ret = p.wait()
|
||||
if ( ret != 0 ):
|
||||
die( "Error executing %s (%s)" % (cmdstring, ret) )
|
||||
ret = ""
|
||||
if file == None:
|
||||
ret = p.stdout.read().strip()
|
||||
return ret
|
||||
|
||||
def getOS_Name():
|
||||
if os.path.exists('/etc/SuSE-release'):
|
||||
f = open('/etc/SuSE-release', 'r')
|
||||
rx = re.compile('^VERSION = (.*)$')
|
||||
for line in f.readlines():
|
||||
m = rx.match(line)
|
||||
if not m:
|
||||
line = re.sub('\s', '', line)
|
||||
line = re.sub('\([xX]86[-_]64\)', '', line)
|
||||
line = line.replace('SUSE', '')
|
||||
line = line.replace('LinuxEnterpriseServer', 'SLE')
|
||||
line = line.replace('LinuxEnterpriseDesktop', 'SLE')
|
||||
return line.strip()
|
||||
return "unknown"
|
||||
else:
|
||||
f = open('/etc/os-release', 'r')
|
||||
rx = re.compile('^PRETTY_NAME="(.*)"$')
|
||||
for line in f.readlines():
|
||||
m = rx.match(line)
|
||||
if m:
|
||||
return m.group(1).replace(' ','_')
|
||||
return "unknown"
|
||||
|
||||
def removeDirectory( dest_dir ):
|
||||
info( "--------------------------------" )
|
||||
info( "Removing %s" % ( dest_dir ) )
|
||||
info( "--------------------------------" )
|
||||
if ( os.path.exists( dest_dir ) and os.path.isdir( dest_dir ) ):
|
||||
for root, dirs, files in os.walk( dest_dir, topdown=False):
|
||||
for name in files:
|
||||
try:
|
||||
os.remove( os.path.join(root, name) )
|
||||
except:
|
||||
die( "couldn't delete file %s\n ( %s )" % ( name, os.path.join( root, name ) ) )
|
||||
for name in dirs:
|
||||
try:
|
||||
if ( os.path.islink(os.path.join(root, name)) ):
|
||||
os.remove( os.path.join(root, name) )
|
||||
else:
|
||||
os.rmdir( os.path.join(root, name) )
|
||||
except:
|
||||
die( "couldn't delete directory %s\n( %s )" % ( name, os.path.join( root, name ) ) )
|
||||
os.rmdir( dest_dir )
|
||||
if os.path.exists("/etc/SuSE-release"):
|
||||
f = open("/etc/SuSE-release", "r")
|
||||
rx = re.compile("^VERSION = (.*)$")
|
||||
for line in f.readlines():
|
||||
m = rx.match(line)
|
||||
if not m:
|
||||
line = re.sub("\s", "", line)
|
||||
line = re.sub("\([xX]86[-_]64\)", "", line)
|
||||
line = line.replace("SUSE", "")
|
||||
line = line.replace("LinuxEnterpriseServer", "SLE")
|
||||
line = line.replace("LinuxEnterpriseDesktop", "SLE")
|
||||
return line.strip()
|
||||
return "unknown"
|
||||
else:
|
||||
f = open("/etc/os-release", "r")
|
||||
rx = re.compile('^PRETTY_NAME="(.*)"$')
|
||||
for line in f.readlines():
|
||||
m = rx.match(line)
|
||||
if m:
|
||||
return m.group(1).replace(" ", "_")
|
||||
return "unknown"
|
||||
|
||||
|
||||
def copySrcDirToDestDir( srcdir, dstdir, perm = None, with_subdirs = True ):
|
||||
info( "--------------------------------" )
|
||||
info( "Copying %s to %s" % ( srcdir, dstdir ) )
|
||||
info( "--------------------------------" )
|
||||
def removeDirectory(dest_dir):
|
||||
info("--------------------------------")
|
||||
info("Removing %s" % (dest_dir))
|
||||
info("--------------------------------")
|
||||
if os.path.exists(dest_dir) and os.path.isdir(dest_dir):
|
||||
for root, dirs, files in os.walk(dest_dir, topdown=False):
|
||||
for name in files:
|
||||
try:
|
||||
os.remove(os.path.join(root, name))
|
||||
except:
|
||||
die(
|
||||
"couldn't delete file %s\n ( %s )"
|
||||
% (name, os.path.join(root, name))
|
||||
)
|
||||
for name in dirs:
|
||||
try:
|
||||
if os.path.islink(os.path.join(root, name)):
|
||||
os.remove(os.path.join(root, name))
|
||||
else:
|
||||
os.rmdir(os.path.join(root, name))
|
||||
except:
|
||||
die(
|
||||
"couldn't delete directory %s\n( %s )"
|
||||
% (name, os.path.join(root, name))
|
||||
)
|
||||
os.rmdir(dest_dir)
|
||||
|
||||
while srcdir[-1] == '/':
|
||||
srcdir = srcdir[:-1]
|
||||
if with_subdirs:
|
||||
for root, dirs, files in os.walk( srcdir ):
|
||||
tmpdir = root.replace( srcdir, dstdir )
|
||||
debug( "dstdir = '%s'" % tmpdir )
|
||||
if ( not os.path.exists( tmpdir ) ):
|
||||
debug( "Creating dir '%s'" % tmpdir )
|
||||
os.makedirs( tmpdir )
|
||||
if perm:
|
||||
os.chmod( tmpdir, perm | stat.S_IREAD | stat.S_IRGRP | stat.S_IROTH )
|
||||
for file in files:
|
||||
if os.path.isfile( tmpdir ) and os.path.exists( tmpdir ):
|
||||
os.remove( tmpdir )
|
||||
shutil.copy( os.path.join( root, file ), tmpdir )
|
||||
if perm:
|
||||
f = os.path.join( tmpdir, file )
|
||||
add_perm = 0
|
||||
if os.path.isdir( f ):
|
||||
add_perm = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
|
||||
else:
|
||||
mode = os.stat( f ).st_mode
|
||||
if (stat.S_IXUSR & mode) == stat.S_IXUSR:
|
||||
add_perm = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
|
||||
os.chmod( f, perm | add_perm )
|
||||
else:
|
||||
for f in os.listdir( srcdir ):
|
||||
if os.path.isdir( f ):
|
||||
continue
|
||||
shutil.copy( os.path.join( srcdir, f ),
|
||||
os.path.join( dstdir, f ) )
|
||||
|
||||
def moveFilesToDir( srcdir, dstdir, rx_filter = None, with_subdirs = True ):
|
||||
info( "--------------------------------" )
|
||||
info( "Moving files from %s to %s" % ( srcdir, dstdir ) )
|
||||
info( "--------------------------------" )
|
||||
def copySrcDirToDestDir(srcdir, dstdir, perm=None, with_subdirs=True):
|
||||
info("--------------------------------")
|
||||
info("Copying %s to %s" % (srcdir, dstdir))
|
||||
info("--------------------------------")
|
||||
|
||||
moved_files = []
|
||||
if not os.path.exists( dstdir ):
|
||||
os.makedirs( dstdir )
|
||||
if with_subdirs:
|
||||
for root, dirs, files in os.walk( srcdir ):
|
||||
for file in files:
|
||||
if rx_filter and not rx_filter.match( file ):
|
||||
continue
|
||||
src = os.path.join( root, file )
|
||||
dst = os.path.join( dstdir, file )
|
||||
debug( "Move %s to %s" % ( src, dst ) )
|
||||
if os.path.exists( dst ):
|
||||
os.remove( dst )
|
||||
moved_files.append( dst )
|
||||
shutil.move( src, dstdir )
|
||||
else:
|
||||
for f in os.listdir( srcdir ):
|
||||
if os.path.isdir( f ):
|
||||
continue
|
||||
if rx_filter and not rx_filter.match( f ):
|
||||
continue
|
||||
src = os.path.join( srcdir, file )
|
||||
dst = os.path.join( dstdir, file )
|
||||
debug( "Move %s to %s" % ( src, dst ) )
|
||||
moved_files.append( dst )
|
||||
shutil.move( src, dstdir )
|
||||
return moved_files
|
||||
while srcdir[-1] == "/":
|
||||
srcdir = srcdir[:-1]
|
||||
if with_subdirs:
|
||||
for root, dirs, files in os.walk(srcdir):
|
||||
tmpdir = root.replace(srcdir, dstdir)
|
||||
debug("dstdir = '%s'" % tmpdir)
|
||||
if not os.path.exists(tmpdir):
|
||||
debug("Creating dir '%s'" % tmpdir)
|
||||
os.makedirs(tmpdir)
|
||||
if perm:
|
||||
os.chmod(tmpdir, perm | stat.S_IREAD | stat.S_IRGRP | stat.S_IROTH)
|
||||
for file in files:
|
||||
if os.path.isfile(tmpdir) and os.path.exists(tmpdir):
|
||||
os.remove(tmpdir)
|
||||
shutil.copy(os.path.join(root, file), tmpdir)
|
||||
if perm:
|
||||
f = os.path.join(tmpdir, file)
|
||||
add_perm = 0
|
||||
if os.path.isdir(f):
|
||||
add_perm = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
|
||||
else:
|
||||
mode = os.stat(f).st_mode
|
||||
if (stat.S_IXUSR & mode) == stat.S_IXUSR:
|
||||
add_perm = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
|
||||
os.chmod(f, perm | add_perm)
|
||||
else:
|
||||
for f in os.listdir(srcdir):
|
||||
if os.path.isdir(f):
|
||||
continue
|
||||
shutil.copy(os.path.join(srcdir, f), os.path.join(dstdir, f))
|
||||
|
||||
def adjustPermissions( srcdir ):
|
||||
info( "--------------------------------" )
|
||||
info( "Adjusting permissions in %s" % srcdir )
|
||||
info( "--------------------------------" )
|
||||
|
||||
stat_file = stat.S_IREAD | stat.S_IWRITE | stat.S_IRUSR | stat.S_IROTH
|
||||
stat_executable = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
|
||||
stat_dir = stat_file | stat_executable
|
||||
while srcdir[-1] == '/':
|
||||
srcdir = srcdir[:-1]
|
||||
for root, dirs, files in os.walk( srcdir ):
|
||||
os.chmod( root, )
|
||||
for file in files:
|
||||
f = os.path.join( root, file )
|
||||
perm = 0
|
||||
if os.path.isdir( f ):
|
||||
perm = stat_dir
|
||||
else:
|
||||
perm = stat_file
|
||||
mode = os.stat( f ).st_mode
|
||||
if (stat.S_IXUSR & mode) == stat.S_IXUSR:
|
||||
perm |= stat_executable
|
||||
os.chmod( f, perm )
|
||||
def moveFilesToDir(srcdir, dstdir, rx_filter=None, with_subdirs=True):
|
||||
info("--------------------------------")
|
||||
info("Moving files from %s to %s" % (srcdir, dstdir))
|
||||
info("--------------------------------")
|
||||
|
||||
def exec_rpmbuild( spec_dir, spec_filename, buildroot = None ):
|
||||
spec = os.path.join( spec_dir, spec_filename )
|
||||
cmd = "rpmbuild -ba %s" % spec
|
||||
if buildroot:
|
||||
cmd += " --buildroot=%s" % buildroot
|
||||
system( cmd, sys.stdout ) and die( "during rpmbuild. cmd: %s" % command )
|
||||
moved_files = []
|
||||
if not os.path.exists(dstdir):
|
||||
os.makedirs(dstdir)
|
||||
if with_subdirs:
|
||||
for root, dirs, files in os.walk(srcdir):
|
||||
for file in files:
|
||||
if rx_filter and not rx_filter.match(file):
|
||||
continue
|
||||
src = os.path.join(root, file)
|
||||
dst = os.path.join(dstdir, file)
|
||||
debug("Move %s to %s" % (src, dst))
|
||||
if os.path.exists(dst):
|
||||
os.remove(dst)
|
||||
moved_files.append(dst)
|
||||
shutil.move(src, dstdir)
|
||||
else:
|
||||
for f in os.listdir(srcdir):
|
||||
if os.path.isdir(f):
|
||||
continue
|
||||
if rx_filter and not rx_filter.match(f):
|
||||
continue
|
||||
src = os.path.join(srcdir, file)
|
||||
dst = os.path.join(dstdir, file)
|
||||
debug("Move %s to %s" % (src, dst))
|
||||
moved_files.append(dst)
|
||||
shutil.move(src, dstdir)
|
||||
return moved_files
|
||||
|
||||
|
||||
def adjustPermissions(srcdir):
|
||||
info("--------------------------------")
|
||||
info("Adjusting permissions in %s" % srcdir)
|
||||
info("--------------------------------")
|
||||
|
||||
stat_file = stat.S_IREAD | stat.S_IWRITE | stat.S_IRUSR | stat.S_IROTH
|
||||
stat_executable = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
|
||||
stat_dir = stat_file | stat_executable
|
||||
while srcdir[-1] == "/":
|
||||
srcdir = srcdir[:-1]
|
||||
for root, dirs, files in os.walk(srcdir):
|
||||
os.chmod(
|
||||
root,
|
||||
)
|
||||
for file in files:
|
||||
f = os.path.join(root, file)
|
||||
perm = 0
|
||||
if os.path.isdir(f):
|
||||
perm = stat_dir
|
||||
else:
|
||||
perm = stat_file
|
||||
mode = os.stat(f).st_mode
|
||||
if (stat.S_IXUSR & mode) == stat.S_IXUSR:
|
||||
perm |= stat_executable
|
||||
os.chmod(f, perm)
|
||||
|
||||
|
||||
def exec_rpmbuild(spec_dir, spec_filename, buildroot=None):
|
||||
spec = os.path.join(spec_dir, spec_filename)
|
||||
cmd = "rpmbuild -ba %s" % spec
|
||||
if buildroot:
|
||||
cmd += " --buildroot=%s" % buildroot
|
||||
system(cmd, sys.stdout) and die("during rpmbuild. cmd: %s" % command)
|
||||
Reference in new issue
Block a user