Saturday, 1 January 2011

Preparing Stackless Python 2.7.1

I used to do the releases of Stackless Python on my laptop at home, but as it is an Acer, it is prone to instantly overheating and shutting down at the slightest sign of having to perform useful work. Play a movie? No worries. Synchronise an SVN repository? Time to shutdown! Given that and with everyone on holiday, today is a good day to go into work and do it on my work computer. There's also a decent internet connection here.

The process of building and releasing Python is rather easy these days. You can just execute the buildbot scripts and most of the work is done. After that, it's just a matter of dealing with the one or two parts of the process that seem to be.. strangely incompatible with the rest of the process.

Oftentimes I will have to get cabarc.exe sorted out. The MSI installer generation script won't seem to find it. In this case, it seems to have been replaced with another solution called makecab.exe in things like the Windows SDK. A quick google hit Stack Overflow which gave a roundabout way to obtain it. Namely obtaining some WindowsXP-KB838079-SupportTools-ENU.exe file, then extracting a CAB file from it. The given extract command does not exist, so I used 7zip to get cabarc.exe.

Installing the Windows SDK is rather a rough process. Wait, no latest .NET? Something won't be installed, and you will have to reinstall or something. Okay, I don't understand so exit to go and install the requested dependency.

I think they've given up on the notion anyone bothers to sit there and read the EULA.

In the past, I've gone through all kind of complicated shenanigans to get my data uploaded to the Stackless web site. I don't have any ready way of offering the files for download to be fetched from the Stackless site, so I upload it to another site and from there ftp it. I've at one time in the past tunneled FTP over an SSH connection, but that's still cumbersome. This time, I did a bit of googling and finding no clear explanation decided to download pscp.exe and see what it offered me.

pscp.exe python-2.7.1-stackless.msi
That couldn't have been more straightforward and easy. It basically took advantage of Pageant running with my private key added, and transparently authenticated and copied the file into place. Robert's your father's brother.