Hi Both we and Infra have been battling with the buildbots for far too long, and the inability to do https:// downloads consistently due to missing LWP::Protocol::https has been a major thorn in our side.
Perl in AOO is not going well. CPAN modules don't install easily: in both CentOS 5 and (Infra tells me) in Cygwin some tests fail, preventing installation. If in 5 months INFRA-11296 has not been closed, and we're still having mystery problems on the buildbots where Perl modules are installed but can't be found, and this is even holding up further development, such as being able to test whether removing VCVARS32.BAT from the Windows build script fixes the apr build failure and file lock, then I believe it's past time to tell Perl goodbye! So as of r1753943, Perl's LWP::UserAgent no longer downloads files. I was thinking of using a CLI tool instead, something like wget, but that's another dependency we'd have to document, that may not be available on all platforms (eg. Mac, OS/2), and that is broken on CentOS 5 for https:// which is what we need it for the most. So how do we download files now? Java. Java supports https:// out of the box, is very portable between operating systems and CPUs, uses its own root CA certificates, is already used on all the buildbots, and is documented as being a mandatory build dependency (even though it doesn't seem that way in ./configure). A simple class main/solenv/javadownloader/AOOJavaDownloader.java gets compiled into main/solenv/<platform>/class/AOOJavaDownloader.class by the ./bootstrap script, and then called from Perl's main/solenv/bin/ download_external_dependencies.pl and main/solenv/bin/modules/ExtensionsLst.pm using system(), in place of LWP::UserAgent. Internally, it uses java.net.URLConnection for http/https support, deals with HTTP redirection, also verifying MD5 and SHA1 hashes like the Perl DownloadFile() function it replaces. The way it's been set up is a bit of a hack, but it's working phenomenally well on both FreeBSD and Windows, and with it the Windows aoo-win7 buildbot has successfully bootstrapped for the first time in memorable history, and with VCVARS32.BAT eliminated it looks like it may even finish building successfully! Damjan