Our “feature players” are computers with no keyboard, no screen, just a tiny little 4 line dot matrix display with a few touch buttons. One of our sales and demo sites, in China, had a little problem – due to a bug in the version of software they’re still running they desparately need to rename a file before tomorrow morning. And in order to connect a keyboard and screen, or even a network cable so they could ssh in, they’d have to remove it from a rack and move it out of the projection booth. Don’t ask me why.
There were around 5 people at work trying to solve this problem, including my supervisor, the guy who signs the POs to pay us contractors, and two other developers. They called me into the meeting to discuss it at 4:00pm. At 4:15 I’d finished explaining how I’d solve it. At 4:30 I had a first burn of a CD that would solve the problem. At 5:00pm I’d fixed a couple of strange little problems with the first two cuts at it, and had an ISO that they could email to the site in China, have them burn it, and put it in the DVD drive and fix their problem.
(Technical details follow, you might want to skip this part)
Basically what I did was used the “software update” feature – you choose “Software Update” on this tiny little dot matrix menu, and it runs a script that is on the hard drive. But what the script does is copy an APT-RPM repository off the CD and do an apt-get install of whatever files are listed in a “packages” file. (We do it that way rather than just doing an “apt-get dist-upgrade” because there were some definite requirements that package “A” had to be installed before package “B”, and so on. Lame, I know.) The good part, at least for me, is that the “packages” file also comes from the CD. So I made a CD that had a fake RPM that didn’t install anything, just did the rename in the %post step, and put it in a APT-RPM repository, made a fake “packages” file, and “Software Update” it.
Yeah, the security implications of that kind of sucks, but we’re going to go to signed RPMs “real soon now“.