Remove unused packages?
maggie44 opened this issue · 1 comments
Describe the solution you'd like
The dev_setup.sh script installs a lot of packages for the build process:
Lines 361 to 366 in 1b67bf3
Are they all required to run MyCroft, or are some just for installation? If things like build-essential
and pkg-config
could be removed at the end of the script it would make a big difference in installation size (particularly relevant for the Docker builds and PiCroft).
This is a tricky question I think. Some are definitely not needed anymore (screen for example).
Others (like libicu-dev) are only needed for the Mimic1 build during installation. Since mimic3 is out and very cool these might be phased out shortly.
Libjpeg-dev I think is only needed for the Mark-1 enclosure? so could technically be removed from the general package install.
libglib2.0-dev could also possibly be dropped. I think it was originally added for the default "desktop launch application" skill
Build-essential, automake, bison and some of the other I think is in a bit of a limbo state. They are needed for building mimic so when/if mimic3 lands as a default they're no longer needed. However they are useful for allowing pip to build C-libraries and such when doing installs on system where there exist no binary wheels.
And also remember, the dev_setup.sh is meant to be used for development setups and not really for distributions. Picroft uses it since it was meant as a development platform. A dockerfile could for example replace the dev_setup.sh for docker installing the required packages.