Yet if you were implementing #42, there are situations were it would make sense to organize the script as follows:
Download just the Freetype archive
Unpack the Freetype archive
Delete the Freetype archive
Download the Freetype patches
Apply the Freetype patches
Delete the Freetype patches
Build Freetype
Install Freetype
Delete the Freetype source folder
And now continue that loop again once for the other two tools.
How would that make a difference? When the script is running inside a virtual file system (VM, Docker, macOS Diskimage, etc.) these grow dynamically but they have a hard time shrinking again. Organizing the build process as suggested above results in way smaller virtual disk images in the end, as a lot less temporary space will be needed during the build process. It also makes it possible to run your scrips on machines with very little disk space available that currently would run out of space when running your script.
Currently the script is like this:
Yet if you were implementing #42, there are situations were it would make sense to organize the script as follows:
And now continue that loop again once for the other two tools.
How would that make a difference? When the script is running inside a virtual file system (VM, Docker, macOS Diskimage, etc.) these grow dynamically but they have a hard time shrinking again. Organizing the build process as suggested above results in way smaller virtual disk images in the end, as a lot less temporary space will be needed during the build process. It also makes it possible to run your scrips on machines with very little disk space available that currently would run out of space when running your script.