As some of you might know, I’ve been on a leave of absence this autumn, and I’ve basically been fortunate enough to have the days to myself. I’ve spent most of it on bike rides around Columbus, playing around with the laser cutter at the Columbus Idea Foundry, or preparing for the talk I gave at MacTech, but over these last couple of weeks I’ve been catching up on some of my open source projects.
Even with all this copious free time, I’ve had to realize that I have more projects than I have time for, and when January comes around I’ll be back to working full time again. The project that is in the most dire need of an overhaul is CreateUserPkg. It was one of my first Cocoa projects, where I learned how to do document based apps, sandboxing, and how to publish in the App Store. I had to resort to some really crazy antics to generate packages without requiring root. Good times. But that was then, this is now, and a lot has changed:
- macOS ships with pkgbuild and productbuild, replacing the need for most of the horror show in create_package.py.
- 10.5/10.6 support is no longer needed, so the SHA1 shadow hash needs to be eliminated in favor of PBKDF2.
.pkgas the document type was just a bad design desicion, I should have made a separate document format and then exported to
- MDM payloads can create users, maybe we should be generating those instead?
- The app desperately needs a better name too. I’ve always been bad at naming things. Fortunately Greg saved my bacon with AutoDMG.
On top of it all the project is small enough that it’s begging for a Swift rewrite. But not by me. If you’re looking for an excuse to get into Cocoa development, here’s a great opportunity. There are a dozen suggested enhancements on GitHub you want to go further.
So please, fork the repo, or maybe just start over from a clean slate. The Apache license means that you can basically do what you want with the code. The only thing I request is that you give your app a better name.