13 ms·
Will they update the unix layer? A lot of the CLI tools there are positively prehistoric. Maybe while they're at it they can add a real package manager too.
by spitfire 10y ago
Will they update the unix layer? A lot of the CLI tools there are positively prehistoric.
Maybe while they're at it they can add a real package manager too.
- bigdubs 10y agohttps://github.com/Homebrew/homebrew-dupes https://github.com/Homebrew/homebrew-dupes is your friend.
- peterbraden 10y agoIs there a way to replace all of them in one move?
- rcthompson 10y agoJust install all the formulae from that repository, I'd assume. They all replace some system-provided tool. I believe they install the binaries to a separate directory that you need to prepend to your $PATH in order to get your shell to default to the updated versions.
- zymhan 10y agoYou can't really replace the underlying tools, you'd want to install the new versions in a different folder and update your Environment to point to those executables. EDIT: I'm wrong, didn't realize homebrew-dupes actually is meant to replace the OS X utils.
- peterbraden 10y agoWhy not replace? If there's a security flaw, I want those versions gone. EDIT: you edited :)
- StevePerkins 10y agoSo effectively, it's only one step better than installing Cygwin on a Windows machine? Can someone please remind me again why the MacBook is such a preffered machine for software development? For years I've been told, "You get a shell!", and "It's UNIX under the covers", etc. Except that the shell userspace is antiquated, and the UNIX flavor is BSD rather than Linux. Meaning that I'm just as out-of-sync with my target server as if I were on a Windows machine, I still have to run Docker through a VM layer, etc. Don't get me wrong, the hardware is excellant. But the software is even more locked-down and less customizable than the MS world... and just skipping the middle man and installing Linux directly is a 10x better developer experience than both.
- robotresearcher 10y agoI agree with most of your grumbles. > Can someone please remind me again why the MacBook is such a preffered machine for software development? For me, the greatest battery life and trackpad money can buy.
- insulanian 10y ago100x this. I actually could not imagine going back to mouse anymore.
- netheril96 10y ago> Except that the shell userspace is antiquated, and the UNIX flavor is BSD rather than Linux. Few people use advanced features of those utilities. As a result, these two points don't make any difference. At least for me.
- matt4077 10y agoI just don't get this complaint. Run brew install <package>, add a folder to PATH. Done. Anything somewhat popular (vim/git/python/ruby/graphviz, imagemagick...) is usually updated after a day and I don't remember the last time it gave me any trouble. The comparison with Windows simply doesn't work. Unix software compiles on OS X out-of-the-box. It doesn't on Windows. The conventions (pathnames, line endings, CLIs, time zones) are either the same or compatible, on Windows they're not.
- nu2ycombinator 10y agoYes you can do. use "brew install coreutils"
- Razengan 10y agoSome may prefer Nix: http://nixos.org/nix/ http://nixos.org/nix/
- Razengan 10y agoHN discussion: https://news.ycombinator.com/item?id=11772686 https://news.ycombinator.com/item?id=11772686
- dilap 10y agonix seems really interesting & the 'right way' to do things. but strangely, i don't really* have problems with homebrew -- maybe because it has the luxury of being built on top of a stable, known system. *i have had problems with python. i always have problems with python.
- knd775 10y agoDoes anyone know if this is a bad idea? Like do any of the system provided utilities do anything special in OS X that will be broken if they are replaced? I'd like to do install these replacements, but am concerned about possible side effects.
- marcosscriven 10y agoIn the case of Homebrew, it'll install things to 'usr/local/Cellar', and symlink them from /usr/local, leaving the OS X tools in place in /usr/bin
- x0 10y agoBy default, it will append a "g" to all the coreutils at least, like ls -> gls, sed -> gsed, etc. And things that are already default on OS X, like curl, perl etc, will not be symlinked into /usr/local unless you force it. But personally, I changed my coreutils over a year ago to the GNU ones (via symlinks), and I force link every single package, I've never had a single issue. Though our use cases may be different, and you may have issues. In which case you can just `brew unlink $package`.
- mrswag 10y ago> Will they update the unix layer? A lot of the CLI tools there are positively prehistoric. They won't, they don't want to touch any GPLv3 code.
- giancarlostoro 10y agoWhat do BSD distros use?
- teamhappy 10y agoYou got to be a bit more specific. --- edit --- They all have their own version of the "GNU core utilities". BSD make instead of GNU make. less(1) is dual-licensed (I think) so everybody uses the same (OpenBSD has forked it recently though). FreeBSD's default shell is tcsh, OpenBSD uses a fork of pdksh. If you want bash then you have to install it from ports. Most of OS X's userland comes from FreeBSD (except for bash and make) and I think they keep it reasonably up to date.
- giancarlostoro 10y agoSorry, I meant two things: License used for their tools and if they used any tools that aren't 'GNU specific' at all.
- teamhappy 10y agoMost of it is BSD-style licensed, some (less and ssh for example) are dual-licensed, and very few are GPLv2 (the old versions of make, bash, and emacs; but also current git). vim is licensed under a custom GPLv2-style license. A lot of GPLv2 code now uses GPLv3 (all the GNU tools obviously) and Apple (and others too) doesn't want to ship GPLv3 code. Almost all of the userland comes from FreeBSD. Even stuff that Apple could take directly from OpenBSD for example.
- amk_ 10y agohttp://distrowatch.com/table.php?distribution=freebsd http://distrowatch.com/table.php?distribution=freebsd They are able to distribute GPL v3 code because they way it is packaged complies with the terms of the license.
- amk_ 10y agoMostly not, due to licensing. The GNU utils that transitioned to GPL v3 (eg Bash) are kind of stuck there in 2007.
- allengeorge 10y agoI don't understand. What is it about the licensing of _user space_ tools that prevent their being used?
- Sanddancer 10y agoThe new clauses in the GPLv3 bring up legal questions that some teams would rather just not deal with, even as user space tools. As such, Apple has decided to avoid potential legal headaches and stick with tools under better understood licenses. Most of the BSDs have stuck with GPLv2 stuff, with FreeBSD actively working to replace the few bits and pieces of GPLed code in their base system with code that is under the BSD or other liberal licenses.
- jordigh 10y agoNothing. Apple is just being overly paranoid or hoping to some day do things that GPLv3 won't allow them to do. Microsoft, Facebook, Google, Intel, IBM; all of these companies have some interaction with GPLv3, but Apple staunchly refuses to even touch it. It's a real pity, because Apple's popularity is sending some message that GPLv3 is poisonous, when it reality it's only a problem for them because they chose to make it a problem for themselves.
- netheril96 10y ago> because Apple's popularity is sending some message that GPLv3 is poisonous Doesn't Linus' refusal of GPL3 damage its reputation much greater than Apple?
- jordigh 10y agoThe Linux devs publicly denounced an early draft of GPLv3 and never reconsidered the question. Yeah, I think they just didn't feel like trying to understand it, and Linus's own anti-FSF attitude spreads to his followers.
- 0942v8653 10y agoI definitely feel this pain too, but: They can't upgrade to recent GNU tools (bash is the one most people complain about) because of the GPLv3. And I feel their developer manpower is better spent on fixing OS bugs at this point. These issues are better fixed by developers less encumbered by the closed-sourceness of OS X.
- jkeler 10y ago> They can't upgrade to recent GNU tools because of the GPLv3. They can but it is their choice not to use GPLv3 tools.
- 0942v8653 10y agoDoesn't SIP cause issues with the TiVoization clause? I guess I'm not an expert on this, but it's possible Apple wants to leave the possibility open of making SIP mandatory.
- waterphone 10y agoAn OS with mandatory SIP will be the point I stop upgrading. I'm fine with optional features like this, but the instant it becomes mandatory and can't be bypassed I'm gone.
- stephenr 10y agoBye.
- giovannibajo1 10y agoThe decision of not shipping GPLv3 user space tools predates SIP by several years, far more than I would bet SIP has been in development. I think it's just a legal issue as in lawyers don't want to touch it period
- spitfire 10y agoThey can't find or build alternatives? they could have the same impact at the Unix level that they've had on the high-level GUI. It could certainly use it.
- sidcool 10y agoDitto, this is supposed to be a Developers' event.
- masklinn 10y agoThe keynote almost always has loads of end-user stuff, that's not new.
- deleted 10y ago[deleted]
- mdaniel 10y ago> Maybe while they're at it they can add a real package manager too. Contrary to those who suggested Brew, I stand by your request: de-installing anything that went in as a .pkg is a .pita and Apple doesn't provide, as best I can tell, any mechanism short of the author providing its own "Uninstall.app" to remove software. I've gotten very close by scripting some of the `pkgutil` output, but it's nowhere near `apt-get remove` and friends.
- yoz-y 10y agoI think Apple's idea of a package manager is the App Store. Since they do not screw with /usr/local in any way stuff like brew and ports is a quite good alternative to a first party solution. I just hope they will not start screwing with /usr/local
- pjmlp 10y agoTheir tools are up to date with POSIX UNIX certification, just not with GNU extra goodies.