5 ms·
I've been forcefully switched to OS X recently because work, and overall it's been pretty great (I view it as a well-integrated UI over FreeBSD). A couple of th
by AceJohnny2 11y ago
I've been forcefully switched to OS X recently because work, and overall it's been pretty great (I view it as a well-integrated UI over FreeBSD). A couple of things drive me nuts though:
* (the window manager sucks, but that's not the topic. I had to get it out)
* it needs a good package manager
For us ol' bearded folk (at least spiritually), OS X comes with a slew of unix tools we love. It already includes both vim AND emacs! However, these tools are hopelessly outdated: Despite OS X 10.11 "El Capitan" coming out last fall, Vim is still 7.3 (that's from August 2010. 2010!), and Emacs 22 (2007. That's right.)
So some enterprising folk come to the rescue: Fink, Homebrew, Macports...
Homebrew installs over /usr, so come the next OS update, all that gets squashed. Macports installs into /opt/local, but somehow doesn't survive an OS update. Also, when I tried installing SciPy it went and recompiled GCC4 from source. Guys, the 90s called, and it's been shown that recompiling from source for each user isn't worth the effort.
Apple gave MacPorts some support in the form of equipment, so there's some hints of their preferred method. But the core WTF is this: why doesn't OSX integrate a package manager for its unixy side?
- wlesieutre 11y agoGiven both the outdated vim/emacs/etc. releases and they've handled the Mac App Store, would you want Apple to be running the platform's main package manager? Do I wish the 3rd party ones could be better integrated with the OS? Sure. But I'm definitely thankful it isn't Apple calling the shots (or more likely, releasing it and then refusing to call any shots at all for 8 years).
- cdbattags 11y agoThey've actually separated out usr/local from all the security stuff leaving Homebrew free and clear for the next OS update
- masklinn 11y ago> For us ol' bearded folk (at least spiritually), OS X comes with a slew of unix tools we love. It already includes both vim AND emacs! However, these tools are hopelessly outdated: Despite OS X 10.11 "El Capitan" coming out last fall, Vim is still 7.3 (that's from August 2010. 2010!), and Emacs 22 (2007. That's right.) And that's way more up to date than it used to be. > Apple gave MacPorts some support in the form of equipment, so there's some hints of their preferred method. But the core WTF is this: why doesn't OSX integrate a package manager for its unixy side? Yeah who hasn't dreamt of a package manager handled like MAS. I'd be happy if Apple helped package managers more, contributed (financially) to them and better took them in account or discussed stuff with them wrt major releases (see: Yosemite homebew woes), but I'm really quite glad the community is completely in charge of macports or homebrew or nix.
- derefr 11y agoWhat'd be really interesting is if MAS was rebuilt on top of a package manager. That'd solve both the lack of package management, and most of the MAS's woes. (In that you could probably just install MAS apps from the command line, and if nothing else, you could just build an alternate GUI around that.)
- masklinn 11y ago> What'd be really interesting is if MAS was rebuilt on top of a package manager. That'd solve both the lack of package management, and most of the MAS's woes. I don't see how it'd solve the primary MAS woes of horrible contributor/developer experience, uncaring maintainership and inflexible sandboxing.
- derefr 11y ago> horrible contributor/developer experience, uncaring maintainership I was imagining a package manager with the standard kind of "add whatever sources to your sources list you like" model, as most Linux distros have. If the MAS was rebuilt in terms of this, then presumably adding a custom package source would make custom apps (which, after all, are just packages) show up in the MAS app for selection as well, just as they'd show up in e.g. Ubuntu Software Center. Apple would only control their app/package source. The interesting question is whether someone would be able to list an app in their third-party source as costing money—and, if so, how that would work, and where payment would go. Maybe each "source" could come with a payment processor token for the MAS client to interact with, additional APIs to let the MAS app grab payment receipts from your source server, etc. In other words, you'd be hosting less of a "package management repo" and more of a "store server with built-in package CDN"—but that's not too big of a change. Now, I wouldn't expect Apple to actually go this far, but it'd be in line with their current philosophy on enterprise app distribution. Apple really really dislike third-party "app store" apps, third-party "updater" daemon apps, etc.; they would much rather build infrastructure to obviate your enterprise's horrible custom solution than try to have their CSRs understand and support it for you. I could see them building this thing if Microsoft, Adobe, etc. all bugged them to for long enough. And then you as an indie developer could take advantage of it by setting up a PPA-alike (and someone could create the equivalent of Launchpad to host yours and everyone else's.)
- eridius 11y agoHomebrew installs in /usr/local, not in /usr, and OS updates never touch /usr/local. And if you're paranoid, you can instruct Homebrew to install somewhere else instead.
- masklinn 11y ago> OS updates never touch /usr/local. That's not entirely true. A relatively widespread issue during 10.10 (Yosemite) updates was the installer seemingly locking up and actually moving all the files in /usr/local one by one to then from a backup location veeeery slowly, potentially taking >12h to complete the update rather than a pair of.
- eridius 11y agoI heard people mentioning that (for 10.11 btw, not 10.10), but I never saw anyone give any reason for believing that that's what the installer was doing. Furthermore, I had a pretty extensive /usr/local Homebrew installation and my update to 10.11 completed in the expected time. Besides, even if the installer did do that, the resulting updated OS still had all the same contents in /usr/local. As far as I'm aware, the only change OS updates have ever made to the /usr/local folder is resetting permissions back to root:wheel.
- masklinn 11y ago> I heard people mentioning that (for 10.11 btw, not 10.10), but I never saw anyone give any reason for believing that that's what the installer was doing. because that's exactly what the logs showed it doing: https://discussions.apple.com/message/26856483#26856483 https://discussions.apple.com/message/26856483#26856483 and because the preemptive fix (if you hadn't started the update yet) was moving /usr/local's content elsewhere: https://jimlindley.com/blog/yosemite-upgrade-homebrew-tips/ https://jimlindley.com/blog/yosemite-upgrade-homebrew-tips/ And it was for 10.10. I'm sure people who'd been bitten (or had avoided it through the procedure above) repeated it for 10.11 reflexively or just in case, but the issue was the 10.10 upgrade.
- OJFord 11y ago> the core WTF is this: why doesn't OSX integrate a > package manager for its unixy side? They could, but my guess would be that they don't want friendly-looking tutorials (i.e. ones that the average user wouldn't be scared to follow) saying: > Ah, you just need to update your packages; install foo: > macman -Syu && macman -S foo They don't want to 'have to' offer support for average users accidentally doing 'power user' things, because they were built in.
- JonathonW 11y agoExcept there are lots of other "power user" things that are built in. Where do you draw the line? It's more likely that they just consider package management out of scope for their part of development-- something that benefits too few people to be worth the cost. Seems to have paid off, too-- package management has been well-handled on OSX for a long time, both through semi-sanctioned projects like MacPorts (which is community-developed but is hosted by Apple) and through community projects like Fink and Homebrew.
- OJFord 11y ago> there are lots of other "power user" things that are > built in Can you think of any that were they not there, they would still implement today? I thought someone might bring up AppleScript - but I think that's a relic of every user being a 'power user', and personally I really doubt it'd be created today if it didn't already exist; it probably doesn't take much to keep it around now that it is.
- ksherlock 11y agoI used macports through two or three upgrades before switching to home-brew last year. Switching was one of the best decisions I ever made. In terms of MacOS package managers -- in the grand scheme of things it's not really a big deal. First world problems, right? MacPorts is very, umm, opinionated. And doesn't seem to trust anything outside of itself. And has some weird opinions, too. Example: For some reason, svn is a dependency for nmap. Forgot those gravity waves, the next nobel prize belongs to whoever can figure out why a network scanner depends on an obsolete version control system. So macports installs a shiny new version of svn. Which doesn't play nice with the svn that Xcode uses. Overtime I run (macport) svn from the command line it tells me to upgrade my repository, which breaks the Xcode svn.
- draebek 11y agoLooks like Subversion is required by nmap-update, part of nmap. http://man7.org/linux/man-pages/man1/nmap-update.1.html http://man7.org/linux/man-pages/man1/nmap-update.1.html
- EvanPlaice 11y agoFor the window manager, Hyperdock supports snap to half (top/bottom or left/right) and quarter screen. Mission control can be used for virtual desktops. I use ctrl-left and ctrl-right to switch virtual desktops. Can't remember if that's the default or if I used custom keybinding. There are a bunch of other window management keybindings that can be found in the OSX System Preferences.
- tjl 11y agoThis kind of stuff is why I abandoned MacPorts. In many cases, I can get by with the system software and I don't need MacPorts to install a duplicate of something. I found that it was taking up a lot of space on my drive. Given that my main drives are relatively small SSDs, I appreciate that Homebrew doesn't require that I switch to a different version of a system tool in many cases. The worst offender for MacPorts was TeX. I had an official install the latest version from TeX Live and MacPorts wanted to install a second version of TeX. I think they fixed it so you can use a TeX Live version, but it was definitely an issue.
- jsz0 11y ago> the window manager sucks If you like tiling window managers Amethyst is worth checking out. It's a little unpredictable sometimes but otherwise it works well.
- suprfnk 11y ago> * (the window manager sucks, but that's not the topic. I had to get it out) Agree. I really like Spectacle (https://www.spectacleapp.com/ https://www.spectacleapp.com/) for window management on OS X. As a bonus, it's open source. (https://github.com/eczarny/spectacle https://github.com/eczarny/spectacle)