LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Portage vs. Other Package Managers (https://www.linuxquestions.org/questions/linux-software-2/portage-vs-other-package-managers-471653/)

jeelliso 08-07-2006 01:10 PM

Portage vs. Other Package Managers
 
Hello,

I've used Gentoo (and obviously Portage) before, but I'm not really that familiar with it. According to the Gentoo website it "is frequently seen as the best software management tool available for Linux." What, specifically, makes Portage so much better than other package managers.

I'd not only like to hear from Gentoo uses as to why they think it is the best, but also from non-Gentoo users as to why they don't think it is the best.

Thanks,
~Justin

acid_kewpie 08-07-2006 01:24 PM

ok well portage is a rip off of the BSD ports system. it's good in the way it works in line with what gentoo is all about. portage uses things called use flags to decide which dependencies are going to be installed in line with the compilation of the ebuild. I mean, RPM's are statically built. their dependencies are fixed and must be installed as well. with portage as everything is built from source a single ebuild can be bult with or without support for many many supporting packages, meaning you get the wrong result without all the extra bits you don't want.

at the same time, it has a very amateur side from what i saw of it. Things work the way they do because some guy in the dev team decided that he wanted it to, and nothign will change that.

also remember that as portage (generally) builds from source, it can be a very very slow process to install anything, which you won't get from rpm systems like yum or apt.

Baix 08-07-2006 01:26 PM

Personally, I absolutely love portage. It really lets you do anything you want; you tell it what to do and it does it. Using make.conf, USE flags, package.mask, package.umask and package.keywords you can get the exact package you want compiled exactly the way you want it. The dependency management is top notch as well, proper use of USE flags guarentees you only drag in the dependencies you really want or need. Also, updating a particular package or even your entire system is a breeze.

With Portage its easy to take a peak under the hood and see whats really going on. Nothing is hidden from you as it is written entirely in python and development tools for it are nicely documented.

With all these pros (and more I couldn't figure out how to explain) theres gotta be a con. Really, the only con I can think of is the tradeoff you have to make because you're compiling everything from source. While I love the idea of everything fitting nicely you do have to wait for compiles, which can be a turn off for some people. I really don't mind as I don't find most compiles to be that long at all, and for really big packages such as KDE and OpenOffice, there are binary alternatives available from portage.

Portage, ebuild, and Gentoo in general have amazingly clear and extensive documentation. Once you understand these it's easy to apply what you learn and get exactly what you want with no suprises.

Baix 08-07-2006 01:37 PM

Quote:

Originally Posted by acid_kewpie
at the same time, it has a very amateur side from what i saw of it. Things work the way they do because some guy in the dev team decided that he wanted it to, and nothign will change that.

Like what?

acid_kewpie 08-07-2006 02:12 PM

Quote:

Originally Posted by Baix
Like what?

well the biggest thing that annoyed me was that the use flags were managed in a totally flat format. a use flag to enable X sits right along side a USE flag to enable extra wizard points in the 3rd dungeon of supermegageekmud... that's ridiculous and horrible as when i was using gentoo you'd get an extra 5 flags a week and couldn't find the important stuff you actually wanted, as i found the 3rd dungeon really hard!

Baix 08-07-2006 02:20 PM

I've never really had a problem with that. In my make.conf I have only a few very basic USE flags that I know I'd really want (or not want) with any package I install. After that I just customize each package by reading which flags are available for it off of "emerge -pvt <package>" and adding any interesting ones to that package with package.use. If I'm unsure what a USE flag does for that package I either don't need it or I can always look it up.

The USE flags are only flat if you read them off a chart at some website, if read them off of emerge -pv you only see which ones are relavent for that build...so I never have to worry about, or even know about, that (non-existant?) 3rd level USE flag when compiling firefox :p.

Edit: There's also a small script called 'euses' that looks up USE flags. Although I've never really had to use it I can see its uses. Installing it is just as easy as "emerge euses"

jeelliso 08-07-2006 02:50 PM

Thanks for the input. That cleared up quite a bit. I wasn't aware Portage was capable of all that. It sounds like I need to take a look at the Gentoo documentation about Portage. Once again, thanks.

~Justin

reddazz 08-07-2006 08:02 PM

I think portage is good, but one thing I hate is masking of packages. In FreeBSD ports you don't have to mess around unmasking packages and its fairly easy to install a particular version of a package. With Portage, you have to mess around unmasking packages. This is okay for small packages, but for bigger packages like Xorg, this can be really annoying.


All times are GMT -5. The time now is 10:47 PM.