files listed used with the copy option cannot be copied to non existing directory in the chroot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
VMBuilder |
Fix Released
|
Low
|
Unassigned | ||
vm-builder (Ubuntu) |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
Using the copy option with the following file:
$ cat vmbuilder.files
/home/mathiaz/
vmbuilder fails to install the authorized_keys file in the target chroot directory:
2008-10-16 15:50:12,827 INFO Copying files specified by --copy in: vmbuilder.files
2008-10-16 15:50:12,843 INFO cp: cannot create regular file `/tmp/vmbuilder
2008-10-16 15:50:12,844 CRITICAL Oh, dear, an exception occurred
2008-10-16 15:50:12,844 INFO Cleaning up
Traceback (most recent call last):
File "/usr/bin/
VMBuilder.run()
File "/usr/lib/
frontend.run()
File "/usr/lib/
vm.create()
File "/usr/lib/
raise e
VMBuilder.
This is caused by the fact that the .ssh directory doesn't exist by default. Using the execscript option to create it doesn't work as it seems that copy is run before execscript.
One solution could be to automatically create parent directories. Being able to pecify permissions and ownership may also be useful (although it could be done from the execscript).
Related branches
Changed in vmbuilder: | |
importance: | Undecided → Low |
Changed in vmbuilder: | |
status: | Confirmed → Fix Committed |
Changed in vm-builder (Ubuntu): | |
status: | Confirmed → Fix Committed |
Changed in vmbuilder: | |
status: | Fix Committed → Fix Released |
If the purpose is to copy you authorized key, the --ssh* options are tailored for this.
Marking this as wishlist for being able to create parent dirs (mkdir -p equivalent).