mirror of
				https://github.com/kewlfft/ansible-aur.git
				synced 2025-11-04 01:52:31 +03:00 
			
		
		
		
	Extract tar file on-the-fly
Instead of creating an intermediate tar file use the open_url response as fileobj.
This commit is contained in:
		@@ -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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user