Slashdot Mirror


Porting Unix Command-Line Tools to Mac OS X

An anonymous reader writes "Over at Apple has posted a technote on porting Unix programs to Mac OS X. Nothing earth-shattering, but nice to see it all collected."

39 of 92 comments (clear)

  1. So by Znonymous+Coward · · Score: 3, Insightful

    Why don't they just do it their selves and add more value to their "distro"? They could easly take all the popular GNU tools and port them to Darwin. Then we wouldn't need to use fink.

    --

    Karma: The shiznight, mostly because I am the Drizzle.

    1. Re:So by pauljlucas · · Score: 3, Insightful
      Why don't they just do it their selves and add more value to their "distro"?
      Because their target market isn't geeks. There are far more users who couldn't care less about GNU tools and never want to see a command-line.
      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    2. Re:So by Knife_Edge · · Score: 2, Insightful

      I suppose it is true that most Apple users could care less about the command line. I am not one of them - If OS X did not support the command line as well as it did, I would be using Linux as my desktop. As it is, I have been annoyed on several occassions that the BSD command line utilities Apple provides lacked some feature that the GNU utilities have (I recall just replacing Apple's 'ls' with the GNU equivalent outright). At the same time, I don't want to mess with Fink, it introduces complexity. For example, having two sets of binaries in different places doesn't mean you can run shell scripts without changing them if they were written expecting one set to be somewhere it isn't. I'd much rather that Apple just installed the GNU stuff by default. But again, maybe that doesn't cater to their target market.

      I see myself eventually going back to Linux anyway since it offers users much more control over their system than even Apple is willing to allow. The problem of the situation is that Apple does have to cater to a target market, whereas in Linux you can just assemble your system to do what you want.

    3. Re:So by Znonymous+Coward · · Score: 3, Interesting

      Because their target market isn't geeks.

      Then why are they selling servers?

      There are far more users who couldn't care less about GNU tools and never want to see a command-line.

      If they put the GNU tools there, non geeks would never know about it.

      --

      Karma: The shiznight, mostly because I am the Drizzle.

    4. Re:So by drauh · · Score: 3, Insightful

      Because they'd be replicating effort by the Fink people, and that without adding value. When it is possible to add value, they have ported "standard" Unix software, the big example being XFree86 which they hacked to take advantage of the Quartz rendering engine.

      --
      This is a tautology.
    5. Re:So by Znonymous+Coward · · Score: 4, Insightful

      Then there's no point in paying Apple employees to work on porting the stuff.

      Yes there is, it's called value added software. It wouldn't cost very much to do it. Then maybe more geeks would buy macs.

      And don't tell me that geeks don't like macs. If they didn't, there wouldn't be a apple.slashdot.org

      nuff said

      --

      Karma: The shiznight, mostly because I am the Drizzle.

    6. Re:So by Lars+T. · · Score: 3, Insightful

      Only geeks buy servers?

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    7. Re:So by Lars+T. · · Score: 4, Funny

      because RMS would demand to put GNU in front of any product they sell. GNU/Mac OS X, GNU/iMac ...

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    8. Re:So by pauljlucas · · Score: 3, Insightful
      If Fink keeps building up steam ..., maybe that will convince Apple that it's worthwhile to support a few staffers to start porting UNIX cl tools to OS X.
      Why pay for the cow when you can get the milk for free? I'm sure those volunteering for Fink will continue to do so without being paid by Apple. A benefit is that Apple doesn't have to support anything done by Fink, including technical support calls.
      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    9. Re:So by anothy · · Score: 5, Insightful
      first:
      I have been annoyed on several occassions that the BSD command line utilities Apple provides lacked some feature that the GNU utilities have (I recall just replacing Apple's 'ls' with the GNU equivalent outright).
      then, in the very next sentance:
      At the same time, I don't want to mess with Fink, it introduces complexity.
      and, just to close it up:
      I'd much rather that Apple just installed the GNU stuff by default.
      man! i've got mod points, and i almost moderated this funny, but i wanted to make sure people got it. you don't want extra complexity, but you prefer the GNU tools to the BSD tools? y'er kiddin', right? how on earth can anyone make sense of that? the GNU tools are, on average, dramatically more complicated than the BSD tools. i used to build Linux boxes that dumped the GNU tools in favor of the BSD tools. then i got annoyed with the GNU C library and tried swapping that out. halfway through the project of rebuilding everything so that it didn't have the stupid glibc dependancies, i got fed up and went back to a BSD system - because the tools were so much simpler. Apple made a great decision in using the BSD tools rather than the GNU tools (license questions aside).

      oh, and as a parting kick:
      ...in Linux you can just assemble your system to do what you want.
      right. yup. unless you want it to be a good desktop system.
      --

      i speak for myself and those who like what i say.
    10. Re:So by phillyclaude · · Score: 2, Insightful

      besides, its not like its that hard to install fink, considering the level of user that is going to miss the additional utilities. Sheesh, if Apple had included everything out of the box, people would be complaining that apple forced one set of tools on their users
      -Claude

      --
      A computer without a Microsoft operating system is like a dog without bricks tied to its head
    11. Re:So by WatertonMan · · Score: 4, Insightful
      Those who are able to recognize the difference between GNU versions of the BSD utilities are savvy enough to install the GNU utilities or Fink. If you don't like Fink check out Darwinports which is a different approach to the issue. It sounds more like what you want. A lot of us prefer having all the custom source code in /sw rather than replacing the standard BSD stuff from Apple so that we have access to both.

      DarwinPorts

    12. Re:So by WatertonMan · · Score: 4, Informative
      A lot of porting is done by Apple employees. Just not necessary at Apple's request. This limits how much support Apple has to provide for these opensource projects and also limits their liability if something goes wrong. Quoting from the opendarwin page, "many OpenDarwin members are either Apple employees or Darwin Committers, who have an active interest in merging technologies from OpenDarwin.org into Darwin and Mac OS X releases. With OpenDarwin, project members have greater latitude in producing incremental updates or interim releases of Darwin. The mission of the OpenDarwin project is to innovate and explore new technologies while still remaining relevant, through its informal connection to www.opensource.apple.com, to the mainstream computing environments that Apple provides. It complements Apple's infrastructure by allowing increased participation by the community."

      As to the choice of BSD or GNU standard tools, that's a bit of a personal preference. However since Darwin is based on BSD (with a lot of FreeBSD of late) rather than Linux it shouldn't be surprising that it retains its tools. That is more in keeping with its BSD roots.

      As I mentioned elsewhere if you are savvy enough to recognize the difference in the tools you ought to be savvy enough to build the GNU versions of the tools.

    13. Re:So by HSpirit · · Score: 2, Interesting

      I'm the Graphic Designer/IT Guy in a small advertising agency. MacOSX has allowed me to create - entirely for free - our own mail server (fetchmail-sendmail-qpopper), internal job versioning and approval system (Apache-WebDAV), internal messaging application (Apache-perl), firewall (ipfw), remote login (OpenSSH) and probably a myriad of smaller applications that I use without thinking about everyday, all from ported GNU/BSD command-line apps...

      ...all on the same machine that runs our core-business GUI apps: Photoshop, QuarkXPress [unfortunately a hangover from our previous OS9 use] and Acrobat.

      I say horray to the command-line :)

    14. Re:So by Ponty · · Score: 2, Funny

      You mean we'd be able to buy GNU/eMacs in stores?

  2. its about iTime. by Beatbyte · · Score: 3, Interesting

    its about time. i figured with the BSD core they would be a lot quicker at it than this.

    Especially trying to support some new servers

    Either way, this may help the adoption of the Apple into the IT industry a little more.

    It'll be interesting to see whether or not they're included into the next release of X.

    1. Re:its about iTime. by Van+Halen · · Score: 2, Informative

      This is just an update of an older document, probably for Jaguar. Checking my bookmarks, the old url is now gone. I recall checking it in the last few weeks, so clearly it was just moved and updated.

  3. Troll Nostalgia (was:petrified natalie portman) by hkon · · Score: 3, Funny

    stuffing hot grits down my pants while watching *BSD die.


    What is this? Retro-trolling? If you're trying to keep up with the latest trolling trends at least make the hot grits stuff you down its pants or something.

  4. Re:Makes Mac OS easier to use! by feldsteins · · Score: 4, Insightful

    You seem to think this story represents some kind of "move" that it does not. I'm guessing you're not all that familiar with OS X. Fro example, there is no "hiding" of the command line. There's an application called "Terminal" that, when launched, gives you a standard tcsh command line. It no more "hidden" than their "add a printer" utility.

    I recommend you try OS X sometime. You might like it. At the very least you'll understand a little more than it's a bona fide Unix operating system and hasn't been "dumbed down" as you seem to imply.

    --
    You like your Macintosh better than me, don't you Dave? Dave? Can you hear me Dave?
  5. The Point. by jellomizer · · Score: 4, Insightful

    The reason I use OS X is basicly because I have access to the UNIX command-line tools and I can usually easily port them to OS X. OS X has a nice set of application that are comericalially available Like Photoshop (I know the gimp is close but Photoshop works better for me) so I can do my Unix stuff at the command line and have access to some good comerical software. It is like having the best of both worlds. That and sometimes having the ability to pipe information is really good.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:The Point. by pressman · · Score: 2

      I essentially agree with you, but beg to differ on one point. The GIMP is light years away from being a real competitor to Photoshop. I could list the palces where GIMP falls flat on it's face, but I have to get back to doing some actual work in Photoshop. Plus, this war has been waged many many times here.

      --
      Pooty tweet
  6. Err, it's a BSD system, not a GNU system. by Anonymous Coward · · Score: 4, Insightful

    It used BSD tools, not GNU tools.

    Deal with it.

  7. Re:Makes Mac OS easier to use! by Anonymous Coward · · Score: 2, Insightful

    It hides the command line about as much as a KDE system hides the command line

    Open the terminal app and there's a BSD command line/Open Konsole and there's a Linux command line

    Login to a console instead of Aqua and there's a command line/Login to a console instead of XFree86 and there's a command line

  8. Re:Makes Mac OS easier to use! by BigBir3d · · Score: 3, Interesting

    I believe the AC was trying to poke fun at Microsoft for moving away from command line while at the same time Apple is moving towards it. Compare Windows 98 to XP and OS 9 to OS X.

  9. Re:what's the point? by Anonymous Coward · · Score: 3, Insightful

    You seem to be under the mistaken impression that a UNIX OS cannot have useful well written applications or it's not a unix. That kind of false restriction on development is one of the things that's kept unix boxes in the desktop backwaters for decades. OSX has both worlds, and does it quite simply because those worlds are not exclusive. Open up OSX and run a terminal window or console login. hell, run 5 of the things and you're in as geeky a land as any Linux system. On the other hand, run Safari, Office v.X, Dreamweaver, Photoshop and Pro Tools if you like - and there's your polished slick app land.

    There is nothing whatsoever preventing you from doing both if you need, or even mixing further. My OSX runs OSX only apps (in Aqua), fink apps including GNU commandline utils, KDE, Gnome and macos Classic apps, all at the one time. It's the most flexible mix I've ever used in 20 years of my computing experience.

  10. Re:what's the point? by Matthias+Wiesmann · · Score: 4, Informative
    do you really think they , mac users , will accustom them to m4 , groff , epn etc or anything built upon them?
    Actually, there are many nice OS X applications that are build around unix programs:
    • Texshop is a wrapper around Latex.
    • cocoaspell is a wrapper around the Unix spell checker aspell
    • GPG Mail is a wrapper around the Gnu PGP implementation so that Mail.app can handle PGP.
    Those are just the first that came to my mind, there are many others. The fact that program interfaces are different does not mean that porting applications and components is useless, it simply means that a new interface will be needed.

    The intersting thing is that the service menu is something very Unixish, many command line utilities would make good services. For those that don't know OS X, services are components that take the current selection and apply some treatement on them. There are services that search google, do text transformation, ec...

  11. Unix tools... already ported! by 1155 · · Score: 5, Informative

    Well, if your a unix head, using a mac, and have been under a rock for a long time, here ya go


    http://www.osxgnu.org/ Go here for packages to install.

    http://fink.sf.net Wow, apt-get for os x

    http://finkcommander.sf.net Wow, a gui for fink

    http://www.apple.com/downloads/macosx/apple/x11for macosx.html An x11 server that uses quartz extreme (or whatever you want to call it)


    There are many other things to use, too

    1. Re:Unix tools... already ported! by goon+america · · Score: 4, Informative
      Apple keeps some contributed ports for download here:

      http://www.apple.com/downloads/macosx/unix_open_so urce/

  12. Re:Makes Mac OS easier to use! by kalidasa · · Score: 4, Interesting

    I believe the AC was trying to poke fun at Microsoft for moving away from command line while at the same time Apple is moving towards it. Compare Windows 98 to XP and OS 9 to OS X.

    I don't. I think the AC doesn't yet know the difference between a command line interface and a command line tool. He'll learn, he's in the right place.

    I'd shy away from making the Win98:WinXP::OS9:OSX analogy, if I were you. Too many lusers will take it too literally./p.

  13. Re:what's the point? by jo_ham · · Score: 4, Informative

    I use GPG Mail with Mail.app and it's great, combined with GnuPG for OS X.

    I also use Tiny Fugue in the terminal to connect to a journal community chat server. You need Apple's free Developer Tools to build it though, but it works perfectly.

    I also use NcFTP for all my ftp needs. It used to be included with 10.1.x, but Apple stopped shipping it with 10.2.x, instead favouring the basic BSD ftp, which they improved in Jaguar. I prefer NcFTP though, and had no problems building it from source with the Developer Tools.

    The huge bonus I've found with OS X's terminal is the way it integrates with the "consumer" side of the OS making command line work more conveinent. For example, if I'm not in the mood to drill down into a directory to upload a file in NcFTP I can just drag it onto the terminal after typing "put [space]". I can also command+click links in TF to open them in my browser. These tricks work in the shell too, often handy for perfoming operations on files deeper in directories that I don't want to navigate to by typing them out. (Yes, yes, I'm lazy).

  14. Re:what's the point? by Gropo · · Score: 2, Funny
    False. OSX is not UNIX. It's a proprietary apple OS.
    Crap! What jokester put all this POSIX-compliancy in my "proprietary apple OS"?
    --
    I hate Grammar Nazi's
  15. For those who don't like fink... by daveschroeder · · Score: 4, Informative

    At the same time, I don't want to mess with Fink, it introduces complexity. For example, having two sets of binaries in different places doesn't mean you can run shell scripts without changing them if they were written expecting one set to be somewhere it isn't.

    DarwinPorts

    DarwinPorts FAQ

    Interview with Jordan Hubbard on DarwinPorts (Slashdot article)

  16. Easier solution by js62 · · Score: 2, Interesting

    If you want Unix tools and don't like Apple's, get Yellow Dog Linux and install mac-on-linux. I run my iBook that way and I have instant access to both OS's. No need to reboot to get to the other. OS X runs at near native speeds on top of MOL.

    1. Re:Easier solution by exp(pi*sqrt(163)) · · Score: 2

      Does *everything* run at native speeds under MOL? What about playing DVDs, sound, 3D graphics etc.

      --
      Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
  17. Re:Makes Mac OS easier to use! by Pathwalker · · Score: 2, Interesting

    In versions of MacOS before OSX, the command line was called MPW - you could download it from here.

    Admittedly, installing a development environment is a little overkill to just get a command line, but it would give you one...

  18. Re:Interesting hedge by dadragon · · Score: 3, Informative

    "Currently" supported? What does that mean?

    It means that at one time, there were more archs supported. NeXT/Open Step ran on ix86, m68k, powerpc, mips, sparc, etc.

    It doesn't seem like such a stretch to assume that other architectures are officially not out of the question, with a hedge statement like this one. Very interesting...

    I wouldn't be too surprised if Apple has most of those running internally. I also wouldn't be too surprised if they release a server based on something that isn't powerpc, but the client is out of the question.

    I also wouldn't be too surprised if an unreleased version of Windows 2003 Server runs on PowerPC and MIPS.

    --
    God save our Queen, and Heaven bless The Maple Leaf Forever!
  19. Porting issues by The+Herbaliser · · Score: 2, Insightful

    Have you noticed that Apple tends to only include highly-polished software? There's a reason they built their own KHTML based browser, rather than just porting Konqueror. They have really high standards for the usability of their software, so any non-command-line tool would need to be entirely redesigned to fit their standards, which introduces a lot of work.

    Even for command-line programs, once Apple releases something themselves, they implicitly take responsibility for it. If they start doing half-assed ports, then their whole "it just worked" thing goes down the tubes because if their stuff doesn't work, people will hold it against them. They'd probably have to carefully QA every port they did in extensive detail, and that would be expensive. Then there's technical support, maintaining the ports, etc.

    There's lots of stuff I'd like to see built into darwin, but I can understand why it isn't really their priority. As has been pointed out, most people who need additional command-line tools can get them themselves and I think apple would rather put their energy into making the tools they do have easier to use by building helpful GUI front-ends for those of us who either don't know how to use unix well, or just find it a lot less enjoyable.

  20. GNU? by TheRaven64 · · Score: 2, Funny
    So, the article title is 'Porting Unix Command-Line Tools to Mac OS X', and everyone talks about porting GNU tools to Mac OS X. I thought that the whole point was that GNU's Not Unix?

    Not to moderators: It's a Joke. Laugh.

    --
    I am TheRaven on Soylent News
  21. Re:what's the point? by jo_ham · · Score: 2, Funny

    eek! You're right! I installed OS X 30 days ago and now it's telling me I have to phone Apple, long distance, to "activate" it or somethingwith my Social Security Number, my passport details, my dna, the rights to my first born child and two side orders of onion rings.

    I need to write my term paper and I'm like, bummer, they're engaged.

    OS X is not a Unix like cigarettes don't cause cancer.

    Sure the top layers are proprietary, but the Darwin level is all open source. Hell, you can download it from Apple's site and install it yourself.
    Or install OS X itself and compile all those useful tools designed for BSD-style unix OSes.

    They keep the top levels closed for a reason - to make money, and to ensure that the overall feel of the system stays the same.