travis: ignore SC2001 which doesn't work for $CHROOT_VARIABLES handling SC2181 = See if you can use ${variable//search/replace} instead This doesn't work for the $CHROOT_VARIABLES which includes variables with strings like "/", so we can't rely on the ${variable//search/replace} approach. Quoting from https://github.com/koalaman/shellcheck/wiki/SC2001: | Utilizing some of the more complex capabilities of sed is | required occasionally and it is safe to ignore SC2001.
Ensure /etc/timezone also includes the TIMEZONE setting Quoting from the bug report: | The timezone is currently setup in chroot-script:timezone(), but | that function only sets up /etc/localtime but not /etc/timezone. | The problem is that you end up with one set to Europe/Vienna and | the other set to Etc/UTC. | | This can greatly confuse the system, due to some libraries/tools | parsing the former, and other the latter. | | So that function should probably also update /etc/timezone, with | the TIMEZONE value. So write the $TIMEZONE setting to /etc/timezone. Closes: #904607 Thanks: Guillem Jover <gjover@sipwise.com>
travis: run tests from inside VM + support test execution outside of Travis CI This is a big improvement, because we can now communicate with the running VM, including executing processes inside the VM, like running goss directly from inside the VM. While at it also adjust travis/execute.sh to be able to run it *locally* as well. We now don't have to necessarily push to Travis CI, which also serves to be useful when developing new features. Thanks: Christian Hofstaedtler <zeha@debian.org> for helping me with the serial console handling
Initial VM test builds on TravisCI We're starting a Docker container with Debian/stretch, installing the Debian package build result (generated via travis.debian.net) of grml-debootstrap inside it. Then execute grml-debootstrap, installing to a VM file. Finally boot the generated VM file via qemu. We use stdio of qemu's serial console to check for the boot prompt of the installed Debian system, using goss for running the actual checks.