Open maggie44 opened 2 years ago
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.
Describe the solution you'd like The dev_setup.sh script installs a lot of packages for the build process: https://github.com/MycroftAI/mycroft-core/blob/1b67bf33e08541c34c331e7980ce0d6b4bc9c708/dev_setup.sh#L361-L366
Are they all required to run MyCroft, or are some just for installation? If things like
build-essential
andpkg-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).