# File lib/phusion_passenger/abstract_installer.rb, line 341
        def download(url, output, options = {})
                if options[:use_cache] && cache_dir = PhusionPassenger.download_cache_dir
                        basename = url.sub(/.*\//, '')
                        if File.exist?("#{cache_dir}/#{basename}")
                                puts "Copying #{basename} from #{cache_dir}..."
                                FileUtils.cp("#{cache_dir}/#{basename}", output)
                                return true
                        end
                end

                args = []
                if PlatformInfo.find_command("wget")
                        if options[:cacert]
                                args << "--ca-certificate=#{options[:cacert]}"
                        end
                        return sh("wget", "--tries=3", "-O", output, url, *args)
                else
                        if options[:cacert]
                                args << "--cacert"
                                args << options[:cacert]
                        end
                        return sh("curl", url, "-f", "-L", "-o", output, *args)
                end
        end