mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-05 18:50:09 +02:00
Merge branch 'use_bin_tar' into 'master'
Use libarchive instead of the Python implementation See merge request fdroid/fdroidserver!734
This commit is contained in:
commit
1a3f5a263f
@ -105,7 +105,7 @@ ubuntu_xenial_pip:
|
||||
only:
|
||||
- master@fdroid/fdroidserver
|
||||
script:
|
||||
- apt-get install git default-jdk-headless python3-pip python3-venv rsync zipalign
|
||||
- apt-get install git default-jdk-headless python3-pip python3-venv rsync zipalign libarchive13
|
||||
- rm -rf env
|
||||
- pyvenv env
|
||||
- . env/bin/activate
|
||||
|
@ -430,13 +430,19 @@ class LibvirtBuildVm(FDroidBuildVm):
|
||||
end""".format_map({'memory': str(int(domainInfo[1] / 1024)), 'cpus': str(domainInfo[3])}))
|
||||
with open('Vagrantfile', 'w') as fp:
|
||||
fp.write(vagrantfile)
|
||||
with tarfile.open(output, 'w:gz') as tar:
|
||||
logging.debug('adding metadata.json to box %s ...', output)
|
||||
tar.add('metadata.json')
|
||||
logging.debug('adding Vagrantfile to box %s ...', output)
|
||||
tar.add('Vagrantfile')
|
||||
logging.debug('adding box.img to box %s ...', output)
|
||||
tar.add('box.img')
|
||||
try:
|
||||
import libarchive
|
||||
with libarchive.file_writer(output, 'gnutar', 'gzip') as tar:
|
||||
logging.debug('adding files to box %s ...', output)
|
||||
tar.add_files('metadata.json', 'Vagrantfile', 'box.img')
|
||||
except (ModuleNotFoundError, AttributeError):
|
||||
with tarfile.open(output, 'w:gz') as tar:
|
||||
logging.debug('adding metadata.json to box %s ...', output)
|
||||
tar.add('metadata.json')
|
||||
logging.debug('adding Vagrantfile to box %s ...', output)
|
||||
tar.add('Vagrantfile')
|
||||
logging.debug('adding box.img to box %s ...', output)
|
||||
tar.add('box.img')
|
||||
|
||||
if not keep_box_file:
|
||||
logging.debug('box packaging complete, removing temporary files.')
|
||||
|
Loading…
Reference in New Issue
Block a user