zerovm / zpm

ZeroVM Package Manager
Apache License 2.0
6 stars 11 forks source link

Support for bundling entire directories #150

Closed larsbutler closed 9 years ago

larsbutler commented 10 years ago

It would be useful to be able to bundle entire directories with zpm bundle. If I specify a directory name (mydir) in the bundling section in zapp.yaml, I get this kind of error:

$ zpm bundle
Traceback (most recent call last):
  File "/Users/lars/.virtualenvs/zpm/bin/zpm", line 29, in <module>
    args.func(args)
  File "/Users/lars/.virtualenvs/zpm/lib/python2.7/site-packages/zpmlib/commands.py", line 94, in inner
    return func(namespace, *args, **kwargs)
  File "/Users/lars/.virtualenvs/zpm/lib/python2.7/site-packages/zpmlib/commands.py", line 210, in bundle
    zpm.bundle_project(root)
  File "/Users/lars/.virtualenvs/zpm/lib/python2.7/site-packages/zpmlib/zpm.py", line 286, in bundle_project
    _add_file_to_tar(root, path, tar)
  File "/Users/lars/.virtualenvs/zpm/lib/python2.7/site-packages/zpmlib/zpm.py", line 317, in _add_file_to_tar
    tar.addfile(info, open(path, 'rb'))
IOError: [Errno 21] Is a directory: '/Users/lars6922/proj/zebra/myzapp/somedir'

It works as expected if I change the dir name to a glob: mydir/*. So there's a way around it, but it would be more convenient if we could just recursively bundle directories by simply listing the directory name.

mgeisler commented 9 years ago

Fixed by #189.