summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Change shebang to use /usr/bin/envRadostin Stoyanov2017-06-162-2/+2
| | | | | | | | When python is not /usr/bin/python but something else that is still found by your system, /usr/bin/env still finds it. :x Reference: https://mail.python.org/pipermail/python-list/2012-September/631967.html
* Move source files in src/virtBootstrapRadostin Stoyanov2017-06-163-0/+0
| | | | Preparatory commit before setup.py introduction.
* Add support for layer extraction in qcow2 imagesRadostin Stoyanov2017-06-162-25/+159
| | | | | | | | | Add support for extracting image layers in qcow2 format. Avoid requirement for root privileges by using libguestfs. - Use "qemu-img" to create backing chain which links the layers. - Use "virt-format" to format the qcow2 image. - Use "virt-tar-in" to extract each tar archives in the qcow2 image.
* Extract tar archives safely using virt-sandboxRadostin Stoyanov2017-06-161-9/+29
| | | | | | | | | This is used to prevent the possibility to create files outside of the destination path. For example, members that have absolute file names starting with "/" or file names with two dots "..". Use qemu://session to avoid requirement for root privileges.
* Cache downloaded container imagesRadostin Stoyanov2017-06-072-9/+34
| | | | | Store container images downloaded with skopeo to avoid re-download. Allow user to disable this option by passing "--no-cache" parameter
* Improve code fomattingRadostin Stoyanov2017-06-072-27/+39
| | | | | Follow PEP8 using pycodestyle https://pypi.python.org/pypi/pycodestyle/
* File source fixesCédric Bosdonnat2017-04-141-3/+3
|
* Remove trailing slash after docker imageRadostin Stoyanov2017-04-141-3/+4
| | | | | Skopeo does not accept any trailing slash at the end of the url. See https://github.com/projectatomic/skopeo#copying-images.
* Fix error: `subprocess.CalledProcessError: CommandRadostin Stoyanov2017-04-141-1/+1
| | | | | | | | | | | | | | | | Fix the following failing skopeo call: 'skopeo copy docker://ubuntu:latest/ dir://tmp/tmpyFFP9Wvirt-bootstrap' The function `tempfile.mkdtemp()` returns full path and do not need additional slash at the beginning. Thus the destination path is incorrect. `dir://tmp/tmpyFFP9Wvirt-bootstrap` -----^ it should be: `dir:/tmp/tmpyFFP9Wvirt-bootstrap` -----^
* Handle error case when creating destination folderRadostin Stoyanov2017-04-141-1/+2
| | | | | | `OSError: [Errno 17] File exists: ...` error occurs when trying to create the destination directory specified from the user without checking if it already exists.
* Python 3/2 compatibility: gettext.install unicode flagRadostin Stoyanov2017-04-141-1/+0
| | | | | | | | The unicode flag is passed to `gettext.install` has default value `False` in Python2. [1] In Python3 this flag does not exists. [2] [1] https://docs.python.org/2/library/gettext.html#gettext.NullTranslations.install [2] https://docs.python.org/3.5/library/gettext.html#gettext.NullTranslations.install
* Python 3/2 compatibility: use print with bracketsRadostin Stoyanov2017-04-141-2/+1
| | | | | | | | The `print` function in Python3 is used with brackets.[1] This syntax is also accepted in Python2.[2] [1] https://docs.python.org/3.5/library/functions.html#print [2] https://docs.python.org/2.7/library/functions.html#print
* Python 3/2 compatibility: exceptions handlingRadostin Stoyanov2017-04-141-2/+2
| | | | | | | | Examine an exception during exception handling in Python3 is done with 'as' instead of comma. This approach works in Python2 as well. https://wiki.python.org/moin/HandlingExceptions
* Initial commitCédric Bosdonnat2017-03-075-0/+904