Forgot your password?
typodupeerror
Linux Software

FreeBSD Ports for GNU/Linux 294

Posted by michael
from the thirty-two-tetris-variants-and-counting dept.
proclus writes: "GNU-Darwin has provided a special FreeBSD ports tarball (20 Mb) for GNU/Linux users. We have modified the FreeBSD Ports System to bring thousands of free software offerings within the reach of every GNU/Linux user. The system is not fully automated yet, but you can untar it in your home directory and try it. Just follow these directions. This system provides full access to the FreeBSD ports, so that users can compile and install software in their home directories. Root access is not required."
This discussion has been archived. No new comments can be posted.

FreeBSD Ports for GNU/Linux

Comments Filter:
  • I thought that most programs (that are of any use) would compile over on FreeBSD would also compile on Linux and vise versa. Doesn't FreeBSD have the ability to run Linux programs w/the same sort of thing?

    What programs would I seriously want to run that are of FreeBSD fame only? None that I know of.

    What do I know though?
    • Maybe you don't know about them because you aren't a bsd user.
      I'm not a bsd user myself, and I'm curious to see what thas to offer (when I get home from work ;-)
      • Well, actually, this won't provide you with any new programs. What this is really about is giving everybody FreeBSD's version of apt-get-source (from what I understand of Debian).

        My guess is that this tarball differs from the ports tree that's available via cvsup (cvsupXX.freebsd.org, where XX is some number on the interval [1,10]) in that the cvsupped ports contain patches that are FreeBSD specific, while this tarball will have settings more appropriate for Linux, such as /tmp rather than /var/tmp, /usr/bin instead of /usr/local/bin, /etc/rc.d instead of /usr/local/etc/rc.d, et cetera.
    • Seems to me the important thing about the "Ports" system is that it automatically fetches the system and all its dependencies and compiles them in one go.

      THe most annoying thing about dealing with RPMs is that I don't find out until "rpm -i" time that it needs 6 other RPMs.

      Thanks to the Port porters...
      • ahhh, even when I ran RH I rarely used RPM unless I was just so lazy I didn't feel like compiling (usually for large libraries, etc)

        I just don't see the point to this. 20mb seems like a lot of space to waste to run applications that should be ported to both OSs anyway.
      • If you go here [rpmfind.net] and search for any particular RPM, you can see what it needs before downloading it.
        • ...and then, you can follow each link to find out what new dependencies you'll have to satisfy. And so on, ad nauseaum.

          On the Debian system I put together last week (a near-minimal install), I typed "apt-get install mailman" this morning. A second later, it responded by saying would also need to fetch apache, apache-base, and python-base, and did I still want to continue?

          Speaking as a former RedHat user (and a guy who has logged many hours poring over rpmfind.net), I have to say that apt-get is really easy to get used to.
    • It's the system of installing the software not the software itself.
      Installing a program using the ports tree is as simple as:
      #cd /usr/ports/foo/bar
      #make install clean

      The source is downloaded from one of a list of servers and so are any dependancies. Everything gets compiled and installed and the source code and whatnot is cleaned up afterwards.
      It's one of the biggest reasons I love FreeBSD so much.
      • I have Debian.

        apt-get update
        apt-get upgrade

        no wasted time compiling, knows the dependencies I need, and it does everything for me.

        that's just my opinion though.
        • I'm a Debian user too, and I dearly love apt-get, but I must say, I've often wished for something like FreeBSD's ports system for the times when I need to compile something myself. I know about--and use--apt-get source, but it's not aware of dependencies (FreeBSD ports is, as I recall), it's harder to do customized configurations (thought I suspect this is a result of my own stupidity), and it won't install packages into your home directory.
          • I know about--and use--apt-get source, but it's not aware of dependencies [...]

            Actually, I think apt-get -b source will follow build dependencies (the Build-Depends: line in debian/control), which IINM is essentially the same thing that the ports are doing. Of course, it will also try to compile the package immediately after downloading it, which is counterproductive if you wanted to modify the package before building it; it would, I agree be useful to have a more fine-grained option there.

          • Im using APT 0.5.3 and I can do:

            apt-get build-dep

            From the help of apt-get:
            build-dep - Configure build-dependencies for source packages

            This should do pretty mush what ports do!
        • I've recently started using OpenBSD and I had heard how ports and packages were functionally equivalent to Debian's apt-get (with which I am most familiar). I was very disappointed to find out that while packages and ports are nice, they're nowhere near as nice as apt-get.

          First of all with ports, you have to compile everything yourself, which can take a lot of time on slower machines (like my home router/firewall). In the end it just creates an OpenBSD package anyway.

          So I tried packages. They're pre-compiled, like debs, but the pkg_add software is terrible! In order to update a package you have to first remove the package then add it again! And if the package has dependancies you have to remove all the dependancies and re-install them all again! Plus you can't just do a "pkg_add foo," you have to do a "pkg_add ftp://ftp.openbsd.org{blabalbla}/foo-3.17-2.pkg," which means you not only have to know where to get the file, you also have to know the version number and all other information in the filename in advance! Add to this the fact that there's no real comparable substitue to "apt-get update;apt-get upgrade," and it's quite obvious that OpenBSD's packaging system is woefully inadequate.

          I'm not sure if FreeBSD's paackaging system is better, but I was shocked to see just how bad OpenBSD's packaging was. It's too bad, because apart from the packaging management, I love OpenBSD. Perhaps I'll start working "apt-get-izing" OpenBSD. Has anybody else started such a project? It seems badly needed.

          - j
          • They're pre-compiled, like debs, but the pkg_add software is terrible! In order to update a package you have to first remove the package then add it again! And if the package has dependancies you have to remove all the dependancies and re-install them all again!

            The whole point of OpenBSD is that is security oriented. Its this way so you know exactly what's changing on the machine. A dependency that is automatically changed might induce security holes, for example. By doing it this way you can investigate and verify that the software is secure before putting it on the system. So what you want is fine on normal linux boxes but for something you are counting on being secure it isn't so hot.

            Plus you can't just do a "pkg_add foo," you have to do a "pkg_add ftp://ftp.openbsd.org{blabalbla}/foo-3.17-2.pkg," which means you not only have to know where to get the file, you also have to know the version number and all other information in the filename in advance!

            The solution is trivial, ftp the package to your drive, then type pkg_add foo{tab}. All done!
          • Re:OpenBSD packaging (Score:2, Informative)

            by Tony-A (29931)
            ftp> get foo "|pkg_add -v -"
            The trick is to do pkg_add inside of ftp instead of ftp inside of pkg_add.
          • The Ports system is great on non-x86 hardware. I run NetBSD on an old Power Mac. It used to run Linux (various distros). I frequently cound't find pre-compiled stuff, and compiling myself often failed. I've yet to have any installation via the Ports system fail on me.
          • Point taken, to some extent, but for FreeBSD, there's pkg_update [freebsd.org].

        • Compile flags (Score:3, Informative)

          by flynn_nrg (266463)
          I prefer to compile with these options in my /etc/make.conf

          CPUTYPE=i686

          This way you automagically have a cc -O -pipe -march=pentiumpro setup so you don't compile for 10 years old 386 cpus.

          Sure, compiling KDE2 will take some time, but who cares, you can continue working while the package builds, thanks God for dual cpus and SCSI disks :)
        • > I have Debian.

          >apt-get update
          >apt-get upgrade

          >no wasted time compiling, knows the dependencies I need, and it does everything for me.



          So do I. The ONLY thing I think apt-get misses is capability to selectively recompile programs for YOUR architecture.
          Debian (I think) is still compiled for 386. Now if you have Athlon 20THz, you miss all the MMX, MMX+, SSE, SSE2, 3DNow!, and all ather nice things.
          Probably your only thing that's compiled for your precious proc. is your kernel. How about glibc, XFree86 and all the other fon things?
          Now THAT'd give you some more edge...

          • While it doesn't do dependancies like ports, the following will do what you want:

            # apt-get install pentium-builder
            # less /usr/share/doc/pentium-builder/README.Debian

            apt-get source whatever -b

            pentium-builder is pretty handy IMHO.
    • The cool thing may not be the software available through ports, but the way that software is distributed for BSD. Their ports system seems to be a pretty neat way of distributing software. I'm mostly a Linux user, but also have several BSD boxen at home. They both have their advantages. It's nice (from my point of view) to see any cross-pollination between the two groups.

      It's all Free UNIX, it's all good. At least that's how I look at it.
      • How is the ports system an improvement over Debian's apt-get system?
        • How is the ports system an improvement over Debian's apt-get system?

          Last I checked, apt-get was great for binary installs, but not so well suited to local compilation. Ports is the equivelant for people that prefer their binaries locally compiled and optimised for their system.

        • The ports collection would come in usefull if apt-get or rpm somehow didn't work properly for you. The ports system seems very robust on my FreeBSD box - it takes a long time to compile some of the larger programs, but after coming back after a long cofee break, I've never encountered a problem. It would be a great backup to have around just in case.

        • by FreeUser (11483) on Friday September 21, 2001 @02:49PM (#2331142)
          How is the ports system an improvement over Debian's apt-get system?

          First, I am a real fan of Debian, apt-get, and am running debian both at work and at home. .deb's and apt-get are IMHO as good as it gets when distributing, managing, and upgrading binary packages.

          What the FreeBSD ports system does which is so cool is get rid of the idea of distributing binaries at all. Instead, you go into the subdirectory corresponding to the program you want and type "make install." Based on the skeleton files present the program source(s) and any patches are downloaded, applied, the program is then compiled against whatever libraries you have on your system (no more "this binary requires glibc version Y but you only have X"), and installs the compiled binary. Furthermore, doing so is as easy as installing a .deb or .rpm, meaning relatively inexperienced users can do this. Dependencies are simpler (you only need what is required to compile the program, and such dependencies are also automatically downloaded and compiled at the same time. You do not need particular software versions based on what the binary was compiled against.)

          Basically, it combines "apt-get source --compile; dpkg -i [new-packages].deb" into "make install," and simplifies the package management/dependency management.

          BSD ports is IMHO the only software management system that in some ways exceeds even debian's approach, but keep in mind there are conceptual differences to the approach (all things source vs. precompiled binaries), so it isn't entirely an apples to apples comparison.
          • So, I'm curious - what happens when you upgrade one of your big system libraries this way? Does the ports system automatically recompile any affected apps, or re-fetch them, or what? Not that I'm saying Debian necessarily handles this any better (I wouldn't know). Heck, at least with a packaging system, you know what the dependencies are for various apps. If everything's built from source, do you even know which apps were built against which library versions?

            • Upgrade a system library in what way? If a library is upgraded to a newly-incompatible API/ABI, the version number will be bumped so everything which used to use it will remain doing so until it is recompiled (and possibly adapted if it used an API in a deprecated way). APIs don't usually get deprecated, but ABIs changing isn't unheard of.
          • I agree..

            I don't know about the rest of the world, but I don't have the disk space, the processor power, and the time to compile everything that I can currently just get from the Debian archives with apt-get. I can try and trash software relatively thoughtlessly.

            I used to play things the build-your-own linux way. I have also used *BSD enough to understand the joy of ports when compared to the build-your-own method.

            Perhaps this would be more of an issue once a "bad-guy" makes his way into the Debian Maintainership and gets a package out there that sends everyone's encryption keys off to Osama Bin Ladin Land (the Terrorist Place on Earth ). But then again, do you check every line of source before compiling?
          • yes, but also dont forget that bsd also has a pkg_add command. when used with the -r switch, ir downloads binaries of whatever you are trying to install, ie: pkg_add -r kde or whatever, and will also fetch dependicies. so you sort of get the best of both worlds, you can either use ports to compile from source, or you can be lazy and use pkg_add to grab the binaries w/deps.
    • What programs would I seriously want to run that are of FreeBSD fame only? None that I know of.
      Good point, but I think the point of this exercise was that FreeBSD ports are a handy utility for installing software packages from source, handling all sorts of crazy dependencies for you automagically. The only things I'm not crazy about are: the port-maintainers sometimes pick some pretty weird locations to store things, and: things can get pretty confusing when you upgrade.

    • What do I know though?

      Not very much, about this subject. The ports collection is not software for FreeBSD only. It's a packaging system that takes care of dependencies, in some ways similar to Debian's dpkg.

  • by Anonymous Coward
    Is it like Linux?
    • Nah GNU/Linux is more like Unix(tm)
      :)
      • I am sick and tired of the GNU/Linux / Linux arguement.

        Call it whatever you want, just don't call it Microsoft/Linux. ;-)
        • Richard Stallman pointed ou that since Linus Torvalds used some GNU programs in developing his OS this could be acknowledged by calling the new OS GNU/Linux. Nothing wrong with that!
          • >>Richard Stallman pointed ou that since Linus Torvalds used some GNU programs in developing his OS this could be acknowledged by calling the new OS GNU/Linux. Nothing wrong with that!

            Doesn't roll off the tounge too easily.

            Kind of like GNU/Perl
            GNU/Python
            GNU/Doom Port
            GNU/MySQL

            pressure/grep
          • Richard Stallman pointed ou that since Linus Torvalds used some GNU programs in developing his OS this could be acknowledged by calling the new OS GNU/Linux. Nothing wrong with that!

            Yup, and Symantec writes a lot of their software in Microsoft Visual C++, but we don't call it Microsoft / Norton AntiVirus, do we?

            -jerdenn
  • GNU/Linux (Score:5, Funny)

    by DrXym (126579) on Friday September 21, 2001 @02:29PM (#2331011)
    Note to BSD folks: It's Linux, not GNU/Linux.
    • Actually,

      "Linux" is the name of a kernel, the core and basic input/output mechanism of an operating system, while the term "GNU" refers to the entire operating system as a whole. GNU attempts to be available for other kernels, such as the HURD, and some GNU programs can be used on top of, for example, Windows or other sorta-posix compliant systems such as BeOS. Most people who use the Linux kernel are running a huge suite of programs provided by the developers working both alone and in conjunction with the Free Software Foundation.

      I wonder what the goal is of dening the Free Software Foundation credit for things such as the GPL and kicking off gcc, etc.?

      • I wonder what the goal is of dening the Free Software Foundation credit for things such as the GPL and kicking off gcc, etc.?

        It's usually motivated by personal hatred for RMS it seems. The guy has strong ideals and has refused to compromise them. In a world where corruption and compromise is the norm, this naturally pisses a lot of people off. Even people that rely on software that exists because of his refusal to compromise. Those are the ones that are most virulently opposed to giving him any credit at all, naturally.

        • Or should we rename it RMS/Linux?

          I understand RMS' point here, but a Linux distro is much more than just Linus' kernel and a bunch of GNU stuff on top. It seems unfair to single out GNU/FSF/RMS when KDE, Gnome, XFree, MySQL, sendmail.org/Eric Allman, the ReiserFS, Emacs and LVM people and loads of others are just as well-deserved of a honourable mention. GNU doth not a distro make. If RMS keeps this up, some anal types will start compiling alternates for all the GNU utils... How's that for poetic justice?

          Just give it up - GNU's not Linux.


          • If RMS keeps this up, some anal types will start compiling alternates for all the GNU utils...
            I am considering doing precisely this. I have started working on a DIY Linux distro a la linuxfromscratch.org only replacing all GNU tools with available alternatives (just to prove it can be done). I have only just begun and am a long way away from having anything remotely usable as I'm just not sure where to find the alternatives...starting with gcc. Anyone?
          • Let me correct you slightly. KDE, Gnome, MySQL, etc, are NOT part of the operating system. Neither is gcc, bash or emacs. Think about it, if you replaced bash with tcsh, are you now running a different operating system? Of course not!

            An operating system is "software that controls the operation of a computer and directs the processing of programs (as by assigning storage space in memory and controlling input and output functions)." A strict reductionist would consider only the kernel and kernel modules to be the operating system. In reality, we must also include the file system, init process, boot loader, etc. as part of the OS.

            What is there of GNU that is absolutely necessary to get a Linux system up and running? Nothing! However, GNU has provided a mass of software that makes using Linux much, much more convenient. Although this software is not the operating system, it does comprise the majority of the standard Unix "operating environment". Since it is not necessary, I cannot consider it part of the operating system.

            What RMS does not realize in his crusade to rename LinuxOS, is that Linux is a NEW kind of system. It is the first component operating system and environment. It was created not from scratch, but from existing parts. Some of these parts came from GNU, but not all of them. Just as Home Depot does not get to name your kitchen extension, neither does GNU get to name this new kind of system just because it used some GNU parts.
          • I understand RMS' point here, but a Linux distro is much more than just Linus' kernel and a bunch of GNU stuff on top. It seems unfair to single out GNU/FSF/RMS when KDE, Gnome, XFree, MySQL, sendmail.org/Eric Allman, the ReiserFS, Emacs and LVM people and loads of others are just as well-deserved of a honourable mention.

            Silly silly. Emacs is GNU - in fact it was the first piece of GNU. Gnome is GNU also. But that's not the point.


            The point is that an Operating System is a collection of software that makes a computer usable. There is a minimum level, and it's more than a kernel. You have to have a text editor. You have to have a compiler collection. Without those you can't do anything at all.


            RMS and the FSF have been working to make all the crucial components of an OS available for decades. Without that work there wouldn't be any Linux. Don't believe me? Just what do you suppose Thorvalds himself had to have before he started writing the kernel? VIM and GCC. RMS himself wrote GCC. VIM was written by people inspired by his example, who preferred the design of vi, but longed for the freedom of Emacs.


            For that matter, BSD in the form we know it today relies on GCC, and quite a bit of other GNU software too. It's probably possible, at this point, to put together a Free system that doesn't use anything GNU. But it would be an inferior system, so no one, not even OBSD (Theo hates RMS and yanks anything GPL out of his base the moment anything half-usable under another license is available,) does. But would it be possible to do that at this point if it weren't for RMS' unflagging uncompromising belief in Free Software, were it not for the tremendous amount of work he has done? I very much doubt it. So yes, I think he does deserve some credit, and yes, I think it's quite accurate to call most linux-based OSes GNU/Linux.


            • The point is that an Operating System is a collection of software that makes a computer usable. There is a minimum level, and it's more than a kernel. You have to have a text editor. You have to have a compiler collection. Without those you can't do anything at all.

              Actually, an operating system does not need a text editor, etc. - spend some time in the embedded world.

              -jerdenn
      • Re:GNU/Linux (Score:3, Insightful)

        I will never, ever call Linux by that name. If I ever meet RMS, I won't use the term, either. He can correct me over and over (as he is notorious for doing), and I will never, ever EVER EVER use that idiotic term.

        My goal is to not cave in to the "language police". The GNU component is only one component of a Linux distribution. The Kernel is called Linux. A distribution is typically called Linux. I am not confused by this. Most people are not confused by this.

        I wonder what the goal is of dening the Free Software Foundation credit for things such as the GPL and kicking off gcc, etc.?

        I wonder what RMS's goal is for denying other parties credit for things such as XFree86, Perl, etc. GNU's stuff is only piece. Certainly an important piece, but only one piece.

        • I wonder what RMS's goal is for denying other parties credit for things such as XFree86, Perl, etc. GNU's stuff is only piece. Certainly an important piece, but only one piece.

          It's particularly ironic that RMS makes such a vigorous complaint about this given that he vigorously (and correctly, IMO) complained about the "practical problems" with the "obnoxious advertizing clause" in the original BSD license. It seems to me that the whole "GNU/Linux" situation represents essentially the same problem. There's no logical reason to include GNU but exclude the other components when naming it, and demanding that GNU be included in the name is exactly the same thing that made the advertizing clause so annoying.

        • I don't waste time calling it GNU/Linux either, but at least I understand his point. It's not the amoount of software involved, it's the fact that it uses the GPL, and that the FSF was *the* pioneer in enforcing free software (as opposed to open source).

          So many people continue to harp on how other software makes a bigger part of any distro that I can only assume that they have blinders on and do not want to admit that he has a point, at least from his point of view. I think they just want to bash RMS and the hell with needing a valid reason.
      • Why?

        So if I only install BSD utils/libs am I then running BSD/Linux?

        What if I pick and choose... or install both? Am I then running GNU/BSD/Linux? At what point does this retardation end?

        Bill
      • Don't FreeBSD and MacOS X also use gcc and other GNU software? Why aren't we forced to call them GNU/FreeBSD and GNU/MacOS X?
        • You wrote:
          Don't FreeBSD and MacOS X also use gcc and other GNU software? Why aren't we forced to call them GNU/FreeBSD and GNU/MacOS X?
          But unlike in mainstream "Linux Distributions", gcc is the only major GNU component. The libc and toolsets (cat, tar etc.) of the BSDs are non-GNU, same goes for the standard shells. Linux, the kernel, does not amount to a functional operating system on its own. To have a minimal running system, you need a libc, an ld linker, the basic cp/cat/mv... tools and a shell. All major "Linux distributions" - as well as the Linux Standard Base specification - use the Linux+GNU setup for the core OS. (While XFree86, Apache, KDE, Gnome, Samba, etc. are optional components.) So its fair, IMHO, to speak of "GNU/Linux" when we refer to the working operating system (or, if you prefer, the lowest common denominator of the operating system).
          • FreeBSD also includes a few other gnu tools. grep, tar, binutils and awk are all FSF versions. While they'd like to have BSD licensed versions, they either were removed from the 4.4-lite sources or the gnu versions were much better than the alternatives at the time.

            There are quite a few others like cvs, groff, etc. that aren't really essential but are part of the system too.

            One interesting thing I just noticed is that the version of IPFilter that's in the tree has a new license that does allow redistribution:

            Redistribution and use, with or without modification, in source and binary
            forms, are permitted provided that this notice is preserved in its entirety
            and due credit is given to the original author and the contributors.
      • GNU refers to the OS as a whole????


        I hate to state the bleeding obvious but major and significant parts of a typical Linux distribution are not GNU. Try to guess which bits. I consider it an insult that the term is blanketed over code (including some of my own) which is neither owned by the FSF nor even GPL in many cases. Certainly the FSF provides some of the bedrock tools for a Linux distro - and we salute them for it - but to name the whole distro in their honour is just silly.


        Linux is a perfectly acceptable term to refer to the whole OS in generic terms or to the kernel. If specific context is needed, prepend Mandrake, Redhat, SuSE etc. as appropriate.

      • I've been using GNU/Linux since Linux Version 0.48. Yes, this was around six months after the release of 0.1 and yes, when RMS came it with his "you should rename Linux Lignux" I was as angry, and as vocal, as everyone else.

        He has said that his reaction (a natural one, after all at the time he and his project had written almost all of the software we were using, outside of the kernel itself and the X Window System for those few lucky enough to have it working on their hardware at the time) was a mistake, and if he had it to do over again he would have handled it differently.

        The FSF's stance on wanting the entire operating system to be called GNU/Linux rather than Linux is that they wish to emphesize the Freedom that the FSF philosophy tries to promote, and that recognition for their (by any measure massive) contribution to Linux, or GNU/Linux if you prefer, is very secondary to that goal.

        I have tried to make a habit of refering to the entire collection of software as GNU/Linux not out of some misguided notion of political correctness or to appease RMS as such, but simply as a small courtesy in saying "thanks" to the guys whose software (GNU gcc, file-utils, lib-utils, etc.) and kernel (Linux) has vastly improved the quality of that portion of my life spent in front of a computer and has enabled me to make a very comfortable living. It seems a small request on their part, and the least I can do to give something back.
        • I have tried to make a habit of refering to the entire collection of software as GNU/Linux not out of some misguided notion of political correctness or to appease RMS as such, but simply as a small courtesy in saying "thanks" to the guys whose software...


          And by doing so you're being discourteous to all the other guys who wrote stuff that you make a living from. I speak of such stuff as the kernel, XFree86, Perl, Mozilla, Python, tcl, KDE, Apache, Samba, MySql, openssh, webmin, and many more besides.


          FSF software is what it is - a valuable subset of any distribution, but certainly not *so* important that it deserves everything to be tarred with the same brush.

      • I wonder what the goal is of dening the Free Software Foundation credit for things such as the GPL and kicking off gcc, etc.?



        Alienation, at this point (at least in my eyes.) It's gone beyond getting credit. The LGPL even contains language that claims that Linux is merely a variant of the GNU operating system. Nevermind that much of that GNU software (most notably glibc) was ported to Linux.


    • Interesting statement, Dr. Xym. "It's not GNU/Linux", indeed.

      Oh I get it! "XYM" is just "RMS" ROT13'd. What a clever jape!
  • (make install of the whole thing)
    That would typically take at least a week and over 20gig total, but it is worthwhile to do.

    A week? Well, maybe it's time for that vacation...

    • Or 200+ years on a 56K modem. Ugh... living in the sticks (or somewhere past them) realy does suck for geeks.

      • Okay, before I get flamed for such a wierd number, I didn't even think about doing the math for this. Let's see then. 20*1024*1024/60/60/24/3 =~ 81 days. Close enough...
        • I once gave a lecture on modem standards, bandwidth and transmission speeds. I used a leeched copy of MS Office 97 as my yardstick - on a 14.4 modem it would take x days to download while with a 56K you'd be up and violating the EULA within hours. :-)

          BTW, I assumed the author meant it would take a week to compile (he probably didn't do the math either - it's scary if he did) and use up 20 gigs of diskspace, but I'm not sure.

  • I already hear them screaming, "That's like stealing precious BSD software for Linux!"


    But then, the FreeBSD port/package system is still the best one I've ever had the pleasure to work with, especially because of its good source/binary interoperability.

    • I already hear them screaming, "That's like stealing precious BSD software for Linux!"

      The only main problem with that statement of yours is that you are stupid. The only way you can "steal" BSDL code is to remove the copyright notice from either the source or not include it in the binary distribution. Even then it is not considered "stealing". Just look up the definition of "steal" in the dictionary before you post stuff like this. Its more commonly Linux people talking about "Microsoft stealing FreeBSD code". So please, until you know what you are talking about do not spread this kind of FUD around.
  • Open Packages (Score:2, Informative)

    by Z4rd0Z (211373)
    I don't know how many times I wanted to do this, but always got bogged down in the details. The OpenPackages [openpackages.org] project has had their system working on Linux for a while now. However, OpenPackages departs from the FreeBSD ports collection and takes a lot from OpenBSD and NetBSD as well. And it's not finished yet. Work seems to have slowed down on it too, unfortunately.
    • In the beginner's mind there are many possibilities. In the expert's mind there are few. --Suzuki-roshi

      So being certain and closed mined makes one an expert? I don't like that quote at all!
      Maybe it should read In the young mind there are many possibilities. In the elderly mind there are few.

      (yes I know replying to sigs is passe and even modbait, but I just couldn't resist. At least I'm not using my +1 bonus!)
    • If you actually LOOK at what OpenPackages is doing, not only does it work with the BSD's, some of the 190+ linux versions, but also with AIX, HP/UX and other Unix platforms.

      OpenPackages is a universal solution. GNU-Darwin is less than universal.

      Depends on what you want. To be inclusive or exclusive.
  • To tell the truth I've never used *BSD ports. I hear a lot that they are wonderful. I don't know how it works, but I'm sure that I'll try it.

    The only thing I hope is that they let every choices to me. I use slackware and tarballs for one reason: the word automatic have been sounding weird for me.

    Since I got tired of Mandrake and rpm automatic for me means this:

    • In a way somebody though it was better, not necessarily the way I need or want.

    Hope not to find this kind of automation with ports.

    • The only thing I hope is that they let every choices to me. I use slackware and tarballs for one reason: the word automatic have been sounding weird for me.

      You can do the same under FreeBSD as well. There are prebuilt binary "packages" that are essentially identical to Slackware tarballs.

      What is great about ports is that you get all of the benefits of building from scratch, with the convenience of automatic builds, dependency checking, etc.
    • Hope not to find this kind of automation with ports.



      Not as automated, no. If you want to take a stab at FreeBSD Ports, I'd recommend FreeBSD. However, if you currently use Linux as a workstation OS, I wouldn't recommend it. :-)



      It's wonderful for stable systems. It runs a number of large-scale websites. The very organizational structure is in place and has a goal of producing a stable, secure OS. Not supporting 10,000 different processors, not throwing the newest shit in the kernel. It's kinda like having Debian Stable as the base.



      OTOH, Ports is kinda like Debian Sid. It's amazing how up-to-date a lot of the software is in the Ports tree. And the neato thing about ports (IMHO) is that, in many cases, aside from the patches that are applied, sources are downloaded from either the main software distribution site or a mirror, rarely from a centralized archive (as is the case with Debian and many other Linux distributions.)



      One thing I had terrible luck with, aside from the fact that 3D DRI support is next to nonexistent, was soundcard support. Trying to play MP3s in XMMS was painful. It was for that reason that I switched to using Debian Sid with a patched kernel (for ext3 support.)

  • Anyone remotely interested in this should be checking out a fairly new distribution called Gentoo which is working towards their 1.0 release. You can build your entire system just by booting from a cd image, formatting, untaring a small build image, setting up network, and installing everything from their advanced ports like system called "portage". Its basically ports++ that forms the core of the distro (aka its not just for "third party packages").

    It supports stuff like profiles, etc so by editing a few text files you can define your which specific packages and versions should be installed, etc (basically define your own distro ;) Plus Gentoo is currently in the progress of testing its new dependency based init script system (no sysvinit or bsd init scripts here) and working on some other cool ideas.

    Definatly check them out, there is no other distribution or OS quite like it! :)

    BTW, the url is http://www.gentoo.org

    • Yeah, I've tried it and it definitely has potential. Once they're a little more mature, I'll probably trade Debian for it.
    • "Its basically ports++ that forms the core of the distro (aka its not just for "third party packages")."

      Please, read the FreeBSD handbook :)

      cd /usr/src && make -j8 buildworld

      I installed FreeBSD 4.3 on my box when it was released, I CVSuped the latest source code last week and now my box reads:

      ainhoa# uname -srn

      FreeBSD ainhoa.energyhq.org 4.4-STABLE

      Yep, FreeBSD is cool :)
      • Hmmm... slashdot seemed to have eaten my first reply so here goes...

        /usr/src != "in ports"

        In gentoo's portage _every_ component of your system is a proper package thats part of portage. Through the use of portage's profile system _you_ can define which specific versions of which packages you want installed and considered to be "core". By editing a couple text files you can create your own profile where you define what is in the distribution. Portage is more then just a package management system, it can be used as a distribution creation system. Of course you don't need to worry about this if you don't, just use our default profile and you won't need to worry about any of this.

        With portage you are not tied to any specific version of something considered core. We simply define a default profile that we believe is stable and "supported". The end user can go ahead and install gcc 3.0.x and try to build an entire system with it if he wants, its up to the user.

        Once portage stabilizes (we are on 1.0_rc6 right now) distribution releases will be defined by just a few files in a profile directory. In a single portage tree you will have all the files required to build multiple releases of our distribution, the power of the profile system. If you have an existing install and want to upgrade to our current version you just change a single symlink and do a "emerge system" and it will update the packages we defined as being core. Nothing else is changed, etc.

        Hope this gives you some idea why I might get a little touchy when someone tries to compare the seperation of /usr/src + buildworld and ports to the power of portage. :)

  • Both on RedHat and on Debian, installing software either from source or from binary is trivial. And almost all the software I have ever wanted has been packaged for Linux distributions. Why would I want the BSD ports? Is there any software that I don't know about that I am missing?
  • gentoo linux [gentoo.org] has a similar system called portage. You can download a 40M bootstrap iso and build your entire system using portage. This is a wonderful distro.
  • hopefully now all them Linux users will see what kinda nifty toys us BSD users have been using since the invention of the toaster...

    ...and then (oops, here comes the conspiracy theory) after said Linux users like the ports system, they will stop using Linux and start using BSD...(yea yea, shuddup, it's humor).

    *yaay*
  • I'm an avid FreeBSD user, so I am really glad to see FBSD technology making its way into the Linux camp. I hope many Linux newbies benefit from this. I believe it or not, I found FBSD easier than Linux when I knew nothing about UNIX. The Ports Tree was a huge part of that.

    But let me see if I've got this right...the FreeBSD ports tree is a port of Linux/nonBSD-UNIX based software (mostly Linux based) to FreeBSD, and now someone has taken it and ported it back to Linux...heh.

    (Okay, okay, I realize it's the actual ports tree system which is being ported, but still... ;)
  • by On Lawn (1073) on Friday September 21, 2001 @03:01PM (#2331215) Journal

    Well, how is this better than Rock [rocklinux.org] Linux?

    Rock's package management system is source based, and updates, etc...

    And as for elitism, I spoke with the creater on the phone a few years ago when he was starting it, and he's a really jolly bloke.
  • Am I missing something? GNU / Darwin is the base OS in Apple's MacOS X; it is not linux.
  • This distro has a ports like system natively. But rather than being based on make which wasn't designed for "package managment" it's a set of scripts and applications designed for the purpose. It allows you to install, uninstall and package pieces of software in a sane manner and handles dependancies and virtual dependancies as well.

    In fact the lates rc has a new dependancy based init as well. And it's always loaded with the latest apps and libraries.

    I was a long time debian weenie untill I found gentoo. Now there's no turning back.
  • Something that no one seems to have made a big deal out of - ports allows you to run it _as a local user_ and have the programs effectively installed in your home directory.

    <doubletake / >

    That's right, you can have that IRC client of your VERY OWN! I hadn't realized that the ports system did this. On the box that I control, I add new software all the time. (apt-get install this-that-and-the-kitchen-sink)

    As much as apt-get rocks, however, you've pretty much gotta be root, and it likes to install things in system-wide locations. So my friend Eugene who really likes links better than lynx has to come ask me to install it, or compile it from source by hand.

    They have solved the problem of software management on a multi-user system, at least when the source is available. Keep in mind that one of the things that has made NT 4.0 horrible to deal with for a large number of people is this very thing. su is your friend.

    Are you an administrator? Oh, well, you can't install this, because it wants to write a registry key HERE and it's not supposed to want to do that. Reboot, become Admin, install, return to being user - maybe software works, maybe it doesn't. (It's not _that_ bad with linux/deb or rpm.)

    AFAIK (IANA Debian God) there is no way to get apt-get to install things in an automated way in the user's home directory. Sure, you can get the source there.. But the really cool thing would be if, not running as root, you ran apt-get and it installed everything in your home directory except that which was already on the system!

    Ooooo... this is cool. Then, when root tries to install the same thing, maybe it could check the signature of the package the local user has downloaded and install it systemwide if the signature matches the one from the debian repository. <div voice="hick">Hee-HEE! Hawt damn!</div>

  • Gee, I really don't see what's so hard about most installations on Linux as it is, even without .rpm's or apt-get...

    1) untar
    2) vi README
    3) make test (usually)
    4) make config
    5) make install

    Is that really that hard for joe-user... or will they look at step 2) and panic? "Oh my god, there's instructions... I can't possibly read those and follow them!".

    If you don't like soup, stay out of the kitchen.

    q:]

    MadCow.
  • by Jagasian (129329) on Friday September 21, 2001 @03:24PM (#2331321)
    A full Linux distro that utilizes a "BSD Ports" like software management system is already available. The Linux distro is called "Gentoo" [gentoo.org].

    One use of a Linux distro like Gentoo would be to add a user-friend-idiot-proof OS installer that plug-n-play auto detects everything about your hardware, from the exact CPU type, MB type, memory type, graphics card, sound, etc... and then keep that system specific info in a local database. After this part of the installation, and for the rest of the life of the system, whenever you install ANY application on your system, the software is automatically optimized and compiled for your specific setup. Applications could be optimized for your CPU-type and the amount of RAM that you have. Maybe even your video card and sound card could be taken into consideration. If you don't have a sound card, any references to sound could be compiled out of the application. If your video card only supports 256 colors, then perhaps, the desired application could automatically be optimized for such a platform.

    This would allow application developers to program with a greater assumed knowledge of the end user's system, and it would make it easier for the end user to have a totally tweaked out Linux setup, apps and all! Not to mention the fact that the Gentoo Portage system deals with dependencies automatically, furthur easing end user headaches.

    Closed source simply couldn't compete with such a Linux distro because closed source software (Windows for example) is compiled for the average hardware setup, which sacrifices performance for generality, while a Gentoo based Linux Distro could automatically reconfigure itself to tighly fit your exact hardware setup, which keeps generality and great performance.
    • I think it would be a good idea to point out that the GUI and autodetection system doesn't exist but the framework does exist and is part of portage.

      Portage is a distribution building engine... it would actually be a great idea if someone wrote the GUI/hardware detection wizard... all it would have to do is just modify /etc/make.conf and the portage profile and tell portage to do its thing.
  • by Lethyos (408045) on Friday September 21, 2001 @03:31PM (#2331357) Journal
    Amusing as the infighting between the *BSD and Linux camps may be, it's hardly beneficial in our primary struggle to wrench market share away from MS. By developing projects that aid greatly in bringing these two platforms together, we can demonstrate a number of things:

    Demonstrate strong interoperability but still have a choice what OS you want to run (*BSD, Linux, MacOSX, etc).

    Increase availability of all kinds of software and toolkits between almost all of the anti-MS players.

    Accellerate development for both platforms by encouraging developers to optimize their software for both camps.

    Now this is a lot to say for such a rudimentary project (and I'm sure the list could go on), but the ideals are there. Imagine if we had increased/improved interoperability between the KDE and GNOME projects (instead of a lot of bitching about the other "sucking ass"). Say, tools that helped unify the appearance of widgets, code sharing layers, and so on.

    So, wordiness aside, unity is good. :)

  • First, let me congratulate the dedicated people behind this. Yes well done. You have taken an free OS to port it to another free OS.

    But,

    *puts on flame proof suit*

    What does this change? From what I have heard, the software in FreeBSD is hard to use, lame, feature poor, etc..

    What does this change in the world of lets say 99% of desktop users? Yes, I know that people here love Linux, and love seeing application being ported on the platform.

    But is this innovative? Or just reinventing the wheel in a brilliant but useless way?

    The collective Linux brains should be coding something to convert the Windoze through sheer abundance of feature.

    You have heard this before. Make it simple. I am smart. But not everyone is. As much as I love going into Mandrake to do thing, it is all too true. Linux is still an obstacle to productivity for average people.

    Does FreeBSD change this? Somehow I don't think so.

    Aiming for new features, innovation and simplicity. The architecture of Linux is well capable of handling these.

    And yes I am leaving my flame proof suit on..
  • by scrytch (9198) <chuck@myrealbox.com> on Saturday September 22, 2001 @01:04AM (#2333507)
    so listen up. Ports has nothing to do with "porting" software from one platform to another. The ports collection is basically a package management and browsing system. It's a directory of packages, broken into categories, like ports/games, ports/net, ports/security, and so on. Each package has a makefile. The makefile will download, compile, create and install a binary package for that package and every one of its dependencies. It differs from traditional package managers in that dependencies are not done by package, e.g. kde doesn't look for a package for qt, it looks for the proper version of libqt.so -- think of it like a sort of autoconf. this saves you from the dependency hells other package managers put you through, and if you install a dependency manually, then things still install (and if you screwed up the dependency, well, that's your problem). When it's finished installing, the source tree sticks around (until you do a make clean), so if you need to modify something for your local system, you can go into the source, tweak at will, then make install again.

    gentoo uses something very much like ports, though it doesn't use make, but a python utility called emerge instead. i would hope to see it use SCons in the future, and get the best of both worlds -- it might even be enough to get me to switch back to linux (once it stops having a VM bug of the week)

When you don't know what to do, walk fast and look worried.

Working...