This is a simple fix that will check that the component tar.gz exists in the mirror site. If it does not, it will use the apache archive site instead for the download of the component
This is a simple patch that will work for now - I will improve on it based of feedback from everyone (e.g. also check archive site and abort if component does not exists there too, provide mechanizm to check several sites in some order, etc.)
added *_DOWNLOAD_PATH var for each component to make maintenance easier
added *_ARCHIVE var for each component
after setting DOWNLOAD_URL, check it for HTTP 200 using curl --head (this only returns header, not content - good for just checking HTTP return code)
if not HTTP 200, replace DOWNLOAD_URL with the ARCHIVE url
NOTE: if the tar.gz also does not exist in ARCHIVE, the make will fail as it did before. Will improve on this in another patch, but, for now, using ARCHIVE as a fallback to the MIRROR will be good enough!!