as part of my cross-distro work I am also working on getting the CI infrastructure we have for snapd work on other distributions so we can run tests for any PR somebody creates against all supported distributions equally and see when one breaks. There is a lot of work towards that and I decided to start with the lowest hanging fruit which is Debian as it is naturally very similar to Ubuntu.
I have a branch (rough, not finished yet or ready for review) which adjusts multiple things in the existing spread infrastructure to allow us running all tests on a Debian image. As a base I use one of the openstack debian images for the current testing branch (upcoming Debian 9 - stretch) as that is the only one we support with snapd today next to unstable.
A next step is to get a proper base image onto our Linode infrastructure which is based on testing. @niemeyer asked me to give a summary here so we can discuss the next steps for this.
linode:debian-unstable-64 /# du -hs *
The two biggest items are
/lib covers kernel modules for multiple kernels and I removed those which are not in use and have corresponding debian packages. Two remain which seem to come from Linode but don’t have corresponding debian packages:
Both don’t cover much same (4K) so we can ignore those.
The image size should be down to ~940M now. @niemeyer Is that enough for now? I can look further tomorrow to see what we can strip out but would like to get a first snapshot to start testing my spread setup on Linode. Is that ok for you?
Image is a bit large at 1800MB… can we get it down a bit somehow? Note that the restore logic in spread.yaml drops data such as packaging information and packages themselves which were downloaded… that needs tweaking for fedora and other rpm based distros. This may be part of the bloat there.
We do that already. The image seems bloated by itself as I didn’t do much
on the image. Only a ‘dnf upgrade && dnf cleal-all’ and it was on that size
already before. Will see tomorrow what of the installed software (most
space is consumed by /usr) can be dropped.