sandstorm-io / vagrant-spk

Packaging tool for Sandstorm, a self-hosting platform for web apps!
Apache License 2.0
55 stars 29 forks source link

`vagrant-spk pack` failure on buster when including /bin/bash #269

Open abliss opened 4 years ago

abliss commented 4 years ago
Calling 'vagrant' 'ssh' '-c' 'cd /opt/app/.sandstorm/ && spk pack --keyring=/host-dot-sandstorm/sandstorm-keyring --pkg-def=/opt/app/.sandstorm/sandstorm-pkgdef.capn\p:pkgdef /home/vagrant/sandstorm-package.spk && spk verify --details /home/vagrant/sandstorm-package.spk && mv /home/vagrant/sandstorm-package.spk /opt/app/sandstorm\-package.spk' in /home/abliss/proj/sandstorm/ttyd/.sandstorm
*** Uncaught exception ***
sandstorm/spk.c++:1171: failed: expected children.empty(); got symlink, expected directory; target = /bin
stack: 6150fd 6138fa 6129de 61292c 664d93 6652f6                                                                                                                      

This seems to be because sandstorm-files.list contains bin but /bin is actually a symlink to /usr/bin.

zenhack commented 4 years ago

Can you provide some more context? Did this happen after upgrading an app from an older version, or...?

abliss commented 4 years ago

I was working on an app, and had started it on stretch, then destroyed my vm and restarted with buster. so plausibly, /bin wasn't a symlink before, and that's how bin/ ended up in sandstorm-files.list. but even after deleting bin/ from the list, the next time I ran vagrant-spk dev, it got populated again, and pack failed again. I seem to have to keep removing it.