Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Software Operating Systems BSD

BSD Version Of Gentoo's Portage 155

eugene ts wong writes "Here is some good news for BSD users. Gentoo Weekly Newsletter has an article that says that there is a BSD version of portage. It's still in a developmental stage, but it's definitely making progress."
This discussion has been archived. No new comments can be posted.

BSD Version Of Gentoo's Portage

Comments Filter:
  • Not good news (Score:5, Insightful)

    by Geekboy(Wizard) ( 87906 ) <[spambox] [at] [theapt.org]> on Wednesday September 03, 2003 @03:50PM (#6861986) Homepage Journal
    Most BSD users don't want this. Ports works quite well for us, thank you very much. Any shortcomings that Ports has, are being worked on.
    • USE flags. Gimme USE flags and I will concur that ports are OK.
      • Re:Shortcoming #1: (Score:5, Informative)

        by Arandir ( 19206 ) on Wednesday September 03, 2003 @08:33PM (#6864729) Homepage Journal
        Do we really need to throw out stable and robust ports entirely just because you like the USE flags? If it's so desperately wanted by you, then perhaps you could actually code it up. It's all just simple makefiles, so you don't even need to learn python.

        There already are "USE" flags of a sort, but they're more specific than the general purpose flags that Gentoo uses. Adding some new flags should be a piece of cake, if you can convince the committers of their need.
        • To moderators: IMO, the previous comment should not be marked "Informative". It contributes no factual information towards the topic of discussion. At best, it is an opinion.

          To the poster: nobody's asking anyone to "throw out stable and robust ports". Wherever did you get that idea? The whole GentooBSD project seems more to be an exploration of an alternate way to manage and maintain a BSD-based system. I don't think that the authors intend this to replace or usurp existing distributions of FreeBSD

      • Re:Shortcoming #1: (Score:3, Informative)

        by stab ( 26928 )
        OpenBSD has FLAVOR [openbsd.org] and MULTI_PACKAGES [openbsd.org] exactly for this. Each port has a set of knobs that can be twiddled, and the binary packages are generated and named appropriately.
      • I don't know what USE flags are but with FreeBSD ports you can use WITH_ flags, for example "make WITH_PYTHON" or "make WITHOUT_X11", to tune certain configuration variables.
    • Most BSD users don't want this. Ports works quite well for us, thank you very much. Any shortcomings that Ports has, are being worked on.

      Since Gentoo's Portage is based on Ports, wouldn't this just be them giving back to community they borrowed from?
      • Gentoo's Portage is not exactly "based" on Ports. The code is entirely original and not an adaptation of BSD code. Inspired, yes; based on, no.
        • Okay, then return the results of the inspiration to the BSD community then B-).

          Anyway, though I use and enjoy Gentoo, I've never really understood the logic of writing something as integral to the system as Portage in a language that requires an interpreter to function. One would think that system code should just run by itself.
          • Anyway, though I use and enjoy Gentoo, I've never really understood the logic of writing something as integral to the system as Portage in a language that requires an interpreter to function. One would think that system code should just run by itself.

            Well, Gentoo's all about choice. Writing the integral system (i.e. Portage) portions in Python (or any other interpreted language) would make it a lot more portable to other systems, as the interps translate the Python (or whatever language) code into the sys

  • by eugene ts wong ( 231154 ) on Wednesday September 03, 2003 @03:51PM (#6861993) Homepage Journal
    1 of the things that I like about portage is the ease of use. You don't have to find dependencies. Nor do you have to find the web sites that host these packages. If you can find a place that's closer than the defaults, then you'll have the option of getting packages from there.

    I think that these general advantages should be available all across the board for all OSes, unless of course there are specific needs for specific alternatives.

    I'm not trying to start a flame war or anything. I'm just sharing my own likes & dislikes.
    • by sporty ( 27564 ) on Wednesday September 03, 2003 @03:53PM (#6862010) Homepage
      Do realize, that ports has done this for a long time. Only diff beween ports and portage are the command structure, some layout and the systems that they originated for.

      The cool thing about ports in relation to freebsd, and prolyl the other bsd's.. is that they integrate with the package systems used. SO if you want, you can download the tbz (vs tgz) package or use /usr/ports.
      • Yeah, I just realized after I clicked Submit that Gentoo is a combination of BSD & various other distros/OSes. I feel bad. It's almost as if I didn't read the article that I submitted. On the other hand, it wasn't written in the article that I submitted, so my memory lapse may be somewhat excusable.
      • 1 thing that I hope that they add is the abiblity to not update the entire portage tree. Otherwise, we are forced to download way too much data that we may never use, when all we want to do is update the packages that we have already.
        • I'm not sure that this would be useful. My experience with Gentoo Linux and its existing portage tree has taught me that many ebuilds are inter-related. As a quick example: a new version of PHP might require an updated version of Apache, a new MM library, and a new version of OpenSSL.

          If a user only updated their PHP portage directory, and if the PHP ebuild were properly written to require the most current or known-good versions of all of its dependencies (as tested by the PHP ebuild maintainers), then t

          • Remember that updating the portage tree does not automatically update all installed software. The user must still use the emerge command wisely by seeing what ebuilds have been updated, and making a decision based on their needs. Those who run emerge -u world blindly can get into trouble. :)

            Yeah, I hear you on that. I kind of learned that the hard way. I'm suprised that they don't have a command to upgrade all packages to the most recent stable ebuild. How hard can it be? I'm not skilled in understanding it

            • Portage already does everything you just mentioned. Portage has stable and unstable "profiles" which will automatically update all your software to either the newest stable version or the newest version overall respectively. You can change which profile you are in at any time, or you can stick to stable and emerge individual packages from the unstable profile. Usually I stick to the stable tree for libraries and things like that that contribute to overall system stability and then manually install some unst

      • Portage supports this too. Check the --usepkg and --buildpkg options for emerge.

        Then again, I would guess that most Gentoo users prefer to compile their ebuilds locally, for reasons of performance, optimizations, and custom USE flags.

  • Why? (Score:5, Insightful)

    by aliquis ( 678370 ) on Wednesday September 03, 2003 @03:59PM (#6862102)
    Then I first tried gentoo I thought portage was better than ports, but that was because I hadn't read the onlamp [slashdot.org] article about portupgrade.

    The differences I've noted is that portage is upgraded every now and then which gives you the small trouble of running etc-update and upgrade it's config files. It might actually be broken at some times to.

    Ports on the other side is rock solid and has been used for a much longer time. You can of course set compiler flags for ports to, and atleast for freebsd the upgrade tool is as good as the gentoo one. I do however like netbsds approch most since their pkgsrc seems most intelligent with their /usr/pkg path for everything installed from it. I must admit I don't know that much about their different port handling tools thought, I've mostly used make install.

    The huge advantage of gentoos portage is the USE-flags, which I really like. Don't know if it would be hard to get the same functionallity in the BSDs without using portage, or if there already are a few alternatives which works almost the same way. Feel free to reply or e-mail me information about usefull ports tools if you have any.

    • Re:Why? (Score:3, Interesting)

      by Arandir ( 19206 )
      Don't know if it would be hard to get the same functionallity in the BSDs without using portage, or if there already are a few alternatives which works almost the same way.

      There are things in FreeBSD that work almost the same way. But they tend to be much more specific than what Gentoo users are used to. They're informally called "knobs" and can be put in the global /etc/make.conf file to apply to everything, or used on a per-port basis. Adding new knobs is not that hard, but you have to go through and ma
      • Nice to know, I'm sure I've added some option to the make command some time but I never used it regulary in BSD and had no idea they could be set in /etc/make.conf. Thanks.
    • I should have added that NetBSD has a page with documentation for their pkgsrc [netbsd.org] which sorts out most of the questions you could have for it. For example that you've got /etc/mk.conf with build configurations, audit-packages which keeps track of any security vulnerabilities in the pkg tree, pkglint which tells you if you have any outdated packages installed and that you can upgrade packages with the command make update.

      Combined they make a very good package system to. Don't know if make update handles depend

  • by Mad Marlin ( 96929 ) <cgore@cgore.com> on Wednesday September 03, 2003 @04:00PM (#6862113) Homepage
    As a FreeBSD user, my question is this: How exactly is this different from the ports tree? I thought that it was basically the same. I am glad to see somebody doing it, though.
    • The huge difference between ports and portage is that portage has replaced makefiles and instead uses a python based solution. They also got USE-flags there you can specify stuff like "X ssl gtk -kde -cups" and stuff like that, to make applications which can use X and ssl compile with those options enabled, but not compile kde and cups support.
      • Portage doesn't replace makefiles, at least not the ones provided to build the actual program.

        The FreeBSD's ports' Makefile basically sets a load of build/package organization variables, almost the same as a portage "ebuild" does. An ebuild is a script though. I've submitted a few when I was trying out Gentoo a while ago.

        Portage just happens to be written in python (good choice BTW IMHO) whereas the traditional pkg-tools for FreeBSD are C based and the portupgrade utility is written in Ruby.

        Portage was i
        • Portage doesn't replace makefiles, at least not the ones provided to build the actual program.

          I know that, I just wanted to tell that portage didn't used Makefiles to make it work.

          Portage was inspired by NetBSD's pkgsrc which was derived from FreeBSD ports. Flags like PROVIDES are similar to USE and somewhat comparable to FreeBSD's make options for ports e.g. "NO_GUI"=true and stuff like that. I do like the USE idea though.

          I actually didn't thought about that possibility, even thought I've used it som

      • ... portage has replaced makefiles and instead uses a python based solution.

        I like Python and use it often, but makefiles are highly specialised for this sort of thing, so I don't really think that Python is appropriate here.

        ... you can specify stuff like "X ssl gtk -kde -cups" and stuff like that ...

        This capability already exists within the BSD ports collection, with slightly different syntax. For example, I normally install new versions of Mozilla as such:
        # cd /usr/ports/www/mozilla

      • but not compile kde and cups support.

        "-gnome" would be much more useful example, since there are many apps that can be built with or without gnome support, but I am not aware of any that Qt applications that can optionally use KDE. If you don't want to build any KDE applications, then simply don't build any KDE applications. Since nothing but KDE applications depend on KDE, this is the simplest solution.
    • USE. that's the biggie that sets portage appart. If you don't know what USE is, see this. They do a better job explaining it athan i do.

      http://www.gentoo.org/doc/en/use-howto.xml
  • Gentoo (Score:3, Insightful)

    by rf0 ( 159958 ) <rghf@fsck.me.uk> on Wednesday September 03, 2003 @04:02PM (#6862146) Homepage
    I can't see the difference. If anything pkg_add -r would almost be suprior

    Rus
    • I have a cron job which does a daily cvsup and `portupgrade -aRr' (disclaimer: Doing this on a production server is a bad idea. Always check ports before deploying them. On a workstation, however, in the unlikely event that it breaks I can spend some time avoiding work while I figure out why:). The problem with this is that some ports (e.g. ghostscript and php) have curses based front-end for selecting make flags. This causes portupgrade to wait for user input (which never happens, since it is not run
      • Re:Changes to ports (Score:3, Informative)

        by __past__ ( 542467 )

        The problem with this is that some ports (e.g. ghostscript and php) have curses based front-end for selecting make flags. This causes portupgrade to wait for user input

        Use portupgrade -m "BATCH=yes", and no user input will be required. You can also set the variables that you want your ports to be built with in /etc/make.conf, or, more flexibly, in /usr/local/etc/pkgtools.conf, based on the ports name (including wildcards). This is a good idea anyway, because you don't have to remember all these options, t

        • See? That's what I love about FreeBSD. You post something suggesting new features and someone tells you they were there already.

          Thanks for the advice, I'll probably write some updates to the ports section of the handbook and see if they get accepted in the next few weeks.

  • Why? (Score:5, Insightful)

    by Arandir ( 19206 ) on Wednesday September 03, 2003 @04:09PM (#6862223) Homepage Journal
    The big question on my mind is "why?" Why would I want to use portage instead of ports? Why would I want to use a copy when I already have the original?
    • Re:Why? (Score:1, Funny)

      by Anonymous Coward
      Why use a calculator when you can use an abacus?

      Why?

    • I think it's mostly for gentooists wanting to use BSD.

      Maybe they're getting redy to leave the ship if the SCO racket goes out of hands. I wouldn't mind using a different kernel (if it is as good as BSD's), but I don't really feel like learning new maintnance tools.
    • Homer Simpson on going to Canada:

      "Canada? Why should I leave America to go to America junior?"
  • I like the ports system n' all, but I certainly like portage a lot better.
    I for one am glad to see it :)!
  • Why? (Score:4, Insightful)

    by Matty_ ( 74368 ) on Wednesday September 03, 2003 @05:07PM (#6862917)
    I see absolutely zero need for Portage on any of the popular BSD systems, except for Mac OS X. Having it on Mac OS X would be much better than using Fink.

    I use Fink now, but I don't have flexibility in deciding what features I wish to have compiled in to my software (at least, not that I am aware of).
  • by bcrowell ( 177657 ) on Wednesday September 03, 2003 @06:28PM (#6863680) Homepage
    • vi keybindings for emacs
    • a Windows skin for MacOS X
  • by jschauma ( 90259 ) on Wednesday September 03, 2003 @08:11PM (#6864569) Homepage
    As usual, when this comes up, let's plug NetBSD's Packages Collection [netbsd.org]. ``pkgsrc'', as it's known, originally derived from FreeBSD's ports is available for a large number of platforms [netbsd.org] (Netbsd, of course, and then Darwin, FreeBSD, OpenBSD, Linux, Solaris and Irix), thus allowing system administrators who have to take care of more than one OS to take advantage of its strengths. So, uhm, sorry, but I'd also have to add my vote to the ``who needs portage'' camp.
  • The real reason portage is better because portage has pretty colors. Take that ports!
    [ ok ]
    If you like ports, use ports. If you like portage, use portage. I use FreeBSD, OpenBSD, and Gentoo Linux. I prefer portage over the ports system. So this is actually good news for some.
  • by R.Caley ( 126968 ) on Thursday September 04, 2003 @03:45AM (#6866700)
    Who is going to meta-port the 7000 (or whatever it is) ports to whatever format portage needs it's information in and then keep them up to date?
    • Well, since there is already a thriving community of Gentoo Linux developers who maintain the portage tree, I'd say that the first part of your question has already been answered. The Gentoo portage tree will be used for both Gentoo Linux and Gentoo BSD.

      As to the number of packages, let me refer you to this URL:
      Gentoo list of packages [gentoo.org]

      The current count was 5280 when I last checked. Computation of percentage is left as an exercise for the reader. ;)

      And, as always, users are encouraged to submit their

      • The Gentoo portage tree will be used for both Gentoo Linux and Gentoo BSD.

        And this will help someone wanting to use portage under FreeBSD how exactly?

        The story, AIUI, was about someone porting portage to FBSD, not the people trying to create a hybred BSD/Gentoo system.

  • Did anybody tell the developers that we already have ports? (That they stole portage from, BTW). Wait, wait, we didn't have packages? No... I thought we had pkgsrc...

    Why the hell do we need portage? We've already got our system. It works (for us) better than portage. We don't need it. Stop wasting your time.
    • I know you're probably a troll, but I feel obligated to ask the questions anyway.

      Why does it matter if people "waste" their time on this? Does it hurt your ego to see people working on Gentoo BSD? Are you the sole arbiter of what *BSD-related projects are wastes of other people's time? More importantly, who asked you?

      What if, by some chance, Gentoo BSD happens to provide a better package management system than the standard package management systems? What if portage meets people's needs better than

      • No, I'm not trolling. I don't see why anybody needs it. Ports and pkgsrc can accomplish things just as fast/faster than portage can. I don't see any advantages in portage over ports and pkgsrc. Thus, I don't see it as being an improvement. Judging by the amount of other people who posted here saying "didn't they notice that we already have ports" and other similar things, I'd say I speak for a good few people.

        On a different note, I don't like Linux anyway and, unless Gentoo BSD is going to offer some kille
  • Not to sound like a troll here, but i really dont see the point since we have a well-oiled ports system already?

    If someone can explain a good reason, ficool.. but i as of yet, really dont see a point. And it can only cause issues. One nice thing about the ports tree, is its 'the' ports tree.. no confusion involved.
    • So what you're saying is that the ports tree is "the" only way that people should use *BSD? That there are no reasons to improve upon a system that, admittedly, has grown old and was not designed from the ground-up as a flexible software maintenance tool? That people should not innovate or try to develop a better system that meets their needs?

      The "issues" that people encounter when using a new package management system are positive forces for change. A fresh approach to software management will help de

      • How nice, to toss in an insult at the end.

        That aside, if you had fully understood what I said. you would have realized I'm not against change. I just feel that there needs to be a valid case to consider it. I also clearly stated i did NOT know the portage system, thus looking for others to assist in the rational..

        So far, you haven't given me any valid reasons, nor does the typical sounding Linux crowd's "you don't know what you are talking about so shut up" attitude that leaked thru doesn't help the case.

BLISS is ignorance.

Working...