mirror of https://github.com/kewlfft/ansible-aur
Extract tar file on-the-fly
Instead of creating an intermediate tar file use the open_url response as fileobj.pull/34/head
parent
026786beb0
commit
5d952d26fd
|
@ -140,22 +140,15 @@ def install_with_makepkg(module, package):
|
||||||
return (1, '', 'package {} not found'.format(package))
|
return (1, '', 'package {} not found'.format(package))
|
||||||
result = result['results'][0]
|
result = result['results'][0]
|
||||||
f = open_url('https://aur.archlinux.org/{}'.format(result['URLPath']))
|
f = open_url('https://aur.archlinux.org/{}'.format(result['URLPath']))
|
||||||
current_path = os.getcwd()
|
|
||||||
with tempfile.TemporaryDirectory() as tmpdir:
|
with tempfile.TemporaryDirectory() as tmpdir:
|
||||||
os.chdir(tmpdir)
|
tar = tarfile.open(mode='r|*', fileobj=f)
|
||||||
tar_file = '{}.tar.gz'.format(result['Name'])
|
tar.extractall(tmpdir)
|
||||||
with open(tar_file, 'wb') as out:
|
|
||||||
out.write(f.read())
|
|
||||||
tar = tarfile.open(tar_file)
|
|
||||||
tar.extractall()
|
|
||||||
tar.close()
|
tar.close()
|
||||||
os.chdir(format(result['Name']))
|
|
||||||
if module.params['skip_pgp_check']:
|
if module.params['skip_pgp_check']:
|
||||||
use_cmd['makepkg'].append('--skippgpcheck')
|
use_cmd['makepkg'].append('--skippgpcheck')
|
||||||
if module.params['ignore_arch']:
|
if module.params['ignore_arch']:
|
||||||
use_cmd['makepkg'].append('--ignorearch')
|
use_cmd['makepkg'].append('--ignorearch')
|
||||||
rc, out, err = module.run_command(use_cmd['makepkg'], check_rc=True)
|
rc, out, err = module.run_command(use_cmd['makepkg'], cwd=os.path.join(tmpdir, result['Name']), check_rc=True)
|
||||||
os.chdir(current_path)
|
|
||||||
return (rc, out, err)
|
return (rc, out, err)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue