As part of Mr Gove’s wonderful new Computing Curriculum in Primary schools, we’ve invested in some LEGO WeDo kit to teach some simple robotics stuff to KS2. It’s basically a USB hub which connects to a computer, into which you can plug a motor, a distance sensor or a tilt sensor. You can then program these sensors using LEGO’s own WeDo software (or MIT’s Scratch!) to build cool stuff like a spinning top, an aeroplane or an automatic goalie.
So far so good.
Then I came to trying to install the software on all the Macs in the school using Munki. I love Munki as it means I can remotely install and update stuff on all the Macs in the school really quickly. But it does rely on software coming in a reasonably decently packaged form. Which LEGO WeDo does not. Rather than using a sensible .pkg file, it instead has an Installer App (I know!) which then asks you to choose a language, which then opens up a meta package (.mpkg) which runs 6 different installers, each with various pre and post-flight scripts that liberally sprinkle files across various parts of your system.
Having used Pacifist to look inside the meta-package to see what was being installed, I tried using Munki to install each of these packages remotely. Except this didn’t work – the App icon for WeDo stopped working and you couldn’t view all the build instructions (leaving the dreaded greyed-out LEGO head).
So I tried a different tack. I downloaded Packages, a brilliant package-builder for Mac, and decided to build my own package for the software. The LEGO installer handily gave a list of all the files to delete to uninstall it, so I just added those to my package. And this worked. Kinda, only the LEGO head was stilled greyed out.
[Incidently, making changes to a package and changing the version number of the package, makes it keep testing an installation on Munki. Because Munki checks package receipts, it won’t reinstall a package it’s already installed. But it will install a package with a higher version number.]
Having spent far to much time on this problem already, I decided to give LEGO support a call. They were quite helpful, and suggested I try log in with an administrator account and see if that worked. Lo and behold, it did. They then suggested I tweak permissions on different files and folders to see if that helped. I basically gave write permissions to anyone on all files and that seemed to fix it. Not ideal really.