Can’t change Safari homepage in Sierra, even with no profiles managing homepage

So I came across something weird that's affected only my 10.12.4 clients (none of my 10.11.6 clients seem to be affected by this). Even though I have only one Safari profile enabled, which is set-once and doesn't manage the homepage, my 10.12.4 clients are unable to change the homepage in Safari manually. Whatever the homepage was is stuck like that. If you enter a new homepage in the Safari preferences, it will just not take and revert back to the old homepage once you hit Enter or click out of the address entry field.

The only workaround I've found for this is to delete all profiles (again, even though I don't have any profiles managing the Safari homepage):

sudo profiles -D
Are you sure you want to delete all configuration profiles? [y/n]:y
reboot the computer, and then reinstall (via Munki) all the previously installed profiles (yes, including the set-once profile for Safari that was installed before)... and then I'm able to change the homepage on the client manually. Very bizarre.

Also, after testing on a couple of other clients, there do seem to be situations in which the Safari profile was never set at all, and you still can't modify the homepage, even after deleting any other profiles and rebooting, and it's not account-specific either (freshly created account experiences it, too). It's a real head-scratcher.

Using startosinstall to install a macOS upgrade with Munki

Update: The instructions below will be obsolete once Munki 3 is released. More details on the Munki 3 implementation can be found on the Munki wiki.

createOSXinstallPkg is a great project for making an Apple macOS installer into a .pkg you can deploy with Munki.

Apple did some things to break that process for 10.12.4. People are in the process of finding workarounds for it.

One option is to use the built-in startosinstall tool that comes with the installer bundle.

If you import the bundle into Munki, you'll want to have both a preinstall_script and a postinstall_script.

The preinstall_script checks to make sure there aren't other updates pending, since startosinstall will run its own reboot independent of Munki. The pending updates should be 1 (it's the only 1) or 0 (it was part of a set of updates that did complete and then the pending updates cleared, and you're trying again):

#!/bin/bash

# Make sure there is only one pending update (this one)
pending_count=$(defaults read /Library/Preferences/ManagedInstalls PendingUpdateCount)

# If it's 1 or 0, we're good to go
if [ "$pending_count" == 1 ] || [ "$pending_count" == 0 ]; then

exit 0

else

# Otherwise, abort the installation
exit 1

fi
The postinstall_script does the actual install:
#!/bin/bash

sudo "/Applications/Install macOS Sierra.app/Contents/Resources/startosinstall" --applicationpath "/Applications/Install macOS Sierra.app" --agreetolicense --nointeraction
Just as you would with a normal OS upgrade item, you want the installs array to reflect the OS version (not the presence of the installer bundle in the /Applications folder), and you want to mark this as an Apple item. (Check the Munki wiki for more details about those two things.)

P.S. There is now a recommendation on the createOSXinstallPkg README to upgrade using 10.12.3 or investigate using startosinstall.

P.P.S It's possible, instead of my funky workaround with the preinstall_script, that you could use the --pidtosignal option instead with Munki. Here's an example using JAMF.

P.P.P.S. Looks as if Greg Neagle has started working on integrating startosinstall into Munki "natively"—yes!

Seashore breaks with Sierra; use GIMP (or Photoshop) instead

For many years, GIMP didn't have native macOS support (you needed X11 to make it work). Seashore wasn't as fully featured as GIMP, but it was native. As of Sierra (macOS 10.12), Seashore just crashes when you try to launch it. R.I.P., Seashore.

Fortunately, if you're looking for a free alternative to Photoshop, GIMP is still around, and it's now native to macOS.

Making a fake upgrade installer for Mac OS X

Recently, Apple switched to making the Sierra upgrade installer autodownload for users who have general autodownloads enabled.

If you want to discourage (but not prevent, especially if the users have admin privileges on their own machines) people from accidentally upgrading before you've had a chance to fully test Sierra (or any subsequent macOS releases), you can push (via Munki, for example) a fake installer.

For this, I just use Automator.

fakeupgrade01 When you launch up Automator, it will ask what you want to create. Instead of a Workflow, create an Application.

fakeupgrade02 Then find Display Notification and drag it over to the right side of the window and put in your notification message.

Save your "application" as Install macOS Sierra.app (or in subsequent years, whatever the new name of the macOS installer is).

fakeupgrade03 Cmd-I (Get Info) on the real installer and then copy the installer's icon to the Cmd-I (Get Info) on your fake installer.

Go ahead and deploy your fake installer by your usual means for managing your Mac fleet.

fakeupgrade04 Then when users double-click the "installer," it will launch up your warning message instead.

Printopia Pro unofficially supports macOS Sierra

The last word Decisive Tactics has on Printopia Pro (as of this writing) is there were some fixes in June for issues in 10.7:
Printopia Pro Release Notes

Just in case anyone's curious, I loaded Printopia Pro on a Mac running Sierra (10.12), and it's running just fine. No official word from Decisive Tactics, but it works, in case you're itching to upgrade (I can't make guarantees—I can just attest to one scenario in which it works).