Slashdot Mirror


Is RPM Doomed?

Ladislav Bodnar writes "This is an opinion piece offering solutions for all the ills of the RPM Package Manager. It has been written with Slashdot in mind - it is a fairly controversial topic and I would like to hear the experiences and views of other users who have tried different package formats and different Linux distributions. The conclusions are pretty straightforward - either the big RPM-based distributions get together and develop a common standard or we will migrate to distributions offering more sophisticated and trouble-free package management. Note: the main server allows a maximum of 100 simultaneous connections. To limit the /. effect, here are two other mirrors: mirror-us and mirror-hu (the second one has larger fonts). Thanks in advance for publishing the story."

665 comments

  1. cool by xeeno · · Score: 0, Flamebait

    So. The only contribution that redhat has ever made that was worthwhile to the linux community might be headed out the door.
    What a legacy.

    1. Re:cool by Anonymous Coward · · Score: 1, Insightful

      The problem is not RPM in itself. The problem is not using the hierarchal file system in a coherent way. In addition to that problem we have way too many files nowadays. When package contents mix with one another.. well I'm sure you've had Chem. 101.

      This article wants solutions, so here is mine:
      Make packages a seperate directory. Just like good old DOS days--where every program lived by itself in a directory. _All_ package contents go in this special directory. Then you have the problem of per-user configuration. This is incredibly simple. Have a directory in each user's directory which _mirrors_ the package directory. Each package directory should be unique (i.e. MyProgram v1.0 lives in a different directory than MyProgram v1.1). Dependencies would be much easier this way since you would only depend on a _directory_ existing. Moving packages would simply be a matter of packing up the directory and taking it wherever.

      In any case, software is _package_ based. Why do we still throw library files from different packages together in the same directory?! When you want to remove a package you have to rely on broken package managers, or hunt down every file which goes with a package. We should be able to completely remove software by simply removing a directory. I've heard MacOS does this, why can't Linux?

    2. Re:cool by 0x0d0a · · Score: 2

      If you're using any major Linux distribution, you're using a lot of software with development funded by RH.

      All the major Linux vendors that I can think of fund general Linux development. Red Hat puts more money in than any other Linux distributor (at least partly due to virtue of sheer size, yes...).

      This is why I get a kick out of people bashing distributors at the same time they're using software funded by them. "SuSE sucks, and they should die? Gee, I hope you don't like using X." "Red Hat sucks and should be wiped out by Debian? Gee, I hope you don't like using GNOME or gcc."

    3. Re:cool by Chemicalscum · · Score: 1

      I think this is very close the the approach the ROX desktop for Linux uses, which is based in the old Acorn RiscOS operating system.

    4. Re:cool by Verizon+Guy · · Score: 1

      They need to take a lesson from Windows XP. Write a daemon that keeps an eye on the libraries for consistency (like system file protection). Also, you could have a script or binary that acts as an "uninstaller." You know, people here dog on Windows too much. They always say how crappy the registry is and "who needs \Program Files" and that "loading text files into vi is so much easier" but what they don't realize is how organized Windows is. About 90% of the time you can simply find its folder under program files, find it's registry key under HKLM and HKCU, delete those and you're done. All the uninstaller really takes care of is the libraries in System32. That's why Linux needs a) more organization and b) more scripted installation/uninstallation.

      Now, wait a second. If RMS thinks that the OS is really GNU and not Linux, realize that GNU was designed to be like old-skool unix... i.e., all the files strewn within /bin and /sbin and /usr/bin and /usr/local/bin and /opt..... you get the point :). What this means is that Linux, by taking a step like this, can actually further itself against the Unixes by being the more organized, and yet easier to use of the bunch. It also means that Linux should be called Linux... as it's departure from the original "OS" that RMS envisioned. The reason I put OS in quotes is that I think the idea of "GNU/OS" is a bunch of baloney. I think the project was orignially formulated to write some utilities. You can't have an OS without a kernel. Look at HURD. It's nowhere near completion. How do you start writing an OS and leave the kernel for last?!? IMHO, Linux is Linux, and it could really be furthered with some innovative changes. Remember, going in the direction of WinNT in usability is a GOOD thing, not a bad thing. Just my $0.02 USD.

      --

      Aw, fuck it. Let's go bowling. - The Big Lebowski

    5. Re:cool by packeteer · · Score: 1

      although this is a simple idea which would solve the problem it would create its own problems...

      see the new issue would be dependancies... a program would have to copy every livrary into its own directory to work proporly which would cause all sorta of problems when you have 50 copies of a display library on your hard drive each one taking another chunk of disk space...

      back in the dos days programs were much simpler so they were mostly coded entirely by scratch or they woudl include and libraries with the program... this no longer works as libraries can be quite large...

      on a windows system this works still but only becuase standardized dll's are placed in a stardard directory in the windows folder such as internet access dll's

      --
      unzip; strip; touch; finger; mount; fsck; more; yes; unmount; sleep
  2. Writing something controversial... by Anonymous Coward · · Score: 0

    with Slashdot in mind. Isn't that normally called trolling?

    For example: FreeBSD's ports kick RPM's ass!

  3. Is RPN dead? by Anonymous Coward · · Score: 1, Funny

    Those of you who are in college now -- do you youngsters still use RPN on HP calculators?

    1. Re:Is RPN dead? by Indes · · Score: 1

      I'm in High School and use an HP 48G+,

      It uses RPN.. I dunno where I'd be without it. :-)

    2. Re:Is RPN dead? by Anonymous Coward · · Score: 0

      It uses RPN.. I dunno where I'd be without it. :-)

      In college?
      ;)

  4. We need a smarter packe system by Anonymous Coward · · Score: 0

    I hate it! You need to compile a new RPM for each platform

    What we need is a smart .tar.bz2 package which dectects what OS your using, and compiles and installs automagicly with a easy to use gui and a powerful cli interface

    1. Re:We need a smarter packe system by Sir+Joltalot · · Score: 1

      I'm just wondering why nobody's suggested a similar scheme to that used in Mac OS X. It seems to be very, very elegant and work really well. I haven't used OS X much, unfortunately, but from what I understand their packages are really clever and mean that a given application has a directory, and within that directory has everything it needs. Somehow.

      Could anybody explain it a bit further? How realistic is an implementation of the same thing on Linux?

      --
      "Caffeine is not an option. Caffeine is a way of life."
    2. Re:We need a smarter packe system by Verizon+Guy · · Score: 1

      The original MacOS had it made. It was just like DOS -- everything in their own directory; yet, it was an advanced GUI. Want to uninstall Netscape? Drag Netscape folder to Trash. Done. Want to uninstall Photoshop? Drag Adobe Photoshop folder to Trash. If you want to get rid of the Adobe font extensions, go to System Folder, Extensions, drag them to trash. Done.

      The parent poster asked for "a smart .tar.bz2 package" that could detect the platform. Ever get one of those "This application is not designed to run on your Macintosh." message boxes?

      MacOS Classic was eons ahead of the world and no one realized it and buried it into the ground.

      --

      Aw, fuck it. Let's go bowling. - The Big Lebowski

  5. *RPM is dying by Anonymous Coward · · Score: 1, Funny

    It is now official - Netcraft has confirmed: *RPM is dying blah blah blah

    1. Re:*RPM is dying by Anonymous Coward · · Score: 0

      film at eleven.

  6. apt-get is nice by Bloody+Bastard · · Score: 2, Informative

    I don't have problems with RPMs at all. I use apt-get since it was first introduced in Conectiva Linux, and I'm now using it in a Red Hat box. I upgraded it from 7.2 to 7.3, and the only problem I had was lack of space in /var to download the files (not my fault, but from the former sysadmin).

    1. Re:apt-get is nice by morgajel · · Score: 1

      not sure if this will help alleviate your position, but I know of the debian side of apt get, there's "apt-get clean" which removes current packages from the /var/cache/apt/archives. This will remove them if you have a bunch of crap you don't need anymore.

      oh course if the drive is just plain SMALL, you could always go ghetto, throw another drive in, and mount it as /archives and thow this at it

      #move all files and folder from /var/cache/apt/archives to /archives
      mv -r /var/cache/apt/archives/* /archives
      #remove /var/cache/apt/archives directory
      rm -rf /var/cache/apt/archives
      #replace directory with a symbolic link
      ln -s /archives /var/cache/apt/archives

      that should work, but keep in mind I just woke up, so this code may completely pooch your machine. think it out first and make sure it won't. Not sure if apt will thow a hissy fit over that or not.
      /me checks his email and goes back to sleep

      --
      Looking for Book Reviews? Check out Literary Escapism.
    2. Re:apt-get is nice by Anonymous Coward · · Score: 0

      Since recently installing Red Hat 7.3, I have happily been using apt-rpm with the freshrpms.net repository. It has been great for installing software that has specific dependency issues. However, there are two concerns I have (this applies to apt on Debian, as well):

      1. I recently got broadband (finally available in my area), which makes polling the apt repository a piece of cake. How easy would apt or apt-rpm be to use if I had to install software from floppy or from CD-ROM? How does this compare with Windows installers?

      2. Audacity and OpenOffice.org are not available on freshrpms.net. And, the Mozilla and Abiword packages are not to the current releases. What options do I have to install or update these applications, if I can't find a suitable repository? (This is mostly rhetorical: Actually, I installed both Mozilla and OpenOffice.org from scripts provided by each project. Audacity provided necessary RPMs. However, Abiword seems broken -- can't get the latest installed.)

      cdh

    3. Re:apt-get is nice by nehril · · Score: 5, Informative

      someone please correct me if I'm wrong, but doesn't this article suffer from a fundamental misunderstanding? you cannot compare apt-get to rpm files. apt-get is a system for installing .debs and their dependencies. there are similar systems for rpms (apt-rpm or red carpet).

      .debs suffer from all the same problems he complained about rpms having, because .debs are just a single package file. so do source code files (a la gentoo etc), since alot of your source code out there wont even ./configure without the right stuff in place. where debian has apt-get to manage the dependency nightmare, gentoo has emerge.

      what he is really bellyaching about is the fact that some big rpm based distros (mandrake and redhat) don't come with free dependency management software. 99% of his anti-rpm comments are not even wrong, they are wholly irrelevant.

      The last 1% that might have value is the fact that developers can't make a "universal" rpm due to all the differences in filesystem layouts among rpm based distros (note that this can a problem with .debs too). From an end user perspective even this is not a problem with a dependency manager in place. since it will find the "right stuff" for you.

    4. Re:apt-get is nice by Bloody+Bastard · · Score: 1

      Yes, I did that. I upgraded a few packages each time, then I did an apt-get clean, and so on.

    5. Re:apt-get is nice by Bloody+Bastard · · Score: 1

      You're right: you cannot compare apt-get to rpm files.
      But apt-get solves most of the dependency problems: you don't need to search that bloody xyz library thant needs zya version 0.9, etc

      Conectiva Linux (Red Hat based Brazilian distro) has apt-get included, and also Synaptic (a cute front-end for apt-get). CL is not a major player in the Linux market, but its going to work within United Linux, maybe they'll include apt-get.

      I like this distro because of apt-get, easy install, good and effortless portuguese support.

    6. Re:apt-get is nice by coats · · Score: 3, Interesting
      ...However, Abiword seems broken -- can't get the latest installed...
      Can't even get it to build from source, on either Mandrake 8.2 or RedHat 7.1 developer systems... their autoconf stuff is broken in the .src.tar.gz. (This is a reported bug on their bugzilla...)

      I've seen a lot of this "dependency hell" and it makes me really hate dependency on .so's: with a statically-linked build, it either works -- reliably -- or it doesn't work at all. I've heard all the .so justifications before, and from my point of view as a practicing fifty-year-old mathematician, computer scientist, and environmental modeler, it is all a lot of bunk when it comes up against the real practice of computing.

      --
      "My opinions are my own, and I've got *lots* of them!"
    7. Re:apt-get is nice by Virtex · · Score: 2

      what he is really bellyaching about is the fact that some big rpm based distros (mandrake and redhat) don't come with free dependency management software.

      I'm using Mandrake right now, and it has a free program called urpmi (User RPM Install) which works great for dependency management. It works very much like apt-get, and it's been around for years. And although I haven't seen it, doesn't Redhat's up2date handle dependencies?

      --
      For every post, there is an equal and opposite re-post.
    8. Re:apt-get is nice by tannhaus · · Score: 1

      Redhat's up2date does indeed handle dependencies. It turns upgrading into a point and click exercise. I've used it ever since it came out in beta and have never had a problem.

      As a matter of fact, I prefer up2date to anything I've seen. Why? Well, every other day I run up2date. If there is an upgraded package available for your system...for any reason: normal upgrade, system advisory, etc., then up2date notifies you and you can view the advisory from within up2date and decide if you wish to install.

      Up2date is a very adequate replacement for the tool of windows users: windows update.

    9. Re:apt-get is nice by jsse · · Score: 2

      someone please correct me if I'm wrong

      Sure.

      Obviously the original poster didn't compare rpm to apt-get, he's talking about the convenience offered by RPM-based apt-get which solves a lot of dependencies problems in RPM.

    10. Re:apt-get is nice by roybadami · · Score: 1

      Redhat's up2date does indeed handle dependencies.

      However, it needs to talk to a server. They haven't open sourced the server. You can register a maximum of one client machine per e-mail address unless you pay them for support.

      (Though apparently someone has written an open source up2date-compatible server)
    11. Re:apt-get is nice by Corvaith · · Score: 2, Insightful

      Mandrake's Software Manager is very nice. The problem isn't RPM, or the Software Manager, or any of that, as I see it.

      The problem is Mandrake. Or whoever puts out these RPMs.

      "Oops, sorry, we're going to start doing everything on gcc 3.1 for the next version, so... if you wanted newer packages of anything, you're out of luck."

      Or replace that with any of a million other things. It's not the software format itself, it's the distrobutions that insist on putting together all these RPMs so that you can't upgrade one without upgrading your entire system.

      But some of us aren't yet advanced enough to switch to Debian or Gentoo or Sorcerer, so what can we do?

    12. Re:apt-get is nice by neuroticia · · Score: 1

      Forget point-and-click. =] Real geeks use the command line.

      up2date -u or up2date packagename works beautifully, manages dependencies, and you don't have to deal with a gui. =]

      The one-per-email addr is a bit of a pain, but don't most people have more than one email address? (No, I don't speak from experience. All mine are on one account.)

      Doesn't work for other distros, but aren't there similar mechanisms in place for some of the other distros? I know Yellowdog Linux (ppc) has(had?) something called yup. Automated, managed dependencies, etc.

      Personally I've never had any problems with rpm, but that's usually because I only use rpm's for "more distributed" packages, prefering to download and compile the source for anything that might cause problems. Dependencies don't take THAT long to figure out... Unless you're installing something like gnome.

      -Sara

    13. Re:apt-get is nice by Anonymous Coward · · Score: 0

      Like the guy said:

      Slackware!

      Seriously, in many ways it really is a fairly effortless system to use.

    14. Re:apt-get is nice by 1155 · · Score: 1

      Excuse me if this has already been done, but wouldn't it be better to have a standard .so file come with each distro that comes with rpm? Wouldn't this solve half of the problems encountered by rpm? The other half was covered by another commenter, the one about how the dos system worked and how we should also do the same. It _did_ work for dos, so why can't it work for linux? Have a symlink in the path to the files created by the rpm, and voila, no more confusion of files installed, every rpm package can be a bit smaller due to the default .so files being installed when you install your os, and rpm does not die.

      Of course, you could just make everything, you know, like they did before the rpm. Just configure everything, and then make it. And read the readme. And read the install. Of course, you read the readme no matter what, right?

    15. Re:apt-get is nice by Anonymous Coward · · Score: 0

      Don't you remember the libz vulnerability?

      (The one that affected hundreds of software packages and left people grepping through 'nm' output to see if a particular statically-linked piece of software was vulnerable to the double-free.)

    16. Re:apt-get is nice by Kashif+Shaikh · · Score: 1

      .debs suffer from all the same problems he complained about rpms having, because .debs are just a single package file. so do source code files (a la gentoo etc), since alot of your source code out there wont even ./configure without the right stuff in place. where debian has apt-get to manage the dependency nightmare, gentoo has emerge.

      I have to disagree with you here. While every software package has dependencies, binary software packages like RPM can depend on some package versioned 1.0.0.1 and you have 1.0.0.2. Then you go ahead and download the package ver 1.0.0.1 and install it. Problem is, rpm would say package 1.0.0.1 conflicts with 1.0.0.2. Then you try to remove 1.0.0.2 and you get a bunch of more dependency errors.

      With source code files, you don't have this problem AS LONG AS the external libs the source code files reference haven't changed too much(e.g. API interface + function is same).

      I'm not too familiar with building rpm packages from scratch, but there should be a base compatability version say 1.0.x that would allow a package to work with 1.0.0.1 or 1.0.0.2.

    17. Re:apt-get is nice by coats · · Score: 2
      Been there.

      I still stand by what I said.

      --
      "My opinions are my own, and I've got *lots* of them!"
    18. Re:apt-get is nice by Anonymous Coward · · Score: 0

      > But some of us aren't yet advanced enough to
      > switch to Debian or Gentoo or Sorcerer, so what
      > can we do?

      switch to debian. it's nowhere near as hard as you
      think it is. really, if you can install redhat or
      mandrake, you should have no trouble installing
      debian.

    19. Re:apt-get is nice by Anonymous Coward · · Score: 0

      Do you have *any* *idea* how much memory that would waste? Nobody agrees with you, so have you considered the possibility that you might be wrong? I like your disclaimer there, which basically says you've completely made up your mind and cannot be convinced ever. Congratulations.

    20. Re:apt-get is nice by Anonymous Coward · · Score: 0

      You can tell the rpm use 1.0.x or greater when building the RPM, ether the developer did not do it, or thier is a reason that the older package should be used. You can also use --nodpes to not check the dependencies. Of couse this could brake the installed package.
      Thier is also the --oldpackage switch, so you can upgrade to an older package.

    21. Re:apt-get is nice by Anonymous Coward · · Score: 0

      "A lot" is two words. You wouldn't say, "alittle," would you?

    22. Re:apt-get is nice by hitchhikerjim · · Score: 1

      This is a problem with the developer end. RPM allows you to say "requires x package, with y OR GREATER version". But many developers are putting in "requires x package, with y version".

      It's not a fault in RPM itself, but in the usage of RPM. I'm wondiering if RPM's "auto-dependency generation" is at fault... haven't looked deeply enough myself. I just test my RPMs to be sure they aren't in that state.

      And I agree -- it's been one of the most annoying things to me about installing using RPMS.

    23. Re:apt-get is nice by hawklord · · Score: 1

      Actually, Mandrake has the urpmi package that handles the dependency nightmare very nicely.

    24. Re:apt-get is nice by Anonymous Coward · · Score: 0

      Just imagining:

      1- Let there be a system like debian resolving all package dependencies but using source packages to build optimal binaries specific to the host machine. I think such a system like this is present at debian but needs polishing.

      2- Let there be:
      a - A CVS repository registry somewhere at the internet,
      b - Developers organize their sources with clear cut tags (stable, unstable, testing).
      c - A tool (say apt-cvs) checks out all relevant codes trees, build and installs constructed packages using such a repository...

      Perfect!!! :)))

  7. Linked too early perhaps? by nurb432 · · Score: 1

    From the page...

    "This article is currently under preparation. Please do not post links to it and do not submit it to any new sites. Thank you."

    --
    ---- Booth was a patriot ----
    1. Re:Linked too early perhaps? by Anonymous Coward · · Score: 0
      "Please do not post links to it and do not submit it to any new sites. Thank you."


      I wouldn't really call slashdot a new site, it has been around for several years.

  8. standardized locations, etc. by nilstar · · Score: 3, Insightful

    I think the biggest thing we need with rpm (and other distro systems) is standardized package locations. That would help, *extremely*.... as well versioning control needs to be better. For example, I hate having to have 2-10 different versions of libraries due to programs requesting their own version, even though the newer libraries could do the job of the old ones. As well, when the rpm asks for another rpm which is not installed, but the libraries are on your machine (in the right location) it is frustrating.

    I hate to say it, but maybe we need a standardized "registry" idea like in MS Windows? I hate to say it, but they do have a good idea with that.

    --
    ===> An eye for an eye makes everyone blind - MG
    1. Re:standardized locations, etc. by TrentC · · Score: 5, Informative

      I think the biggest thing we need with rpm (and other distro systems) is standardized package locations.

      You mean something like a Filesystem Hierarchy Standard? Or maybe even a Linux Standard Base?

      Jay (=
      (Is there a website that rates distributions according to their adherance to these standards?)

    2. Re:standardized locations, etc. by smagoun · · Score: 3, Informative
      One of the problems you bump into with standard, one-size-fits-all packages is that APIs change, and bugs get fixed/introduced. Assume package A v1.2 was compiled against package B v3.6. Now package C comes along. Package C needs package B v4.0, so it upgrades package B. In the switch from v3.7 to v4.0, however, the API changed and a misfeature was corrected. Now assume package A relies on the old API and the presence/functionality of the misfeature. Now assume package A is no longer actively developed.

      This situation (and ones like it) happen all the time. That's one reason why programs often get their own copy of a library, even though it sucks from an end-user standpoint.

      Nevertheless, you're right....versioning needs to be better.

    3. Re:standardized locations, etc. by HD+Webdev · · Score: 0

      Now assume package A relies on the old API and the presence/functionality of the misfeature.

      Package A relying on a misfeature is Bad and Wrong.

      --
      This is not a dream, not a dream...we are transmitting from the year 1-9-9-9.
    4. Re:standardized locations, etc. by 0x0d0a · · Score: 5, Interesting

      I think the biggest thing we need with rpm (and other distro systems) is standardized package locations.

      That's already done in the LSB.

      The problem is that each rpm is required to contain a static list of files it installs *with pathnames*. The nice thing about this is that it lets you run rpm -qip foo.i386.rpm without executing any code (sandboxed or otherwise) to see the list of files. The stupid thing is that there then has to be a totally different rpm for every distro and every maintainer.

      In addition, it means that the maintainers need to keep *two* lists of what files are in the package -- one list for "make install" and the other for rpm. This is probably the most annoying design decision of RPM I've seen. There needs to be a FILES file with a list of installed files with a gen-files script (that runs sandboxed to build FILES for not-yet-installed packages and is run at package installation time to generate FILES). Have the Makefiles read this for make install. This would make life easier for maintainers (one list of files to install), would make RPMs more reliable (no accidental adding of a file to the Makefile but not to the spec file), and would let an RPM work on any distro (if we ever get the gcc-2.7, gcc-2.96, gcc-3 stuff worked out).

      even though the newer libraries could do the job of the older ones

      This is true for minor version number increases, but for a major version number change, newer libraries cannot simply link to the program.

      Also, the registry is a fucking stupid idea. (despite the fact that GNOME and KDE are mindlessly cloning it). The registry causes more problems than anything else I've seen on a Windows system. The MacOS did things right -- let all your centralized databases just be caches for data that can be rebuilt from files around your system. If something gets borked or corrupted...that's okay. Absolutely do *not* make your single copy of data a registry -- put the masters around the system, and let the centralized db be rebuilt if necessary.

      Also, registries require "installations" and "uninstallations" instead of just copying files. You can just copy appropriate files from one system to another and run code on a Linux or MacOS box. On a Windows box, you're in for running installers to poke at the registry. And finally, I've seen tons of broken Windows installers that poke at registry entries and end up completely screwing up data that some other app uses. For example, a friend once had Sonique and WinAmp installed, but couldn't associate mp3s with either. I took a look at the registry -- Microsoft's two-entry file association scheme let the extension entry point to a nonexistent application entry, IIRC. As a result, the mp3 entry didn't show up in the Folder Options dialog in Explorer, and couldn't be reassigned, and WinAmp and Sonique kept giving errors when trying to grab associations.

      The day any distro starts requiring a registry is the day I never touch that distro again. Right now, I can just uninstall GNOME if I want to do so.

      Oh, and another thing. The Windows registry is a *massive* shared database. As a result, tons of stuff modifies it and causes internal fragmentation and loss of physical continuity between related keys. Then all apps use the registry heavily (God, I hate apps that poll it), so you get slow app launch times, that annoying disk churning that you hear on Windows boxes...rrrgh.

      Take a look at .dll registration. On Windows, the only way the OS knows about a .systemwide dll is when you've added an entry to the registry for it. On Linux...run ldconfig, and it rebuilds the systemwide cache (ld.so.cache), which is significantly faster (contiguous, not incrementally modified, not modified by all sorts of other apps storing filename associations and the like) to read.

      The registry is basically a hack, because Windows *used* to have what MS considered a worse scheme (.ini files). It isn't a very well thought out system.

    5. Re:standardized locations, etc. by Vlad_the_Inhaler · · Score: 2, Interesting

      Package A will have been written for and tested on the API as it was defined at the time.
      The author(s) could not know what part of the API was going to become obsolete.
      I work on mainframes where things are a lot more stable, but occasionally some interface is changed and something has to be done. If we are lucky (most cases), that 'something' is just recompiling. If it goes beyond that, then most times the software vendor warns us of impending problems.

      --
      Mielipiteet omiani - Opinions personal, facts suspect.
    6. Re:standardized locations, etc. by Anonymous Coward · · Score: 0

      Mod this up somebody. I agree wholeheartedly with everything he said. The registry breaks every principle of common sense engineering.

    7. Re:standardized locations, etc. by Fluffy+the+Cat · · Score: 2

      I hate having to have 2-10 different versions of libraries due to prorams requesting their own version, even though the newer libraries could do the job of the old ones

      Any program linked against a library with the same major version number and the same or lower version number than the library installed should work. If the program depends on a specific minor version (as opposed to "a specific minor version or greater"), it's broken. If you have libfoo.so.1.0.1, libfoo.so.1.0.5 and libfo.so.1.0.7 you should be able to delete all of them except for the last and expect things to keep working. Applications are linked against the major version number, so they'll be using the more recent version already (run ldd on a binary and look at the first column - that's what the program is looking for, and the last column is what it's using)

      Now, the problem arises when you have applications linked against different major versions. The major version is supposed to be incremented when an incompatible change in the ABI is made - that is, without recompilation, a program linked against libfoo.so.1 will not work with libfoo.so.2 (well, it might - the change may be limited to a specific part of the library that the program doesn't use. But you can't guarantee that).

      So, if you have dependencies on lots of libraries with the same major version but different minor versions, your packages are broken. If you have dependencies on lots of libraries with different major numbers, then that's unavoidable and nothing to do with the packaging system.

    8. Re:standardized locations, etc. by Fembot · · Score: 1

      I hate to say it, but the Debian Package system solves all your criticisms in one go. Dependencies are well done and strict, and it will even manage /etc for you

    9. Re:standardized locations, etc. by GeekBoy · · Score: 3, Insightful

      >Also, the registry is a fucking stupid idea. (despite the
      >fact that GNOME and KDE are mindlessly cloning it).
      >The registry causes more problems than anything else
      >I've seen on a Windows system. The MacOS did things
      >right -- let all your centralized databases just be
      > caches for data that can be rebuilt from files around
      >your system.

      Umm. KDE works exactly the way you describe MacOS as working. All of the KDE config file are just that, files. However, to aid performance, etc, they are built into a sort of binary "registry/database" by a program called kbuildsycoca. If it becomes fubar'd then you just rebuild it.

    10. Re:standardized locations, etc. by Chacham · · Score: 1

      For example, I hate having to have 2-10 different versions of libraries due to programs requesting their own version, even though the newer libraries could do the job of the old ones.

      I hate to say it, but maybe we need a standardized "registry" idea like in MS Windows?


      Windows also has more than one version of the same library at times. And that has nothing to do with the registry!

      Generally, in Windows, either a library is backwards compatible, or it gets a new name (a different directory would not help). Linux already does this somewhat. Version numbers are kept in libraries, and they link a versionless name of the library to the latest one.

      The registry is rarely used for libraries. Rather, you may be thiking of OLE objects (OCXs, and OLE DLLs that need other DLLs) that "self-register" themselves to let other applications know where they exist. But it usually doesn't matter when it
      s installed in System(32).

      I hate to say it, but they do have a good idea with that.

      Actually, I believe even Microsoft admits that the registry was a "Bad Idea". They just had no idea that Windows would go anywhere when they had the idea, so it seemed to work well for a small system.

    11. Re:standardized locations, etc. by Anonymous Coward · · Score: 0
      Of course it is. But this is reality we live in, not utopia.

      Shame, really.

    12. Re:standardized locations, etc. by 0x0d0a · · Score: 2

      Okay, my apologies. I haven't poked around too much with KDE.

      GNOME's GConf does act as a Windows-like registry.

    13. Re:standardized locations, etc. by Chacham · · Score: 1

      Oh, and another thing. The Windows registry is a *massive* shared database.

      I think knowledgebase would be a better name. A database has structure, the registry has little structure.

      Take a look at .dll registration. On Windows, the only way the OS knows about a .systemwide dll is when you've added an entry to the registry for it.

      That is incorrect.

      Unless the library is not on the path, Windows can find it. Self-Registering a DLL only helps in "finding" it when there is another DLL on the system with the same name, in a directory with an earlier entry in the path, and the application that is loading it searches the registry for it.

      I'd venture to say that most of Microsoft's DLLs are not self-registered. The self-registration is generally only needed for OLE Objects, and even then you can usually do without it.

      The registry is basically a hack, because Windows *used* to have what MS considered a worse scheme (.ini files). It isn't a very well thought out system.

      Incorrect on both.

      The registry was not a hack. It was a system designed for Windows when they thought that it would go nowhere. It helped register OLE objects, and a few other items, and did a fine job of it too.

      INI files were also fine. However, too many systems started putting them in their private directories, instead of in the Windows directory where Microsoft said they should be.

      The hack was, that when Windows 95 came out they decided that all INI files should be removed, and the registry should be used instead. NT 4 even usurps INI writes to Microsoft INI files (WritePrivateProfileString?) and throws them into the registry (ODBC is a good example of this) whether you like it or not. In that, it was a bad idea. But this still had nothing to do with DLLs. OLE DLLs have always been in the registry!

    14. Re:standardized locations, etc. by SerpentMage · · Score: 2

      While I think it is a great idea to do major and minor versions, it all stills fails because people break things.

      If there is one thing I like in .NET it is the fact that you can install any system files local and have two copies on the computer. Ok hard on the hard disk space, but at least it works.

      And while I hate to admit it, shared libraries do suck long term when building applications. The dependencies become nightmarish because you code against specific versions and assume certain things. I would rather simply static link it and be done with it.

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    15. Re:standardized locations, etc. by captaineo · · Score: 2

      On Windows, the only way the OS knows about a .systemwide dll is when you've added an entry to the registry for it.

      I do agree with Windows' conventions on DLL use - '.' is always in the DLL search path, and it's conventional when starting GUI programs to chdir() to their "bin" directory... In order to get this effect on Linux, you have to stick a boilerplate script in /usr/bin that sets LD_LIBRARY_PATH, PATH, etc (Mozilla is a good example of this).

      I think one avenue of attack no one has considered yet is modifying /bin/sh. Instead of using a pre-set PATH, perhaps the shell should take it upon itself to search for packages with /bin/ directories, and set LD_LIBRARY_PATH to the corresponding /lib/ directory automatically...

      You have to start to think of /usr/bin not as the directory where all your executables go, but simply a directory of command names that are accessible to the shell...

    16. Re:standardized locations, etc. by ngtni · · Score: 1

      The registry wasn't just a replacement for .ini files, in fact as far as i can remember the registry was part of Windows 3.1, used for OLE registration and other centralising stuff.

    17. Re:standardized locations, etc. by Oggust · · Score: 1
      One thing that's bad about the registry (and other lookalike systmes, AIX's ODM for example) is that it's system-specific. Normally, most of the info in there is supposed to be shared among a lot of machines, with some of it per-machine. And you can't do that with a system like that, not without reinventing the shared filesystem, and all of the infrastructure that takes (authentication, authorization...). A file can be on a shared filesystem however (there's a problem if you need different per-machine data withing one file, but that's not a big problem with real apps.)

      Yes I know this is why they invented AD, but that's way overkill for the most part.

      Also, a lot of the information that ie GNOME keeps in its' databases should really be stored in the X server as atoms or properties or whatever. I run into problems all the time when running apps remote, and the end up working/looking weirdly, because it looked at files on that computer which are not the same as what I have on this one.

      Example: On one box i use a different theme than what I normally use (it's slow). Now, If I'm logged onto another box, ssh to the slow one, and use a gnome app there, it shows up on my desktop using the theme from the the other box! That's not right! Now, the X server has facilities to to this kind of thing correctly, but it's not what gnome uses.

      Some other apps do get this right though, the netscape -remote feature uses this, and the different programs that make up xscreensaver use this to talk to (and find) each other.

      /August.

      --
      "An object declared as type _Bool is large enough to store the values 0 and 1." -- 6.1.2.5, C99 standard.
    18. Re:standardized locations, etc. by qweqwe · · Score: 2, Informative

      Not really. GNOME's GConf works like a database (installable schemas with defaults) with any back end you want (XML, LDAP, Postgre, raw files). It's only used for configuration (e.g. user preferences) not anything critical, so you can blow it away or damage it and your system will return to reasonable defaults. You should also be able to share them between different installations, and have a registry chain so that defaults can be maintained on a central server and users can make local changes on their servers. It also has notifications so you can be notified if a specific key changes. With notifications, there's no need to restart your application (or server) just so that the new settings can take place (no reboots either!).

      Windows registries are nothing like this.

    19. Re:standardized locations, etc. by Mr.+Piddle · · Score: 1

      I hate to say it, but maybe we need a standardized "registry" idea like in MS Windows? I hate to say it, but they do have a good idea with
      that.


      Please be very careful with statements like this. The Windows Registry is probably one of the top three reasons behind Windows' noticable adherence to physical laws concerning "entropy". Poorly designed schemas, applications clobbering each other, hard-wired path names, redundant data, hidden personal information, single-user reek, corruption...the Windows Registry is just terrible.

      Any "registry" in a UNIX environment must be in greppable plain text, be in a well known path, and use a schema that properly accounts for relocated packages and multiple versions of software. Any new "registry" implementation must look to history's lessons, which is what some of the Linux distributions are trying to do. In time, they might succeed.

      --
      Vote in November. You won't regret it.
    20. Re:standardized locations, etc. by mattdm · · Score: 2

      I hate to say it, but maybe we need a standardized "registry" idea like in MS Windows? I hate to say it, but they do have a good idea with that.

      We have something like that. Something superior, in fact. It's called /etc.

    21. Re:standardized locations, etc. by Anonymous Coward · · Score: 0

      The Windows Registry is a nice idea that is very poorly implemented.

      And, while I might be wrong about this, it was my understanding that GConf has only a superficial resemblance to the Windows Registry. As far as I understand it, GConf acts as nothing more than a centralized coordinator for dispersed data (depending on which back-end you choose to make use of). In fact, if I recall correctly, one of the design requirements was the ability to reconstruct the GConf resources in much the same way that you describe for the Mac. Also, GConf is intended strictly for the desktop, not for anything of a system-critical nature.

      The Windows Registry is a good idea; it's just so poorly designed and implemented that it's become a living nightmare. And, to be honest, its main problem isn't its renowned ability to become corrupted; it's the lack of any useful documentation regarding the use and management of the data it contains. Most corruption issues I've ever encountered can usually be traced back to somebody changing some critical value inappropriately (most, but not all by any means).

    22. Re:standardized locations, etc. by Pi+Kapp+142 · · Score: 1

      But that is the joy of Open Source, at least theoreticly. If package A is no longer working, becuase of the new library, and it needs the older library, then someone who is good at programming will hopefully fix the bugs so package will now A will now work with package B v4.0.

    23. Re:standardized locations, etc. by rseuhs · · Score: 2
      That's one reason why programs often get their own copy of a library, even though it sucks from an end-user standpoint.

      Why does this suck from an end-user standpoint?

      I personally don't care much about how many versions of some library are installed as long as the goddamned software works. I think software like everything from Loki(RIP) or Codeweavers are very well done because they don't require many libraries (Only the kernel and glibc AFAIK)

    24. Re:standardized locations, etc. by Anonymous Coward · · Score: 0
      "hopefully" being the operative word in that response...

      :(

    25. Re:standardized locations, etc. by MSG · · Score: 2

      In addition, it means that the maintainers need to keep *two* lists of what files are in the package -- one list for "make install" and the other for rpm. ... There needs to be a FILES file with a list of installed files with a gen-files script

      Actually, you can do that. The old KDE packages did; I don't know if the new ones do. It's very easy to do if your source produces only one binary package. However, if you want to split things into more than one binary pacakge, then it is up to you to determine which files belong in which package. You can still do this automatically, but it's usually easier just to list the files in the rpm spec.

    26. Re:standardized locations, etc. by Anonymous Coward · · Score: 0

      Thats why you use shared object versioning, and link Package A against the specific version of that library.

      With shared object versioning, both versions of Package B, V3.4 and V4.0, can be installed (Provided RPM is inteligent to understand this!), and Package A and Package C will work as before.

      Or ignore shared objects and just link everything statically if it isn't specified in the LSB.

    27. Re:standardized locations, etc. by Anonymous Coward · · Score: 0

      NT 4 even usurps INI writes to Microsoft INI files (WritePrivateProfileString?) and throws them into the registry

      The idea was that NT 3.x and Windows 3.1 could share the same \Windows directory without stomping on each others configs. In practice, nobody ever did this, but disk space wasn't cheap in those days.

    28. Re:standardized locations, etc. by jcast · · Score: 1

      Duplicate libraries eat RAM. RAM eats your budget. Having your budget eaten sucks. Clear?

      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
    29. Re:standardized locations, etc. by jcast · · Score: 1

      I think this is a cleaner version of what you want: Create two files, /etc/prefixen and /etc/paths. /etc/prefixen (for example) might look like this:

      /
      /usr
      /usr/mozilla

      /etc/paths looks like this:

      PATH /bin
      LD_LIBRARY_PATH /lib

      Then, on startup, /etc/profile reads these files in, and sets things up appropriately (i.e., PATH becomes /bin:/usr/bin:/usr/mozilla/bin and LD_LIBRARY_PATH becomes /lib:/usr/lib:/usr/mozilla/lib). Then, put mozilla under /usr/mozilla/bin and put its libraries under /usr/mozilla/lib. When mozilla is installed, just make sure /usr/mozilla is in /etc/prefixen. Under /usr/mozilla/libexec (or maybe /tmp/exec, or wherever), put a shell script that reads /etc/paths and manually inserts /usr/mozilla into them. Then, tell the user to source that file before running mozilla. And of course, at the next login sh will automatically add /usr/mozilla to all the right paths.

      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
    30. Re:standardized locations, etc. by jcast · · Score: 1

      However, if you want to split things into more than one binary pacakge,

      Why?
      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
    31. Re:standardized locations, etc. by jcast · · Score: 1

      And while I hate to admit it, shared libraries do suck long term when building applications. The dependencies become nightmarish because you code against specific versions and assume certain things.

      Translation: I don't know how to write portable code.

      I would rather simply static link it and be done with it.

      Translation: I'm lazy.

      Granted, documentation of what's portable and supported could be drastically improved. But if you really can't keep your system working with newer versions of libraries, there's pilot error somewhere. Pilot error is not a problem with .so files; it's a problem with pilots. To eliminate it, find perfect pilots :)
      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
    32. Re:standardized locations, etc. by IamTheRealMike · · Score: 2
      I was reading the FHS yesterday, and am still confused about one thing. It says that /usr/local and /opt are both for use by user-installed software. So where should my packages go?

      Oh, and by the way, I think SuSE is basically the only fully LSB/FHS compliant distro out there, correct me if I'm wrong.

      thanks -mike

    33. Re:standardized locations, etc. by MSG · · Score: 2

      Maybe your package is a library, and you want to split it into "library" and "library-devel" packages, so that users don't need extra headers and devel libraries sitting around, filling up their disks.

      Or, maybe you have a single source which builds a modular application, and some of those modules have dependencies that the package as a whole doesn't need. The Courier-MTA builds separate courier-ldap, courier-mysql, courier-pgsql packages so that users who want virtual hosting/aliasing using those backends can install the appropriate package, but those who don't use those features don't need openldap, mysql, and postgresql installed to run Courier.

    34. Re:standardized locations, etc. by joto · · Score: 2
      I do agree with Windows' conventions on DLL use - '.' is always in the DLL search path, and it's conventional when starting GUI programs to chdir() to their "bin" directory...

      Yes, this is more user-friendly. However, it is also an enormous security risk. If someone were to put a libc.so in your current directory (which quite often is not your home directory), then the system would use that instead of standard libc.

      Now, you could try to patch things up the microsoft way, fixing one hole at a time, but a better solution is to simply fix the underlying architecture, and not have . in your LD_LIBRARY_PATH.

      In order to get this effect on Linux, you have to stick a boilerplate script in /usr/bin that sets LD_LIBRARY_PATH, PATH, etc

      And what exactly is wrong with such a boilerplate script? It is simple to write (as you mentioned, it's all boilerplate code). It is simple to understand and modify for nonstandard installations. It is reasonably efficient (at least for anything large enough to have been modularized into separate loadable libraries). And it is a lot safer than the approach you mentioned...

      I think one avenue of attack no one has considered yet is modifying /bin/sh. Instead of using a pre-set PATH, perhaps the shell should take it upon itself to search for packages with /bin/ directories, and set LD_LIBRARY_PATH to the corresponding /lib/ directory automatically...

      And the reason for that is because linux is intended to be a unix. Changing the semantics of /bin/sh this much would make it into something else. (And remember, we would also have to "fix" /bin/csh, /bin/zsh, /bin/ksh, and any other shell-like program people would use. You could just as well change the semantics of the exec() syscall.)

      The only problem this is going to "fix" is that of removing say 3-100 lines of simple /bin/sh code from large projects like mozilla, at the cost of increased complexity, reduced flexibility, and less security in the overall system.

      The alternative of some simple boilerplate shellscript for larger programs is much better.

      You have to start to think of /usr/bin not as the directory where all your executables go, but simply a directory of command names that are accessible to the shell...

      And surprisingly, here we seem to agree. I don't really see the purpose of putting everything in /usr/bin, and /usr/lib. Large packages/projects/subsystems/whatever should live in their own package directory (and whether it would be /usr/foo, /opt/foo, /usr/pkg/foo, or something else I don't care about, as long as package maintainers agree on it).

      Shellscripts can be used to set up the execution environment (current working directory, library load path, path for executables unlikely to be of interest to end-users, etc). Symlinks can be used for everything else (manpages, etc...)

    35. Re:standardized locations, etc. by jcast · · Score: 1

      -devel can be handled by examining the extension and/or install directory of the file, right? And as for the other point (about modules), if you have control of the source code's organisation, you can put each module into a separate sub-directory and split based on source sub-directory, no? There may be times you can't come up with a general rule for splitting files into packages, but I don't think that's the general case.

      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
    36. Re:standardized locations, etc. by moyix · · Score: 1

      /opt is where you place third party stuff with "static files" (according to man hier), and /usr/local is where you put things you compiled yourself. So I think that something like StarOffice would go into /opt, while if you compiled Gaim or something it would go in /usr/local.

    37. Re:standardized locations, etc. by m_pll · · Score: 1
      I do agree with Windows' conventions on DLL use - '.' is always in the DLL search path, and it's conventional when starting GUI programs to chdir() to their "bin" directory...

      Yes, this is more user-friendly. However, it is also an enormous security risk. If someone were to put a libc.so in your current directory (which quite often is not your home directory), then the system would use that instead of standard libc.

      Now, you could try to patch things up the microsoft way, fixing one hole at a time, but a better solution is to simply fix the underlying architecture, and not have . in your LD_LIBRARY_PATH.

      Yes, it's a security risk, and MS is aware of it. On XP, setting HKLM\System\CurrentControlSet\Control\SessionManag er\SafeDllSearchMode to 1 will cause "." to be searched after the system directory.

      On .NET Server I think "." will be removed from the DLL search path by default.

    38. Re:standardized locations, etc. by Anonymous Coward · · Score: 0

      Look at the directory structure.

      /opt//[bin|lib|man|etc|opt|]

      vs.

      /usr/local/[bin|lib|man|etc|opt|]

      If a piece of sw has a lot of different pieces, like gnome, mozilla, or gimp, it makes sence to use the structure of /opt. If the sw is just a single executable and a couple of libs, then the /usr/local structure makes sence.

    39. Re:standardized locations, etc. by Strike · · Score: 1

      Debian has an approach to this that I appreciate and think is a good start - debconf. It's not as nice as having a unified file format layout, but it's also not as restrictive and allows people to choose the format that suits them best. For example, Python programs no doubt are more likely to use the format that is understood by its ConfigParser module instead of some other obscure format. If there were unified language support for a common parseable format (SGML/XML anyone? I think it is the closest), then I think it'd be easier to switch to as system described in this Freshmeat article from last February.

    40. Re:standardized locations, etc. by Anonymous Coward · · Score: 0

      You realize you posted the same directory layout for /opt as /usr/local? So how does "If a piece of sw has a lot of different pieces, like gnome, mozilla, or gimp, it makes sence to use the structure of /opt. If the sw is just a single executable and a couple of libs, then the /usr/local structure makes sence." still make sense?..

    41. Re:standardized locations, etc. by captaineo · · Score: 2

      I like jcast's idea of '/etc/prefixes'. The main point is that this should be taken care of automatically by the package manager. Either that or dropping the boilerplate "export LD_LIBRARY_PATH=foo" script in /usr/bin. I consider Mozilla a good citizen in that all you have to do is link 'mozilla' into /usr/bin and you're all set to go. But consider what happens when you try to install a typical package somewhere other than /usr/local/lib - you can certainly do it with './configure --prefix=/foo', but what happens is THE ABSOLUTE PATHS TO THE LIBRARIES GET HARD-CODED INTO THE EXECUTABLES (can you tell I hate 'ld -rpath' with a vengeance?). If you decide to move the package somewhere else, all executables will break.

      BTW I don't really get the whole UNIX thing about never putting '.' into PATH or LD_LIBRARY_PATH. I know it theoretically creates a vulnerability, but has anyone exploited it (in recent history)? Shouldn't binaries and libraries be installed in read-only directories, so that only root could slip in a substitute libc.so? (if root is hostile then you are fucked anyway). Sure you could theoretically be duped into running a malicous 'ls', but is this really a big enough risk to justify the torture of typing ./foo all the time? (I swear we could delay the onset of RSI by years if we eliminated './' and 'export LD_LIBRARY_PATH=...' =)

      I like the idea of designating a 'core' set of libraries (libc, libpthreads, etc) and binaries (ls, cp, mv, etc) that could never be over-ridden...

      I don't understand why people treat "the UNIX way" as some holy order that can't evolve into anything better. UNIX is just one system some guys at Bell Labs hacked out in the 60's. It's not without flaws. (I'm reminded of my IRIX box, which keeps the binary for 'ping' in /etc/ping...). There are lots of groups trying to "do UNIX better" (Miguel of GNOME is explicit about it); of course not all of them will succeed, but I will certainly bet you that we haven't reached the local maximum yet.

    42. Re:standardized locations, etc. by Anonymous Coward · · Score: 0

      > While I think it is a great idea to do major and minor versions, it all stills fails because people break things.

      People can *always* break things. That's not a very persuasive argument against the SO naming conventions.

      As for multiple copies of system files, you can - if needed - adjust your LD_LIBRARY path such that local copies of system libaries are found before the global versions. This isn't done by default for a number of good reasons, but it *can* be done if needed (and if its side/security effects are understood).

    43. Re:standardized locations, etc. by MSG · · Score: 2

      I didn't say you couldn't. You only asked why you'd want to split one source into multiple binary packages.

      All the same, try it sometime with a non-trivial package. It's not as simple as it seems at first, especially if you want the source packages builds without those optional packages' dependencies.

    44. Re:standardized locations, etc. by joto · · Score: 2
      what happens is THE ABSOLUTE PATHS TO THE LIBRARIES GET HARD-CODED INTO THE EXECUTABLES (can you tell I hate 'ld -rpath' with a vengeance?). If you decide to move the package somewhere else, all executables will break.

      I agree. This is bad.

      Shouldn't binaries and libraries be installed in read-only directories, so that only root could slip in a substitute libc.so?

      No, how would you add a new binary to a read-only directory then? But more seriosly, I would hate to have to be root just to load another libc.so during development.

      but is this really a big enough risk to justify the torture of typing ./foo all the time?

      Maybe not. You are free to add . to your path if you want to (and at the end of the path is a lot safer). This is often useful during development, and developers know how to do that. Users will mostly use binaries in /bin and /usr/bin, and there is little reason to make things more unsafe by default. Add ~/bin to your path as well, and most problems go away.

      I like the idea of designating a 'core' set of libraries (libc, libpthreads, etc) and binaries (ls, cp, mv, etc) that could never be over-ridden...

      Why? It makes no sense to me. It would be a big hassle for developers, and it doesn't help security much, because there will always be new "standard" shared libraries (Gnome, KDE, X11, etc...). So it wouldn't really help security except in those few cases where a "standard" shared library was involved (this is like microsoft plugging just *that* security hole, leaving everything else open). But you are free to add a this as a configuration file to ld.so. There is a possibility that someone would like it. Shells with builtin "mv", "cp", "ls", etc.. already exists (albeit for a different purpose).

      I don't understand why people treat "the UNIX way" as some holy order that can't evolve into anything better. UNIX is just one system some guys at Bell Labs hacked out in the 60's.

      Because otherwise things will break. We like it this way, it works, it has proven itself, and we care about source compatibility with other unices as well as international standards like posix. And we care about the flexibility unix offers to replace parts we don't like.

      And while I am all for improvement, having a conservative attitude towards "fixing" means that fixes that breaks more than it fixes will rightfully not be allowed to break things. On the other hand, if the fixes are truly better in every aspect, and they can emulate old behaviour if necessary, then you are not going to see many oppose them (at least not in the linux community).

    45. Re:standardized locations, etc. by SerpentMage · · Score: 2

      A: I am able to write portable code
      B: I am not lazy either

      So besides saying I am lazy and not able to write code please put some validation in your comments.

      The reason why I say these comments regarding shared libraries is because when the number of libraries shared among applications become large conflicts will occur more than we would like to know about. And as a result you spend a huge amount of time tracking down libraries just so that your application can work.

      When you say documentation can be improved, my comment is that I have time deadlines and have to make tradeoffs. And while I am not a fan of using static libraries it gives you stability.

      Look at it this way. You do it right, get a conflict that is not your fault. You then have to look at what the other installation did and fix it. But of course you will look like a jackass. Or you trade off and do a static release and never have to deal with the problem?

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    46. Re:standardized locations, etc. by brandonj · · Score: 1

      Well, in the case of GNOME, their registry isn't just one huge database, it's a bunch of XML files (by default - you can make plugins so it uses a mysql DB if you want), so if one file gets corrupted, the rest is still intact. As for it being a bad idea, I think you are wrong - Windows did it wrong, that doesn't mean there's no right way to do it.
      You claim it makes installations difficult because you have to modify registry settings when you install, but this would not be a mistake on the registrys part, but the programmers. It's alot like dot files - they aren't normally installed when you _install_ a program, but when you first _run_ the program. If the registry is modified when you install the application, then someone needs to slap the author.

      -Brandon

    47. Re:standardized locations, etc. by Anonymous Coward · · Score: 0
      I hate to say it, but the Debian Package system solves all your criticisms in one go.



      The Debian Packager system solves your problems if you only want to run Debian. The problems with RPMs being discussed here occur becuase RPMs are supported my more distributions than just Red Hat.

  9. Has anyone ever tried.. by ChronoZ · · Score: 2, Informative

    various alternatives to RPM packaging? I don't know much about this, but I've found QNX's Package Installer to be quite efficient and trouble-free (at least in 6.1, can't say much on the new one in 6.2NC) compared to what many experience with RPMs..
    Then again, RPMs would work better if more distributions were a little more uniform in their cores (UnitedLinux might solve this?)

    1. Re:Has anyone ever tried.. by morgajel · · Score: 1

      debian's apt-get is by far the coolest package manager I've seen. it alone was reason enough for me to convert my 5 boxes to debian. I've never had a dependency problem of any sort(all done automagically), and then there's
      apt-get update
      apt-get upgrade

      which are very cool, and go to the debian website, and grab the newest definitions, then install the newest versions of your programs. I'm told it's like Rsync on slackware, but I have no Idea how truthful that is.
      apt also have a few other utilities for package management, like
      apt-spy, which finds the quickest download mirror for you;
      apt-cache, which lets you search through the "list" of different packages for stuff your looking for and give you the package name. sorta like rpm -q, but more powerful(from what I can tell).
      apt-proxy, not sure what it does, but I'm told it acts like a central repository for packages, so one machine can divvy them out to others on your network without each machine having to redownload each package from the server.
      of course, now there's an apt-get for plenty of other distros from what I hear, but I think I like this one.

      feel free to flame me if I screwed up somewhere- I'll make sure I lose sleep over it.

      --
      Looking for Book Reviews? Check out Literary Escapism.
  10. Is RPM Doomed... by Anonymous Coward · · Score: 0

    Who cares?

  11. Solaris packaging by Anonymous Coward · · Score: 0, Troll

    The Solaris pkg method is tight, easy to do and proven. Linux could definately use this. Die RPM Die.

    1. Re:Solaris packaging by grokBoy · · Score: 1

      A quick google reveals that there are already several open source ports of pkgadd/pkginfo etc available for Linux, but with Sun's foray into the Linux market, perhaps an 'official' port will happen sooner than you think.

    2. Re:Solaris packaging by mindstrm · · Score: 2, Informative

      Okay.
      What features of the solaris package management and/or solaris packages themselves do you want to see? Because if it's just about nice, neat clean packages that install trouble free.... well, let's just say it's entirely easy to produce a solaris package that sucks.

      The point is.. RPM is not the culprit; multiple vendors using the same package but systems that are rather different sucks.

      debian packages work well because the debian world is rather focused. Because we ensure that all dependencies can also be met from debian packages in the same distirubtion, etcetera.

      If you use redhat and only redhat official packages, it works great too (well, insomuch as redhat can work great)

    3. Re:Solaris packaging by Anonymous Coward · · Score: 0

      The bad thing about pkgadd is that you have to be root to do an install. You aren't allowed to install a software package just for yourself. Not a big deal in home systems, where you have root, or in well-run companies, but in companies like mine, where IT needs a sign from God to do a software install, its a big deal.

    4. Re:Solaris packaging by Anonymous Coward · · Score: 0

      It's entirely easy to produce a crap package no matter what you use. I like the pkg method based on how simple it is to create a package (properly) alone. The pkg set of tools is straight forward and does not try to include everything AND the kitchen sink. It does the job, does it right and isn't flashy.

    5. Re:Solaris packaging by Anonymous Coward · · Score: 0

      I've never been in this situation but I can totally see your point. Chances are, if the red tape of a large company is holding you down, you have worse problems than package installs :)

    6. Re:Solaris packaging by Anonymous Coward · · Score: 0

      Solaris is using SVR4 package manager. There have been some negotiations with SCO about it and they were willing to release the source, most likely under GPL. Then Caldera bought SCO. That put an end to it. Sun cannot do anything about the source release.

  12. Gentoo's Portage system r00lz by rizzo · · Score: 4, Informative

    Gentoo Linux uses a system called "portage" which will download, compile, and install programs from source (binary for some packages). It is fantastic. Similar to apt it will check for dependencies and get those also. But the use of source is what turns me on. I'm converting all my linux boxen to it. Even inspired me to slice up the disk on my Win2000 box and go dual-boot.

    --

    "More organs means more human." - Zim

    1. Re:Gentoo's Portage system r00lz by 0x0d0a · · Score: 2

      And there are plenty of front ends to rpm that can also get dependencies. If rpm is too low-level for you, that's why it was designed to be *really easy* to write front ends for, what with rpmlib and --queryformat.

    2. Re:Gentoo's Portage system r00lz by mrbnsn · · Score: 1

      Yeah, cool, but what does Gentoo do for you when you have a stack of production servers with running live configuration files that need to be upgraded to a new version?

      Yup. Nothing at all.

      Debconf on the other hand gives you a handy choice of user interfaces and prioritized prompt questions, and will restart your services for you when it's done.

      Real professionals wouldn't do it any other way.

    3. Re:Gentoo's Portage system r00lz by mckayc · · Score: 1

      Wow! What an amazing and ground-breaking idea! What's that? BSD has had the same feature called 'ports' way before Gentoo came out? Naaaah.

    4. Re:Gentoo's Portage system r00lz by kiahale · · Score: 1

      Portage is based on ports, you dolt.

    5. Re:Gentoo's Portage system r00lz by mike_mcc13 · · Score: 1

      Gentoo's system is just like BSD's but has the advantage of the huge user base

    6. Re:Gentoo's Portage system r00lz by kidlinux · · Score: 2

      If you go to Gentoo's Website and read about the portage system, you'll see they make reference to the fact that it's similar to BSD's ports system. They mention that portage is certainly not just a ports "ripoff". I recall reading somewhere that the portage system uses the best features of ports and Debian's apt.
      Although I've never used Debian, and have limited experience with ports, I wouldn't doubt it. Portage is pretty tight.

      --
      -kidlinux.
    7. Re:Gentoo's Portage system r00lz by Oopsz · · Score: 2, Informative

      Umm.. Gentoo's portage system has you covered there. You can upgrade on the fly and keep your original configurations, then when you have some free time, "emerge clean world" will kill your old versions (While leaving the required files for other apps.) As well, if you're running a farm of identical servers (And if its a farm, why on earth would you have multiple configurations?), you can compile a package on one box, and install using that package on the rest of them. It's a great hybrid of Source and Binary based package management.

    8. Re:Gentoo's Portage system r00lz by walt-sjc · · Score: 1

      Having used both freebsd and gentoo, gentoo looses. Why? the lack of a "stable" tree. This is why I moved to debian. I can still use source when I want to, yet get a stable mature, well-tested tree.

      BTW, I HIGHLY doubt gentoo has a larger userbase than freebsd.

    9. Re:Gentoo's Portage system r00lz by Anonymous Coward · · Score: 0

      So I just do an emerge ppp-generic.o and everything's copasetic? D00d, that rocks!

    10. Re:Gentoo's Portage system r00lz by drinkypoo · · Score: 3
      Debconf on the other hand gives you a handy choice of user interfaces and prioritized prompt questions, and will restart your services for you when it's done.
      Real professionals wouldn't do it any other way.

      FUD, FUD, FUD.

      1. Like openbsd's ports collection, gentoo's portage system does a so-called "fake" install and builds a package whenever you 'emerge' it. Hence, it creates a binary package which can instantly be emerged (as an install or upgrade) on other systems with the same architecture. You can always build for a common architecture, but that does defeat the entire purpose of gentoo. You can use a downloader which supports proxies, so if you choose to do upgrades by compiling, your proxy server can at least save you from downloading everything.
      2. Portage doesn't have a 'handy choice of user interfaces' yet because no one's gotten around to developing one. Good thing it's so bloody easy; emerge --clean --update rsync will update your portage tree removing old entries; Keep the old entries (Which will continue to work) by not specifying --clean. emerge --update world will update all install packages which have been updated since your last world update.
      3. Real professionals? What kind are those, microsoft professionals? You're not a Unix admin if you need a candy-coated GUI to administer your system. I use them sometimes too, when it's convenient, but if you depend on them, you're a cripple. Period.

      You obviously know jack about portage. Please don't talk about it again until you've actually used it. Or at least read some docs on gentoo.org.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    11. Re:Gentoo's Portage system r00lz by Arandir · · Score: 2

      From my own experience (undoubtedly biased by the fact that the Gentoo documentation is grossly incomplete) here is were ports beats portage:

      1) Can't search portage. Under FreeBSD just do: "make search name=blarg". This will give you a wealth of information.

      2) Poor documentation for portage. This may be the reason I never figured out how to do the previous. Under FreeBSD, do a "man ports" and you get all the information you need. (there's also the excellent Handbook and Porter's Guide)

      3) No package descriptions! Aaaargh! If you want to know what a package does under Gentoo you download the sources and read the README in the sources. Very bad. Even a one line lazy-developer's description is better than nothing.

      4) For difficult source code, it may be easier to create a Gentoo emerge file. But for simple straightforward source, the FreeBSD port Makefile is easiest.

      3) Ability to install binaries packages as an option. Building from source is great, but sometimes you don't have the time.

      Summary: I expect the Gentoo portage system to eventually address my concerns. In the meantime it was a very painful experience.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    12. Re:Gentoo's Portage system r00lz by Anonymous Coward · · Score: 1, Informative

      it seems you haven't tried

      emerge -s part-of-package-name

      You can get a list of packages that contain the specified term, and it comes complete with your lazy one line description. It even tells you what the latest version available is, and if you have it installed already.

    13. Re:Gentoo's Portage system r00lz by Anonymous Coward · · Score: 0

      I'm of the same opinion. There are, and have been tons of FreeBSD users out there (Using x86 & Alpha). FreeBSD's ports has caught the eye of many a professional with it's ease of use, it's easy manageability and the fact that it offers port upgrade paths.

      Gentoo hasn't invented the wheel in this department...

    14. Re:Gentoo's Portage system r00lz by Anonymous Coward · · Score: 0

      This entire thread is hilarious, what with all the people slamming Gentoo for invalid reasons linked to their own ignorance.

    15. Re:Gentoo's Portage system r00lz by Anonymous Coward · · Score: 0

      Dont forget to mention the real important feature of ports(and portage) that makes it better than any other packaging system: true dependency checking. It dosnt check an instalation database, it checks for the .so or whatever. This allows it to play nicely with anything hand installed, instead of apt fighting with your manual install. i know this is true on ports, i'm just assuming its also true for portage

    16. Re:Gentoo's Portage system r00lz by tkdack · · Score: 1

      1) Can't search portage. Under FreeBSD just do: "make search name=blarg". This will give you a wealth of information.

      emerge -s package

      2) Poor documentation for portage. This may be the reason I never figured out how to do the previous. Under FreeBSD, do a "man ports" and you get all the information you need. (there's also the excellent Handbook and Porter's Guide)

      emerge --help gives a wealth of information as does man emerge or even man ebuild, ebuild is what does most of the work, emerge is just a nicer front end that does all the ebuild steps automatically.
      Want more? Gentoo Documentation

      3) No package descriptions! ... Even a one line lazy-developer's description is better than nothing.

      Look at the output from emerge -s foo

      4) For difficult source code, it may be easier to create a Gentoo emerge file. But for simple straightforward source, the FreeBSD port Makefile is easiest.

      If your source code is as simple as:
      ./configure
      make
      make install

      then all you need to put in an .ebuild file is the url for the source, something like:
      $SRC_URI="http://application.sourceforge.net/foo-$ {PV}.tar.gz"

      Name your .ebuild appropriately (foo-1.0.ebuild) and ${PV} is populated from the .ebuild name.

      5) Ability to install binaries packages as an option. Building from source is great, but sometimes you don't have the time.

      You can install Portage created binaries (they are just tar.bz2 files).

      If you want to you can even install RPMs, however since on a Gentoo system you are not going to have a wealth of RPMs installed you will probably need to use --nodeps or even --force.

      Summary: I expect the Gentoo portage system to eventually address my concerns. In the meantime it was a very painful experience.

      I hope it does address your concerns eventually. Remember that Gentoo is still a "young" distribution, I'm sure that the other major flavours all had their problems during the development of their respective packaging systems.

    17. Re:Gentoo's Portage system r00lz by Anonymous Coward · · Score: 0

      The threshold of your sarcasm detector is set far, far too high. Try re-reading with this in mind.

    18. Re:Gentoo's Portage system r00lz by Pr0xY · · Score: 1

      gentoo is currently working on a "Stable" profile for there portage system. switching to this stable version is as simple as changing a symlink it /etc/

      such packages will be tested with production servers in mind.

      that's the nice thing bout gentoo, it is what you want it to be, also, there is nothing that prevents you from NOT installing a specific "Stable" version of a package and not updating it later...

    19. Re:Gentoo's Portage system r00lz by Arandir · · Score: 2

      emerge -s package

      I just downloaded the current portage tree. I see that some ports do have descriptions, but that some do not. This is a big improvement over the last time I used it when I couldn't find any. Those empty description lines are a major pain in the ass. Go look up the description for Windowmaker. Quite useful isn't it?

      Want more? Gentoo Documentation [gentoo.org]

      Let me go look. I sure hope it's better than the last time (which was 1.0 or thereabouts)...

      Okay, now that my eyes have stopped bleeding after those pages full of green, dark purple, light purple, red, yellow and blue highlighting, I see that there's a few more docs available. The desktop guide seems to be somewhat adequate. The portage manual is slightly easier on the eyes, and I see that it actually has a bit on "search".

      Remember that Gentoo is still a "young" distribution...

      First time I used Gentoo was about a year ago. It was so far from stable that LFS was easier to build. Last time I used it was version 1.0. From my perspective it seemed as if it was aimed at Gentoo developers rather than Gentoo users. It looks like 1.2 should be out soon. Maybe I'll try that.

      p.s. Please note that I am not intending to rag on Gentoo. I think it had the promise at 1.0 then any other distro did at 1.0. My criticisms are aimed to improve it, not to knock it.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    20. Re:Gentoo's Portage system r00lz by PugMajere · · Score: 2, Interesting

      The system he was referring to is for package configuration.

      I.e, I don't want to pay attention to the intricacies of how my keyboard mappings are configured. So DebConf asks me a question or 3 the first time I install the console-tools (maybe, I forget) package.

      It asks the question using my choice of interfaces, i.e, a readline4 based one, a nice ncurses based one, an X based one, or a web based one. (I have no idea how the web one works, just for reference, I just know it's an option.)

      From that point on, I should never be asked that question again, unless the meaning of it has changed.

      The benefit here is that some simple things (like say, your workgroup that your Samba server hangs out in?) can be configured once, and your config file can be regenerated on each package upgrade. You can make changes on top of that configuration file, if you need, but many updates can be handled for you without you needing to know the details of the upgrade.

      DebConf is a *really* nice tool for configuration management. In theory (it hasn't happened in practice), is that common configuration options for say, MTAs can be used, so if you want to switch from sendmail to exim you can have your old configuration information copied right over.

    21. Re:Gentoo's Portage system r00lz by drinkypoo · · Score: 1
      I see. Portage does have a somewhat deficient system there, in that there are no tools to update the way they do things; they write out the new version config files and you are left to merge them manually. Of course, minor and tiny updates rarely necessitate an actual config-file change, so this works in almost every case. It would be nice to see some tools which would make some more sense of this.

      It would definitely be nice if you abstracted it far enough to switch MTAs without changing your configurations, although it's hardly a killer app. The feature sets in some packages are similar enough to pull that off, but others are seriously different. I guess if XML catches on for more purposes (which would be okay if they kept it simple and didn't get all uppity about it) then this will become significantly simpler and harder all at once :)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    22. Re:Gentoo's Portage system r00lz by PugMajere · · Score: 1

      Oh, that was actually a poor example.

      Take for a better one, installing slrn and mozilla.

      Concievably, both could be curious as to what your default newsserver is, right?

      So one asks, and the second one can reuse the answer.

      Think along those lines for a collection of better examples of shared configuration information.

    23. Re:Gentoo's Portage system r00lz by mrbnsn · · Score: 1
      "they write out the new version config files and you are left to merge them manually."

      Exactly my point.

      "It would be nice to see some tools which would make some more sense of this."

      And when those tools arrive, I'll consider migrating from Debian for production use. Until then, forget it.

      (And, P.S., not to pick on Gentoo, either. I was a loyal FreeBSD bigot for years, but finally got fed up with the fact that, to paraphrase Douglas Adams, the developers "are so amazingly primitive that they still think mergemaster is a pretty neat idea".)

  13. Mirrors by cheezycrust · · Score: 5, Informative

    If the other links are overloaded, you can read the story on my site. Maybe other mirrors should be posted in this thread.

    --
    Teenagers these days don't have as much sex as they want each other to think they do.
  14. I like Slackware's .tgz by Xpilot · · Score: 2, Informative

    No depency checking, but it also means that you don't have the problem of circular dependecies and the like. Plus you can open it with tar and gzip. Linux Packages is a great place to look for pre-built Slack packages.

    I used to use RPM, but now that I've converted to Slack, I don't miss it one bit.

    --
    "Backups are for wimps. Real men upload their data to an FTP site and have everyone else mirror it." -- Linus Torvalds
    1. Re:I like Slackware's .tgz by BrokenHalo · · Score: 2, Interesting

      I was just about to post something to the same effect. Having spent many hours trying to fix or work around broken package dependencies with RPM on RedHat and more recently Mandrake, I recently ditched both in favour of Slackware which I have found _much_ easier to maintain. Good to see I'm not alone in this...

    2. Re:I like Slackware's .tgz by Anonymous Coward · · Score: 0

      Slackware's package creation adds about thirty seconds to the 'make install' process to generate a package, and requires no work on the developers' side (in the form of .spec files or similar). Dependencies are easy to resolve with `ldd`, or by (gasp) reading the software's documentation. When you compile a few pieces of software from source, there's no dependency tree to break. And of course, using only simple shell utilities, there's no package database/registry to corrupt.

      For people who know exactly what they're installing, RPM's package/dependency database is often more of a pain than it is an aid.

      Anyway, if you're going to get all religious about something, make it something more important than a package manager.

    3. Re:I like Slackware's .tgz by moZer · · Score: 1

      Well, what do you think the dependencies are for? They are packages (programs/libraries) that you need in order to use whatever you're trying to install. That's just it. You can't drop dependency checking and then think you can install (and actually use), say, Mozilla without installing X.
      From what I've read here on /., 99% of all people who say "Package mangement is bad" simply do not know how to use it - rpm, dpkg/apt or what-have-you.
      Btw, if you by "cicular dependencies" mean that "rpm A requires rpm B" and vice versa - rpm handles that quite nicely (and I'm sure dpkg does too) if you issue "rpm -Uvh A B".

      --
      Hello, my name is Robert Lerner, and I pronounce Lernux as "99% cpu"
    4. Re:I like Slackware's .tgz by Anonymous Coward · · Score: 0
      What do I think rpm dependencies are for? To create a lock-in and to force "vanilla" upgrades of system rather than in-place upgrades. What else could they possibly be for?

      Rpm dependencies have nothing to do with what is actually installed on a system, only with what is in the rpm database. For example, if files are deleted or if only a few apps are installed from source over existing versions installed from rpm the whole database is meaningless.

      The same may be true of debs, but it is possible to make significant version upgrades with Debian's apt-get. This is very probematic with rpm. Rpm is a tool designed by RedHat to create a dependency on itself, and to force upgrades from scratch on existing systems, making upgrades in place almost impossible. Have you ever tried to upgrade from RedHat 6.x to RedHat 7.x? This standard was adopted by other distros, however, and now the whole thing is a big mess. Typically, you need a specific rpm for the specific version of the distro you have, and this information is not usually given out where the rpms can be obtained. If you assume that the rpm is for the very latest version of RedHat you will usually be correct, but not often enough to avoid a lot of headaches.

      Real dependency checking looks at what is actually installed on a system and if necessary updates its database from such info similar to how slocate updates its database. It should not matter how software was installed. What should matter is what is installed.

      Rpm is fine if you plan to install everything from rpm, never delete ANY file installed by rpm, and never build from source. And, if you are prepared to periodically backup your system and reinstall from scratch with every major upgrade of RedHat or any other rpm based distro. This assumes you have a convenient way to back up large amounts of data.

    5. Re:I like Slackware's .tgz by Anonymous Coward · · Score: 0

      The difference is really the way Slackware packages are put together. Mozilla is only 1 package in Slackware. In Mandrake there was the Mozilla base, Mozilla fonts, Mozilla something else, etc. In total, I think there were 5 or 6 Mozilla packages. These were needed to install Mozilla. Why can't you just get Mozilla-1.0-i386.rpm? (this may have changed, i haven't used Mandrake for some time)

    6. Re:I like Slackware's .tgz by nzkoz · · Score: 2

      ... This is a fairly odd argument. I don't like dependency checking, so I don't like RPM. Why don't you just install with rpm -Uvh --nodeps?

      --
      Cheers Koz
    7. Re:I like Slackware's .tgz by Strike · · Score: 1

      You can open RPMs with rpm2cpio and cpio. You can open debs with ar, tar, and gzip. But, comparing .tgz's to .rpm's is like comparing sourdough bread to focaccia bread - they are just different, they serve different purposes althought they are both, in fact, breads. Sure, .tgz and .rpm are both binary package styles, but they differ greatly.

    8. Re:I like Slackware's .tgz by sabshire · · Score: 1

      The problem is that the packages will have dependencies that aren't needed at all. Some cases they are valid, if you wanted option x, but not in other cases. The best way is to compile from source. I run slackware, but i don't like package management. too many problems. I install only the basics with slack, and compile the rest from source. takes a little longer, but is less trouble in the long run. And that way, I know what is on my system, and why.

      --
      You will never "find" time for anything. You must "make" it.
    9. Re:I like Slackware's .tgz by axxackall · · Score: 1
      Besides package dependency checking the installation needs configuration dependency checking: ports opened, apache folder aliases, sendmail user aliases and so on. Some of them is easy to check by awk/grep, some of them would take some scripts (are DB tables created and filled out?). RPM potentially can handle some of such issues. But how about PostgreSQL or Xemacs or Perl or Python which could be build after configuring with a broad range of possible options (see configure --help)?

      The reality proves: tar.gz + natural brains cannot be substituted by any package dependency control :)

      --

      Less is more !
    10. Re:I like Slackware's .tgz by impaque · · Score: 1

      Yeah, but sometimes when installing A which needs B, when uninstalling A, B is also removed.

      --
      imp
  15. Luke, use the source... by peterdaly · · Score: 4, Interesting

    I administer a few RedHat servers, mostly 6.2, and 7.2 which each perform a different function. If an RPM is offered for a piece of software I need to install, I usually download that first.

    If the rpm install fails, I will spend about 3 minutes troubleshooting the issue. If I can't get it to go, I download the source and compile from scratch. 9 times out of 10 this works without having to figure out dependancies.

    RPM works great when the envirnment is exactly the same as the build envirnment. When it's not...well, it just plain sucks. Source almost always works without incident.

    Really, there is nothing to difficult about:
    ./configure
    make
    su
    make install

    Although it only works for products where the source is openly available.

    RedHat needs a compile from source package format that most people can figure out. srpms may do it, but I have no clue how to use them.

    -Pete

    1. Re:Luke, use the source... by blaze-x · · Score: 3, Informative

      > I administer a few RedHat servers...

      Once you administer 20+ of 'em with other admins, you are going to need a package management system.

      Unless you think keeping notes really works :)

      ---
      blaze-x

    2. Re:Luke, use the source... by garett_spencley · · Score: 3, Insightful

      I'm an administrator too but I try my hardest *never* to install from source. This is because of security and ease of maintenance.

      The main concern is that if I install OpenSSH from source on all 50 of my servers when it comes time to patch it I've got myself a little inconvencience. I would most likely compile it on one machine, tar up the source directory (complete with new binaries) and do a 'make install' on all 50 machines so I don't have to recompile for each box. But this is still going to take me a lot of time.

      So therefore we've set some policies in place to make keeping systems up to date and secure easy:

      For starters, we've standardized on Mandrake for Linux. This helps a lot because if we have a single rpm to install it will install on all of our servers.

      We also mirror the updates locally so that we don't have to worry about slow downloads and we make heavy use of urpmi to automatically grab all the updates, check dependancies, gpg signatures and install them for us.

      We don't install from source unless we absolutely have to. Actually, we try not to install any software that doesn't come with Mandrake but obviously this isn't always possible. In those cases we follow the convention where everything goes in /opt/pkg_name so we can easily get rid of them if we have to.

      I really like RPM for this reason. However, as you stated as long as the systems the RPM was compiled for is roughly the same it will work well. Which is why we standardized on one distro.

      --
      Garett

    3. Re:Luke, use the source... by Anonymous Coward · · Score: 0

      Not difficult, just rpm --rebuild package.src.rpm

    4. Re:Luke, use the source... by Squeezer · · Score: 2, Informative

      RedHat needs a compile from source package format that most people can figure out. srpms may do it, but I have no clue how to use them.

      rpm --rebuild package-version.srpm
      rpm -Uvh /usr/src/redhat/RPMS/i386/package-version.arc h.rpm

      Or if the .tar.gz you extracted has a spec file:

      rpm -bb package.spec
      rpm -Uvh /usr/src/redhat/RPMS/i386/package-version.arc h.rpm

      --
      Does the name Pavlov ring a bell?
    5. Re:Luke, use the source... by Anonymous Coward · · Score: 0

      make uninstall is where the trouble starts.

    6. Re:Luke, use the source... by grazzy · · Score: 2, Interesting

      True. I've been working with this exact method for years aswell.

      I see nothing wrong about RPM compared to other systems, I can see why people running say Debian whine about RPM because .rpms isnt supported on THEIR system.. and I dont see as many .deb out there as there are .rpm ..

      So either way if rpm is worse or better than .deb its a standard. And standards are standards because people use them - and like them. Its not .rpm that should change, maybe its .deb.

    7. Re:Luke, use the source... by scotty · · Score: 1

      We too tried to standardise all our boxes to Mandrake Linux at work, and tried to install nothing but mdk-rpms. If we cannot find the packages we need in the standard distribution, we will then try to download the SRPM from Mandrake cooker and then build it (which is not always stable). If no SRPM is available, we will still try to write our own spec to build the SRPM from tarballs. But we will NEVER install from the source directly. Two things I really like about Mandrake - urpmi and cooker.

    8. Re:Luke, use the source... by BrokenHalo · · Score: 1
      It also helps to have appropriate compiler flags for your box set in your shell environment, for example

      export CFLAGS="-O9 -mcpu=athlon -march=athlon -pipe"

    9. Re:Luke, use the source... by 0x0d0a · · Score: 5, Informative

      Really, there is nothing too difficult about:
      ./configure
      make
      su
      make install


      Yeah. But there's the ever so much more superior checkinstall:
      ./configure
      make
      su
      checkinstall

      This creates and installs an RPM of all the stuff you were installing. Voila...you can uninstall, you can query rpm to find out what package a file is part of, find out if uninstalling something will break dependencies, etc, etc...all the stuff that you can't do with just make install.

    10. Re:Luke, use the source... by Anonymous Coward · · Score: 0

      Umm... Most people using deb can just use Alien to install rpms, it is not a big deal just an annoyance. Deb is certainly a better administered system.

    11. Re:Luke, use the source... by zpengo · · Score: 3, Interesting
      It's just a shame that Linux doesn't have a clean install/uninstall system like Microsoft Windows, which gets it right every time.

      Err...nevermind.

      Seriously, though, the magic of open source is that if something doesn't work well, people can develop an alternative to it. As Ashcroft would say, "If you don't develop innovative new technologies, then Microsoft has already won...."

      --


      Got Rhinos?
    12. Re:Luke, use the source... by BrokenHalo · · Score: 1

      I'm playing devil's advocate here, since I'm into Slackware's .tgz, but there is absolutely no reason why you can't use RPM on a Deb box (if you want to, that is).

    13. Re:Luke, use the source... by typedef · · Score: 1

      Really, there is nothing to difficult about:
      ./configure
      make
      su
      make install

      Its not that there is (usually) anything difficult about compiling from source, but rather, the difficult part is managing that software once it is compiled and installed. For instance, say I install package wiz-bang-3.4.5.tar.gz from source. Uh oh! There is a security hole in it and I need to upgrade post-haste! Unless there is an 'uninstall' rule in the makefile, it is going to be a pain in the ass to make sure that everything gets removed correctly, etc. Furthermore, having a centralized database of what packages are installed, when they were installed and what versions are present is quite convienent when administering any system with loads of packages installed or loads of dependencies.

      RedHat needs a compile from source package format that most people can figure out. srpms may do it, but I have no clue how to use them.

      Well, there really isn't anything more difficult about running 'rpm --rebuild' :) My main gripe with SRPMS is that it is virtually impossible to pass configure options to the build script. Sure, there is some arcane way of editing the spec file to accomplish this, but I don't think that it is possible to do this with src.rpm packages, only with .tar.gz packages that have a package.spec file inside.

    14. Re:Luke, use the source... by Anonymous Coward · · Score: 0

      Sounds like you guys have gone to a lot of trouble to let someone you don't trust into your systems... You may as well run windows, if you are going to trust the vendor to keep you safe. But, as you say, it's all very convienient... just like windows. and cheaper too!

      It's a trade off, of course, one that any admin has to make. You can be uber secure, and suffer from constant functionality issues, or you can make your life really easy, until Vendor X announces thier lates root-exploit. (again, just like M$...)

      Hard choice, no matter what you do.

    15. Re:Luke, use the source... by garett_spencley · · Score: 3

      Hard choice, no matter what you do.

      Well, yeah considering that there's no possible way that I could audit every single peice of code that runs on my system.

      There's this myth that code is more secure than binaries. In theory this may be true but in practice we have seen tons of source distributions for packages have trojans (apache, an irc client recently had one reported on bug track, ken thompson's c compiler etc.).

      I have no choice but to trust the vendor of my distro because I am simply not super man. I have audited some code (such as portmap) when I've been particularly uneasy running that particular daemon on my servers but I just can't do this for all my packages.

      So I don't see how running binaries is any less secure than source packages. It's not just about convenience it's about practicality. With rpms I can have all my servers patches in minutes. Whereas with source I'm looking at a couple hours.

      --
      Garett

    16. Re:Luke, use the source... by brian-b · · Score: 1

      Not true. 'rpm -ivh package.src.rpm'. Cd to /usr/src/redhat/SPECS, edit the spec file, then 'rpm -bb package.spec' or 'rpm -ba package.spec' to build a binary plus SRPM.

    17. Re:Luke, use the source... by Anonymous Coward · · Score: 0

      We have Sun at work but Sun always needs to be turned into a good Linux machine right? There are many open source tools we use that do not have a nice package available so mother neccessity finds a solution. What we do is build 3rd party applications in /usr/local and use rsync when we have disk or NFS when we don't. Either way we have the same tools for all thirty Sun machines. We manage one system and let rsync do the rest. What does a package management system do for me? Now in the case where you don't want all machines to be the same because of a very different function you can fine tune it natually. If I used a package manager I would need to do an extra step and run ssh pkgadd -d /??? accross all the hosts. When I rsyc /usr/local/stuff to all the hosts I am done.I suppose if I used package managers I would put packages on an NFS drive and run ssh from there but it is not the package manager solving the problem of managing multiple machines; NFS, rsync and ssh do that.

    18. Re:Luke, use the source... by Phroggy · · Score: 2

      Really, there is nothing to difficult about:
      ./configure
      make
      su
      make install


      Yeah, ever install Mozilla that way? How about XFree86? On a PII/300? After downloading the tarball on 56k? There are advantages to binary packages.

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
    19. Re:Luke, use the source... by Hal_9000@!!!@ · · Score: 3, Informative
      RedHat needs a compile from source package format that most people can figure out. srpms may do it, but I have no clue how to use them.
      rpm --rebuild name.src.rpm
      That will build and install the RPM for you. If you want to customize the compiling options, do
      rpm -i name.src.rpm
      and manually edit /usr/src/{distro,rpm}/SPECS/name.spec to add the options you want. Then run
      rpm -ba name.spec
      and install the RPM in the RPMS directory.

      RedHat has a HOWTO at RPM.org and I've written documentation for bluelinux.org which should be helpful.
      --
      My email is real.
    20. Re:Luke, use the source... by tannhaus · · Score: 2, Insightful

      Checkinstall works great. If there is no rpm, just download the source tar.gz and build an rpm.

      You forgot to mention one thing though. You now have built an RPM...it is added into your database. If that rpm becomes a dependency for another package , it is easily found in the database.

      Also, now that you have an RPM, if you have other systems, you can simply drop in the binary rpm on those systems. Sure, plain old source may work great...but have you ever tried to build a package from source on 20 different machines? Much easier to build it on one and drop the binary rpm into the others.

    21. Re:Luke, use the source... by nedron · · Score: 2
      "RedHat needs a compile from source package format that most people can figure out. srpms may do it, but I have no clue how to use them."
      Hmmm, man rpm worked for me the first time I tried to build from a source RPM.
      --


      * As is generally the case, my opinions do not reflect those of my employer.
    22. Re:Luke, use the source... by mcrbids · · Score: 2

      You must install it first. Do a search for "checkinstall" at freshmeat.net...

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    23. Re:Luke, use the source... by harlows_monkeys · · Score: 2
      The main concern is that if I install OpenSSH from source on all 50 of my servers when it comes time to patch it I've got myself a little inconvencience. I would most likely compile it on one machine, tar up the source directory (complete with new binaries) and do a 'make install' on all 50 machines so I don't have to recompile for each box. But this is still going to take me a lot of time.

      Have you considered making your own RPMs? It's actually pretty easy, even if you start from the original tarball. If you start from your distribution's RPM, it will be even easier.

    24. Re:Luke, use the source... by ninewands · · Score: 2

      The main concern is that if I install OpenSSH from source on all 50 of my servers when it comes time to patch it I've got myself a little inconvencience.

      A little work with NFS mounts will quickly give you a single-point upgrade system. I admin a mix of SGIs (5), Suns (20), Alphas (36), PCs running Solaris (12) and PCs running Linux (5 workstations and 2 Beowulfs). In our operation, we build everything that didn't come on the CDs from source, yet I only have to compile and install 5 times to update all archs and all OS's because we export the appropriate directory (/usr/local <Yeah, I know it's deprecated, but my boss has been running Unix boxen for 30 years and old habits die hard, deprecated or not.>) to all hosts.

      We don't install from source unless we absolutely have to. Actually, we try not to install any software that doesn't come with Mandrake but obviously this isn't always possible. In those cases we follow the convention where everything goes in /opt/pkg_name so we can easily get rid of them if we have to.

      "Getting rid" of apps installed from source is not so difficult if the developer was considerate enough to include a "make uninstall" target in his Makefile (and several do this) ... if not ... add one yourself ... send the developer a patch ... contribute to the community. Or, alternatively, redirect the output of "make install" to a textfile so you have a list of files and installation directories. A simple edit will turn your textfile into an uninstall script.

      Just my US$0.02, one admin to another.

    25. Re:Luke, use the source... by walt-sjc · · Score: 1

      using apt-get for installing / removing works just fine thank you.. No need to reinvent the wheel.

      .debs are easy to create as well so if you DO install something from source, it can be managed by the package management system. If you run a network of servers, this is the way to go.

    26. Re:Luke, use the source... by coats · · Score: 2

      Really, there is nothing to difficult about:
      ./configure
      make
      su
      make install
      Try that on a fully-configured development-server configuration RedHat 7.1 machine with the AbiWord 1.0.x .src.tar.gz and tell me what to do when configure says "gcc does not work on this machine"... and you know damned well that gcc does work and you've been building stuff with it for years!

      --
      "My opinions are my own, and I've got *lots* of them!"
    27. Re:Luke, use the source... by Wdomburg · · Score: 3, Informative

      It's really not that hard to figure out:

      rpm --rebuild whatever.srpm

      Your shiny new binary RPM(s) will be in whatever the system path is for RPM (on Red Hat it's /usr/src/redhat/RPMS).

      Or alternately, you can

      rpm -i whatever.srpm
      cd /usr/src/redhat
      rpm -ba SPECS/whatever.spec

      And the binary RPMs will end up in the same place. Plus with that method is you can edit the spec file for customization.

      Most people who gripe about RPMs being too hard probably have never looked at the spec files before - all they are is some meta information and a shell script that builds the program. Building from scratch may be hairy for a new user, but customizing an existing package is REALLY easy; usually it's just a matter of looking for a line starting with "./configure" and adding the options you want after that.

      Why go through the trouble when you could do it from source? It is much much easier for replicated installs, you don't have to worry about stray files lying all over the place, its easy to tag files as being configuration so they don't get overwritten, etc, etc.

      Matt

    28. Re:Luke, use the source... by pyros · · Score: 1

      Debian people usually compare apt-get to rpm, which others have already pointed out is stupid. Compare dpkg to rpm and apt-get to up2date. apt-get has package removal (up2date doesn't do removal, you have to use plain rpm -e for that). You can do a live distro upgrade with apt-get, you can't with up2date. apt-get and up2date are both efficient systems to determine dependencies for you. dpkg and rpm are both efficient ways of dealing with at most a handful of specific packages (you have to know which ones when you start). I'm not as familiar with the dpkg/.deb format as I am with rpm/.rpm, but I haven't found too many differences at that level. The differences I see are at the higher layer of apt-get/up2date, where apt-get is still superior. But it has nothing to do with the rpm format itself.

    29. Re:Luke, use the source... by jbayes · · Score: 1
      RedHat needs a compile from source package format that most people can figure out. srpms may do it, but I have no clue how to use them.

      You admit that you have no clue how to use .src.rpm, yet you feel confident saying that RPM "just plain sucks" when the source environment is different from the build environment?

      Look, it's not that difficult. Try a few of the following: manrpm, rpm--help, or even rpm--rebuildfoo.src.rpm. (Then check /usr/src/redhat/RPMS/<arch> for the rebuilt binary package.)

      You're welcome.

      --

      "It sure was strange to see something on Usenet about me that didn't involve Klingon gang rape." -- Wil Wheaton

    30. Re:Luke, use the source... by Anonymous Coward · · Score: 0

      > I'm playing devil's advocate here, since I'm into Slackware's .tgz, but there is absolutely no reason why you can't use RPM on a Deb box (if you want to, that is).

      Indeed. That's what the alien package is all about.

    31. Re:Luke, use the source... by Anonymous Coward · · Score: 0

      I've been using RH scince 7.2... and have 7.2 installed on my firewall/masq box, and 7.3 on the desktop, so far RPM hasn't given me ANY problems, if i need some thing rpmfind.net usually has it... I usually get .srpm's and compile them for my proccessor, and they work GREAT... it would be nice to see RPM's adhere to the LSB...

    32. Re:Luke, use the source... by Anonymous Coward · · Score: 0

      and all you who say, "no way I'm building package xyz as root:

      ftp://people.redhat.com/mharris/hacks/rpmbuild-n on root-1.0.tar.gz

    33. Re:Luke, use the source... by simm_s · · Score: 2

      Yeah and what happens when make uninstall does not work?

  16. Not on all mirrors by cheezycrust · · Score: 1

    Not all mirrors have this notice. So the mirror you visited needs an update.

    --
    Teenagers these days don't have as much sex as they want each other to think they do.
    1. Re:Not on all mirrors by Decimal · · Score: 2

      Not all mirrors have this notice. So the mirror you visited needs an update.

      Would Slashdotting count as an update? :)

      --

      Remember "Bring 'em on"? *sigh
  17. Gentoo is a giant step, too long for mere mortals by isdnip · · Score: 3, Informative

    I fully appreciate the author's sympathies. I'm used to replacing RPM-based distros; just last night I burned a new Mandrake Cooker so I could try it. KDE3.01 et al are just too hard to get right using RPM upgrades. But then he mentions gentoo...

    ...which I have also tried to install. Trouble is, gentoo has *no* installer, past the kernel stage. I can't even get sound to work, becuase my mobo sound chip isn't in their ALSA tree. I'm sure there's a way to do it but they don't tell you. Gentoo users are typically, I suppose, the type of Unix experts who have no trouble figuring out which driver goes where. But gentoo lays things out differently from RedHat (etc.) so I can't just copy their /etc (etc.!) files.

    If gentoo had a decent installer, not necessarily as "friendly" as Mandrake (more flexibility is a plus) but which could guide all the files into the right places, then it might be a killer. For now, it's a cult for experts. But I don't see why a binary-based (or at least partially binary-based) distro couldn't use an apt-get or portage-like system when needed, without requiring gentoo's exceptional knowledge (well, that's what it feels like to the "n00b" whose recent Linux experience is mostly RH and Mdk) of the distro's layout.

  18. Re:Gah by Anonymous Coward · · Score: 0

    I hate tennis.

  19. Hints... by n1k0 · · Score: 2, Informative

    From the article...

    > On the other hand, have you noticed how hard it is to find Debian ISO images?

    http://www.linuxiso.org - I can't believe you've never heard of this place. They've had Debian ISOs since I first learned of them.

    I admit, debian.org's ISO download wizard is garbage, but I think they're trying to save bandwidth by having you download what you need instead of the entire ISO (there's no reason you need to install every package in the ISO).

    niko

    1. Re:Hints... by LinuxHam · · Score: 2

      the old ISO construction method was a complete pile of crap. no matter which mirrors I tried, SOMETHING was always missing.. usually in the docs section.

      Their new util, jigdo, worked just fine first time here. Unfortunately, from what I could tell, it doesn't really save bandwidth by letting you fine tune the download. Perhaps you're referring to the ISO for a cd-based network installer.

      --
      Intelligent Life on Earth
    2. Re:Hints... by Sheetrock · · Score: 1
      Yeah, I can't stand walking through that labyrinth either when I know precisely what I want. Running Debian still requires a decent level of functional knowledge about computers, I think, so it's rather irritating to hit an official page that claims to know better than I do whether I want the stuff on an .ISO.

      OTOH, I thought the automated method of regenerating an .ISO by patching together the individual files downloaded from the mirrors into a single file, comparing the checksum of each block of that file against a rsync site with the ISO, and downloading the differences was an awesome way of conserving server bandwidth. It sounds complex, but it only adds a couple of steps over grabbing via FTP and the speed is so much better around new release time.

      --

      Try not. Do or do not, there is no try.
      -- Dr. Spock, stardate 2822-3.




    3. Re:Hints... by BrokenHalo · · Score: 1
      On the other hand, have you noticed how hard it is to find Debian ISO images?

      Easily downloadable ISOs are very nice indeed, but those of us on a student budget who can't afford ADSL here in Australia have a hard time getting hold of CDs, let alone downloading ISOs of Woody. I know Potato is supposed to be stable, but if you have to download the equivalent to the whole distro to get anything sort of current (at least for the desktop, anyway), you might as well consider another distro.

  20. depends by diamondc · · Score: 2, Insightful

    I use Debian Unstable at home because I always want the latest and greatest software and I already know how to fix 95% of the apt/deb problems that occasionally happen. At work, I use Debian Stable because I never want to touch the server after it's been configured and tweaked.

    The good thing about RedHat and Mandrake to some extent is that they do good testing on the RPMS on the cds. I figure they don't expect people to install some 3rd party RPM off the net.

    --
    "I keep looking in the want-ads under 'revolutionary' but there don't seem to be any listings.. "
    1. Re:depends by BrokenHalo · · Score: 1
      The good thing about RedHat and Mandrake to some extent is that they do good testing on the RPMS...

      I wonder about this. A couple of weeks ago (for reasons irrelevant to this post) I did 3 (THREE) successive installations of mdk8.2 with identical parameters (with re-formatting of the partitions) on a box built specifically to run Linux, and each of those installations spat a different set of packaging-related problems.

      Seems to me that if testing had been thorough, this could not occur...

    2. Re:depends by Anonymous Coward · · Score: 0

      Oh Jesus, God, tell me about it...

      Try upgrading RH6.2 to the latest packages. You'll notice that rpm 4.0.2 is required for pretty much everything. Well, after you install that, rpmfind is broken because it's compiled against an older librpm.so file. Funny that it wasn't listed as a dependency...

      They don't offer a WORKING RPM of rpmfind for this situation!

      So, clever me, figures I'll get the source! Nope. Requires libxml2. Again, not available in RPM for 6.2, so I get SRPM instead. Then there's all sorts of bullshit about bzip2 libraries missing and now I need RPM 4.0.3 and trying to install newer bzip2 will fuck up a bunch of other apps depending on an older version of it... Christ, that was it. I gave up. Rpmfind is dead and it'll stay that way.

  21. There is nothing wrong with RPMs. Only packagers. by Ranger+Rick · · Score: 5, Insightful

    The author mentions, "On the other hand, have you noticed how hard it is to find Debian ISO images?" Yes, Debian is very upgradable, but that has nothing to do with the percieved shortcomings of the RPM package format.

    The RPM format is nearly identical feature-for-feature with Debian's dpkg. RPM's upgradability has nothing to do with technical issues. There are three things that make Debian's package management so much better than RPM-based distributions.

    The first is, there are way more distributions based on RPM packages than deb's. It's not suprising that some of them are more incompatible with each other than any debian release has ever been. Sure, there are many more people with hairy backs in the US than there are in Lichtenstein, that doesn't mean that living in the US causes hair to grow on your back. He is inferring causality where it doesn't exist.

    Second, APT. APT is what makes debian's package management so smart, not dpkg. And, in fact, this isn't a reason at all. APT now works with RPM packages, and when dependencies are properly configured, it is every bit as good as it is on debian. You can make an APT repository with RedHat's "rawhide" distribution and upgrade daily if you want. You won't have any more upgrade issues than you would running debian unstable. It may break occasionally, but it's when large changes happen. The exact same thing happens on the debian side.

    Third, Debian is fanatical about consistency. Most debian packagers manage maybe three or four packages (there are exceptions, of course). When you devote all of your free time to just a few things like that, a lot of attention is payed to details. This is what truly makes Debian's package management so freakin' clean. It has nothing to do with technology, it has everything to do with each maintainer hand-crafting dependencies and build options very carefully.

    The thing that pretty much any of the RPM-based distributions is truly missing is the equivalent of the Debian package maintainer guidelines, and a culture that enforces it. If that existed, RedHat would be just as consistent and upgradable as debian.

    I use RedHat and I'm careful about what I put on my system, and I never run into upgrade issues. If I'm going to install something that is for a distribution other than mine, I build from .src.rpm's instead of binaries and I *know* it's compatible with my install. Someday, if packagers stop being idiots and using shortcuts, I won't have to. Everything will resolve properly in the huge worldwide-apt-rpm-uber-archive.

    --

    WWJD? JWRTFM!!!

  22. How the heck did he know this? by io333 · · Score: 1

    My jaw dropped as I read this. I've been running Mandrake for over a year now and have been getting SICK of trying to upgrade/install software. What has really intrigued me has been Gentoo. Just last night I was reading through the Gentoo install instructions again thinking: "Wow, do I really want to risk trying to do this on my main (currently dual boot) machine?" Was this just intuition on the part of the author? I find that hard to believe.

    You have to ask yourself - where are these users coming from? Gentoo is not easy to install, even with the excellent instructions provided you still need to be pretty familiar with Kernel internals to get all your hardware work. You need to make decisions whether to enable Unix98 PTY support and magic SysRq key, get familiar with Grub and load the correct module for your network card. Surely, a daunting task if your entire previous computing experience was gained from using Windows! Mandrake makes all those tricky decisions for you, Gentoo does not. No, all these new Gentoo users are not users abandoning Windows. They are users who have been around Linux for some time, many of them still have visible bumps on their foreheads. They are ex-Mandrake users, trust me on this one.

    1. Re:How the heck did he know this? by SpoonMeiser · · Score: 1

      I think you're deliberatly trying to scare people here - compiling a kernel that works is not hard. You just include everything you think you'll need, and follow the help if you're unsure (most options say 'if unsure, select y' or something similar.

      --

      --
      Hollywood representatives have publicly stated that skipping commercials is "stealing."

    2. Re:How the heck did he know this? by wahgnube · · Score: 1

      Was this just intuition on the part of the author? I find that hard to believe.
      It's not intuition. The author (Ladislav Bodnar) also happens to run the website Distrowatch. Assuming a sufficiently large number of linux users use this site to get info on linux distributions, his noticing the HPD (hits per day) of Mandrake reducing and those of Gentoo increasing is an indicator of growing interest in source based distros.

    3. Re:How the heck did he know this? by prizzznecious · · Score: 1

      Gentoo isn't actually that difficult. I'm running it right now and I'm hardly what you'd call a Linux guru.

      The thing is that if your kernel doesn't work right the first time, just recompile it with different options. Same goes for just about anything in the install. It's true that some parts of the install take more effort or thought than Mandrake, but it's not difficult work, and you'll end up actually having some idea of what's going on in your system.

      --

      visit the hwky website for a lyrical genius infusion.
    4. Re:How the heck did he know this? by io333 · · Score: 1

      NeatoKeen! Maybe I will try it. I just wish a had a spare HD sitting around to slap in the machine until I get the hang of it!

      Does anyone know if it's hard to set up a Dual XP/Gentoo machine? Right now I have dual XP/Mandrake & it's easy as pie to set up.

    5. Re:How the heck did he know this? by Anonymous Coward · · Score: 0

      it is very easy to do, I run XP and gentoo on my laptop....windows for a very unfortunate visual basic class in school.
      It was extremely easy to set up the instructions are very good, if you follow them

    6. Re:How the heck did he know this? by Anonymous Coward · · Score: 0

      Hits per day is very unreliable at the best of times, yet here he's applying it to the growth of gentoo. How a bunch of *visitors* on his distro site corresponds to actual *installations* of mandrake or whatever is beyond me.

      da!!as

  23. Okay, here by 0x0d0a · · Score: 3, Informative

    I hate it! You need to compile a new RPM for each platform

    What we needis a smart .tar.gz2 package which detects what OS your using, and compiles and installs automagically with an easy to use gui and a powerful cli interface


    Well, hell.

    ------

    #!/bin/sh
    # Demonstration that RPM ain't all that bad
    # Copyright 2002, 0x0d0a
    # This code placed under the GPL
    # Should compute proper buildroot, etc
    # Be damn sure not to set buildroot to /
    # or something similar -- rm -rf would
    # then suck severely
    # Set our_rpm_buildroot appropriately
    # Usage: mybuildrpm.sh foo.tar.bz2
    our_rpm_buildroot=/usr/src/redhat
    ni ce -20 rpm -tb "$@" && rpm -Uvh `find $our_rpm_buildroot -type f` && rm -f `find $our_rpm_buildroot -type f`

    -----
    Okay, I grant that there's no gui, but you get all the many CLI options of RPM. Voila!

    People love to bash RPM, but it's a pretty sweet system (except the move to the newer underlying dbfile...screw transactions, I can always rebuild the database if it gets corrupted and it takes *much* longer to install and query than things did back with rpm 3.0). If it's too simple for you, it's really easy to use it as a back end and slap something on top of it.

    Note: this is a one minute hack and may not even run, much less be safe for your system...it's an example, not intended to be used. And hell, running random stuff from people on Slashdot as root just isn't a great idea. :-)

    1. Re:Okay, here by alfredo · · Score: 2

      apt-get, and Fink are fine with me. RPM too often leads to dependency hell.

      BTW, YellowDog Linux now has apt-get as alternative to YUP.

      --
      photosMy Photostream
  24. single point of failure by Futurepower(R) · · Score: 2, Informative

    The registry in Windows creates a single point of failure. The point of the registry seems to be copy protection. The registry contains incomprehensible data. It is an area meant to be outside the user's control.

    1. Re:single point of failure by Graymalkin · · Score: 3, Funny

      Well I'm sure glad Linux uses /etc to store confiruation data. Having 50 different styles of configuration files sure does make one's life easier.

      --
      I'm a loner Dottie, a Rebel.
    2. Re:single point of failure by 0x0d0a · · Score: 4, Informative

      The syntax of UNIX config files is pretty standard (barring the occasional ugly misfit like sendmail -- use postfix instead).

      And all the Windows registry does is give a standard format for storing individual values (how should I store a string, how should I store a DWORD) and provide a hierarchy. It says nothing about format or structure within a single app.

      If you want to turn on, say, mail relaying in postfix on Linux, then you look for the entry called mail_relay (or whatever) that's commented out and contains a helpful set of comments right above the config entry. On Windows, the equivalent is to go into the registry to some unspecified key, create an unspecified value there and then set it to some unspecified value.

      Of course, most people just use a front end on Windows -- like a preferences or options dialog -- because the registry is next to useless to actually interact with. You can do the same thing on Linux, which is done by GNOME and friends to make things more convenient for computer novices.

      Also, if the Windows registry gets corrupted, you have a big problem. If a single text format config file gets corrupted, you can probably fix it yourself. If you can't...well, it's a single file down the drain. Reconfigure that single app. Your entire system doesn't become unbootable, a la Windows.

    3. Re:single point of failure by Anonymous Coward · · Score: 0

      I was just thinking about this very thing, yesterday...

      Speaking within a desktop/workstation frame of mind: While Windows Registry is a mess, it is a relatively easy way to control system behavior from a single point, once you've become familiar with its idiosyncrasies. Meanwhile, editing myriad conf files gets to be more and more a chore, the more complex I make my system. The registry idea seems to offer a nice balance between controlling many applications and the need for simplicity.

      I agree with the original post... I think I'd kind of like to see s registry-like feature in Linux distros, only this time done right -- something much more easily attained in an Open Source framework.

      Apart from the single point of failure argument (let's see... are there any single points of failure on extant distros? hmmm...), are there any better arguments against a registry-like feature?

      cdh

    4. Re:single point of failure by Anonymous Coward · · Score: 0

      bullshit. You still have to edit/find 10000 in different
      play inside windows register. And if you don't read the
      document, you know shit of how to fuck with those register
      settings. Tell me exactly who this register file better
      than /etc/?

    5. Re:single point of failure by Malc · · Score: 1

      "The registry in Windows creates a single point of failure."

      Agreed. Any kind of corruption means you can lose the lot. Losing a user's hive isn't fatal, but very frustrating. Losing the system hive results in having to reinstall everything (OS + applications, etc + tweaks, configurations, etc).

      "The point of the registry seems to be copy protection. The registry contains incomprehensible data. It is an area meant to be outside the user's control."

      Oh please: what is this conspiracy theory? Yes, it makes moving things around difficult, but incomprehensible? No. It might be so big that seeing the whole picture is difficult, but understanding it is not tough, although that probably requires some insight in to the workings of COM. For Win32 developers, the registry makes the configuration management of an application a bit easier.

    6. Re:single point of failure by Graymalkin · · Score: 2

      Registry values aren't unspecified some you just have to play with at first. It isn't any simpler or complex than /etc config files. The point of the post was to point out the irony and retardedness of praising /etc as the end all be all of program configuration. A single configuration point is at times much less confusing than people writing programs with no standard configuration method.

      --
      I'm a loner Dottie, a Rebel.
    7. Re:single point of failure by Anonymous Coward · · Score: 0

      This is silly. I much prefer linux over windows, but the registry is never a problem for someone who isn't a freaking idiot. All you have to do is schedule a job to export a backup of your registry once or twice a week and keep a few weeks worth. It's not rocket science. The main problem with Windows is the illegal monopolistic tactics of Micro$loth. I'm glad the feds just backhanded them and they had to fold on their latest SP for XP

    8. Re:single point of failure by Anonymous Coward · · Score: 0

      bullshit. crap on Microsoft only when its appropriate, otherwise it weakens arguments for GPL/OSS. you say

      "And if you don't read the document you know shit how to fuck with those register settings."

      so, you know how to edit all conf files without referring to documentation? and all your conf files are kept in /etc? wtf? what are you running? and, have you actually tried to use the windows registry? granted, it's a botched job in many respects, but it's not rocket science, like you make it sound. halfwit.

    9. Re:single point of failure by Anonymous Coward · · Score: 0

      I have to give my point of view here. I do windows development and ill tell you, the registry is a nightmare. It's big, bloated, uselessly complex, and just, stupid. As a network admin, I have to sync people's registries across computers, and since it's a single database, it clobbers itself. Loose one bit and the entire thing is blown. I would much rather simple use 4 simple lines to instantiate an XML parser and read my own settings in that way. GConf is also a better idea as it's very flexible (storage medium can be XML (default) database, etc... it's a very good idea).

    10. Re:single point of failure by dubl-u · · Score: 1

      I agree that /etc is a pain in the ass, but I don't buy that it's just as good as the Windows registry. The registry is easier for programs to manipulate, but etc-style plain text files give much more flexibility and support for arbitrary human-readable metadata (especially through comments, but also through naming, file location, and organization within the file) that the Windows stuff lacks entirely.

      The registry strikes me as a typical Windows effort: notice a problem (namely that lots of little text config files are a pain), think about it for between two and five seconds, and then introduce a solution that while better in some narrow sense (namely that the data is now structured). But they don't really appreciate the full power of what they're ripping off, and they don't give any thought to maintainability or future expansion.

      And thus it's nearly useless to call most companies for Windows technical support. They might as well replace all of those people with a recording saying "Download the new version. If that doesn't fix your problem, reinstall Windows."

    11. Re:single point of failure by Graymalkin · · Score: 2

      Compared to the .ini hell of MS-DOS and Windows 3.1 the registry was a huge improvement in structure and style. Now it isn't the greatest of ideas in the world because the OS and software available for it is much more complex than for Windows 95. Having a bunch of text files in /etc is nice on the metadata front, any .conf file I've ever edited has huge chunks of commented lines I've added to remind me in a pinch what options to what.

      A real badass scheme is OSX's XML based conf files for Cocoa applications. They're structured and easy to work with from a programming point of view, the programmer is sheltered from actually dealing with the files. They can also be tossed into a lightweight text editor and have hackish magic performed on them. Netscape/Mozilla's .js config files aren't to terrible to work with either. Too bad neither of these will ever become an accepted standard in any Linux software ever. Linux is carrying too much cruft from old paradigms for its own good for that to happen.

      --
      I'm a loner Dottie, a Rebel.
  25. Why RPM's? by Wouter+Van+Hemel · · Score: 1, Interesting


    I really hope that plain old source tarballs will stay, I've noticed with recent releases of several software packages, the rpm was released _before_ the plain source, or even only the rpm. It scares me, I really don't want to be forced to use rpms for my system (slackware/linux from scratch). You loose a lot of freedom, deciding what/where/...

    I don't understand why people have to offer tarballs, rpm's, deb's, slp's, ... these days. It's a mess, no standards as usually.

    Take a look at Ximian's ftp server. For every new version, they have to build specific packages for every distribution, and even every different version of that distribution.

    People like me who either like to build from source, or don't have one of those 'supported distributions' - like my slackware and lfs - can't install ximian. Or have to go through hell and back to trick the crap out of the installation-scripts.

    I don't want to start a flamewar, but this is not 'free software', if you need specific systems and/or packagers to install it. If it only supports commercial systems like redhat/suse/..., and not me with my little self-made linux system that I made just because of the philosophy gpl-given liberty and the fun of doing it, than it doesn't follow the philosophy I see behind the gpl - or only partially.

    1. Re:Why RPM's? by 0x0d0a · · Score: 2

      You do realize that you can extract the source from srpm files easily and build however you so desire?

      There are lots of tools that can do it. If you happen to have rpm on your system, rpm -Uvh on the src.rpm will dump the tarball off in /usr/src/redhat/SOURCES on a RH box, for example.

    2. Re:Why RPM's? by high · · Score: 1

      The same goes for source debs. The files is even splitted up in the original source, different patches, and the debian stuff.

  26. Where are the programs? by Anonymous Coward · · Score: 2, Insightful

    The first time I installed an RPM which was not included on the CDs, I was wondering badly what happened.

    Where was the program?
    It was not in the K menu.
    It was not on the desktop.
    It was lost.

    So I thought something went wrong and installed the RPM once more but it claimed the rpm was already installed.

    I eventually realized it was indeed installed but the installer did not:
    - ask me whether to put an entry in the menu
    - decided for itself where the files were supposed to be

    Never mind that I wanted the files to be in my home directory.
    Never mind that I had no clue what the primary program name was.

    There were dozens and dozens of other files in the RPM, mind you. It is not easy to determine what is a binary and what is not when you have just installed Linux for the first time.

    And this does not even touch the subject of dependency hell. I have wanted to install several programs only to give up because of a huge number of dependencies.

    1. Re:Where are the programs? by 0x0d0a · · Score: 2
      The first time I installed an RPM which was not included on the CDs, I was wondering badly what happened

      Just do this:
      rpm -Uvh foo.i386.rpm
      Now the RPM is installed...now we want to see the program name.
      rpm -ql foo|grep bin
      Voila!

      Finally, dependencies are not the fault of the RPM system. If you took the raw binaries and plopped them on your system, you'd have the same dependencies...you just wouldn't be warned about them, and programs would malfunction, not launch because the linker would give a warning, etc.

      RPM warns you of dependencies to *help* you, not to hurt you.

      You can always install with --nodeps, but usually, unless you know what you're doing, you're better off trusting RPM.
    2. Re:Where are the programs? by Anonymous Coward · · Score: 0
      So use "rpm -ql" to list the contents of the package.

      Christ, I can't believe the complaints I'm reading about rpm here on slashdot. Apparently people are incapable of reading a simple man page.

      And never forget that if you consider yourself to be smarter than rpm, use "--nodeps" and "--force" to ram the package into your system with hardly any checks whatsoever. Or you can use rpm2cpio.

    3. Re:Where are the programs? by Anonymous Coward · · Score: 0

      >rpm -ql foo|grep bin

      Yes, I have since the learned about that, but I was merely suggesting that it would be a great time saver, and easier to use, if menu items could be added during the install.

      Knowing which files are programs, which of these programs would it make sense to include in the K or GNOME menu? I.e. if I install, say, fileutils, I do not really want any of the programs in the menu since it does not, to my knowledge, make much sense considering that they are not GUI programs. The installer cannot just blindly add menu items to all of the programs in the RPM.

      Now, I could obviously do this manually, but it would be easier and faster if there was a distinction between GUI programs and other files, that is all I am saying.

      >Finally, dependencies are not the fault of the RPM system

      I think you are right, now that I think of it. It would be great, though, if it was possible to associate a little human readable text to the dependencies. Maybe there already is, but no one is using it? What I mean is something like:
      Instead of saying "qt is needed", perhaps there could also be optional information on how to obtain said library such that it would additionally say "http://www.trolltech.com/".

    4. Re:Where are the programs? by rainGod · · Score: 1

      Use a program like RPM Wizard. It will give you the option so start the program after installing it and put a shortcut on the desktop.

      >Never mind that I wanted the files to be in my home directory.

      Most often you don't want your program in the home directory. Non-standard install locations will make the menu items useless and will prevent you from starting the program from the command line with just the program name.

    5. Re:Where are the programs? by Anonymous Coward · · Score: 0

      >So use "rpm -ql" to list the contents of the package.

      I addressed this in my original post; it is not easy for a new user to determine what is a binary and what is not.

      However, my main point was that I think it would be both easier and faster if you could add menu items during install. Simply adding all programs in the RPM to a menu will not be of any use since the RPM may not contain GUI programs.

      This clearly is not strictly necessary but if there was such an option, new desktop users would not be left wondering whether the install succeeded or not.

      >Apparently people are incapable of reading a simple man page.

      I have read it and I cannot find an option for determining whether a file is a GUI program or not. For this reason, I am not sure how I could implement a front end RPM installer which would automatically add appropriate menu items.

    6. Re:Where are the programs? by Accelerated+Joe · · Score: 2, Informative
      You wrote:
      Where was the program?
      It was not in the K menu.
      It was not on the desktop.
      It was lost.
      Modern poetry?

      Anyways, I'd just love to point out that debian has a system in place for this. There is a beautiful program called update-menus. Almost every debian package supports it, and it allows menus to be consistent through every desktop environment.
      --
      They who would give up an essential liberty for temporary security, deserve neither liberty or security
    7. Re:Where are the programs? by Anonymous Coward · · Score: 0

      >Modern poetry?

      My failed attempt at it, I think ;)

      >There is a beautiful program called update-menus.

      That sounds interesting. I use Mandrake but hearing about apt-get and how much better Debian is all the time makes me jealous, so I think it is time to try out Debian.

    8. Re:Where are the programs? by Accelerated+Joe · · Score: 2, Informative

      update-menus is in the "menu" package. Once, I forgot to install it, and I had a terrible time trying to figure out why my menus were all horrible!

      It usually gets installed in the installation process, unless you're trying to do something weird, like doing the initial install with apt-get instead of dselect.

      --
      They who would give up an essential liberty for temporary security, deserve neither liberty or security
    9. Re:Where are the programs? by Anonymous Coward · · Score: 0

      > I use Mandrake but hearing about apt-get and how much better Debian is all
      > the time makes me jealous, so I think it is time to try out Debian.

      Use apt4rpm http://apt4rpm.sourceforge.net to make your Mandrake system APT aware. To make other Mandrake users happy: put your APT repository on-line :)

  27. Re:Gentoo is a giant step, too long for mere morta by handsomepete · · Score: 3, Interesting

    There's been quite a discussion on the installer issue in the Gentoo forums (the thread can be found here). The general consesus from the users seems to be that they like Gentoo being kind of a "niche" distro. If the idea of the source based distro really appeals to you, I would suggest giving it another go and leaning very heavily on the forums (if you need to). Gentoo's Forums have the most helpful and friendly user base I have ever seen on the internet. I have yet to see a single person give a n00b a hard time (outside of the occasional rtfm...). I realize that it's not for everyone and that it takes a little bit of work, but I think Gentoo is definitely worth it after the dust settles. It's nice to install an OS and feel like you actually accomplished something.

    Oh yeah, and I don't like RPMs.

  28. Backward compatiblity? by k98sven · · Score: 2

    Many of you will have remembered that the RPM Package Manager went from 3.x to 4.x without backward compatibility and upgrading it was an arduous task, to put it mildly.
    Aw, it ain't that bad. I found myself changing version numbers in RPMs with a hex editor.

    Strangely, it actually worked just fine.

    Sometimes I think they break backward compatiblity just for the heck of it.

  29. Well, DUH! :{D by Gryffin · · Score: 2, Informative

    While I agree with the thrust of the article, it would be much more persuasive with a little more meat behind it.

    "There is at least one distribution (ESware) that has moved from RPMs do DEBs, but I don't know of any movement in the opposite direction."

    A little research into just how many distros have migrated one way or the other in, say, the last five years would be instructive.

    "Similarly, there are many users who have moved from RPMs to DEBs, but very few who have chosen the opposite path."

    This statement is pivotal to the article, but is completely unsupported by any hard numbers, and comes off overly broad. (Surely there must be have been SOME attempts to determine market share of the major distros?) Maybe you don't know anyone who's gone the other way, but I'm sure it happens.

    That said, there's a lotta truth in this article. After a couple years of struggling with RPM Hell on Red Hat and later Mandrake & Yellow Dog, I've recently decided to switch over to FreeBSD (ports, yum!) on my server and Debian on the workstation.

    Oh, as an aside, there's an implementation of deb/apt for Mac OS X and Darwin, called fink. Fink supports both binaries with apt-get/dselect, and source installs with their own ports-like tool. I know a number of people who run traditional Linux/Unix progs, including X Windows, The Gimp, KDE, etc., side-by-side with their regular Mac apps. Oh so very cool.

    --
    Learn from the mistakes of others. You won't live long enough to make them all yourself.
  30. Is RPM Doomed?: Morons Please..... by byran+lei · · Score: 0


    Does the Apt-Get and the BSD Ports crowd have anything better to do than keep posting these BS articles? PEOPLE WHO USE RPM-BASED DISTROS DON'T GIVE A DAMN WHAT YOU THINK. GET OVER IT.

    1. Re:Is RPM Doomed?: Morons Please..... by 0x0d0a · · Score: 2

      Particularly since the article basically claims that RPM is so popular that it's doomed.

      Okay, there's a lot of fragmentation of the Windows API (CE, Win16, Win32 on NT, Win32 on 9x, the IE/Office extensions to each...), but I'm still waiting for Linux's World Domination, you know?

  31. Source-based and minimalist distributions by fw3 · · Score: 2, Insightful
    I've long preferred slackware for it's approach which basically looks like BSD both for package management and operatoins interface.

    For linuxes the various source-based approaches are becoming more popular / solid. In addition to Gentoo, there are Sorcerer Linux and two working forks (Lunar and Source Mage) see summary.

    As pointed out in a comment above this one, when RPM snafus (often) you can usually build from source with minimal effort. Unfortunatley that's not true for RPM itself, which I have found to be a major pita to build from sources, or things like Gnome / E17.

    Vendor unixes (Solaris, AIX, HPUX) put a lot of effort into correctly managing dependency checking. Part of their solution, however is in building their own versions of sources and staying as much as 2-3 years behind the current-releases of any given package.

    RPM is a far cry from the vendor unix approaches, part of which I'm sure is that it's trying to do a much harder task on a less well defined base platform (random hardware).

    Try building RPM from redhat's sources sometime, use the force you're gonna need it! That alone suggests to me that this is not in 'reality' an opensource project. A GPL license for software that doesn't build with './configure; make' doesn't seem like an effective oss project to me.

    --
    Linux is Linux, if One need clarify their dist: <Dist>/GNU Linux
    bsds are of course just BSD
    1. Re:Source-based and minimalist distributions by GigsVT · · Score: 2

      You mention major vendors. I have a story that makes anything RPM based look like cake.

      We bought the MIPSPro compiler for our Origin 2000. It came on something like 6 or 7 CDs. No problem, it's got a nice package manager and all, right?

      Heh. So we put the first CD in and told the package manager to install the compiler. It churned a while, then came up with a list of about 30 dependancies that were broken. It then instructed us to insert CD after CD, swapping back and forth between compiler, OS, and Library CDs for at least two hours, I'm talking hundreds of swaps.

      We finally got it installed after flipping CDs for two hours, and then upon running it, it informed us that we only got the 2CPU version, when our computer had 4CPUs, so we were going to have to get a new license.

      The new license was an extra $1000 or so (the 2 CPU version was already $600). We said screw it, send that piece of shit back to our vendor, and just left the unusable binaries laying around the hard disk, we had already wasted enough time installing the damn thing.

      We installed gcc, and just used it instead. Took all of 10 minutes to set up.

      SGI still tries to bill us for "support" on the compiler ($300 a year or so). We have to tell them to shit in their hat every year.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
  32. RPM haters need to get a life by Anonymous Coward · · Score: 0

    My advice would be to the morons who don't like it to come up with their own packaging and see if it gets adopted.

    I've had no problem with the RPM package with SuSE, Mandrake or RedHat.

    Most problems with RPM are situated between the chair and the computer of the Linux user or the linux developper.

    The article is obviously written by someone who dislikes RedHat for some reason or another and needs to get a life.

    If Debian was so wonderfull more people would be using it.
    The fact that RedHat or similar distributions are more popular should be a clue to the idiots who bitch about it.
    Unlike winblows the argument of forced use will not work since none of these distributions are forced down anyone's throat.

    Spreading the hatred against RedHat ain't going to make any of us switch to Debian or Slackware. Slackware may be good but it is no good when compared to fancy distributions like SuSE or Mandrake.

    I do have Slackware on my computer but only use it to test some stuff. I find SuSE much nicer to use for most of my work in Linux.

    1. Re:RPM haters need to get a life by EugeneK · · Score: 1
      I grew to hate RPM's after a while. My normal mode of installation became installing Redhat or Mandrake, choosing Workstation, and then installing source in the normal way (./configure && make && make install). It wasn't ideal, but it was better than fighting with RPM. Then I discovered Gentoo. No more need to hate or even care about RPM.

      Yeah, I could have gotten a life, but why, when we have Gentoo?

  33. Talk about a gimmick by Anomolous+Cow+Herd · · Score: 1, Troll

    Compiling it from source is almost never different from just grabbing a binary package and installing it. If it wasn't already compiled with the appropriate GCC optimizations, chances are compiling in those optimizations now will just lead to random instability. It's just an excuse for dorks in their basement with more time than brains to feel good about their l337 lunix b0x3n.

    --

    "I don't know that atheists should be considered citizens, nor should they be considered patriots." - George Bush
    1. Re:Talk about a gimmick by Anonymous Coward · · Score: 0

      Dude -- that was one of the weakest, most transparent trolling attempts I've ever seen. If that's the best you can do, well, just please, please, please don't pollute the gene pool.

    2. Re:Talk about a gimmick by Anonymous Coward · · Score: 0

      Dude, that was one of the weakest counter-troll posts I've ever heard. Luckily, nobody ever reads counter-counter-troll posts in a serious frame of mind, so my post is super fucking 1337.

      snarkism

    3. Re:Talk about a gimmick by Anonymous Coward · · Score: 0

      Compiling from source has been radically different from grabbing a binary package for me. RedHat uses 386 or 486 (unsure which) optimizations. Just by switching to Gentoo noticed a very large performance gain in speed.

      As for any alledged instability, I haven't found any, and I abuse the hell out of my systems for fun and profit on a regular basis.

      Gentoo takes some know-how, but the benefit's have been amazing for me. It's smaller (i.e., not a ton of cruft installed like the RPM based distro's) emerge has been far easier to contend with than RPM, updates are a breeze versus downloading a ton of RPM's from RH, or using the evil RedHat Network to manage your and other linux boxes.

    4. Re:Talk about a gimmick by EricLivingston · · Score: 5, Insightful

      You're so wrong. I've switched to Gentoo and won't go back to binary distribution, ever. Compiling from source allows you to, for instance, automatically compile anything that can use LDAP, for instance, with that support (or not, if you don't want it). Similarly, support for SSL, Kerberos, postgresql, etc, and many, many other optional "features" can be universally turned on and off in everything you compile. I've found it extremely annoying in the past to install an RPM only to find that the rpm maintainer didn't select compilation options that I need, so I'd wind up having to recompile anyway. Now I know that every single package on my system is compiled with exactly the options and library support I want. Not to mention my entire system (glibc, KDE, kernel, etc) is compiled with -O3 -march=i686 (etc) which has noticably sped up my system.

      --
      Please Rate my comment (and help support Fre
    5. Re:Talk about a gimmick by mattdm · · Score: 1

      Red Hat uses i686 optimizations designed to still work on an i386.

    6. Re:Talk about a gimmick by walt-sjc · · Score: 5, Insightful

      This is not the issue. It has NOTHING to do with the compiler. I have played with both sorcerer and gentoo and problems with it were that the distributions were never stable, and things frequently broke due to the constant state of flux. They had no concept of debian's stable, unstable, and testing branches. Basically, package maintainers didn't test - changes were made on the fly to be "current". Multiply that by the number of package maintainers. While this is fine for playng around, it's totally useless for a business and THAT is the problem with those distros.

      So while I agree that these distros are not as good as they sound, I disagree on the reason why.

      Compiling from source gives you a ton of flexability. Most larger packages have LOTS of compile time options which can be tweaked. Looking at apps like sendmail, apache, samba, etc. each has optional modules you can use. Binary distros limit you to the options the distro maintainers include and that's it. Optimizing for your processor can make a huge difference in the performance of many apps such as media players, graphics manipulation, the X server, the kernel itself, etc.

      I started with slackware about 7 years ago now, migrated to RedHat, got frustrated with RPM and dependancy hell, played with MANY distros, and finally settled on debian. Debian rocks. It's the best of the bunch in terms of package management, stability, package diversity, user support community, processor architecture diversity, etc. I prefer debian's package management over any other system I've used including any of the BSD's, AIX, solaris, hpux, OSX, and a few others.

      Your mileage may vary...

    7. Re:Talk about a gimmick by Pr0xY · · Score: 1

      the optimizations make a huge difference, just most people don't use the appropriate flags. For example, there is an option -fomit-frame-pointer which basically stops the compiler from reserving a register and saveing mostely debug information in it. Not using this register of course makes debugging applications nearly impossible, but opens up another register reducing the instructions used to transfer data from memory to registers and back. This option which i doubt is used in any binary distros makes a big, noticable difference in speed. Do i really need to be able to use gdb to get debug information out of X _if_ it crashes?

      that is the beuty of gentoo, i can speficy EXACTLY how i want my packages compiled...

      proxy

    8. Re:Talk about a gimmick by Anonymous Coward · · Score: 0
      Compiling it from source is almost never different from just grabbing a binary package and installing it. If it wasn't already compiled with the appropriate GCC optimizations, chances are compiling in those optimizations now will just lead to random instability. It's just an excuse for dorks in their basement with more time than brains to feel good about their l337 lunix b0x3n.


      Actually, the major benifit of compiling from source is that you don't have to stick with configure options that don't work for you. Often times a binary is compiled to link with libraries that A) you don't want, or B) are not up to date and upgrading would be a major pain. For instance, some packages that require gnome or KDE libraries could have been compiled from the source to not depend on them.


      In all the time I have compiled from source I have never force fed compiler ops...if configure does it then I am using them but if it doesn't I don't care.


      NR

    9. Re:Talk about a gimmick by Anonymous Coward · · Score: 0

      You might want to try Source Mage. It's got devel, test, and stable branches.

    10. Re:Talk about a gimmick by high · · Score: 1

      Do gentoo have any specific tool for configuring how the packages should be compiled? or do you have to manually run ./configure for every package?

      I'm using debian and I belive they are really good at making *useful from start* packages, and for stuff such as ldap and other, several packages use to exist.

    11. Re:Talk about a gimmick by rob-fu · · Score: 1

      What about some of the other distros? What are they optimised for?

    12. Re:Talk about a gimmick by dattaway · · Score: 3, Informative

      Configuring how packages are compiled in gentoo can be set with the USE environment variable, or editing it in /etc/make.profile/make.defaults. There are many useful options that can be set there.

      Compiling is done with the "emerge" command for that package. Just for grins if you want to reconfigure *everything* with a new set of interesting compile parameters, simply type:

      emerge world

      And watch the CPU happily crunch away on every line of code that is currently installed on your system!

      "emerge rsync" updates the packaging tree. Then you can update packages, system, or the world with the -u option.

    13. Re:Talk about a gimmick by dossen · · Score: 1

      Well, having used Source Mage GNU Linux(which used to be Sorcerer GNU Linux) since the middle of febuary, I would like to comment on your claim that compiling from source makes the distro unstable.

      While there have been a few bumps, the number of upgrades that have gone of without issues is simply staggering. And if you depend on a package, you can "hold" it (essentially disabling automatic upgrades, on a package by package basis), or if an upgrade goes sour, you can roll-back to a working version. And the upgrades are totally opt-in, you could keep the install excatly like the day you first did it.

      Currently the distro is transitioning to KDE 3, GNOME 2 and GCC 3.1, and all of it is happening in an orderly fashion, with each package being tested and the upgrade keept out of the grimoire (package system) until it is ready. And even then there are two slower moving grimoires, "testing" and "stable", which will not get the upgrades, till they have been in use for some time.

      And I would just like to add that it ROCKS! And it haven't even reached the point where the crew are willing to call it 1.0.

    14. Re:Talk about a gimmick by 183771 · · Score: 1

      You can also do it with your rpm packages, you can download .src.rpm packages and recompile with your options

    15. Re:Talk about a gimmick by Anonymous Coward · · Score: 0

      You can compile Debian packages from source as well.

      It's as simple as "apt-get source " then go compile it, let it build the .deb packages, then install. It's all automatic and simple, but you only have to do it if you want to versus the (stupid) system FORCING you to compile everything (bad idea, btw; not only wastes time, but is unstable).

    16. Re:Talk about a gimmick by EricLivingston · · Score: 2
      Sure, but the point of Gentoo is you don't have to think about individual packages. If you want to add system-wide support for a certain library or security framework or something, you simply add that option to your "USE" variable in your system's configuration, and every single package on your system that can make use of said library, etc, is automatically compiled with that feature turned on. You do have to set it prior to building your system for best results, however. Unfortunately, Gentoo still does not have the option of re-setting your USE variable, then issuing the equivalent of "recompile everything that is impacted by these changed configuration options". That would be very nice. On the other hand, you can issue an "emerge world" command before going to bed and have Gentoo recompile your entire system with your new options.

      The reverse is true, of course, if you want to disable it system-wide.

      --
      Please Rate my comment (and help support Fre
  34. Re:Gentoo is a giant step, too long for mere morta by mindstrm · · Score: 2

    Debian.

    Look A basic install, though perhaps not quite as bare as gentoo, is really bare. Really light.

    You end up, with a minimal configuration, with teh bare minimum you need to boot, get a console, and install more packages over the network.

    Then it's a matter of adding packages as you see fit... which is entirely too easy.

    to get here, just skip the package selection and/or task selection (where you choose either individual packages, or in beginner mode, what kind of machine it's going to be, development, server, etc.)

    I do every debian machine for every reason this way. I love it especially becaues it leaves me with a light, clean system every time.

    One of the reasons behind Gentoo is probably one of the reasons why people used to love Slackware (heh, I guess some still do). Because you had to do things the old fashioned way. Get source, comipile, install where you saw fit. You had to actually learn how things work.

    I can say that, in having ot mess with early, early version of linux I learned more about how unix works than any other unix I've used. Having to actually figure out, either by reading, or trial and error, what file goes a LONG way towards being able to work multi-platform.

  35. Packaging is only a symptom by Anonymous Coward · · Score: 0

    Packaging is only the symptom. The problem begins with the design of the system layout or lack thereof (i.e the mimic factor is in place...), the systems Linux ... etc... etc.. are not designed to be installed, upgraded, patched, maintained. These things occured later in the development life cycle. This behavior is the norm in commerical products too

    Packaging is mostly a workaround... so what people are looking for is ... the best workaround ... the question that really should be asked is 'how can we design a operating system that is installable, upgradeable, patchable' ...

  36. Just got ADSL, Just had a nightmare with packages by oliverthered · · Score: 3, Insightful

    I aggree,
    I installed mandrake 8.2 a while ago, since then there have been a lot of 1.0 releases out.
    OpenOffice,
    Mozilla,
    KDE (3.0.1)
    etc....
    But mandrakes packages have some rediculios deps, to install KDE 3.0.1 from there cooker(dev), it wanted me to update thinkgs like unixODBC and MYSQl,I don't wan't mySQL and call me stupid but obdc's a protocol!!! and i dont think the latest unixODBC changes that , why the hell have they put such non-granular pagkages togeter, if i had a release plan like that at work I'd probably be out of a job.
    The RPM tree locations in mandrake used to be different from the package defaults which ment i could'nt install wines RPM and know i wasn't going to screw up package management some time in the future.

    Dependencies of RPM's really need sorting out, and there should be no reason why i can install a suse package on redhat (so long as they both follow LSB!!)

    grrrrrrrrrrrrrrrr

    --
    thank God the internet isn't a human right.
  37. RPM not the problem.. by reflective+recursion · · Score: 3, Insightful

    in itself. The problem is not using the hierarchal file system in a coherent way. In addition to that problem we have way too many files nowadays. When package contents mix with one another.. well I'm sure you've had Chem. 101.

    This article wants solutions, so here is mine:
    Make packages a seperate directory. Just like good old DOS days--where every program lived by itself in a directory. _All_ package contents go in this special directory. Then you have the problem of per-user configuration. This is incredibly simple. Have a directory in each user's directory which _mirrors_ the package directory. Each package directory should be unique (i.e. MyProgram v1.0 lives in a different directory than MyProgram v1.1). Dependencies would be much easier this way since you would only depend on a _directory_ existing. Moving packages would simply be a matter of packing up the directory and taking it wherever.

    In any case, software is _package_ based. Why do we still throw library files from different packages together in the same directory?! When you want to remove a package you have to rely on broken package managers, or hunt down every file which goes with a package. We should be able to completely remove software by simply removing a directory. I've heard MacOS does this, why can't Linux?

    --
    Dijkstra Considered Dead
    1. Re:RPM not the problem.. by Fluffy+the+Cat · · Score: 5, Informative

      Why do we still throw library files from different packages together in the same directory?!

      Mostly because that's the point of libraries. Libraries allow code to be reused between applications - sticking them in application specific locations makes it somewhat harder for application A to use library B.

    2. Re:RPM not the problem.. by reflective+recursion · · Score: 4, Interesting

      I don't know if you've noticed lately, but libraries _are_ packages today. GTK+ for example. Qt, ncurses, etc. And if a package creates a _new_ library, then not many people are going to depend on it. And if they _do_ depend on it, they might as well depend on the entire package being there--since the library is a _part_ of the package.

      The idea of sharing arbitrary library code is a failed experiment. If I create MyProgram and then I create MyProgramLib.. not many people will ever use the library. The only case they _will_ use that library is if I _package_ it seperately, and make it a coherent entity itself--with documentation. This is why, IMO, going package-only and dropping the various */lib directories can only be a Good Thing. And this is how Red Hat, etc. do it today. They create dependencies between _packages_. If I create an app in RPM format that needs, say libgimp, then my package will depend on the _entire_ gimp package being installed. Not just libgimp. Why not just handle packages naturally?

      I'd also like to point out the benefits of doing this:

      - Package corruption will be detected immediately. When something depends on a package and a file is missing or corrupt then the package can be determined corrupt.

      - Dependencies handled naturally. When a program complains that a file doesn't exist, I can pinpoint _exactly_ which package the file is in and can simply reinstall the package. No need to hunt down which file belongs to which package.

      --
      Dijkstra Considered Dead
    3. Re:RPM not the problem.. by psaltes · · Score: 1

      > Make packages a seperate directory. Just like good old DOS days--where every program lived by itself in a directory.

      For a similar solution see rox filer and its app directories (and choices system):

      http://rox.sourceforge.net/appdirs.php3

    4. Re:RPM not the problem.. by demaria · · Score: 2

      Congratulations! You just described OS X. :-D

      All files for the package is in directory /Application/$APPNAME (you can put them anywhere in reality. Users can also install their own programs in their homedir). A special flag makes this directory appear like a single file to the user interface. Double click and it launches. Just drag to the trash to delete it. Not only does this directory hold the executable, but also library files, help files, and everything else. User config files are in the user's home directory in ~/Library/Preferences.

      /System is for the OS. It contains library files and all sorts of other stuff for the OS and apps. However, Apple's guidelines state that programs can not modify or add to /System. So if you're running MacOS X 10.1.5, you will have the same /System as someone else running 10.1.5 (Apple once or twice had a security update without incrementing the version number but that was just to patch security holes). If a program wants to use libraries not in /System the package needs to include it itself - there are no dependencies in OS X. This severe Apple control works great for Macs, but I don't know if Linux users would stand for Redhat et al dictating their /lib.

    5. Re:RPM not the problem.. by captaineo · · Score: 2

      One of the flaws of a shared library directory is that free software developers are notoriously bad at preserving backwards- and forwards- compatibility between different library versions. It does no good to have a single libfoo.so when one of its users relies on a bug in an old version of the library, and another user won't run because it needs a symbol from a newer version.

      I can agree with having a common set of very basic libraries - libc, libX11, libgtk, etc - that are used by many programs and whose interfaces have been NAILED DOWN. But pretty much anything else is just too exotic and risky to justify sharing libs.

      I am currently working on a commercial software package for Linux, and we firmly plan to link everything statically, except for libc. (we have even considered bypassing glibc - which is bloated and forwards-incompatible - and making the kernel itself our only dependency).

      This point may not move you, but Windows has done fine for many years, and over there hardly any "common" libraries exist aside from the stable MS-provided ones (user32.dll, comctrl32.dll, etc...). This may be because Windows developers tend to scream and shout very loudly when somebody breaks the API of a shared library...

    6. Re:RPM not the problem.. by Anonymous Coward · · Score: 0

      When package contents mix with one another.. well I'm sure you've had Chem. 101.

      ..But for chemists, solutions are things that are all mixed up?

      I can't see your point!

    7. Re:RPM not the problem.. by cgleba · · Score: 5, Informative

      "The problem is not using the hierarchal file system in a coherent way."

      I hear this argument every time package managment is discussed on slashdot and every time I bite my tongue.

      The current system of /bin,/lib,/etc, etc. has many many advantages over the "good old DOS days" -- ESPECIALLY when you start mixing in NFS and automount. Some examples:

      * all SHARED libraries are in the same place. That way the dynamic linbker does not need to do a ridiculous path search to find a library

      * all binaries are in 3 -4 places -- that way you don't need a massive PATH variable like 'the good old DOS days'

      * because the files are sorted by type, you can do all types of neat things. Let's say for instance that you have Solaris SPARC, Tru64 Alpha and x86 Linux boxes all sharing a single NFS server. Now the /etc directory is architecture and OS independant so you can share the same directory accross all three. The /var directory is achitecture independant but depending on your set-up it will probably not be OS depandant. Thus you can discern the differences between the OSs yourself and set up an automount variable to mount the proper version per OS. The /lib and /bin directories are both OS and architecture dependant. In that case you must set automount variables for OS and arch and mount different dirs for each.

      Let's say that you install emacs network-wide. You share the same config accross all your NFS clients and just make different /bin and /lib for each. You need to change some defult configs for all the clients? Voila, just edit one config file! Could you share one program accross multiple machines, architectures and OSes in the 'good old DOS days'? Could you immediately upgrade 65 workstations to the newest version of a program without reboots and only use 1/65th the space (aka one copy) in the 'good old DOS days'?

      * Because the files are sorted BY TYPE you can do all types of neat optimization and security things. You can mount /usr ro. You can optimize your RAID array for fast read and writes in the /var mount while optimizing /usr, *lib and *bin for fast reads, etc.

      'the good old DOS' system was good for what it was used for -- a small system for one user with a few programs and didn't need any optimization. The heierarchal system is a lot better here used as a multi-user, muti-tasking shared-library networked OS with hundreds of programs.

      Now if you hate the heierarchal system that much, you can do what SCO OpenServer does -- install all the files into each 'program directory' and then make symbolic links into the heierarchal system. It would be VERY easy to do -- just write a script to query your RPM database for what files are in each package, move all the files for that package into its own directory and then make a symbolic link for each file moved back to the hierarchal system.

      SCO liked the 'good old DOS days' also. The problem with OpenServer and all those symbolic links, though, is that resolving the symbolic links by the dynamic linker, the shell, the programs, etc actually was pretty expensive and gave a decent hit to filesystem performance. Furthermore it made NFS-mounted trees hell and you could not do all the neat optimization and security stuff that I mentioned above.

      In summary, the heierarchal system is by far easier to manage for performance, security and for centralization. It is tougher to manage for "adding / removing" programs. The former highly outweighs the latter, expecially since you have package databases to help tell you where all the files are. Learn to use your package managment system.

      The bulk of this article and thread seem to be once again people bitching about RPM dependency hell. The solution to that is download the source rpms and then do a rpm --rebuild [source RPM] then a rpm -i [/usr/src/RPM/RPMS/i686/[name of RPM built]. That solves 96% of all your problems and still maintains your RPM database. config, make works too, but it throws you back into the chaotic world of no package managment and thus completely defeats the purpose of RPMs.

      Have a nice day!

    8. Re:RPM not the problem.. by Anonymous Coward · · Score: 0

      Could you share one program accross multiple machines, architectures and OSes in the 'good old DOS days'? Could you immediately upgrade 65 workstations to the newest version of a program without reboots and only use 1/65th the space (aka one copy) in the 'good old DOS days'?

      Off-topic, but in the Good Ol DOS Days, the usual configuration was to install your software on a file server and use Novell scripts to manage paths/menus/etc. You might even have had diskless workstations. So yes, you could do all that stuff -- the admin tools were much better then than on a 'modern' PC network.

    9. Re:RPM not the problem.. by Ian+Lance+Taylor · · Score: 2
    10. Re:RPM not the problem.. by druse · · Score: 0
      The idea of sharing arbitrary library code is a failed experiment.

      dpkg --purge libc6

      --
      "To blow recursion, you must first blow recus
    11. Re:RPM not the problem.. by reflective+recursion · · Score: 2

      I think you missed the point.. I said _arbitrary_. libc is a central library. The idea behind shoving all libraries into a directory is because of the possibility someone may use a library. This is a theory and in practice you rarely use libraries which are not well defined or even their own seperate package entity.

      --
      Dijkstra Considered Dead
    12. Re:RPM not the problem.. by Anonymous Coward · · Score: 0

      Maybe the filesystem itself could handle information on dependency, and be able to quickly sort all files belonging to a program, or all files that are of a specific kind.

      That filesystem would be much like a database, instead of simply being directories containing files.

      Has anyone done this ? Can it be done ? On UNIX ?

    13. Re:RPM not the problem.. by walt-sjc · · Score: 1

      First, it's not just a problem with "free" software developers. To infer that it's ONLY a problem with free software perpetuates a myth. As a software developer, you should know better. The fact is that library verion issues with free software is no better or worse than commercial software.

      Second, Windows DOES indeed have this same problem. There are something like 72356427356427365423 versions of MFC42.dll. Well, not that many, but I personally found well over a dozen versions when I was dealing with some bizzare problems a couple years ago. I'm sure the problem is even worse now. Every app seems to come with it's own version for some reason and that can cause all sorts of instability problems with your system. Apps compiled with version do NOT always work with another. The same is true for comctrl32.dll.

      If you indeed need to ship one binary that works over a variety of linux versions, then indeed you SHOULD link statically. This is what netscape, acrobat, realplayer, oracle, etc. do. This is NOT a problem. It's the whole reason static linking still exists.

    14. Re:RPM not the problem.. by Anonymous Coward · · Score: 0

      I too am in devlopment in which we also will be linking statically and including tools because the standard libraries and tools aren't; which is the point he's making. That we s/SHOULD/HAVE TO/g link statically out of necessity doesn't counter the point that the 'standard' stuff isn't standard.

    15. Re:RPM not the problem.. by daniel2000 · · Score: 2

      you might want to check this software for linux:

      http://rox.sourceforge.net/

      Some background (from the website)

      The ROX Desktop, however, is based around the file system. It's core component is ROX-Filer, a powerful graphical file manager which, in addition to being a pretty neat filer in its own right (IMHO!), provides a couple of extra features which allow it to solve the above problems.

      The first of these features is support for `Application Directories'. An application directory is a directory which contains an entire application - its documentation, binaries, source code and so on. When you open an application directory in the filer the application is run. This has some interesting implications:

      Installing an application is the same as copying a directory. No need for special setup programs (or root access). For example, let's suppose that your friend has the latest version of ROX-Filer and you want it. She simply copies the directory onto a floppy disk and hands it to you. You can run the program directory from the floppy if you want, or you can drag it onto your hard disk to `install' it.
      Uninstalling is the same as deleting a directory.
      Want to install two different versions of the same application? Just copy them to different directories on your hard disk.
      To read an application's help usually involves hunting around for man-pages, info pages, directories in /usr/doc and so on. With an application directory the help is inside it - just choose Help from the filer menu to see it (all this does is to open a subdirectory inside the application called 'Help' - simple, eh?).
      There is no need for a separate filer and application launcher. The filer does both, and you always know where your programs are.

    16. Re:RPM not the problem.. by captaineo · · Score: 2

      Yes, I understand that most prudent Windows developers ship a specific version of MFC.dll and msvcrt.dll. Not all Windows DLLs have remained as compatible as the core...

      But you never see anyone replacing gdi32 or advapi32. On the other hand, on Linux I've been bitten several times by incompatibilities between glibc 2.1 and 2.2. (heck even the man pages admit incompatibilities - see 'snprintf' and 'mkstemp'). To me this is akin to a link failure on 'malloc' or 'printf'. It just shouldn't happen in this day and age! I *should* be able to ship a program dynamically linked against GTK, or libtiff, or whatever, and just have it work, same as I can link against user32.dll and know that CreateWindow will act like it should.

      I think Microsoft is taking a step in the right direction with .NET assemblies (and their checksummed APIs). A major reason for DLL breakage in the free software world is the lack of any sort of warning that you've broken the API; something as subtle as adding a new virtual function to a C++ class will break binary compatibility... It would be great to have a program that could flag things like this.

      If you want to have different versions of a shared library, that's fine, just as long as it's a purely one-dimensional, monotonically increasing measure (i.e. if I declare my program depends on version 4 of libfoo.so, it should be guaranteed to work with version 4, 5, and 50, but not necessarily 1, 2, or 3). But sadly most libraries evolve in such a way that you have to place a ceiling as well as a floor on the appropriate version for your program =).

      My favorite approach is to get the API right the first time, and promise never to change it. (yeah, throw release early, release often out the window)... I have actually achieved this with my dv1394 kernel driver - the API was frozen on day one of release, and it has never changed. It took some hard work to convince myself that the API was sufficient for all possible uses, but it was definitely worth it to avoid version skew altogether.

      Incidentally, I have to give credit to the developers of GTK. I have been following them through the 2.0 release process, and it seems like they are one of the first free software projects to really take library compatibility seriously.

    17. Re:RPM not the problem.. by Anonymous Coward · · Score: 0

      Windows 2000 and up provide its own MFC42.DLL and COMCTRL32.DLL and run a demon (System File Protection) which prevents installers from overwritting such files.

      Which is a kludge solution, but DLL Hell is pretty much a thing of the past.

    18. Re:RPM not the problem.. by reflective+recursion · · Score: 2
      There are tons of problems with Linux file systems (and general *ix).
      all SHARED libraries are in the same place. That way the dynamic linbker does not need to do a ridiculous path search to find a library
      This is a convenience for the linker, though. Not one for the user or developer. We should not have to sacrifice simplicity to make the linker simple. And if we have the hierarchy and system that I have in mind this won't be a problem at all, since the linker today uses a cache and doesn't scan the directories at all (for the most part, unless you ldconfig).
      all binaries are in 3 -4 places -- that way you don't need a massive PATH variable like 'the good old DOS days'
      But there is where you are wrong.
      /bin
      /sbin
      /usr/bin
      /usr/local/bin
      /usr/sbin
      /usr/local/sbin
      /usr/X11/bin
      /var/lib/apache (only god knows how it got there..)
      /opt/kde/bin (NOTE this)
      /opt/gnome/bin (and this)
      Then IBM Java needs added to the $PATH. I also remember Qt having issues with this and needing added to the path. And typically I add a /home/*user*/bin which I place personal scripts that I use. The PATH issue is still there. I'm willing to bet that there is a much cleaner and better way to find executable files than what we use today. Perhaps a caching method would do well.

      I don't see your point about NFS, other than /etc is for the most part system-independent. Perhaps package+configuration directory would be good enough? But, ideally configuration data would remain with the package. That way you can simply move a directory and the package will become persistent. With my method you could share one program across multiple machines. Say you have this:

      /package/my-application-1.0/

      You can use NFS and the entire package will be available remotely. You are really taking my usage of DOS way too literal (and in a different context). The simplicity of one program to one directory is what I meant by "good old DOS days." Not that DOS could be used via NFS in the way you mentioned.
      'the good old DOS' system was good for what it was used for -- a small system for one user with a few programs and didn't need any optimization. The heierarchal system is a lot better here used as a multi-user, muti-tasking shared-library networked OS with hundreds of programs.
      And I would say to that, that much of the complexity of Linux (general *ix) is invented and not actual complexity with a purpose. The multi-user and multitasking issues are simple to tackle w/ the system I described. The shared-library issue would need work, but it is very doable.
      Now if you hate the heierarchal system that much, you can do what SCO OpenServer does -- install all the files into each 'program directory' and then make symbolic links
      Erm.. but then we are all still dependent upon the Linux hierarchy, now aren't we? It might be useful for me (after tons of work making every package fit my system), but it doesn't do a thing for anyone else. Which I think was the purpose of the article..
      [...] expecially since you have package databases to help tell you where all the files are
      It could very well be the other way around (databases telling where packages are).
      The bulk of this article and thread seem to be once again people bitching about RPM dependency hell.
      No, not RPM dependency hell. Dependency hell in general. Which is easier to depend on: one package, or a library in /usr/local/lib, 50 header files in /usr/include/*lib-name*, a config script that brings it all together in /usr/local/bin? Dependency is not just a shared-library issue, either (as I mentioned with header files). It is much bigger and in the future will be much, much more nasty.

      If we don't clean the crap up now we are in for a very very nasty environment later. Call it pollution of the OS, if you want. The Linux I use today is much less organized than even the one I used 4 years ago. And it is getting worse.. such as the /opt/kde and /opt/gnome directories which some distributions are now doing. This tells me there is something seriously wrong when you must recreate the file system hierarchy in /opt just to allow simple removal of packages (or in this case, a complete desktop system).
      --
      Dijkstra Considered Dead
    19. Re:RPM not the problem.. by Anonymous Coward · · Score: 0

      Congradulations! You just described DOS. :-D

    20. Re:RPM not the problem.. by demaria · · Score: 1

      DOS is a rather inferior multiuser and multitasking operating system. :-)

    21. Re:RPM not the problem.. by Tim+C · · Score: 2

      If I create an app in RPM format that needs, say libgimp, then my package will depend on the _entire_ gimp package being installed.

      Which, imho, is a real pain. Mandrake's KDevelop package "requires" Gimp to be installed. I didn't really want another 20+meg of data on my drive that I'm unlikely to ever use, so I used the --nodeps option to rpm - and it worked just fine. I can only assume that KDevelop requires icon editing software, or something, rather than the Gimp itself.

      Another example is the development version of Qt3 that comes with the Mandrake KDE3 packages. It requires the MySQL and Postgres libraries, amongst others, which in turn require the rest of their respective packages. If you want to compile KDE3 apps on a Mandrake (8.2) system, you have to install not one but two databases.

      Follow that sort of procedure for everything you want to install, and the amount of data that is installed that you don't want could well be larger than the amount that you do. I know that disk space is cheap these days, but it's still not free.

      Cheers,

      Tim

    22. Re:RPM not the problem.. by Aapje · · Score: 1

      Of course it can be done, see BeFS or the type/creator-codes on the Mac. But it won't be done since most Unix-users are allergic to (new) metadata. It has to do with the myth that metadata will make it impossible to pipe files and that using/greping files on the command line will be harder if they don't end in .doc.

      Personally I believe that we need an easy and extensible mechanism to provide metadata. Someone needs to dare and break the status quo. I mean, wouldn't it be great if you could tag files on your HD, keep serials with applications, easily sort files by their metadata and in general use the FS as a database to keep everything together (in one view) and easily usable in another view.

      --

      The Drowned and the Saved - Primo Levi
  38. Automaticness by Apreche · · Score: 3, Interesting

    What we need is to get rid of the entire packaging system all together. I know I'll probably get toasted for this. But software should install in linux the same way it installs in windows. There should be one file, like setup.exe. I should take that file, execute it, it will ask me what parts of the software I want, and where I want to put it, etc. From my experience there are two pieces of software for linux that do this, the Tribes 2 server, and Mozilla.
    The entire packaging system is just a pain in the butt. This depends on that depends on this. urpmi, rpm -i, rpm -U, things not working with no explanation. In Windows I never have to worry about one thign relying on another thing. Because just about everything uses DirectX. And directX COMES WITH anything that uses it. And it has a simple graphical isntallation.
    There should be one downloadable file for each piece of software I want. It should install on its own, on any linux machine, easily and graphically. And all of my library packages like glibc, etc. Should transparently update themselves to the newest versions all the time. I dont' want to have to worry about that stuff. Drivers in linux are incredibly difficult to install. They should become a simple right click, install driver. Done. I want all that other crap taken care of for me. I don't have time to change paths in config files, tinker with code, look up crazy commands and recompile crap.
    I feel the package system is the real place in which linux fails. Most distros, lets use Mandrake as an example, have graphical easy installations. But when you get to the package selection phase you're stuck forever weeding through thousands and thousands of checkboxes. Not cool.
    One piece of software should be one checkbox. KDE alone has like 20+ rpm files. There should be one file. KDE3setup.exe.
    You know that installshield that almsot every piece of windows software has? Maybe someone could code that for linux. I would, but I have no idea how to do something like that. But I know someone reading this does. And if you want to save your open source os, I suggest you do.

    --
    The GeekNights podcast is going strong. Listen!
    1. Re:Automaticness by awx · · Score: 1

      Only graphical installs? What happens when you're working on a machine over SSH via a modem or SLIP link? Mandrake does have a fully graphical installation without going through each and every package. Uncheck the "show me a list of packages" checkbox in the install process. Moron Troll.

      --
      Feel that power? That's mah MOUSING FINGER
    2. Re:Automaticness by vadim_t · · Score: 1
      That's all very nice, except when you use a modem. Or floppies. Or even CDs. InstallShield adds about 500KB to every of those setup.exe files. Now think about how many programs could you put on a CD even when a tiny 100KB program takes 600KB of disk space! And why the hell I need a copy of DirectX with every game? Some games are even evil enough to install it without asking, and one even overwrote my files with an older version.


      That's not the only problem, though. Since every program has its own installer you don't get bug fixes. What if InstallShield screwed up something in some particular version? You can't just upgrade it! BTW, in case you haven't noticed, MS doesn't like all this either. That's why now there are .msi packages.

    3. Re:Automaticness by Erotomek · · Score: 1

      [...] software should install in linux the same way it installs in windows. There should be one file, like setup.exe. I should take that file, execute it, it will ask me what parts of the software I want, and where I want to put it, etc. [...] But when you get to the package selection phase you're stuck forever weeding through thousands and thousands of checkboxes. Not cool. One piece of software should be one checkbox. KDE alone has like 20+ rpm files. There should be one file. KDE3setup.exe.

      Here's how I install KDE on Debian: I write apt-get install kde and hit enter. See the simulation below on Debian 3.0 Woody, the -s option of apt-get means "No action; perform a simulation of events that would occur but do not actually change the system. Configuration Item: APT::Get::Simulate. Simulate prints out a series of lines each one representing a dpkg operation, Configure (Conf), Remove (Remv), Unpack (Inst)."

      rtm28:~# apt-get -s install kde
      Reading Package Lists...
      Building Dependency Tree...
      The following extra packages will be installed:
      ark kab karm kate kcalc kcharselect kchart kcoloredit kcron kdebase
      kdebase-audiolibs kdebase-doc kdebase-libs kdelibs3 kdelibs3-bin kdepasswd
      kdewallpapers kdf kdict kdm kedit kfind kformula kfract kghostview khexedit
      kiconedit kit kivio kjots kmail knewsticker knode knotes koffice koffice-libs
      konqueror konsole kontour korn koshell kpackage kpaint kpm kpresenter kruler
      kscreensaver ksirc ksnapshot kspread ksysv ktimer kugar kuser kview kword
      libfam0 libkdenetwork1 libkmid libkonq3 libmimelib1 libmng1 libqt2 librpm4
      rpm secpolicy
      The following NEW packages will be installed:
      ark kab karm kate kcalc kcharselect kchart kcoloredit kcron kde kdebase
      kdebase-audiolibs kdebase-doc kdebase-libs kdelibs3 kdelibs3-bin kdepasswd
      kdewallpapers kdf kdict kdm kedit kfind kformula kfract kghostview khexedit
      kiconedit kit kivio kjots kmail knewsticker knode knotes koffice koffice-libs
      konqueror konsole kontour korn koshell kpackage kpaint kpm kpresenter kruler
      kscreensaver ksirc ksnapshot kspread ksysv ktimer kugar kuser kview kword
      libfam0 libkdenetwork1 libkmid libkonq3 libmimelib1 libmng1 libqt2 librpm4
      rpm secpolicy
      0 packages upgraded, 67 newly installed, 0 to remove and 0 not upgraded.
      Inst libfam0 (2.6.6.1-4 Debian:testing)
      Inst libmng1 (1.0.3-3 Debian:testing)
      Inst libqt2 (3:2.3.1-22 Debian:testing)
      Inst kdelibs3-bin (4:2.2.2-13 Debian:testing) []
      Inst kdelibs3 (4:2.2.2-13 Debian:testing)
      Inst ark (4:2.2.2-9 Debian:testing)
      Inst kab (4:2.2.2-9 Debian:testing)
      Inst karm (4:2.2.2-9 Debian:testing)
      Inst libkonq3 (4:2.2.2-14 Debian:testing)
      Inst kdebase-libs (4:2.2.2-14 Debian:testing)
      Inst kate (4:2.2.2-14 Debian:testing)
      Inst kcalc (4:2.2.2-9 Debian:testing)
      Inst kcharselect (4:2.2.2-9 Debian:testing)
      Inst koffice-libs (1:1.1.1-7 Debian:testing)
      Inst kchart (1:1.1.1-7 Debian:testing)
      Inst kcoloredit (4:2.2.2-6.4 Debian:testing)
      Inst kcron (4:2.2.2-7 Debian:testing)
      Inst libkmid (4:2.2.2-13 Debian:testing)
      Inst kdewallpapers (4:2.2.2-14 Debian:testing)
      Inst kdebase (4:2.2.2-14 Debian:testing)
      Inst kdebase-audiolibs (4:2.2.2-14 Debian:testing)
      Inst konqueror (4:2.2.2-14 Debian:testing)
      Inst konsole (4:2.2.2-14 Debian:testing)
      Inst kdebase-doc (4:2.2.2-14 Debian:testing)
      Inst kscreensaver (4:2.2.2-14 Debian:testing)
      Inst kuser (4:2.2.2-7 Debian:testing)
      Inst ksysv (4:2.2.2-7 Debian:testing)
      Inst librpm4 (4.0.3-4 Debian:testing)
      Inst rpm (4.0.3-4 Debian:testing)
      Inst kpackage (4:2.2.2-7 Debian:testing)
      Inst secpolicy (4:2.2.2-7 Debian:testing)
      Inst kghostview (4:2.2.2-6.4 Debian:testing)
      Inst kview (4:2.2.2-6.4 Debian:testing)
      Inst libkdenetwork1 (4:2.2.2-14 Debian:testing)
      Inst libmimelib1 (4:2.2.2-14 Debian:testing)
      Inst kmail (4:2.2.2-14 Debian:testing)
      Inst korn (4:2.2.2-14 Debian:testing)
      Inst kdepasswd (4:2.2.2-9 Debian:testing)
      Inst kdf (4:2.2.2-9 Debian:testing)
      Inst kedit (4:2.2.2-9 Debian:testing)
      Inst kfind (4:2.2.2-9 Debian:testing)
      Inst khexedit (4:2.2.2-9 Debian:testing)
      Inst kjots (4:2.2.2-9 Debian:testing)
      Inst knotes (4:2.2.2-9 Debian:testing)
      Inst kpm (4:2.2.2-9 Debian:testing)
      Inst kpaint (4:2.2.2-6.4 Debian:testing)
      Inst kiconedit (4:2.2.2-6.4 Debian:testing)
      Inst kfract (4:2.2.2-6.4 Debian:testing)
      Inst ksnapshot (4:2.2.2-6.4 Debian:testing)
      Inst kruler (4:2.2.2-6.4 Debian:testing)
      Inst kdict (4:2.2.2-14 Debian:testing)
      Inst kdm (4:2.2.2-14 Debian:testing)
      Inst kit (4:2.2.2-14 Debian:testing)
      Inst knode (4:2.2.2-14 Debian:testing)
      Inst ksirc (4:2.2.2-14 Debian:testing)
      Inst kformula (1:1.1.1-7 Debian:testing)
      Inst kontour (1:1.1.1-7 Debian:testing)
      Inst kivio (1:1.1.1-7 Debian:testing)
      Inst koshell (1:1.1.1-7 Debian:testing)
      Inst kpresenter (1:1.1.1-7 Debian:testing)
      Inst kspread (1:1.1.1-7 Debian:testing)
      Inst kugar (1:1.1.1-7 Debian:testing)
      Inst kword (1:1.1.1-7 Debian:testing)
      Inst koffice (1:1.1.1-7 Debian:testing)
      Inst knewsticker (4:2.2.2-14 Debian:testing)
      Inst ktimer (4:2.2.2-9 Debian:testing)
      Inst kde (4:2.2.25 Debian:testing)
      Conf libfam0 (2.6.6.1-4 Debian:testing)
      Conf libmng1 (1.0.3-3 Debian:testing)
      Conf libqt2 (3:2.3.1-22 Debian:testing)
      Conf kdelibs3 (4:2.2.2-13 Debian:testing)
      Conf kdelibs3-bin (4:2.2.2-13 Debian:testing)
      Conf ark (4:2.2.2-9 Debian:testing)
      Conf kab (4:2.2.2-9 Debian:testing)
      Conf karm (4:2.2.2-9 Debian:testing)
      Conf libkonq3 (4:2.2.2-14 Debian:testing)
      Conf kdebase-libs (4:2.2.2-14 Debian:testing)
      Conf kate (4:2.2.2-14 Debian:testing)
      Conf kcalc (4:2.2.2-9 Debian:testing)
      Conf kcharselect (4:2.2.2-9 Debian:testing)
      Conf koffice-libs (1:1.1.1-7 Debian:testing)
      Conf kchart (1:1.1.1-7 Debian:testing)
      Conf kcoloredit (4:2.2.2-6.4 Debian:testing)
      Conf kcron (4:2.2.2-7 Debian:testing)
      Conf libkmid (4:2.2.2-13 Debian:testing)
      Conf kdewallpapers (4:2.2.2-14 Debian:testing)
      Conf kdebase (4:2.2.2-14 Debian:testing)
      Conf kdebase-audiolibs (4:2.2.2-14 Debian:testing)
      Conf konqueror (4:2.2.2-14 Debian:testing)
      Conf konsole (4:2.2.2-14 Debian:testing)
      Conf kdebase-doc (4:2.2.2-14 Debian:testing)
      Conf kscreensaver (4:2.2.2-14 Debian:testing)
      Conf kuser (4:2.2.2-7 Debian:testing)
      Conf ksysv (4:2.2.2-7 Debian:testing)
      Conf librpm4 (4.0.3-4 Debian:testing)
      Conf rpm (4.0.3-4 Debian:testing)
      Conf kpackage (4:2.2.2-7 Debian:testing)
      Conf secpolicy (4:2.2.2-7 Debian:testing)
      Conf kghostview (4:2.2.2-6.4 Debian:testing)
      Conf kview (4:2.2.2-6.4 Debian:testing)
      Conf libkdenetwork1 (4:2.2.2-14 Debian:testing)
      Conf libmimelib1 (4:2.2.2-14 Debian:testing)
      Conf kmail (4:2.2.2-14 Debian:testing)
      Conf korn (4:2.2.2-14 Debian:testing)
      Conf kdepasswd (4:2.2.2-9 Debian:testing)
      Conf kdf (4:2.2.2-9 Debian:testing)
      Conf kedit (4:2.2.2-9 Debian:testing)
      Conf kfind (4:2.2.2-9 Debian:testing)
      Conf khexedit (4:2.2.2-9 Debian:testing)
      Conf kjots (4:2.2.2-9 Debian:testing)
      Conf knotes (4:2.2.2-9 Debian:testing)
      Conf kpm (4:2.2.2-9 Debian:testing)
      Conf kpaint (4:2.2.2-6.4 Debian:testing)
      Conf kiconedit (4:2.2.2-6.4 Debian:testing)
      Conf kfract (4:2.2.2-6.4 Debian:testing)
      Conf ksnapshot (4:2.2.2-6.4 Debian:testing)
      Conf kruler (4:2.2.2-6.4 Debian:testing)
      Conf kdict (4:2.2.2-14 Debian:testing)
      Conf kdm (4:2.2.2-14 Debian:testing)
      Conf kit (4:2.2.2-14 Debian:testing)
      Conf knode (4:2.2.2-14 Debian:testing)
      Conf ksirc (4:2.2.2-14 Debian:testing)
      Conf kformula (1:1.1.1-7 Debian:testing)
      Conf kontour (1:1.1.1-7 Debian:testing)
      Conf kivio (1:1.1.1-7 Debian:testing)
      Conf koshell (1:1.1.1-7 Debian:testing)
      Conf kpresenter (1:1.1.1-7 Debian:testing)
      Conf kspread (1:1.1.1-7 Debian:testing)
      Conf kugar (1:1.1.1-7 Debian:testing)
      Conf kword (1:1.1.1-7 Debian:testing)
      Conf koffice (1:1.1.1-7 Debian:testing)
      Conf knewsticker (4:2.2.2-14 Debian:testing)
      Conf ktimer (4:2.2.2-9 Debian:testing)
      Conf kde (4:2.2.25 Debian:testing)
      rtm28:~#

      And that's it. One command. If that's not your automaticness, than I don't know what is. Maybe you are just using a distro which is not the best for you, maybe you should try Debian (Disclaimer: I don't want to start any stupid flame war which distro is always better for everyone, I'm just saying that if you want automatic installs without any dependency problems, then Debian is what I bet on). I hope it helps.

      --

      Krótko: kady Erotomek
      W pimiennictwie ma swój domek.

    4. Re:Automaticness by 0x0d0a · · Score: 4, Insightful

      But software should install in linux the same way that it installs in windows. There should be one file, like setup.exe

      No. I'm going to have to strongly disagree here.

      Your complaint is valid and reasonable, and unfortunately ignored by the Linux community, but your solution is not.

      Your complaint is that you want a simple *user interface* to install large pieces of software. This is reasonable. There is not front end that I know of that's widely used that chooses a reasonable subset of packages in a large software package (like GNOME) to install. You have to select all the packages in the system, one by one. That's fair, and should be addressed.

      Your solution, however, is not a good idea. The Windows method of having a single installer puts you at the mercy of sitting down at the machine and actually clicking and installing stuff. It puts you at the mercy of what features are supported in the installer, how old the installer is, etc. The Linux (well, RPM/deb) approach is to separate the program from the packages. Upgrade the program, you get more features/bugfixes. You can install every piece of software remotely (ever watch Windows administrators run around installing a new piece of software on a network? What could be done securely on Linux with a bit of setup with sshd and public keys and then a single command to install software on every machine involves the IT people running around to each machine and clicking "OK" and watching progress bars). If you bundled all these packages into one large package, and someone doesn't *need* all of them, they need to download extra data. If you need to install, say, GNOME on every machine on the network, you only have to transfer the few RPMs *your* users actually require.

      The solution is a fix to the front end, not to the architecture of the system. We need a single checkbox that installs a good default subset of packages for a large software package. The "GNOME" checkbox would install gnome-core, gnome-libs, etc, but probably not glade. The Linux rpm installation architecture is superior to the Windows installshield architecture -- now let's make the user experience as nice for novices.

    5. Re:Automaticness by Anonymous Coward · · Score: 0

      I find compiling from source to be something like that. Sounds weird, but I can figure out the various configuration options and whatnot, make, make install. It could be made much more 'user friendly' with a setup.exe type thing that would let you select options from either a graphical interface or an ncurses type one, pref. with some sort of dependency checking that would alert you to problems right off the top.

      Part of the problem with RPM as I see it is that it's supposed to be even easier than setup.exe, just autoinstalls everything perfectly with an rpm -i. Unfortunately the reality is completely different, and there needs to be something between the package format and it's execution where a human can make some choices, do some tweaks, apply some intelligence to overcome the failure of it to work 'automagically'.

    6. Re:Automaticness by ajmarks · · Score: 0

      I completely agree. I know numerous people who gave up on linux because they didn't want to waste their time matching dependencies and such. While a GUI-only installer may cause problems for terminal users, a terminal based installer could be included (remember old DOS game installers?).

      This does have one major problem, though: different distros need different things. In order to make a generic GUI-based installer feasable, a lot of work needs to be done to get the various distros on similar directory structures. There really is no good excuse for the fragmented nature of linux distrobutions.

      A more minor issue facing a graphical installer is size. This can be addressed in several ways, the simplest of which is to include all of the installer software in the base distro and have it execute installation scripts (ala .msi files). However, I'd like to think that for most people's desktops systems, a 500k increase (yes, i know it's excessive) in installation size isn't really that big a deal. How many people don't either have their computer on a cable modem or better, have their computer networked to another pc with such a connection, or have another computer with a good connection and a cd burner?

      --
      Opinions are not Informative, though they may be Insightful or Interesting.
    7. Re:Automaticness by Anonymous Coward · · Score: 0

      That could be done with a generic configurator for tarballs. The only change to the tarball that would be required would be an xml file defining configuration options that the generic configurator would read to present the options to the user who could click and fill in fields for paths or whatnot to their hearts content. Reminds me a bit of xconfig or menuconfig for the kernel, except it would go the extra distance and run make and make install as well.

      It would also have dependency checking, and offer to download anything required and include options from the dependencies xml configuration file as well. What you'd wind up with is something that would make the setup.exe mentioned by the original poster look like a toy.

    8. Re:Automaticness by Density_Altitude · · Score: 1

      I disagree. Being a Debian user, I can't really talk for RPMs, but I find Debian package management so much easier than the setup.exe way of doing things. With windows apps installs often you get srewed without knowing. Instead of not wanting to install due to dependencies problem, some application installers dont even care, install themselves anyway, and break other applications by overwriting libraries with an older/newer/other version they came with.
      This means that:
      Installing a windows application may silently break some others. And believe me they often do on windows terminal servers.
      Application setup programs are huge because they carry many shared libraries often not needed, or even worse, apps are statically linked. This is not a problem if you got the cdrom but for downloads on the net it wastes bandwidth.

      With linux package management systems at least you get warned for dependencies problem. It is up to you to decide if you install it anyway, and some tools like apt will help you a lot.

      --
      delete free(system.gc);
    9. Re:Automaticness by flend · · Score: 1

      Yawn.

      As others have said, yes, RPM dependancy hell is a problem. But the solution is not to emulate the inherant crapness of Windows packaging, DLL hell etc.

      I find the comment `and if you want to save your open source os' particularly amusing. Linux doesn't seem in particular need of saving to me.

      RPM in principle is moderately nice. Binaries get put into the PATH, it's easy to put in scripts, doesn't require X etc. etc.

      What we should do is address the problem with RPM which is that of dependances.

      Here we can take inspiration from the Windows world. When you create an Installshield or WISE package installer it bundles any necessary libraries with the executable (in theory). Hence for your end user it is a case of click and install.

      Now, why not do the same thing with RPM.

      Have rpmbuild as an option create a uber-RPM including the RPMs for the package in question and all of the unusual libraries required. Now when you post your software on the web you can post both a 500K RPM with just the programme RPM, or a 3 MB RPM with programme + a few libraries.

      Now, the `depth' of libraries to include is somewhat debatable, I would propose including anything not in most distros or in gnome/KDE base.

      Hence your Windows luser like the above poster can d/l the 3 MB one and then drool as the programme installs no problem, and your 133t sysadmin asr reading BOFH can d/l the 500 K one and install that.

      Me, I'd probably download the 3MB one too. Bandwidth is cheap.

    10. Re:Automaticness by Mongoose · · Score: 5, Informative

      You must be new to UNIX like systems. You see there is a reason we don't have 50MB executables from all the static linking and DLL hell. We use shared objects between all apps to save disk space, development time, and main memory. I see you complaining about rpms, so maybe you should try a distro like Debian GNU/Linux, and expand your horizons.

      For example if we did shar archives ( what you want with your 'setup.exe' ), then you'd have to install all of KDE to just get QT libs. You'd have to install all of GNOME to get gtk+. You see why that's piss poor way to do things just from a packaging standpoint even if you don't understand the techincal aspects? Also versioning would be impossible to support. Versioning is allowing multiple libs to stay on the system without conflicting, so apps can use various versions as they choose. To support versioning you'd have to have N number of KDE installs.

      I don't see how that post go modded up, when it's so misinformed... oh this is slashdot.

    11. Re:Automaticness by Apreche · · Score: 2

      You have a valid point that it sucks to run around clicking ok on every machine. But if you are running a large network and you have any brains you shouldn't have to do that. You install the software on one machine and ghost it. And most large applications in windows have install over network options, where the administrator can install one piece of software on thousands of machines from one terminal.
      As for downloading extra data, that isn't a prolem either. Look at somethign like quick time. You download a very small install file. Then you select which componenets of QuickTime you want. It downloads those components and installs them. The best part is that the components have names in english. Such as Quick Time Virtual Reality
      Not QT-1.555354-V.r.rpm SO you can easily understand what components you are installing.

      --
      The GeekNights podcast is going strong. Listen!
    12. Re:Automaticness by myklgrant · · Score: 0

      Exactly, exactly, exactly. When I try to install a new program it should JUST WORK. I don't care how or why. I have had no trouble installing many Mozilla builds. They have taken the time to make sure it JUST WORKS. When I purchased the Crossover plugin I worried that installing was going to be a bitch. Guess what? It JUST WORKED. I am pretty sure that there are many like me who just can't be bothered to make it work, and are willing to pay to ensure that it JUST WORKS. If the linux desktop is going to go anywhere, as a group the community will have to ensure that when Joe Linuxuser (ie. me) wants to try an new release, it had better JUST WORK. We don't care why. Call it RPM, call it source-based, call it whatever it should JUST WORK. This is where the linux business model lies. I would be quite willing to subscribe to JUSTWORK.com so that when I find a program that interests me I can download it, install it, and it will JUST WORK--everytime. Enough ranting. Mod away.

    13. Re:Automaticness by Anonymous Coward · · Score: 0

      no offense, dude, but you really have no idea what you are talking about. I am a frequent user of MacOSX, Windows(2k/9x), Debian Linux servers, RedHat Workstations, and NeXT workstations.

      OSX and Debian are the only two OSes that have installation right, and for different reasons.

      OSX has installation right because everything is packaged together in one .app that can be moved around the system with no repurcussions, unlike Windows. Also, installation is REALLY EASY because it entails simply copying the .app to the desired "installation directory" (in other words, drag the .app to your /APplications directory and away you go. No muss no fuss.

      Debian is also a great way to install software because in lInux you have to worry about dependencies and many admins don't want a GUI. Therefore, being able to type, "apt-get mozilla" and have everything that is needed for mozilla download from the net (the current version, too!) and immediately install is freaking fantastic. The downside is that for most GUI users it is not as intuitive, and the Debian tree can be really large.

      So while is SOUNDS good that everything should be installed like Windows, it really is the most technically inferior way of doing it there is. It takes the most time, is the least flexible, requires a GUI, and is usually as confusing or more confusing than OSX or Debian installs.

    14. Re:Automaticness by Apreche · · Score: 2

      I don't know what you people are complaining about with dllhell. Conflicting DLL files or old dlls replacing new ones is a result of poor system administration. At least the software you are installing knows what dlls it needs, and it comes with them, rather than me trying to figure out 10000 dependencies, what they are, how to install them, etc. Deiban I would use, but the installer for the distro sucks. It's so hard to install debian its not worth my time.
      I don't see why you would have to install all of KDE to get QTlibs. When you runs setup.exe in windows there is always a custom button that allows you to select which components you wish to install.
      And versioning sounds horrible to me. Why would you keep multiple versions of a library on your system? That's a poorly designed system to me. Only the newest most up to date library should need to be on the system. If the libraries aren't backwards compatible or software isn't forwards compatible that is another design flaw.

      --
      The GeekNights podcast is going strong. Listen!
    15. Re:Automaticness by Anonymous Coward · · Score: 0

      Actually, you do have large statically linked excutables -- Netscape 4, StarOffice (5, can't say about 6), and so on. (Where almost nothing on Windows is statically linked). Furthermore, this entire story is about a particular "DLL Hell", so don't get too snotty.

      I agree that the top poster is way off base, but his core point is sound. Despite all the great package tech in the Linux world, the net result can be Hell, and result seems to be lots of arguing and finger pointing and people running off to compile source code. Nobody's really got the user eXPerience side working.

    16. Re:Automaticness by rossz · · Score: 2

      Take a look at InstallAnywhere at ZeroG. This is a java based install engine that runs on any platform that supports java. I've used version 4.x professionally and like it, though it does have a few problems (doesn't everything?). Version 5.0 was just released but I haven't taken a look at it yet. Hopefully, they listened to the suggestions I sent to them and incorporated them into this version.

      The installer had both a graphic and console interface. My major complaint was regarding the console interface. You basically had to write all you steps twice, once for the GUI and once for the console. This was unnecessary work and error prone.

      --
      -- Will program for bandwidth
    17. Re:Automaticness by Webmonger · · Score: 2

      In Debian, the approach to this problem is the 'task' packages: You "apt-get install task-gnome-desktop", and it installs a whole bunch of reasonable defaults.

      (The "task" packages are content-free-- they consist only of dependencies on other packages).

    18. Re:Automaticness by Anonymous Coward · · Score: 0

      That could be done with a generic configurator for tarballs.

      Isn't that basically what RPM is?

    19. Re:Automaticness by Anonymous Coward · · Score: 0
      Only the newest most up to date library should need to be on the system. If the libraries aren't backwards compatible or software isn't forwards compatible that is another design flaw.


      LOL, what?

      So, if there happens to be a library somewhere, that either changes interfaces without changing the version (cough, librpm, cough) or breaks from release to release; we should shrug our shoulders, say "Oh well", and have systems be hosed after an upgrade, just so we can keep "only the newest most up to date version" on the system?

      Not a good idea, chap.
    20. Re:Automaticness by Anonymous Coward · · Score: 0

      Here's how I do it on RedHat:

      # up2date kde

    21. Re:Automaticness by druse · · Score: 0

      You mean kinda like tasksel under debian?

      --
      "To blow recursion, you must first blow recus
    22. Re:Automaticness by IamTheRealMike · · Score: 2
      Yeah, but you're forgetting about the disadvantages of NeXT style .app files (well, actually directories). It's basically just like the old DOS days, when apps were entirely self contained. Some quick problems with this system:

      • Very little code sharing. The reason we're having this discussion is because in general Linux apps share a lot of code, and because Linux is developing very rapidly right now you often need different versions of it. How do I say, "this program requires KDE3, and won't work with 2" when I have a completely self contained program?
      • No install time scripting/configuration. Yes, I know there are some people who think this is evil, but often for more complex apps it is necessary.
      • The OS is not notified when new software is present. There are all sorts of uses for this feature, such as dynamic menu creation etc

      Basically, the OSX/NeXT .app method wins hands down for simplicity, but it has significant architectural flaws. I'd rather we resolved the packaging system problems.

    23. Re:Automaticness by simm_s · · Score: 2

      So you would rather replace dll hell with search for the correct package hell? Versioning is something that you cannot avoid in a complicated system. A legacy program that links to libx-1.0.so may not work with libx-3.0.so. Thus you may have to have both libx version 1 and 3 and a general link libx.so linking to the higher version.I do not know what you are talking about versioning is not impossible.

      Also UNIX has static linking and is not immune to a DLL hell like syndrome.Though I am a devoted follower of the Slackware distro, Windows has something going for it. I grab a zip package run setup and the program is ready to run. Why can't we have the same in Linux?

    24. Re:Automaticness by Erotomek · · Score: 1

      Here's how I do it on RedHat:

      # up2date kde

      Then excuse my ignorance — I don't know Red Hat very well and after reading the Apreche's comment which started this thread I thought that it's in fact very hard to install e.g. KDE under Red Hat. Now I see that's as easy as under Debian, so actually my whole long post had no point at all, thank's for clarifying this issue.

      --

      Krótko: kady Erotomek
      W pimiennictwie ma swój domek.

    25. Re:Automaticness by simm_s · · Score: 2

      Problem is that Apt Get only works on Debian and its derivatives. I have no problem using slackware 8 and packages that are designed for slackware 8.

      It is when I am developing a 50MB program on slackware 8 and I need it to work in Redhat, SuSE, Debian, Gentoo, etc when I have a problem. I love apt-get and the freebsd ports collection but that does nothing for me in my slackware distro.

    26. Re:Automaticness by Anonymous Coward · · Score: 0

      > Problem is that Apt Get only works on Debian and its derivatives. I have no problem using slackware 8 and packages that are designed for slackware 8.

      NopeNopeNope. I have just today installed apt for RPM via this site: http://freshrpms.net/apt/ . It works quite well.

      Does Slackware have an equivalent to the alien program, one that converts a package's contents from one organization to another? Alien is how Debian plans to conform to the package portion of the LSB (specifies that a distro be able to utilize .rpm files).

    27. Re:Automaticness by Anonymous Coward · · Score: 0

      > Deiban I would use, but the installer for the distro sucks. It's so hard to install debian its not worth my time.

      Check out Libranet, a nice Debian-based distro from Canada (www.libranet.com). I believe the upcoming Xandros distro is also Debian-based. You can also get hold of the Progeny distro boxed set at Fry's for around $20 now that it's no longer supported by Progeny Inc., and once it's installed you can use apt-get to update against the Woody (soooooon-to-be-the-new-stable) package archives. Progeny has a well-respected installer.

      On multiple library versions: sometimes you'll have a stable version of an app, and it will use Library version 1.0.0. A later version of that app may be linked against Library version 2.0.0 due to improvements in the library and so on. If you want to test the most current version of App, you need the 2.0.0 library - but you don't want App's install stomping on the stable version of App, hence the use of different versions of Library. Once you uninstall App 1.0, Library 1.0.0 becomes an orphan and can be removed (assuming no other package is still using it.) The Debian tool "deborphan" is used to check for such libraries.

    28. Re:Automaticness by Erotomek · · Score: 1

      At least the software you are installing knows what dlls it needs, and it comes with them, rather than me trying to figure out 10000 dependencies, what they are, how to install them, etc. Deiban I would use, but the installer for the distro sucks. It's so hard to install debian its not worth my time.

      Did you try installing Debian lately? When it was already Debian 1.1 Buzz or earlier? Please do not spread misinformation — installing e.g. Debian 3.0 Woody is very simple. You can even download just the boot floppy and the installer will ask you few simple questions and download everything from the network — even the net install is very easy (not to say about simply installing from the CDs).

      As for the rest of this thread, I see that you just like Windows (and that's nothing to be ashamed of). Debian (as well as any other GNU/Linux distribution) is not a Microsoft Windows clone, nor it should be. I don't understand why won't you just use Windows, if you prefer its way of handling software installations and shared objects?

      Under Debian you have tasksel, dselect, apt-get, gnome-apt-pkgset, dpkg, alien, etc. — every concern from your original post (and actually much more) is already addressed by Debian's (and probably by most of other distros') package management tools.

      And versioning sounds horrible to me. Why would you keep multiple versions of a library on your system? That's a poorly designed system to me. Only the newest most up to date library should need to be on the system. If the libraries aren't backwards compatible or software isn't forwards compatible that is another design flaw.

      I see two serious reasons why one could use Debian, other than to be c00l hax0r:

      1. For social/ideological reasons Debian Social Contract
      2. For technical reasons (supported platforms, security, stability, easy administration, number of available software packages, lack of dependency problems, great package management tools, etc.) Site Map (to many to list all of them)

      If none of the above is important to you, I don't really see why should you abandon Microsoft platforms. Most of people like the Microsoft way (otherwise MS wouldn't have dominated the OS market), so it's nothing unusual that you don't have any reason to try anything different. But please don't misinform people about the alternatives. Most of people will prefer this camera over this one plus lens — it's perfectly normal, but looking for other reasons than just "it's easy and get the job done" is quite pointless. You can only insult some people writing comments like the above, but other than that, you won't achieve anything constructive.

      Please have at least minimum respect for people who wrote the entire systems just to give them to people without any restrictions. GNU is almost 20 years of hard work, Linux is over 10 years, Debian is almost 10 years. These people deserve lots of our respect, because they have much higher imperatives than money. And this is why you insult people much more easily saying that Debian sucks, than when you say that Windows sucks — the motivations for developing Debian are totally different and people take the flames very personally, you have to understand that.

      --

      Krótko: kady Erotomek
      W pimiennictwie ma swój domek.

    29. Re:Automaticness by Aapje · · Score: 2

      Only the newest most up to date library should need to be on the system. If the libraries aren't backwards compatible or software isn't forwards compatible that is another design flaw

      Nonsense. Do you know what a depreciated API call is? Versioning allows for old applications to keep working, while apps that are compiled with the new library have to use the new calls (or you can't use the new library with all of it's cool features)*. This is the only way to avoid the curse of ever expanding API's aka code bloat. The result is cleaner applications and libraries that can be improved much easier (and are smaller).

      And please don't argue that depreciated API calls are bad engineering. Some developers aren't clairvoyant and/or perfect and don't know what features will be needed tomorrow or the absolute best approach for a particular problem. Even the best of them will create imperfect API's.

      * The best system would probably have a depreciated-warning for the first few major releases after something is depreciated. That allows you to incrementally remove warnings. But ultimately they have to be removed. The longer you wait, the greater the diversity will be between different apps calling your library. This will turn into a maintainance nightmare.

      --

      The Drowned and the Saved - Primo Levi
  39. Problem not entirely RPM's fault by Arethan · · Score: 3, Interesting

    RPM by itself isn't the real problem here. The author is complaining that installing applications in Linux is a pain in the ass, because the system often doesn't have all of the required libs installed.

    I admit, RPM doesn't make this an easy problem to solve. Any normal Windows app would simply package the required libraries with it. Thus if the lib doesn't exist, it can install it. But RPM doesn't work that way. RPMs can only hold one logical unit. So one app, or one library, or one set of platform independent support files. RPM builders could include more, but doing so will likely break the RPM dependancy tree.

    The real problem in all of this is the destinction between applications and the system itself. Is grep part of the OS, or is it an addon app? How do you tell? Most would argue that grep is a part of the OS, but you can easily install linux without grep, so it must not be essential. But if packages expect it to be there, then it must be essential. But if it's not part of the OS, then they shouldn't have expected it to be there in the first place, so now it is their fault for not thinking ahead... This problem just goes in circles all day. The worst part about this is that my use of grep is just an example. This problem applies to literally all packages outside of the kernel itself. Don't believe me? How about init? Do you think that init is essential? I agree, but what version? Do you want a SysV init, or a BSD style init? Technically you can have either.

    To solve this whole problem, we really need to take two steps. First we need to define a base Linux system. And I don't mean a completely solid, unwavering, definition either. Standards that never evolve are quickly dubbed 'legacy'. The trick is to define a complete base install. Everything from the kernel, to the version of GCC (and no RedHat, gcc 2.96 isn't going to cut it), to what version of X is installed, to what "expected unix utilities" are available, and what libraries are available. Feel free to change the standard, but each time you do so you must raise the bar somehow, either by making it more reliable, or faster, or adding features, or some combination of the above. There is only one last key item to making this system work. You must retain backwards binary compatability for long periods of time. Feel free to completely break legacy systems, but make sure that you only do so after you've had at least 5 to 6 years of stability.

    Then there is the second step. RPM is a nice system management system, but it is a shitty application packager. Mostly because of the dependancy issues and the fact that each RPM package can only hold one logical unit. We really need an install shield like system for applications (both gui and console installs in the same package). Feel free to keep track of what is installed, and what files belong to who, but you really need to separate the system from the applications. Once you have a base defined, keeping the system and apps under the same packaging system no longer makes sense. The absolute need for it is removed.

    1. Re:Problem not entirely RPM's fault by Apreche · · Score: 2

      Damn Straight! I used all my mod points yesterday, and I already posted a comment below anyway. But at least someone out there besides me thinks InstallShield is a good idea. You rock.

      --
      The GeekNights podcast is going strong. Listen!
    2. Re:Problem not entirely RPM's fault by GigsVT · · Score: 2

      Have you ever heard of POSIX?

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    3. Re:Problem not entirely RPM's fault by Anonymous Coward · · Score: 0

      POSIX specifies which 300 Gnome libraries you need to run apps on Linux?

    4. Re:Problem not entirely RPM's fault by dossen · · Score: 1
    5. Re:Problem not entirely RPM's fault by Arethan · · Score: 2

      Neither of which are complete enough to allow for binary compatability, and don't even touch on file system layout.

    6. Re:Problem not entirely RPM's fault by Anonymous Coward · · Score: 0

      File system layout is handled via the Filesystem Hierarchy Standard, considered a companion to the LSB.

      Really, so far as the standards aspects, they're covered. Compatibility will take some time, but the standards are there.

    7. Re:Problem not entirely RPM's fault by dossen · · Score: 1

      Ohh... if the filesystem is what you want standardised, check the Filesystem Hierarchy Standard. It is quite specific in what goes where.

  40. Re:Gentoo is a giant step, too long for mere morta by Anonymous Coward · · Score: 0

    Come to #gentoo on irc.openprojects.net sometime....
    ugh...its newbie land

  41. RPM is good by Anonymous Coward · · Score: 1

    It seems to me that most people that don't like RPM have either not used an RPM-based system recently or simply do not have the proper knowledge on how to use it.

    It takes a while to learn to master rpm, yes, but that doesn't mean it sucks. If you don't know how to use RPM, stick to up2date.

    I manage quite a few RedHat boxen using only up2date and rpm. It's true that there are sometimes unmet dependencies, but most of the time that is not a problem. If there's a problem it's almost always solvable by checking out http://rpmfind.net

    Circular dependencies? What's the problem? Install both (or how many you need) packages at the same time (rpm -Uvh pkg1.rpm pkg2.rpm)
    Piece of cake!

    Still don't like RPM? Well, apt-get is available for RedHat too, check out http://freshrpms.net/

    I like RPM. Ignore the FUD.

    1. Re:RPM is good by tigga · · Score: 1
      It's nice to have somebody around who really knows stuff ;)

      I, for example, had no time to figure out how to upgrade rpm.rpm on RH 6.x, cause new packages use newer one.

      If I download new rpm package and try to install it with rpm - it breaks because old rpm could not read new rpm files.

      OK, I go with src install. I try to recomplie it - no, can't be done, I need some new libraries.
      And you remember - I have old rpm, so I can't install libraries rpms. I then have to find sources and recompile. Then again there are some dependencies and dependencies...

      Well I never have time to go all way through, so I avoid rpms, (and Linux) if it possible.

  42. The problem with ANY packaging system.... by wowbagger · · Score: 5, Informative

    The problem with ANY packaging system is overzelous dependancy definitions.

    When Maynard builds his SuperFlyFloobyDust.rpm file, rather than specifying the dependancies as "I need libPease.so", he accepts the default "I need libPease.1.4.2.thursday.5-31-41.1-pl3-build6.so". So, even though any libPease.so would work, you get a dependancy failure.

    This is a failing not of any specific package manager - ALL package managers have this problem. You don't see it with .debs not because of any inherent superiority of .deb, but rather because of the hard work of the Debian maintainers to make sure the packages are all set up correctly!

    Additionally, there is the problem of library makers not following the fscking standards - libNarf.1.1.so is SUPPOSED to be fully compatible with libNarf.1.0.so - if it isn't, then it should be libNarf.2.0.so! However, you get people making libraries that don't follow this rule, so as a result you have to have libNarf.1.[0-99].so in your system because of programs that depend upon their version of that library.

    The solution to this CANNOT reside within the package manager - it resides in the distribution maintainer to refuse to deal with packages that break the rules.

    However, all it takes is one person installing one program that breaks the rules, and that installation is screwed.

    That is where distros like Debian and the *BSD's have the advantage - they are controlled by folks who won't let that happen. However, how many people install from the unstable branches, and why? Because that's where the latest, greatest, shiniest stuff is!

    1. Re:The problem with ANY packaging system.... by spacehunt · · Score: 2

      When Maynard builds his SuperFlyFloobyDust.rpm file, rather than specifying the dependancies as "I need libPease.so", he accepts the default "I need libPease.1.4.2.thursday.5-31-41.1-pl3-build6.so". So, even though any libPease.so would work, you get a dependancy failure.

      This is a failing not of any specific package manager - ALL package managers have this problem. You don't see it with .debs not because of any inherent superiority of .deb, but rather because of the hard work of the Debian maintainers to make sure the packages are all set up correctly!

      Actually .deb does not allow file dependencies -- only package dependencies are allowed. So if a package needs "libPease.so.1", it will Depends: libpease1, not on the actual library file.

      File dependecies makes RPM-based systems so much more unmaintainable that, in fact, the LSB forbids them.

    2. Re:The problem with ANY packaging system.... by wowbagger · · Score: 3, Insightful

      You misunderstood my statement - the same problem can happen with a package dependancy.

      Suppose that Maynard has package libPease.1.4.2.thursday.5-31-41.1-pl3-build6 installed, which is supposed to be back-compatible to package libPease1. When he builds his .debs, he mistakenly builds it with a dependance upon libPease.1.4.2.thursday.5-31-41.1-pl3-build6, rather than libPease1.

      Same problem. Only if your packaging system does not allow subversions of a package can you avoid this problem. And if your package does not allow subversions, then if I really do need a feature of libPease.1.4 or later I am screwed - I cannot spell that out in the packaging system, so somebody will install my package when they only have libPease.1.0. Then I have to tell them at runtime they don't have the correct package.

      A partial solution would be for every package to supply a list of packages it is backward compatible with, and for the installer to check that list when installing a package. Then, when you install SuperFlyFloobyDust, the install can say "OK, libPease.1.5, can you take the place of libPease.1.4.2.thursday.5-31-41.1-pl3-build6?", and libPease.1.5 would have to be able to answer that question.

      This is not a full solution, however - libPease.1.4.2.thursday.5-31-41.1-pl3-build6 could be some bastard version that has a functionality that was not incorporated into libPease.1.5, and libPease.1.5 might not ever have HEARD of it.

      Additionally, SuperFlyFloobyDust might NOT really NEED the functions of the bastard version, and so even if libPease.1.5 could correctly state "No, I am not a total replacement for that bastard version", SuperFlyFloobyDust could actually run on libPease.1.5, but due to being packaged by an incompetent boob, the program won't install.

      File or package dependancies are the same. Unless you forbid sub-versions, you have this problem. And if you forbid sub-versions, you introduce other problems.

    3. Re:The problem with ANY packaging system.... by spacehunt · · Score: 3, Insightful

      (Perhaps I should point this out earlier: I'm a Debian Developer, so consider myself biased.)

      Yes, .deb alone can't solve this problem; but in cases like these the Debian Policy has some guidelines.

      Suppose that Maynard has package libPease.1.4.2.thursday.5-31-41.1-pl3-build6 installed, which is supposed to be back-compatible to package libPease1. When he builds his .debs, he mistakenly builds it with a dependance upon libPease.1.4.2.thursday.5-31-41.1-pl3-build6, rather than libPease1.

      In this case, "libPease.so.1.4.2.thursday.5-31-41.1-pl3-build6" should be in the package "libpease1", version "1.4.2.thursday.5-31-41.1-pl3-build6". Other packages always do a Depends: libpease1.

      The reason that the major soname is in the package name itself is because, binary API changes are supposed to happen when the major soname changes. This way, there might be a "libPease.so.1.xxx" and a "libPease.so.2.xxx" that are binary incompatible but can coexist together on a system; and so there will be "libpease1" and "libpease2" packages that can be installed together; but "libpease1" version 1.5 will replace "libpease1" version 1.4.2 during upgrade, because upstream says they're binary compatible.

      Same problem. Only if your packaging system does not allow subversions of a package can you avoid this problem. And if your package does not allow subversions, then if I really do need a feature of libPease.1.4 or later I am screwed - I cannot spell that out in the packaging system, so somebody will install my package when they only have libPease.1.0. Then I have to tell them at runtime they don't have the correct package.

      As long as the binary API remains backwards compatible, then the "libpease1" package can be upgraded to 1.4, and packages that require 1.4 features can Depends: libpease1 (>= 1.4). If libPease.so.1.4 is not binary compatible with libPease.so.1.0, then it really should be called libPease.so.2.0. If it isn't, then upstream has stuffed up, so nag upstream about it (I've done it before).

      Additionally, SuperFlyFloobyDust might NOT really NEED the functions of the bastard version, and so even if libPease.1.5 could correctly state "No, I am not a total replacement for that bastard version", SuperFlyFloobyDust could actually run on libPease.1.5, but due to being packaged by an incompetent boob, the program won't install.

      This is the problem of the person who did the package, yes? She should test the package before releasing it to the world, just like any other software, whether in source code or binary form (especially in binary form).

      No system can guard against incompetent packagers. But with RPM's file dependencies, it's much, much easier to make a mess.

    4. Re:The problem with ANY packaging system.... by wowbagger · · Score: 5, Insightful

      And this is my point exactly - the problem is people screwing up and making binary incompatible package versions - asserting that libPease1, version 1.5 is a full and complete replacement for libPease1, version 1.4 when in fact it isn't. And no packaging manager software can fix that - it is incompetence on the part of the package creator.

      That is the point I keep trying to make - .debs are superior to .rpms because of the work of Debian maintainers who bash morons who cannot understand that same major version MUST MEAN binary compatible.

      Unless we start vet'ing packages for compliance with that simple idea, no package manager created can solve the problem.

      Now, I will agree RPM has its warts - I agree that being able to depend upon a FILE, rather than a PACKAGE is a weakness. However, until we get an agreed-upon standard that a given file will ALWAYS be supplied by a given PACKAGE, this is an unavoidable problem - I've seen the same file supplied by completely different packages (e.g. the RPMs supplied by Abiword and the abiword packaged supplied by Ximian).

      How would you create a .deb if you needed /usr/bin/foo and it could be supplied by Foo.deb or FooAndNarf.deb? Which package would you tie to?

      Again, the solution here lies not within the package system, but rather the package creators - until you get a means to guarantee that package maintainers are "following the rules" you will have these problems, be you Debian, RedHat, or Microsoft.

      Perhaps what we need is for a consortium of distro vendors to create a mark of trust. A would-be package creator can sign his packages with a key, and ask to register that key with the Package Police. If the package creator proves he can package something CORRECTLY, his key is marked as trusted. If he starts screwing up, it gets marked as untrusted.

      Perhaps we could even create a system by which end users could vote on a given package - positive trust points for good packages, negative trust points for badly packaged libraries. Of course, since there are always people who seek to screw such a system up, we would need people to review the votes those other people cast, and remove the people who abuse the system. Then we would be able to see whose packages were good, and whose were crap. Of course, there would always be the dicks who rushed to be the first to vote on a package....

    5. Re:The problem with ANY packaging system.... by Anonymous Coward · · Score: 0

      How would you create a .deb if you needed /usr/bin/foo and it could be supplied by Foo.deb or FooAndNarf.deb? Which package would you tie to?

      You would get Foo if you didnt have either of them. You can make either of them work quite easily though. You say you need Foo in your dependences, and you add a provides directive to the FooAndNarf package that says that it provides Foo. This basically how mail transports are handled on Debian. An app says that it needs mail-transport-agent, and then sendmail, exim, postfix, and others all say that they are mail-transport-agent. You also have to make Foo and FooAndNarf conflict with each other so that they arent installed simultaneously.

    6. Re:The problem with ANY packaging system.... by Anomie-ous+Cow-ard · · Score: 1
      Unless we start vet'ing packages for compliance with that simple idea, no package manager created can solve the problem.

      In other words, until the packager actually makes sure the package versions make sense, no package manager can solve the problem of stupid versioning. Sounds about right to me, although i worry about a distro that thinks it can get away without verifying the package versions...

      BTW, if 1.5 really was not backward-compatible with 1.4 (and upstream was impervious to clues), i suspect they'd make a "libpease1.5" package.

      How would you create a .deb if you needed /usr/bin/foo and it could be supplied by Foo.deb or FooAndNarf.deb? Which package would you tie to?

      Depends: foo | foo-and-narf

      If foo is something generic, like "web broswer", then "Depends: web-browser" and have foo, foo-and-narf, baz, mozilla, etc. all "Provides: web-browser". Or, if foo-and-narf is just a nonstandard replacement for the widely-used foo, it might be able to get away with "Provides: foo" and leave all the other packages with a simple "Depends: foo" (dpkg had/has a few issues with versioned dependencies in this case).

      No, i'm not a Debian developer, i just pay attention. ;)

      --

      --
      perl -e'$_=shift;die eval' '"$^X $0\047\$_=shift;die eval\047 \047$_\047"' at -e line 1.

    7. Re:The problem with ANY packaging system.... by Sentry21 · · Score: 2

      When Maynard builds his SuperFlyFloobyDust.rpm file, rather than specifying the dependancies as "I need libPease.so", he accepts the default "I need libPease.1.4.2.thursday.5-31-41.1-pl3-build6.so". So, even though any libPease.so would work, you get a dependancy failure.

      This is a failing not of any specific package manager - ALL package managers have this problem. You don't see it with .debs not because of any inherent superiority of .deb, but rather because of the hard work of the Debian maintainers to make sure the packages are all set up correctly!


      Incorrect. RPM depends on files (/usr/bin/perl) and libraries (libPease.1.4.2.thursday.5-31-41.1-pl3-build6.so). Debian relies on packages (perl, libpease >= 1.4.2). This provides a lot more flexibility, in that you can replace packages with other packages, 'provide', and not require any one filename. Services can be required ('httpd') without specifying anything specific (/usr/sbin/httpd, /usr/sbin/roxen2), and packages that provide what is needed can provide that virtual package name.

      However, all it takes is one person installing one program that breaks the rules, and that installation is screwed.

      There have to be some pretty big changes to screw up a Debian installation, in my experience. I ran Unstable, doing updates twice a day for three years, and never had to reinstall. The worst thing I had to deal with was the glibc upgrade, when I lost apache for a few days until it was recompiled. The Unstable branch still has quality guidelines (Debian packaging policy), but it's fast and loose. If you want cutting-edge and safe, go for testing, which has any packages that were in unstable for 2 weeks without having big bugs filed against them.

      --Dan

    8. Re:The problem with ANY packaging system.... by wowbagger · · Score: 2

      Sorry, but you are wrong - RPM depends primarily on packages. File dependancies, while possible, are rare.

      I suggest you go over to rpmfind.net and look at the listings on several random RPMs. You will see that in most cases, the RPMs depend upon other packages - rarely do they depend upon specific files.

      And by "screw things up" I don't mean "cause the system to become unusable", I mean "cause invalid dependancies that make installing packages needlessly difficult". As I had said in several previous messages, that does not happen, even on Debian unstable, more due to the work of the Debian maintainers than to any inherent superiority of .deb over .rpm.

  43. BeOS packaging by Lucky_Pierre · · Score: 1

    Is *MUCH* better, thank you very much!

    --
    "Whenever the cause of the people is entrusted to professors, it is lost." ~ V.I. Lenin
    1. Re:BeOS packaging by BrokenHalo · · Score: 1

      Don't you mean *WAS*?

    2. Re:BeOS packaging by Anonymous Coward · · Score: 0

      Good point. This Open Source crap is for the birds. Now, how do I get this wonderful BEOS that you describe?

  44. Nice Sunday Troll by preed-man · · Score: 1

    Thanks "micheal"... you might as well post an "article" called "Is Emacs doomed?" or "Is Debian doomed?"

    The author raises some good points and it's not that the discussion shouldn't take place, but the way in which the author has written the article is highly biased and obviously just troll fodder; he's not asking for opinions, he just wants you to read his.

    "I hope to get this article on Slashdot or NewsForge..."

    He then makes inflamatory statements like "Ask any Debian user and he will shake his head in disbelief that you, as a Mandrake user, have to download 2GB of software every 6 months and then run a risky upgrade just to get your system up-to-date. Silly you!" and " This is the main reason why we have seen so many new Gentoo/Sorcerer users, finally free from the RPM madness!"

    Once again, we find the Slashdot editors lacking in any journalistic integrity and asleep at the wheel... and they want us to pay for their incompetence?!

    It boggles the mind...

    1. Re:Nice Sunday Troll by Anonymous Coward · · Score: 0

      hi preed,

      I guess that if you were looking for 'integrity'... or better yet the simple art of 'journalism' you should not be looking at /.

      That said, regardless of the absence of editing, moderating and a spell checker on slashdot, we should probably ignore it and get on with the topic he's written about. (that is.. rpms suck)

      I don't agree with much of what he said, espcially how hits for gentoo on distrowatch somehow corresponds to people rm -rf (ing) mandrake. Just because kylie is out of the top 10, and holly is #1 doesn't mean everybody is out there axing their kylie cd's :)

      What i do agree with is (heated) debate about rpm's, their shortcommings, pro's cons pitfalls, and more importantly what options are there to improve the package management situation.

      da!!as

  45. Debian's advantage by spacehunt · · Score: 1

    Debian's advantage lies not in the packaging format. Technically there's not much difference between rpm and dpkg.

    What makes Debian stand out is the Debian Policy, which all Debian Developers must adhere to. Theoretically someone can apply that Policy to an RPM-based system, and it'll be as stable as Debian.

  46. Why the fuck we have to drag around libraries??? by Pig+Hogger · · Score: 0, Troll
    Libraries are the biggest stupidity since Windoze.

    It's just as st000p1d as the DLL crap with Windoze. You might have an excuse with proprietary software that's kit-bashed from different sources or of which you may want to update or patch a "feature", but with software of which you have the source, there is NO EXCUSE for that dependency crap.

    At least, that's one thing most Macintrash programs have right: no goddam fucking library/DLL dependencies. Everything is in one binary file!

    With the big disks we have nowadays and the high bandwidth, there is no reason why you should not be able to include the whole fucking shebang with the application, and keep it isolated (to prevent it from breaking other programs) on your system while you compile it.

  47. I suggest a browseable, book-like interface. by Futurepower(R) · · Score: 2


    Having 50 (only that many) different styles of configuration files definitely makes things tough. However, the information is not hidden from the user, as it is in Windows.

    It would be great if someone standardized Linux configuration files. I suggest a browseable, book-like or PDF-like interface like that in Ganymede. Each package would be expected to write their own interface to the configurator. That way, authors could have any configuration file format they wanted, but there would also be a standard GUI interface.

    1. Re:I suggest a browseable, book-like interface. by mark_lybarger · · Score: 1

      i'm not a guru in the least, but this almost sounds like the problem space that XML/DTD's attempt to solve. if application engineers would put configuration information in XML format and provide DTD's, couldn't a generic interface be provided which would allow editing those configurations?

    2. Re:I suggest a browseable, book-like interface. by egreB · · Score: 1

      That's why we need vetc (-8 I joined a discussion on Freshmeat once, where the question of a standarized configuration file format came up. Somebody had the idea of an Virtual etc - vetc. The way I think it should be implemented, is through a modulerized system. You write parsers for every file format supported, and the parsers would show the configuration in, say /proc/vetc.

      Example:
      /etc/passwd would have parsed into
      /proc/vetc/users/name
      /proc/vetc/users/grou p
      / proc/vetc/users/fullname
      and so on. One could also include settings for other stuff, like user-speficif vim (~/.vimrc):
      /proc/vetc/users/vim/wordwrap
      /proc/ ve tc/users/vim/linenumbers
      and so on, with other applications
      /proc/vetc/php/magic_qoutes
      /prov/v et c/samba/workgroup
      ..you get the idea, I hope.

      When reading from or writing to a vetc-file (wich would be "imaginary", just like the other files in /proc), some mechanism would write or read to the actual file, in its own format.

      The downside is that one would have to write modules for every supported file format, but it shouldn't be that hard. The format of vetc had to be standarized, of course!

      This gives many advanteges. It would be backwards compatible. Software and scripts could easily support unsopperted file formats. Admins would have a much easier job.

      Does anybody else think this is a good idea? Feedback, please! (-8

    3. Re:I suggest a browseable, book-like interface. by Anonymous Coward · · Score: 0

      How about webmin?
      Its a browsable, user/author configurable/pluginable
      piece of software which does exactly this.

      http://www.webmin.com

    4. Re:I suggest a browseable, book-like interface. by StillaCoward · · Score: 1

      As a desktop user, about the only times when I have to mess with configure files, is when I've done something to screw up X. In times like that, I'm really not going to like having to wade through XML tags just to find the data that I'm looking for.
      This is assuming XML files will be as hard to read as some of the more conplicated HTML files.

    5. Re:I suggest a browseable, book-like interface. by mark_lybarger · · Score: 2

      XML as noted is merely a vehicle for storing data. the biggest gain is in its accompanying technologies. XSL/XSLT, DTD, schema's, can be used to provide usefull interfaces so the end users never has to look at or decipher an xml file.

  48. My Linux Expiriances... by MBCook · · Score: 1, Interesting
    (Or how I learned to stop worrying and trust apt-get)

    When I first tried linux oh so many years ago, I tried THE distrobution (from what I knew) called RedHat. I quickly learned to dispise RPMs, although for a n00b like me they were better than source.

    I soon tried Caldera and a few others, I liked RH better, I don't remember why.

    Then one day I tried Mandrake. In my oppionion this is a GREAT distro. In fact, it's the one I would use today if it wasn't for RPM. No matter how nice a distro it is, I couldn't stand fiddling with RPMs, downloading everthing I could find and still having it not work.

    So I went to another famous distro: Slack. I liked slack alot, especially not having to fiddle with RPMs. Their packages had no dependencies, but they weren't RPMs. I used this distro for a few months, and it was nice, but I wasn't satisfied.

    So out of sheer desperation, I tried the ultimate distro, Debian. I had heard it was tough to install. While it was no RedHat or Mandrake, by now I knew quite a bit about Linux and it didn't give me any problems. But what won me over was (like I assume was for so many others) apt-get. You just can't be typing "apt-get install gimp" to get the gimp. All dependencies resolved, all problems taken care of.

    Now it's true that Potato (aka Stable) is out of date. It's stable as hell, but I don't think any desktop user should use it (servers are another story, as is often the case). "Testing" has been just as stable for me as full releases of Mandrake and others, that is no crashes. I've never used unstable, but hey, I've got a extra box lying around here somewhere.

    So in short all my distro hunting can be put in a few simple steps:

    • apt-get remove RPM
    • apt-get install debian
    • which means...
    • apt-get remove all_problems

    This is purely my oppionion blah blah blah....

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:My Linux Expiriances... by Anonymous Coward · · Score: 0

      Would you consider your penis to be unusually lengthy?

    2. Re:My Linux Expiriances... by Anonymous Coward · · Score: 0

      Yeah woody is stable just some things with secruity before its relesed.

    3. Re:My Linux Expiriances... by Wdomburg · · Score: 2

      >Now it's true that Potato (aka Stable) is out of
      >date. It's stable as hell, but I don't think any
      >desktop user should use it (servers are another
      >story, as is often the case). "Testing" has been
      >just as stable for me as full releases of >Mandrake and others, that is no crashes. I've
      >never used unstable, but hey, I've got a extra
      >box lying around here somewhere.

      Just to reiterate... SERVERS ARE ANOTHER STORY... I've seen a number of people saying that they keep the servers they admin up to date by putting an apt-get update in cron, and also that they use testing because it's "stable as other distributions".

      But I've had serious issues on a home box that I upgraded with the testing branch in a futile quest for more up to date software; e.g.

      sendmail was 'upgraded' to store its mail
      spool in a different location, without any
      clear notification, without moving the mailboxes
      or putting in a symlink, without changing any
      of the other mail programs to look there...

      apache was 'upgraded' to a version that was
      compiled with large file support, but didn't
      have a dependcy on a kernel that could support
      this so it would randomly crash...

      for some ungodly reason it decided to install
      z-mailer and wouldn't let me uninstall it even
      though no packages depended directly on it or
      on an mta at all (iirc it required deleting
      a symlink somewhere on the system or something)

      several of the packages are compiled such that
      they are trying to use unimplemented syscalls
      (likely compiled against a different variant
      of the sun4 architecture than I have)

      And those are only the issues that come to mind. I'm still pondering whether I want to give OpenBSD or NetBSD another try, but last I checked their NIS implementation was piss poor.

      Matt

  49. Re:There is nothing wrong with RPMs. Only packager by minkwe · · Score: 1

    Amen to that.

    --
    "Fighting terrorists with millitary might is like killing a mosquitor on your Dad's forehead with a rifle."
  50. Debian Fever? by Anonymous Coward · · Score: 0

    It seems that the countless hours of using Debian has morphhed this guy into an idiot.

    Was this an critical look at RPM or a Debian LoveFest?

    All bark, no bite. He whines about problems but offers up nothing to back them up, except of course, "Oh, Debian is a Wonderful distribution!"

  51. Hated RPM issues by JamesGreenhalgh · · Score: 2, Interesting

    rpm -i

    Sorry, you need libpng x.y.z_e, but you have libpng x.y.z_c.

    Above is not of course technically accurate, but many MANY times I end up annoyed with RPMs since theyre put in a requirement for a SPECIFIC named package and version (on the builders system) version of something. You can end up needlessly having to upgrade libraries when you already had an entirely adequate version for the package in question.

    Solaris package management works. It can't really help us here though, since Solaris installations are generally very generic things - linux machines can be any one of thousands of combinations of package versions. Back to linux-land, and apt-get with debian mostly works, but a few times I've seen a debian machine decide to upgrade more or less the entire base dist for a trivial tool due to versions, and break in the process while replacing libc. Not fun.

    The only workable solution I've seen thus far, is the freebsd ports system. Grabs the generic source and builds it in such a way that it only upgrades backup tools and libraries when it really needs to. I've NEVER had a serious issue in years of using this system. That's not to say it's perfect of course, still suffers the issue of you not being able to easily revert to your old setup if an installation breaks somethings, and of course it can be pretty slow.

    Something does need to be done though. A Windows using friend of mine tried to install Mandrake recently, which he did all on his own without issues. He wanted an IRC client, I recommended x-chat. We tried using RPM and it failed, so we grabbed the source and then had to go about installing a set of development tools on his machine. It took a *long* time before the gcc package would install due to some idiot deciding headers should be split from main packages for the sake of a few kb of diskspace. Even then x-chat wouldnt build, due to things like the gettext rpm not having msgfmt (part of gettext), someone having decided it lived in an openwin tools rpm, which would no doubt have wanted lots of openwin rubbish installing. Eventually we ended up splatting source versions of common tools on top of the rpm installed ones to resolve several instances of missing header files and scripts. Finally, x-chat built...

    It made *my* head hurt let alone his - and I've been working with *nix machines for years. It almost put him off trying to use linux any further straight away. Linux is never going to start making any non-techie inroads unless someone sorts out a decent packaging system, and fast.

    --

    --
    ALL YOUR BASE ARE BELONG TO US!
    1. Re:Hated RPM issues by mickwd · · Score: 2

      I'm really surprised about your problems. I run Mandrake, on several machines, and I've installed XChat on each of them (on various different releases - 7.1 upwards) without any problems.

      Try 'urpmi xchat'. It'll take care of dependencies for you, telling you what else your need to install, and trying to do it for you. I don't normally use it - RPM on it's own is usually sufficient for me.

      I've also built XChat from source without any problems. (Why? Because the RPM packages are often built without python support, which I use). Again, no problems.

      You say you've had problems because of dependencies on other libraries. Well, if XChat depends on those libraries, you'll need to have them on your system whatever package management (or other) system it's build with.

      If your RPM database gets screwed up, use the following command to rebuild the RPM database:

      rpm --rebuilddb

  52. .deb by Simon+Brooke · · Score: 4, Interesting

    I started my Linux experience with SLS and a 0.99 kernel. Then I switched to Slackware, then flirted with Caldera. Then for a while I ran RedHat on my servers, before switching in about 1999 to Mandrake on all machines.

    And then I decided to experiment with Debian on a test box, and fell in love. I now have it on my desktop, my laptop, and three out of my five servers.

    Why?

    The package manager. It just works. It just works reliably, installing all the right stuff, resolving all the dependencies. When there are conflicts (not often) it reports them and suggests remedies. In short, the Debian package manager is to all other UN*X package systems I've ever seen as a computer is to a tally-stick. No-one who has used dselect will ever go back to RPM.

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
    1. Re:.deb by binner1 · · Score: 1

      I agree with your post. Debian simply handles packages better...if they're in the repository you're using (which are admittedly quite large).

      As someone who likes to install software from a package rather than building it from source (I hate manually removing software if I don't like it), it was becoming increasingly harder to find some of the obscure stuff in .deb format. I've never had a problem locating a .rpm though.

      I finally switched back to RedHat recently, and although I really miss the the Debian did a lot of things, I can now find any software that I want prepackaged.

      I guess this is the result of RPM based distros having more collective market share...I do miss my Debian though.

      -Ben

    2. Re:.deb by gik · · Score: 2, Funny

      Thank you, sir, for your whole personal experience with linux.

      I, and all those around me are truly appreciative that we now have a glimpse of your entire linux distro history.

      --
      ZERO
    3. Re:.deb by PSC · · Score: 4, Funny

      No-one who has used dselect will ever go back to RPM.

      That would be because they can't figure out how to quit the damn thing!

      --
      --- The light at the end of the tunnel is probably a burning truck.
    4. Re:.deb by MSG · · Score: 3, Insightful

      No-one who has used dselect will ever go back to RPM.

      Actually, dselect has been known to drive users the hell away from Debian. Its interface is rotten, and the authors agree. It's unfortunate, since dselect and apt really do good things. It just takes a bit of adjustment to get used to dselect.

      I was considering moving over to Debian myself before apt became available for rpm. I'm much less motivated now ; )

    5. Re:.deb by pyros · · Score: 1

      No-one who has used dselect will ever go back to RPM

      I think dselect is the worst package selection tool I've seen. AFAIK, the only time you have to use it is when installing Debian. Of course, after spending a couple of days trying to figure out dselect to install what I wanted, I just went back to RedHat. Using tasksel during installation now is quite a blessed thing. I can get Debian installed, then I can use apt-get and even dpkg to get rid of all the extra crap I didn't want in the first place. But to be honset, I'd still rahter install RedHat, not install the extra stuff, and use up2date to stay current and install new packages without tracking down dependencies. That way I can still use RedHat's nice ncurses config dialogs and service/chkconfig for init script maintenance. Sure apt-get is sweet for a live distro upgrade, but I have apt-get for rpm too. So I don't ever have to deal with the sphincter known as dselect.

    6. Re:.deb by Anonymous Coward · · Score: 0

      LOL... I've been running Debian forever and never touch dselect.

      apt does everything dselect does... The new install process gives you simplier options and you never use dselect unless you want to.

    7. Re:.deb by modme · · Score: 1

      ;; signal/noise ratio is getting worse; I now read posts at +3 or above

      how are posts meant to get to +3 or above in the first place, if they all get ignored? :)

    8. Re:.deb by pyros · · Score: 1

      It's a good thing I didn't say anything silly, like mention using tasksel to do the install.

    9. Re:.deb by Anonymous Coward · · Score: 0

      > No-one who has used dselect will ever go back to RPM.

      Perhaps, but no one who's used Kpackage, or aptitude, or synaptic, will ever go back to dselect.

    10. Re:.deb by reflective+recursion · · Score: 2

      Heh. I tried Debian pre-apt, and I remember dselect. I had Debian about 2 days before Slackware went back on. Even Red Hat lasted about a month (a terrible month, at that).

      I think the reason people (or at least I) use Slackware is they realize the futility of managing packages and dependencies. They understand that once a package is installed, it is more-or-less a permanent fixture in their system. No promises or false guarantees. Want something removed? You gotta get your hands dirty.

      Of course, package management has become someone nicer today..

      --
      Dijkstra Considered Dead
  53. What's your problem? by Anonymous Coward · · Score: 0

    I've been using UP2DATE to update my Red Hat installs, and never have had any problems. Unless you all are busy installing crappy free games that aren't supported well and not doing any real work on your computers, I can't imagine any Red Hat Linux user having any problems with RPMs.

    You got the OS for free, that's good enough. Now start paying for your games and junk and you'll get good quality RPMs. Unless you want to play with stuff some 14 yr old made before homeroom, in which case you'd better expect some problems.

    Sheesh!

  54. The problem with this article by phaze3000 · · Score: 5, Insightful
    This article really shows more about the author's experience than it does about the merits of any particular package management system.

    Let us for a moment pretend that instead of using .debs (but still had APT, ala Connectiva), Debian used RPM for its package management. Would Debian be as good as it is now? Of course. Why is this? Well, because the Debian people spend a hell of a lot of time making sure the package management is done properly. This has drawbacks of course, like the lack of the latest-and-greatest software (notably XFree86 4.2 and KDE 3), but in terms of stability you really can't argue that Debian is the best around.

    The author then goes on to suggest that a Gentoo-like system is whats best. Quite frankly this just shows us more about how little the author understands what is necessary in a package management system. Don't get me wrong, I like Gentoo a lot (in fact I type this message on a machine running Gentoo :)) but package management really isn't its strong point, as things like the recent libpng problems show. Doing things this way makes dependencies extremely difficult to deal with. Lets pretend you have libxyz installed, and then install program abc. abc can use libxyz, but doesn't require it. As you have libxyz installed, gentoo compiles abc with libxyz support enabled (one of Gentoo's best features). However, the day after, you decide to 'emerge unmerge libxyz' (remove libxyz for Gentoo virigins). abc no longer works properly. Gentoo didn't tell you that abc needed libxyz, because it's not a dependecy.

    In my opinion, the package format is irrelevant; RPM, DEB, TGZ, all are fine as long as they are centrally controlled and well put together. A system like APT makes things many, many times better, becuase it eases dependency problems, but it isn't a pre-requisite.

    --
    Blaming GW Bush for the Iraq war is like blaming Ronald McDonald for the poor quality of food.
    1. Re:The problem with this article by Thomas+A.+Anderson · · Score: 1
      However, the day after, you decide to 'emerge unmerge libxyz' (remove libxyz for Gentoo virigins). abc no longer works properly. Gentoo didn't tell you that abc needed libxyz, because it's not a dependecy.

      This is very true, and there is an effort to resolve this. The rumor is that version 2.0 of the portage system wil have reverse dependency linking, so when I upgrade libxyz, gentoo knows what packages where compiled against it and will recompile those.

      Should make upgrading gentoo a bit easier and safer.

      --
      Personally its not God I dislike, its his fan club I cant stand (bash.org)
    2. Re:The problem with this article by T-Ranger · · Score: 1
      Youve hit the nail on the head.. Your argument is nearly exactly that of mine and it amazes me that there are so few people with it since its clearly correct. Congrats Us!.
      More or less .deb's come from only one place, the official Debian people. There are half a dozen .rpm distributions, each with there own set of basic .rpms, which knowone would consiter interchanging, and then there slightly different set of adons which Im sure people do interchange.
      And then there are the hundreds (thousands?) of developement teams out there who, in addition to source, also distribute there products in rpm format. With not necessaraly well defined rpm specs. Or if they do have well defined rpm specs, there not tested agianst all 1/2dosen rpm distros, let alone on well (ab)used boxes.

      I guess its kinda like the difference beteween car parts from a dealer, installed by a "factory trained mechanic" vs. generic parts installed by Bob down the road. Theres only one place to get .deb; the .deb factory. Everyone and his dog is trying to distribute rpms..

    3. Re:The problem with this article by Anonymous Coward · · Score: 0

      Source Mage does this already.

      Say you cast abc. abc then asks
      Install optional dependency libxyz to enable feature pqr?

      So, you say yes. It installs libxyz and abc then compiles with libxyz support.

      The next day, you dispel libxyz. Then sorcery says "libxyz is missing", and goes off to recompile abc, this time without the optional dependency for libxyz.

      Which is nice.

  55. I don't think that's what he means. by the_Speed_Bump · · Score: 1

    Say your package directory was /usr/app (or whatever, there are standards for these things, y'know) libpng would live in /usr/app/libpng, qt would live in /usr/app/qt. Things could still dynamically link them, and it would still Just Work. The only difference is that you don't have four hundred files all crammed in /usr/lib.

    --
    "Break out the gin, and the small violin, I'm a raging success as a failure." --Firewater
    1. Re:I don't think that's what he means. by HiThere · · Score: 3, Interesting

      Say your package directory was /usr/app (or whatever, there are standards for these things, y'know) libpng would live in /usr/app/libpng, qt would live in /usr/app/qt. Things could still dynamically link them, and it would still Just Work. The only difference is that you don't have four hundred files all crammed in /usr/lib.

      Almost. I think that he was really proposing that libpng version n.m would live in /usr/app/libpng/n.m . Which is only a refinement, but which is much safer. In the case of large packages this would cost a lot of disk space (how many versions of KDE or Gnome do you want to keep on your computer?), but OTOH it would be a lot safer. You could keep multiple versions of even so prevasive a package as KDE or Gnome during development, and if one didn't work, you could revert to an earlier version. (Yes, something like this is done during development anyway, but that requires special fiddling, and changing the directories around when it finalizes, etc. This approach wouldn't. And deleting an obsolete version would be nearly as easy as removing the directory (well, you *would* need to check for dependencies).

      I guess that a side effect would be for the /usr/bin directory to become composed entirely(?) of links. Still, I've done that already when trying out a new version of Python, and it didn't seem to cause any problems. (I suppose that the other bin directories probably wouldn't be affected that way. Especially /bin and /sbin, since they might be needed when other partitions weren't mounted.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  56. Speaking of compiling... by mikeboone · · Score: 2

    I've found it easy enough to compile from source when there's no RPM or I need to set lots of parameters (i.e., PHP).

    But what about uninstalling? Is there a command I'm unaware of to remove software compiled and installed from source? It's easy with RPM.

    1. Re:Speaking of compiling... by Charm · · Score: 1

      Normally make uninstall. But if you use checkinstall you can remove the package cleany and fully.

      --
      -- RTFM:Slackware::Beer:Saturday
    2. Re:Speaking of compiling... by HiThere · · Score: 2

      Most of the makefiles I've looked at don't have an uninstall. clean, however, they do tend to have. And frequently distclean.

      Also, with rpms if there are dependency problems you tend to not get an install. With tarballs, the make will fail at some point, and if you are lucky it will be before any actual installation has occured. But you sure can't count on it!

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    3. Re:Speaking of compiling... by SpoonMeiser · · Score: 1

      You do have a point, where as installing with RPMs can be a real pain (due to being compiled with support for things that aren't relevant, nor installed, like ssh and X (dammit - I don't want X on my server!)). Compiled from source stuff can be a pain to uninstall if there is no make uninstall. Usually there is, but when there isn't you generally have to go through the Makefile and find out where everything has been installed to. This isn't too hard, but it's still a pain.

      That's why systems like Gentoo work really well - no dependency problems as it's compiled from source, and easy to uninstall.

      --

      --
      Hollywood representatives have publicly stated that skipping commercials is "stealing."

    4. Re:Speaking of compiling... by Anonymous Coward · · Score: 0

      mkdir /tmp/pkg
      make DESTDIR=/tmp/pkg install
      cd /tmp/pkg
      makepkg -l y -c n /tmp/blah.tgz
      cd ..
      installpkg blah.tgz

      Then you either send blah.tgz to your other systems, or you delete it. When you want to remove the files, you just removepkg blah, and everything it installed that isn't used by another package is removed.

      Sounds pretty logical, huh? Now guess where you find it.

      Slackware. Yes, Slackware.

    5. Re:Speaking of compiling... by Anonymous Coward · · Score: 0

      RPM often fails to uninstall correctly, and can also mess up upgrades because of failure to remove old files. Mozilla comes to mind. Also upgrading can fail to replace files that were removed. An example is my last upgrade of gftp (2.0.12), which wiped out the gftp icons from user menus and didn't replace them. Not a big inconvenience, but it was a minor irritation to edit the menus yet again. So whether you go with the source or with rpm binaries, you still need to know what a program installs and where it puts things. Rest assured at some point you will have to remove and add things the hard way.

    6. Re:Speaking of compiling... by dossen · · Score: 1

      Unless the author of the package made a serius error, the package should install cleanly (if the machine does not fail for reasons outside his control) once the make part is over. That why you do


      ./configure your options here

      make && make install


      If the build fails you check why, fix it and make again, posibly after configuring again.

      Having used varius types of source based linux for a year now, I have never had a build problem, where this didn't hold.

      Ohh... And the make clean and make distclean are for cleaning the build directory. Only variants of make install and make uninstall should do stuff outside the build directory (and hence is the only part that needs to be run as root, for all you paranoid people out there).

  57. Why are you blaming RPM? by Spazzz · · Score: 2, Informative

    Ladies and gentlemen, I hate to be the one to inform you, but this isn't RPM's fault, this is the individual distro vendors' faults for not standardizing on a filesystem hierarchy.

    I also blame the users who don't have enough sense to build thier own rpms. It's not *that* hard, if you have a SRPM, to build an RPM that works on your system where the binary may have failed. In fact, I recommend that if you use RPMs that don't come from your distribution vendor, you get the source RPM, edit the spec file as appropriate, and build your own...this way you're linking against *your* version of whatever libraries you have installed. It's not *that* hard, trust me.

    -Jeff

    1. Re:Why are you blaming RPM? by Anonymous Coward · · Score: 0

      > It's not *that* hard, trust me.

      Why is it that such comments are always "It's not *that* hard" instead of "It's easy!"?

      Perhaps because the operative word is hard, and yes, it IS harder than just installing a binary. And a properly maintained package management system (not just the file formats - the attitude/competence of the packagers) takes care of all this.

  58. Luke, package the damned source by Nailer · · Score: 4, Informative

    Really, there is nothing to difficult about:
    ./configure
    make
    make install


    And all RPM does is automate and standardize this process. The strength of any management system is based around its ubiquity. Installing software outside the packaging system is a bad idea, as suddenly all those standard installation, uninstallation, querying, and verifying systems no longer work - for your unpackages apps, and all the broken packages or other unpackaged apps that rely upon it. Stop thinking of RPM as being seperate from source. it isn't. An RPM is a cpio archive with a source tarball and a spec file like the one below which automates the build process.

    Summary: An addictive and frantically paced puzzle game with cute 3D graphics
    Name: crack-attack
    Version: 1.1.7
    Release: 2mm
    Source0: http://aluminumangel.org/cgi-bin/download_counter. cgi?attack_linux+attack/%{name}-%{version}.tar.gz
    License: GPL
    Group: Amusements/Games
    URL: http://qcd2.mps.ohio-state.edu/attack/
    Packager: Mike MacCana
    BuildRoot: %{_builddir}/%{name}-%{version}
    BuildRequires: glut-devel
    Requires: glut
    %description
    Crack-attack is addictive and frantically paced puzzle game with cute 3D graphics, playable either against the computer in single player or across a network mnultiplayer, where o
    ne players success clearing blocks dumps large immuntable tiles upon the others block pit. Muahahahaha!
    %prep
    %setup -q

    %build
    %configure
    make

    %install
    %makeinstall

    %post -p /sbin/ldconfig

    %postun -p /sbin/ldconfig

    %clean
    rm -rf %{buildroot}

    %files
    %defattr(-,root,root)
    /usr

    This will catch all the files installed in /usr, but after you do this, note the names of these files in the package and specify them individually

    %doc AUTHORS COPYING INSTALL NEWS README

    %changelog
    * Thu Apr 11 2002 Mike MacCana 1mm
    - Created packages

    Now I'm going to sit back down on my Red Hat 7.3 box and apt-get dist-upgrade all my RPMs from Freshrpms.net

  59. Article Misses the Point by EdMcMan · · Score: 1
    Unfortunately, this article misses the big problem in the package world. The problem is, there just aren't enough packages! The author suggests that the big RPM distros get together, but I doubt that is going to happen, so, what can be done?


    First of all, building from source makes things a lot easier. Gentoo/ports style package databases should be the future.. the compatibility is much better. Still, if you manually upgrade something (without the package), the package manager is still clueless that you have installed a new version.

    So, what can we do? For instance, a few weeks ago when I was trying out Gentoo, I got the BitchX package and installed it. Unfortunately, the latest version was old and still had a number of bugs. The solution is very simple, have something monitor the files as you install! Imagine something like INSTALL_CMD="make install" emerge --manual --version 3.2.1 BitchX And emerge would monitor file changes, new files, and then update the package database. Obviously the details recorded for this wouldn't be as great as from a manual package, and the package might even be compiled with the wrong options. Still, it's definately an improvement. Comments/ideas?

    1. Re:Article Misses the Point by Anonymous Coward · · Score: 0

      > Unfortunately, this article misses the big problem in the package world. The problem is, there just aren't enough packages!

      EH? How many *thousands* of packages do you think are required - as if there aren't thousands (as a Debian user) now?...

  60. standardized Linux configuration files... by BrokenHalo · · Score: 1

    The trouble with standardised config files is that this relies on all linux apps or processes interacting with the user or administrator in the same way. In other words, someone has to come up with a format that is "all things to all people" which is not concordant with the Linux "ethic" (for want of a better expression). Most Linux users want "infinite" latitude for customisation.

    1. Re:standardized Linux configuration files... by SN74S181 · · Score: 2, Insightful

      The other problem is, Linux is a Unix clone, and there is a long slowly-evolved configuration system for Unix that reaches back in history. It works, and it works well.

      I don't run any Linux machines any longer, and I would be enraged if somehow the 'we must make it easy to use' Linux people started trying to force a big 'standardized' structure down the throats of the larger Unix community. I switched to NetBSD in part because it's cleaner, it follows a tradition (all those O'Reilly books I've been collecting for years actuall MEAN SOMETHING), and it always works. Rather than installing and learning 'new-widget-number-twentyseven' to accomplish some admin task, I just research the way it's always been done, and it works.

      To put it another way: we're in trouble when things have gotten so crofted up that you can't start out researching a problem in AEleen Frish's 'Essential System Administration' and all the other O'Reilly classics.

    2. Re:standardized Linux configuration files... by jcast · · Score: 2, Insightful

      I think the suggestion was to make a standardised GUI. Those who want to use vi, emacs, whatever still could, and the basic system would still work. Newbies, on the other hand, can use a cleaned-up interface, which I predict would spread across all Un*x variants if done right. After all, isn't the point of slowly-evolving that you're never done, never perfect?

      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
    3. Re:standardized Linux configuration files... by King+of+the+World · · Score: 1
      All you need in the config file is the types of options you normally see. Strings, multiple choice, toggle (checkboxes), some branches. You could have regexps to see if the data was valid. It's not so hard when you actually go and see what's represented in these files.

      Now for those you could invent an XML format in a few hours. The near-perfect solution would be one where the configuration format was self describing of its options so that a parser could present a GUI to the user. For all of the things listed above there's no problem.

      However when trying to enrich the interface the XML format becomes difficult. You'd want to provide 'wizards' for step-by-step configuration. This doesn't even sound too hard now that I think about it.

      And then you have filters that parse this XML down to plain-text for compatibility reasons.

    4. Re:standardized Linux configuration files... by SN74S181 · · Score: 1

      You're still talking about every app out there being forced to write an interface layer to this 'standardized GUI.'

      That's not realistic. No way is every finished and well-tested daemon and app going to be re-opened to paste something like that into it. 'Slowly-evolving' doesn't mean 'driven by any initiative that comes up to become more user-friendly.'

      Possibly if the intelligence was contained in the GUI tool itself, but then you're basically talking about a GUI that parses all the text config files as they already exist, and people like Red Hat have been doing that with Python for years now. Nothing new there.

  61. What about BSD? by demaria · · Score: 2

    The BSD ports and packages work pretty well.

    cd /usr/ports/comm/kermit
    make
    It downloads, compiles, and installs.

    Got a package file? add_pkg package. The article didn't make any mention of these possibilities.

    1. Re:What about BSD? by ironfroggy · · Score: 1

      BSD != Linux
      Article is about Linux

    2. Re:What about BSD? by demaria · · Score: 2

      I know that. But why can't Linux use or consider BSD style ports & packages?

    3. Re:What about BSD? by Anonymous Coward · · Score: 0

      That's because the article is about Linux and packaging.

    4. Re:What about BSD? by MobyTurbo · · Score: 1
      But why can't Linux use or consider BSD style ports & packages?
      Actually, Gentoo's "portage" package system claims to have some similarity to BSD ports. Gentoo though is not for lowly dial-up users like me, it's for people who download and compile source for *everything* (it includes no system for binary packages.) The original form of distribution was a lowly 10 meg ISO file that you use to create a CD that bootstraps the rest of the system, downloading and compiling as you go, everything from glibc to KDE. The theory is that things get faster if you recompile using your favorite CPU's optimizations. Adding a package is as simple as "emerge kde", but in some cases you'd better be prepared for it to take a while before you have it. :-)
  62. This is why I hate RPMs! by farrellj · · Score: 2

    When I download a source tarball, I can look in the README or INSTALL file, and find out what things it needs. RPMs have no such facility. Add to that, who *knows* what command line options were used, if some features were left out, etc.

    I'll stick with source, thank you.

    ttyl
    Farrell

    --
    CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
    1. Re:This is why I hate RPMs! by Anonymous Coward · · Score: 0

      I'll admit it would be nice to know what options were used to build the rpm, but in most cases it's just the default build (i.e. what a ./configure followed by make and make install) would do. As for wanting to know what an RPM requires, that's easy (read the rpm man page for more information).
      rpm -qp --requires greatNewRPM.i386.rpm

      This will list all the things this package relies on. Some will be listed as other packages some as required libraries, etc. I have to agree with many of the other posters that the real problem with RPM is not the package system (once you know the commands it's a fairly powerful system) but rather with the package maintainers who often require specific versions (rather than >= version 1.0 they want version 1.2.5-3 which is silly).

  63. Re:Gentoo is a giant step, too long for mere morta by 0x0d0a · · Score: 2

    You do realize that you can do a minimal installation of RH and install as you see fit? Just like Debian? The main difference is that you actually have industrywide support for your distro.

  64. Not really... by bero-rh · · Score: 5, Insightful
    While the article raises a couple of valid points (such as the crazy incompatibilities between some versions of rpm, a lack of standard package file names and standard locations), its conclusions are wrong.

    Let's see:

    1. An RPM-based distribution is risky to upgrade

    Not quite. Red Hat, for example, still supports upgrading from Red Hat Linux 4.x to current versions, if you use the official updating process.
    You can run into problems if you upgraded some stuff by yourself, which is true for any package manager. A good package manager doesn't downgrade packages during an upgrade process. How is it supposed to handle an "upgrade" from a custom kdebase 3.0.1 installation (compiled with libc 5.x) to the kdebase 3.0.0 package found in the distribution you're trying to update to?
    Downgrade things in the process? I think that would make people complain, as well.

    Similarily, apt-get works quite nicely for Conectiva users.

    2. A more complex binary RPM package is often hard, if not impossible, to install

    Again, this is not exactly specific to RPM. The problem here is that RPM is used much more widely than any other package manager, therefore RPM packages are typically built on a wider range of potentionally VERY different systems than other packages.
    If, say, 200 distributions used .deb, you'd run into just the same problem here - your system uses, say, glibc 2.2 and libstdc++ from gcc 2.95.4 while the package you've downloaded was built with glibc 2.3 and libstdc++ from gcc 3.1. No difference at all.

    3. The incompatibilities between different versions of the RPM Package Manager added another layer of complexity.

    This is true, and the only real rpm specific problem.
    There's always a tradeoff between new features and backwards compatibility, and rpm does seem to lean a bit too much towards new features.

    4. The developers are forced to consider differences between distributions and create multiple binary packages.

    This is just restating point 2, and is just as invalid.

    Same for the suggested "solutions":

    1. Learn to build your own RPMs

    This actually does fix some problems... But of course you can't expect everyone to do it.
    (See also #5)

    2. Petition the RPM distributions to adhere to common standards.

    Nice in theory, but because there's no real standard ATM, this would mean breaking compatibility with older versions of the distributions (by e.g. adapting a common scheme for naming packages so you won't need to make a difference between Red Hat'ish "Requires: kdelibs >= 3.0.0" and Mandrake'ish "Requires: kdelibs3"), possibly breaking the update path.

    3. Use more advanced package management tools, such as urpmi or apt-rpm

    I agree with this one (add up2date to the list, btw). The availability of those tools shows that rpm is actually a good and flexible package manager - it just needs some extra tools to simplify some common tasks. It's really the Unix way of doing things - have the tool do one job, and have it doing that one job (handling individual packages without resolving dependencies by itself, in the case of rpm) well. Then write other tools making use of the tool (rpm) to get more advanced functionality.

    4. Switch to Debian or Slackware

    As shown above, their package managers do not solve the problems mentioned in the article. The problems just happen not to show up so frequently because there aren't many distributions using these package management systems, and the ones that do are usually pretty close to the distribution they're based on. Much closer than completely different distributions like e.g. Red Hat and SuSE, which really don't have much in common except for the package manager.

    If, say, Red Hat switched to using .debs, you'd immediately run into the problem that, due to totally different base systems, Red Hat .debs wouldn't run on Debian without changes and vice versa.

    So this switch wouldn't gain anything.

    5. Switch to source-based Linux distributions, such as Gentoo or Sorcerer

    This does solve the problem, but introduces others. It's a good thing for some people, but certainly isn't a universal solution to all problems.

    Source based distributions are really nice for people who want to tweak things a lot, but they aren't very useful for a traditional desktop user (who typically doesn't have all that much of a clue and doesn't want to spend a lot of time learning), and they introduce problems even for users who can handle them.

    Let's assume you have a source based package manager that is dumbed down enough to allow a user to install a package by clicking on a package file in Konqueror or Nautilus.

    Here's some of the problems you'd still need to solve (and some of them really aren't fixable):

    • The user needs to have all development tools installed - including, depending on what packages they want to install, compilers for very obscure languages (how many of us have installed compilers for, say, Modula 3 and Objective-CAML?)
    • Installation takes forever. This is not a problem for small packages, but how do you explain to Joe User that, after clicking "Install KDE 3.0", he can't use his new KDE 3.0 for a couple of hours?
      This is a real problem on slower machines - Compiling, for example, OpenOffice takes approximately 13 hours on an Athlon 1800 with 1.5 GB RAM. Imagine installing it from source on a Pentium with 128 MB RAM...)
    • How do you handle binary-only stuff? In an ideal world, of course, you don't use any. But try explaining to Joe User why he can't see websites using Flash... I'm all for banning binary-only software, while it's there it needs to be handled.
    • No beginner-friendly error messages. How do you explain a newbie what
      foo.cc:123: invalid conversion from `const void*' to `void*' is supposed to mean? (It's typically an indication of broken code that happened to work with gcc 2.x, but doesn't work with gcc 3.x anymore - but how does a newbie know or fix it?)


    Besides, rpm is powerful enough to provide this functionality for people who want it, combining the best of both worlds - it's typically as easy as


    rpm --rebuild foo-1.0-1.src.rpm
    rpm -ivh /usr/src/redhat/RPMS/i386/foo-1.0-1.i386.rpm


    This still has the same problems as a pure source based distribution, but with rpm, you get the choice between building from source and installing the binary.

    It's the primary reasons why I prefer rpms over debs, by the way - they're much easier to build.
    --
    This message is provided under the terms outlined at http://www.bero.org/terms.html
    1. Re:Not really... by teamonkey · · Score: 2, Insightful
      4. Switch to Debian or Slackware

      As shown above, their package managers do not solve the problems mentioned in the article. The problems just happen not to show up so frequently because there aren't many distributions using these package management systems, and the ones that do are usually pretty close to the distribution they're based on. Much closer than completely different distributions like e.g. Red Hat and SuSE, which really don't have much in common except for the package manager.

      If, say, Red Hat switched to using .debs, you'd immediately run into the problem that, due to totally different base systems, Red Hat .debs wouldn't run on Debian without changes and vice versa.

      This is surely due to the various distributions not conforming to the LSB and FHS, rather than the shortcomings of the package management system? Debian is far more standards-complient than RedHat, and Slackware is even better.

      With the version of apt that comes with woody, you can choose from which version you wish to install the debs from.

      For example, you can track woody for the most part, but if you want the occasional package from sid you can do that too, and it will work out the dependencies automagically. The same would be true for multiple distros - just give it a different name and add the entries to your sources.list file.

      My current system was originally Progeny Linux, which was then merged with woody, then sid. Using apt, I had no problems moving between systems.

      Sure there were some incompatibilities between the packages, but the deb format is robust enough to at least identify the problems (and in some cases offer a solution). This, I believe, is where RPM falls down.

      --teamonkey

    2. Re:Not really... by Wdomburg · · Score: 2

      >This is surely due to the various distributions >not conforming to the LSB and FHS, rather than the >shortcomings of the package management system? >Debian is far more standards-complient than >RedHat, and Slackware is even better.

      Sorry, but Red Hat's lack of complaince (or lack of willingness to comply) with the LSB is a myth.
      These aren't the official results, but preliminary test results at freestandards.org show Red Hat as passing more tests than Debian, SuSE, and Caldera.

      Among some of the issues that Debian were that their init scripts didn't provide a status command, and that there was no distinction in runlevels 2-5. I haven't kept up with development too closely, but my Debian installation, which has been apt-get upgraded fairly recently still has these issues.

      As for Slack, last word from Patrick Volkerding that I know of is that he's taking a "wait and see" approach; i.e. he's not even bothering to strive for LSB complaince until he's convinced that compatibility is improved between compliant distributions, although to his benefit he said "I'm sure this is a step in the right direction."

      I haven't used 8.1 at all, but Slackware probably has the most work cut out for it if they decide to try to move towards LSB compliance - their init levels are non-standard, their init scripts are completely non-standard (kind of a weird hybrid BSD/SysV approach), they fail a good potion of the FHS tests, etc, etc.

      In other words, nit picking aside, Red Hat and Deibain are pretty much on par as far as comformance go, and Slackware is way off.

      Matt

    3. Re:Not really... by swillden · · Score: 2
      rpm --rebuild foo-1.0-1.src.rpm
      rpm -ivh /usr/src/redhat/RPMS/i386/foo-1.0-1.i386.rpm

      It's the primary reasons why I prefer rpms over debs, by the way - they're much easier to build.

      How is that easier than:

      apt-get source -b foo
      dpkg -i foo-1.0-1_i386.deb

      Seems the same to me.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    4. Re:Not really... by asteinberg · · Score: 1
      As a user of Source Mage, I'll respond briefly to your issues with source distros...

      The user needs to have all development tools installed - including, depending on what packages they want to install, compilers for very obscure languages (how many of us have installed compilers for, say, Modula 3 and Objective-CAML?)

      While it may be a bit of a pain to have things like these on your computer, it is all done automatically in Source Mage; just cast the spell and it will download and install anything required to install it. I don't think your hypothetical "Joe User" would even really notice this. Also, I don't see why this is so much worse than the dependencies that all package systems utilize.

      Installation takes forever. This is not a problem for small packages, but how do you explain to Joe User that, after clicking "Install KDE 3.0", he can't use his new KDE 3.0 for a couple of hours? This is a real problem on slower machines - Compiling, for example, OpenOffice takes approximately 13 hours on an Athlon 1800 with 1.5 GB RAM. Imagine installing it from source on a Pentium with 128 MB RAM...)

      This is definitely true. Source Distros demand reasonably good computers and quick Internet access, and they still often take a while to install things. Of course, it's not like you're installing a new version of your KDE/X/Mozilla/your kernel every day - these are major upgrades that you only need to do once in a while, and you can choose to hold the updates if you don't want to deal with the long install. Plus, you don't have to be there during the installation - I can cast something or (more often) run "sorcery update" to automatically update all the programs on my box, then walk away/go to sleep/whatever. Hell, make it a crontab job.

      How do you handle binary-only stuff? In an ideal world, of course, you don't use any. But try explaining to Joe User why he can't see websites using Flash... I'm all for banning binary-only software, while it's there it needs to be handled.

      There is not a whole lot of stuff that isn't available in an open-source form. And spells exist for proprietary programs like Opera and Flash (they tend to feel sort of like "hacks", but they work fine). For Quicktime the CrossOver plugin works fine.

      No beginner-friendly error messages. How do you explain a newbie what foo.cc:123: invalid conversion from `const void*' to `void*' is supposed to mean? (It's typically an indication of broken code that happened to work with gcc 2.x, but doesn't work with gcc 3.x anymore - but how does a newbie know or fix it?)

      Hopefully errors like this don't seep through. All the spells must be tested before making it into the grimoire, and can be set (by the spell maintainer, not Joe User) to use gcc 2 or 3 - whichever is known to work. Of course, errors sometimes occur, but the backed up compile logs (gaze compile spell) make it easy for the developers to figure out the problem, and a user with "voyeur" turned off (thus hiding the compilation messages) just sees a friendly little "problem detected" message on his screen.

      Hope that cleared some misconceptions up.

      --
      The first ever Ultimate Frisbee video game: here (now
  65. Re:There is nothing wrong with RPMs. Only packager by Anonymous Coward · · Score: 0

    I agree. Apt4rpm is great.I have it pointed to the 7.3 repositories, but would like to use RawGide. But I can't seem to point it to RedHat RawHide. Can you tell me where the repository is?

  66. Re:RPM is a POS by 0x0d0a · · Score: 2

    A simple packaging system based on tarballs, a la Slackware

    Try administering a network.

    My experience with Slackware is seeing people managing to *just* get their system working and then leaving chunks of the software along and letting it get ancient because they don't want to break anything. They upgrade a library, they end up with zillions of broken library dependencies and programs that won't run.

  67. Huh? by BrokenHalo · · Score: 0
    I try my hardest *never* to install from source...

    Maybe I'm missing something here, but are you really saying that a binary compiled and packaged by someone else may be less secure (or maintainable) than code you've built yourself? That doesn't make sense to me.

    1. Re:Huh? by roybadami · · Score: 1

      If I didn't install X, why would I want to install a desktop...?

      You build a machine without X, but later your requirements change, and you want to install X and a desktop.

      But the dependencies are horrendous, and of course rpm doesn't chase them for you. I think maybe gnomerpm can chase dependencies, but of course you can't run that (even displaying to a remote terminal) because you didn't install an of the X or gnome libraries, the dependenies of which are themselves horrendous.
  68. RPM can do most of what this crowd wants... by psychosis · · Score: 2

    I was very anti-RPM a few years back - even as late as RH7.0. I still compiled all software from .tar.gz source and installed appropriately. If I couldn't get the source to compile for some reason (strange dependencies that I could not track down), I'd end up trying a rpm -Uvh --nodeps foo.i386.rpm. Without the --nodeps, the installation would fail 99% of the time - the files it needed were there, but not in the RPM database.
    Then, for some reason that escapes me now, I tried a pure rpm-only box. Dependencies were still a pain the the ass to some extent, but much easier with sites like rpmfind - just type in the missing dependency and d/l the topmost result for your architecture, and voila - the original package installs fine.
    I missed being able to compile from source, though. The security aspect is one major plus, but being able to tweak PHP to include EXIF, TrueType, and libGD support so my web apps keep working was the clincher.
    Enter rpm -bb --clean /usr/src/redhat/SPECS/foo.spec. All you have to do is d/l the .src.rpm file, install it (usually installs 2 files /usr/src/redhat/[SPECS/foo.spec | SOURCES/foo.tar.gz]). You can tweak the .spec file (the ./configure line is in there - modify to your hearts content!), then do the -bb command listed above.
    Grab a coke, come back, new package file specific to your installation is in /usr/src/redhat/RPMS/i386/foo.i386.rpm. Have a lot of like-OS machines (I have 7 RH7.3 machines at home)? Compile your binary RPM on the fastest machine (a dual P-III 850 VALinux box here), install the binaries on each machine.
    This ability combined with the most EXCELLENT red-carpet and up2date capabilities in ximian and RH, respectively, make RPM usable for the masses. I have seen many low-end-tekkies (no disrespect, of course) using red-carpet on their personal machines with no hiccups. Need do remove something to get this new software? OK - it tells you. Need extra dependencies for the new package? OK - it's all automatic. (They don't even need to know that RPM and red-carpet are crypto-checking the stuff they install to ensure there's no man-in-the-middle work going on!)
    RPM is really powerful. There's a LOT more than the features I've listed here. Want to see what files have changed since you installed the XFree86 RPMs? rpm -V XFree86. It tells you if the date, file size, contents (MD5 hash), and a bunch of other stuff have changed or if files are missing since install. It even tells you if the file is a configuration file, meaning a change in size, date, and content is not necessarily something to be concerned about.
    Please don't think my support of RPM is blind - I have used Slack, played with Debian, and done the 100% source code route. RPM is a great tool, and most linux users (even some of the very skilled ones) don't use it to it's fullest potential. Spend a day or two reading the man page, the files in /usr/share/doc/rpm*, and make the call then.
    Full disclosure - I am an RHCE, but I was sold on the advanced stuff RPM can do way before I took the class and test. Check it out - you might be surprised at what you've been missing. Feel free to e-mail me after unmangling the addy if you like...

  69. Re:There is nothing wrong with RPMs. Only packager by Ranger+Rick · · Score: 1

    You would need to make an APT repository for it (in the same way the apt4rpm guys made redhat 7.x repositories).

    I have my own, but it's not for public use... I don't have that kind of bandwidth. =)

    --

    WWJD? JWRTFM!!!

  70. Upgrading Mandrake & Debian packages by Malc · · Score: 2

    This article is rather coincidental to me as I posted something about upgrading Mandrake yesterday: Usenet post. I want to upgrade a Mandrake installation, but I don't want to 1) burn any CDs; 2) download MBs of data that I'm never going to use.

    As for Debian packages, is it the package management applications that work, or the process (i.e. the hard-work, care and attention to detail of the people who create and manage the packages)?

    1. Re:Upgrading Mandrake & Debian packages by MBCook · · Score: 2
      The reason that debian works is both. The package system and utilities (apt-get, etc) work great and have been designed great. But they could turn into the RPM problems if debian wasn't so strict. If you want your .deb file put into the offical repository, then it gets looked at and picked apart by many developers. So if you like your thing to install into /foo, they'll either change that or not take your package, because it should be in /usr/share/foo or /usr/local/foo or whatever it is (i'm not near a linux box right now and I can't remember, but it doesn't matter). I think a big part of it is the centralized controll.

      Anyone can make a .deb file and put it on their website, but if you want it in the debian archive so people can 'apt-get install foo', then you have to make it comply.

      On a side note, why not put debian on a box and try it out. That's how I started. I had a mandrake box and a second box that needed a reinstall, and so I tried debian and it won me over, quickly.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    2. Re:Upgrading Mandrake & Debian packages by Malc · · Score: 2, Insightful

      "On a side note, why not put debian on a box and try it out. That's how I started. I had a mandrake box and a second box that needed a reinstall, and so I tried debian and it won me over, quickly."

      Actually, I have tried Debian. I'm running it on a headless server at home that hosts my personal domain. I really really like it. It's my experience with this machine that opened my eyes to what can be done, and been the catalyst for my aggravation when it comes to upgrading Mandrake. If I ever have to reinstall Mandrake, I'm just going to ditch it for Debian. I really don't need bleeding edge packages as I want to use my system now, not work around issues.

    3. Re:Upgrading Mandrake & Debian packages by Anonymous Coward · · Score: 0

      Packages dont need to be in the main repository for u to apt-get them. I have several other sources so that i can get stuff before it makes its way into the main repository, while i can still apt-get them. For example I have another source for open office and another source for kde3.

  71. gnome, kde by Ender+Ryan · · Score: 3, Informative
    While I am a bit miffed at gnome and kde for copying the registry idea(so friggin stupid.... imo), at least with gnome(not sure about kde, probably true there too) the "registry" is not one single massive database, it's composed of different hand editable text files, xml if I remember correctly.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
    1. Re:gnome, kde by Znork · · Score: 2

      Yeah, well, it can still 'break' massively. Try having nfs mounted home directories and poweroff a workstation without a shutdown... zzzzap, completely whacked gnome-conf. GConfd wont even run until you clear out its directory, and no error messages, and naturally no apps relying on gnome-conf will start without it.

    2. Re:gnome, kde by Anonymous Coward · · Score: 0

      the upside is that it's much more simple to backup. Just tarball it and file it. The windows registery is a bit more tricky to backup, and certainly more of a pain to restore.

    3. Re:gnome, kde by salmo · · Score: 2, Insightful

      Actually gconf doesn't care what the back end is. The standard one is based on XML files but you could use a database or an ldap server or just about anything you want that can store its key/value pairs.

      Gconf is also great because its easy as hell to work on. Either tinkering with the files by hand or from the command line or using the ever nifty gconf-editor. The schemas are available to the user to check out so no configuration variable is completely undocumented although they do not explain what exactly they are used for.

      People forget the biggest problem with the registry is not the registry itself its the number of undocumented keys that take difficult to comprehend values. Microsoft makes it difficult to understand on purpose under the guise of making it so "You have to know what you're doing to mess with it" which roughly translates to "Even if you work for Microsoft you shouldn't be messing with it. Bill knows whats best for you."

      The registry-like idea is a natural decision. If you have a set of programs that use a similar text based config file format and they store all their config files in the same directory, thats registry-like. If you're building a DE, you're going to build a configuration API so that people can get and set values without having to reinvent the wheel every time. Gconf just makes it easy on programmers, users and sys admins.

      We shouldn't be zealots that hate all things Microsoft just because they're Microsoft. If you find yourself needing something Microsoftish that you don't like, think about why you really don't like it and see how you can not fall into the same trap they did.

    4. Re:gnome, kde by IamTheRealMike · · Score: 2

      KDE uses a series of .INI style text files for configuration - it's hardly the Windows registry.

  72. Something obvious by Veteran · · Score: 1, Flamebait

    RPM itself is freeware.

    Bitching about freeware is in very poor taste. People can bitch about the way Microsoft does things because they can't do anything about it. However, people have no moral right to bitch about any freeware; they have the source code - they can fix the problems themselves.

    Doubtless some people will say: "But I don't have the skill"; to which I can only reply: Boo Hoo.

    You forfeit the moral right to bitch because you have chosen not to do the work to fix the problem.

    Fixing software problems is not easy for anyone.

    Grow up. Quit trying to manipulate people who are willing to do the work. Join in yourself. Get your hands dirty, and see how much you enjoy listening to slackers bitching about your work.

    1. Re:Something obvious by An+Onerous+Coward · · Score: 1

      I'm giving your post way more time than it warrants.

      "You have no right to bitch about the quality of your medical care. A wide variety of books about medicine are freely available at the library. If you're too lazy to teach yourself to be a doctor, well then boo-hoo. You have forfeited the right to bitch because you have chosen not to do the work to fix the problem."

      The article may not be terribly well-informed, and maybe even a little trollish. But your solution reminds me of a Monty Python skit: "How to rid the world of all known diseases: First, become a doctor and do something that gets the medical community to sit up and take notice. Then, when they really respect you, you can tell them exactly how to cure all diseases, and you can make sure they get everything right and don't make any mistakes."

      We're not talking about a bug in XFree86's font rendering system. RPM is a popular standard. As such, it's not enough to "code around" a problem, you have to get everyone else to adopt your solution.

      So try not to think of the article as an angry criticism, but as a sort of meta-bug report. If nothing else, I think he was trying to contribute constructively within the limits of his skills, and doesn't deserve your whining.

      --

      You want the truthiness? You can't handle the truthiness!

    2. Re:Something obvious by Veteran · · Score: 2

      That is absolutely true - I don't have a right to bitch about anything I can do something about - neither does anyone else, and I don't bitch about things like medical care - period.

      The article was a series of complaints about the design and implementation of an open source piece of code. My point is that unless you are a coder you don't have any business complaining about it.

      I am an open source coder - I have contributed several thousand lines of GPL software; that contribution gives me a right to say something on the subject. If you haven't written open source code - and the author of this article evidently hasn't - you don't have any right to be critical.

      People seem to think that they have a right to be critical of anything at anytime, they don't, and it is time they were told so.

      Children function by attempting to manipulate adults - since children have nothing and adults do - they try to be clever and get things from the adults who have earned them. We as adults know this, and I did it when I was young - but not for very long. Maturity cones when you quit trying to manipulate people and start earning your own way.

      By the way - coding around a problem is the way to get people to accept your solution.

      To the clueless moderator who marked my original post 'flamebait' - that was not an attempt to draw flames - that was a lecture for a bunch of people who need to think about what they are doing.

      I don't want to hear one word from anyone who isn't an open source contributor - your opinions on the subject are of zero value to anyone.

  73. My packaging system experience by SirNonya · · Score: 0

    My real GNU/Linux experience began with Slackware. It was nice and minimal. The packages (although hard to find) were nice and easy to manage. The rc.d files were easy to manage. It was nice.

    Then I got a new computer and installed Debian. The packaging system, which at first appeared nice, was nasty. I tried to upgrade my gcc from a package, it failed, and thereafter, all the gcc related packages were listed as 'broken'.

    Then, after getting tired of messing with Debian, I did LFS (linuxfromscratch.org). It was quite nice, because I had complete control of my system. It was minimal. It had exactly what I needed, and no more. Packages were built from source, and installed in /usr/local. The problem was that many stupid/inexperienced developers don't include a 'make uninstall' in their packages. Darn! Also, the general inconsistency of the GNU/Linux world (no central source) got me down, and so I switched to NetBSD. FreeBSD looked to bloated, and didn't focus on stability and good code. OpenBSD seemed to be just a copy of NetBSD. NetBSD focuses on stability, protability, and good code. These are the roots of security. The NetBSD packages system is really nice. I can build the packages from source (I don't like binaries), and it automatically builds dependancies. Also, it is very neat and tidy. No bloat whatsoever. I haven't tried to upgrade it yet, but will when NetBSD 1.6 comes out.

  74. haha, LOFL! by Ender+Ryan · · Score: 1, Flamebait
    Oh yeah, the registry is great! I can edit my registry with notepad remotel.... fuck!

    Oh yeah, the registry is great, I can edit it with regedit remot... I can edit it with regedit!

    What was that registry key called? Damn, can't remember... Ok, I'll find it. How many keys are there anyway? 1,000,000!?! Holy fucking shit man! It's a good thing that'll be easier to find than a file in /etc on Linux... Fuck! That's not true!

    Plain and simple, the registy = single point of failure, and is not meant to be a feature for the user.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
    1. Re:haha, LOFL! by sg_oneill · · Score: 2, Insightful

      As opposed to multiple points of failure? There are a good many nukable files in /etc that'll cause linux to bork at bootup.

      That said one can get in via alternate methods and fix, but what a horror. One should back that etc dir regularly btw, windows does it automatically "Last good configuration". Woohoo.

      Of course windowss still sucks ;)

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    2. Re:haha, LOFL! by dossen · · Score: 1

      How many files in /etc are actually essential at bootup. I know that stuff like inittab, passwd and shadow are important, and can seriously fuck up your boot. But beyond those, what files actually need to be there? Stuff like the init files, fstab and server-config files might cause your machine to be less than perfect on boot-up, but most of it should be fixable, even without a reboot (restart service etc.).

      But either way, backups of /etc is a great idea.

  75. You're sooo wrong by SpoonMeiser · · Score: 1

    Ok, I'll admit that the optimizations get me all hot under the collar with probably no real performance increase.

    But, that's not best thing about Gentoo and other compiled from source distributions. Let me give you an example:

    I was trying to install SuSE on a server, I wanted a pretty minimal system. One of the things I needed on there was ssh. However, the ssh rpm had been compiled with X support, so of course I had to install X and various other X odds and ends. There were other silly dependencies that I can't remember aswell, things requiring QT/Gtk when they work perfectly well as console applications etc.

    But dependencies are a major weakness of RPM or other package based systems.

    If I were to try and do the same thing on Gentoo, it'd see that I wasn't installing X, and wouldn't compile X support into ssh. If at a later date, I wanted to install X, I could get it to add X support to any software that supported it very easily.

    RPMs were the one thing that I never got along with in Linux. Currently I'm running an LFS system (mainly because I wanted to learn how everything works), but my next system will be a Gentoo system.

    --

    --
    Hollywood representatives have publicly stated that skipping commercials is "stealing."

  76. Your article is flawed in a few spots by erat · · Score: 2

    1) Red Hat and Mandrake were/are not excluded from UnitedLinux. All Linux companies are welcome to join. They may not have been in on the initial UL chats, but had they been included I wouldn't be even slightly surprised if at least Red Hat would have caused the talks to go nowhere with their "we're the standard, be like us" mentality. Leaving the Red Hats of the world out of the round #1 discussions was probably the only way UL got as far as they did.

    2) You oversimplify the issues of divergent Linux distros. If you think the main reason people leave distros like Mandrake is because of packaging issues, you're not looking at the big picture. I've tried just about all of the major Linux distros at any particular time (including SLS, TAMU, MCC, etc. from the days of the original Linux distros) and the only reason I have migrated from one to the other was because of operational issues and/or stability, not package management. The latter could have influenced my decision to move on, but it was never the majority reason.

    3) You ignore the other direction people are going in (such as myself): *BSD. You toot your horn about Gentoo without acknowledging what Gentoo itself acknowledges: its package management system is based heavily on *BSD's "ports" system. Besides being sick of being told I can't use Linux unless I subscribe to the Linux religion, I find that the *BSDs (although not really compatible with each other) are simple to use, no more difficult to set up than your average mid-level-techie Linux distro, and I can get almost all of the same software running on it as I can on Linux. A simple "cd /usr/ports/[directory name]" then "make install" is all it takes. System updates? "cd /usr/src", then "make world" (assuming all sources are on the system, which is VERY easy to make happen).

  77. Request for comments: Using RPM safely? by dave_mcmillen · · Score: 1

    I'd love it if people could weigh in with some comments on how to use RPM in a secure manner. I often (well, usually in fact) end up installing things as root, and occasionally this scares the hell out of me, when I stop to think about it. If the package isn't what it says it is, who knows what it could be doing . . .

    This strikes me as a major danger of RPM, though not one that's the fault of the system -- it's the fault of users like me, who find RPM convenient without necessarily knowing what we should do to achieve both convenience and security.

    What do security-conscious people do about this? I know we can verify authenticity of packages -- is taking that step sufficient? I don't want to relocate everything to install in my home directory -- I back up those files separately, and I don't when gigs of intalled applications sitting in there. I suppose I could create install directories accessible to humble-user-dave . . . Comments welcomed.

  78. Junkmass by fire-eyes · · Score: 1

    Unfortunately, installing that missing library fails because of three other missing libraries and two other libraries that come in incorrect versions. Depending on how badly you want the original package, you have two choices - either go and search for all missing dependent libraries as well as all libraries dependent on the dependent libraries, or you just give up. How many times have you given up?

    Source rpms, duh.

    --
    -- Note: If you don't agree with me, don't bother replying. I won't read it.
  79. Tard, Troll or Loudmouth... by Anonymous Coward · · Score: 0

    Which is it? Even a quick glance at the article would tell you enough to make your post look silly.

    I see nothing wrong about RPM compared to other systems

    Dependency issues, RPM version problems etc. Read the article.

    I can see why people running say Debian whine about RPM because .rpms isnt supported on THEIR system

    RPM is a Linux application, it runs on any distro. Alien integrates RPMs to the Debian system.

    and I dont see as many .deb out there as there are .rpm

    You're probably not looking in the right place. There are nearly 4,000 packages in the official Debian archive and many more maintained unofficially.

    So either way if rpm is worse or better than .deb its a standard. And standards are standards because people use them - and like them. Its not .rpm that should change, maybe its .deb.

    By that logic, we might as well all be running Windows.

    1. Re:Tard, Troll or Loudmouth... by grazzy · · Score: 1

      Thats why I run Windows for some tasks and Linux for others.

      Which would be why I would use Debian/Slackware/Whatever if I felt a need for it.

      Regarding the "problems" its a common known fact. I've never used .deb but I kinda "imagine" a .deb compiled for kernel libc 1.x doesnt run very fine with glibc 2.x .. duh.

  80. This is exactly the problem... by Can · · Score: 1

    It has been my experience that those who complain about RPM's rarely haave any idea what can be down with them, if done properly. For example, Pete's problem can usually be solved by grabbing the SRPM and doing RPM --rebuild xxx.src.rpm.

    Sure, not a lot of people know how to make really good SPEC files, and therefore really flexible packages, but that's not a limitation of the technology. Just of the developers.

  81. Re: The Mac Way by Gryffin · · Score: 1

    "In any case, software is _package_ based. Why do we still throw library files from different packages together in the same directory?!"

    Um, well, cos that's the *idea*. Libraries are shared code, intended to be used by multiple programs/apps/packages.

    "We should be able to completely remove software by simply removing a directory. I've heard MacOS does this, why can't Linux?"

    That's the ideal on the mac, you're right. But in practice, it's seldom that easy.

    On really old versions of the Mac, it was even simpler: an app was a single file that could be placed anywhere. All resources were built-in. Nothing was installed in the System directories, cos there wasn't one! Deleting an app meant dragging the one icon to the trash.

    Just as the Mac OS got bigger, more sophisticated and more modular, necessitating it's own private directory, so did applications. They needed preference files, plug-ins, other optional components, etc., which generally went into the same directory as the application; so now applications had their own directories. Some large developers (Micro$oft, Adobe, Claris) tried to share common code and resources between their own apps, and generally put it in the new-fangled System Folder. Others built apps that depended on system extensions (think kernel modules), which likewise were installed into the System Folder amongst (and sometimes conflicting with) the Apple-supplied stuff.

    By the time Mac OS 9 came out, things were outta hand. OS 8 (or 7, it's been a while) even introduced an Application Support folder in the System Folder, but developers generally ignored it. System stability was hard to acheive. Some suites, like MS Office, installed so many components in so many places that it was nearly impossible to uninstall, and nearly impossible to troubleshoot if something went wrong. It was getting as bad as Windows; many Mac power users simply clean-reinstalled their systems every six months or so. Whee.

    Then came Steve Jobs. And Steve begat Mac OS X...

    Mac OS X, as you probably know, is based on BSD (although with a Mach kernel). it's not straight-up BSD, though; there's no ports collection. Also, some directories have been moved and/or hidden from users. It does, however, have packages, and it's own proprietary package manager.

    Actually, it has two types of package. One is the app package; like the Mac applications of old, this encapsulates the executable code and other resources into what appears to the user as a single file. (Actually, it's a directory, but the UI hides this from the user.) Installing these is trivially easy: drag and drop (or cp if you're into that). Not just for small utilities and the like, even MS Office installs this way. They can reside anywhere in the directory tree, within reason. Uninstallation is as easy as deleting the package file.

    The other package type is the installer package; this uses a version of the NeXT installer to do dependency checking (rather badly, at this point) and handles the job of installing components into the right directories (system, library, user, etc). In general, it's only used for apps that require installation of system components.

    In addition, many apps use their own installers, either becauuse of the deficiencies of Apple's installer, or just because they've Always Done It That Way (e.g. Adobe).

    Ah, but then there's shared code and resources.

    Like *nix, Mac OS X has shared libraries. Apple designed a sophisticated set of libraries, collections, frameworks and other system resources for all apps to use. These are, of course, hidden from the user. Since Apple designed the whole system, they also get to define the environment, so their system is more organized compared to the hodgepodge of libraries you see under *nix (although those *nix libraries are there too, if the user installs the optional BSD Subsystem and Developer Tools).

    Fo sharing application resources, there's still the Application Support directory, and developers are actually using it these days. App code is kept very much separate from system code. IMHO it's a big improvement over *nix that way.

    --
    Learn from the mistakes of others. You won't live long enough to make them all yourself.
  82. Re:Why the fuck we have to drag around libraries?? by jmcneill · · Score: 1

    If a security problem is found in a function that would be found in libc, it is a hell of a lot easier to upgrade libc than to upgrade every single piece of software on your system.

  83. Keep It Simple, Stupid by Mister+Proper · · Score: 1
    There are three problems that have caused me problems when upgrading or installing a package:
    1. Broken (un)install/upgrade or configuration scripts.

      An ideal package management system would have no install/uninstall/upgrade scripts.

      Files should be copied and a number of update programs should be run (such as ldconfig) and that should be it. No per-package scripts would be involved. This would reduce the package maintainer's work too.

      There should also be no configuration scripts (like in Debian) too. Other packages containing configuration tools should exist instead, these packages would have a configuration relation that is queryable from a package server.

    2. The requirement of and old package, that has since been upgraded (with the new package being incompatible).

      This problem exist soley because binary compatibility isn't taken seriously. If a new version of a program or library breaks binary compatibility or an API (command line options in case of a program), then it should be possible to install these different versions in parallel.

    3. The requirement of a package, which files are already provided by a different package.

      If two packages want to install the same file, let them. Assume it won't break binary compatibility because that's evil anyway (see 2). A timestamp (based on CVS checkin for example) for each file in the package would solve the problem of having the old version of a file installed.

      An additional advantage of this would be that you could ship monolithic RPMs that contained all required files. No more dependency hunting!

    Oh, and pray there are no namespace clashes. This wouldn't be a problem if third-party apps were installed in /opt and only had LSB as a requirement, distribution files were installed in /usr and programs or libraries compiled by the administrator were installed in /usr/local. Then again, if people actually listened to this LSB convention, RPM would work perfectly already.
    1. Re:Keep It Simple, Stupid by Anonymous Coward · · Score: 0

      I AGREE TOTALLY
      The problem is that the current package system are to clever.

      The packages needs to be tight. And deb and rpm are both very sucky in this manner.

    2. Re:Keep It Simple, Stupid by Anonymous Coward · · Score: 0

      The golden rule is that packages must NOT have any scripting abilities.
      There should only be information on where/why the files should be installed in different places.
      And why should packages have a static place to be installed?
      Linux have a really functional ld function that take care of where libs is going to be installed. So you could have third party libs in a third party place. Name clashing would be the only problem (as you also state).

  84. Re:Just got ADSL, Just had a nightmare with packag by asv108 · · Score: 2

    An easy solution to avoid installing all those dependencies is to not install the dev packages unless you plan on actually writing kde apps which probably 99% of the people who install the dev packages don't want to.

  85. Not supporting non-LSB distros by fire-eyes · · Score: 1

    This is a great idea:

    "Depending on your distribution you've got KDE in /usr, /opt/kde, /opt/kde2 or god knows where. For packaging everyone decided to make a new name for the directory between /usr/src and /RPMS, you've got 'redhat', 'OpenLinux', 'RPM', 'rpm', 'packages' and those are just the ones I've noticed myself. We are getting to the point that we are seriously considering not supporting distributions that don't support the LSB. I've been very encouraged by SuSE's work in this direction, and disappointed at how bad Red Hat and Mandrake are."

    You'd think all the distros could get together and agree on LSB, or at least something. It really is needed, and needed right now.

    --
    -- Note: If you don't agree with me, don't bother replying. I won't read it.
  86. Re:There is nothing wrong with RPMs. Only packager by uhoreg · · Score: 2, Interesting

    The biggest problem I found with RedHat's packaging is that they don't do versioning properly. For example, I was trying to install GNOME a while back on an RH6.2 machine, and it needed [library] (I forget exactly which library it was) version x, but some other package on the system needed [library] version y. This meant that I couldn't install the prepackaged version of GNOME, and had to build it myself. This is just like DLL hell in Windows.

    On the other hand, in Debian, if you have two versions of a library, and their API's are incompatible (which is the only reason packages would need to depend on a specific version of a library), you will have one package called, say, [library]1 and one package called [library]2, and packages can just depend on [library]1 instead of [library] version x. This way you can have both versions installed at the same time, and everyone's happy.

    My second pet peeve with RPM is that you need to be root to build an RPM from source. In Debian, you just need to use "fakeroot", which means that the build process thinks you're root, but you can't accidentally do anything too nasty too your setup.

    --

    To get something done, a committee should consist of no more than three persons, two of them absent.

  87. Re:There is nothing wrong with RPMs. Only packager by Anonymous Coward · · Score: 0

    I'm glad someone is pointing this out. I'm sick of debianistas and slackware/gentoo (tarballs r00l!) clowns getting it mixed up. RPM is not at fault (though there are obviously things that can improve it)... the packagers are at fault. High-quality packagers are the key.

  88. 100% Irrelevant by MoNsTeR · · Score: 2

    Summary
    1. An RPM-based distribution is risky to upgrade.

    The author has a strange conception of how often "risky" distro upgrades are necessary. I've been using Turbolinux, and RPM distro, through versions 3.6, 4.x, 6.x, and 7.x. For each major revision, I've fresh-installed my box. But between major revisions, I can just d/l the rpms from the update directory and install them, no worries. Is the process for upgrading from RH X.1 to X.2 so different, so much more complicated?

    2. A more complex binary RPM package is often hard, if not impossible to install.

    The simple solution is, don't install 3rd-party binary RPMs. In fact, don't install 3rd-party binaries period, unless that's your only option. Any software that's too big of a pain to compile from source (like XFree) is going to be on your distro CD.

    3. The incompatibilities between different versions of the RPM Package Manager added another layer of complexity.

    Solved by above solution to #2. Half the problems the author has with RPM are caused entirely by the use of 3rd-party packages.

    4. The developers are forced to consider differences between distributions and create multiple binary packages.

    This depends on what kind of software we're talking about. If it's and end-user app, and the developers want new users to be able to install it, then yes, they probably have to work out multiple versions for each distro. But it seems they'd have to do that anyway what with different library versions and file locations in each distro. The fact that you can't issue a single binary tarball (term used generically) for all distros exists apart from any problems with RPM, it is a systematic problem with all distros.

    The author also seems to think Debian is a magic bullet. I quit using Debian right as apt-get was being introduced. At that point, the distro swelled beyond a single CD, which at the time was a horrendous amount of crap to come in-the-box. I also didn't have broadband. However, though hard drives have sinced passed 100GB and I have cable, I still don't like the "Debian way". I'm one of those people that wants something physical, even if I'll only use it once. It's not a big deal to download new versions nightly and just archive the packages on disk, but if that disk goes then I'll have to get my entire distribution over again, instead of being able to install from physical media. But questions of update method aside, the author also ignores the horrendous problems with Debian package dependencies. Debian packages have, shall I say, comprehensive dependencies. That is, the .deb for any given app is going to depend on every library that app can conceivably be linked against, regardless of whether you intend to use that function. This is what led me to start compiling stuff from source. And what happens when you get an app that requirse a library version higher than what Debian currently offers? You either have to wait, or install that library from source yourself. Excep that breaks hundreds of dependencies! Joy! The Debian way is not for everyone, and Debian fanboys are seriously deluded as to the relative merit of their system.

    The solution to RPM's shortcomings isn't to switch distros, or tack on apt4rpm etc, or anything as drastic as that. It is:
    1. don't use 3rd-party RPM's.
    2. upgrades...
    a. if it's mission-critical, test it in a lab first, for pete's sake
    b. if not, just do a fresh install, you learn something every time you do it

    I'll also plug a little program I use, called pack. Pack is a replacment for /usr/bin/install, that logs the files installed when you run make install. It's extremely handy for managing the apps you install from source. Unfortunately development was discontinued some time ago, not that it lacked any features or had any bugs, but it may be unavailable.

  89. HP axed calculator development a while ago by 0x0d0a · · Score: 2

    They plan to keep selling existing models, but I think that RPN on the consumer calculator is going to go the way of the dinosaur.

    Frankly, this move (and the others done to scrape together money, then merging with Compaq...WTF?) does a great job of showing that execs shouldn't recieve bonuses for closing mergers.

  90. well, there ya go by Ender+Ryan · · Score: 2
    Registry-like configuration is simply a very bad idea.

    How bout a gconf-ish tool, that doesn't use a stupid daemon that can break, keeps all files in xml or similar in ~/etc, or ~/gnome or ~/kde.

    I've had single crashes toast windows registries(not on MY machine, windows doesn't touch this thing), and a single crash(with a network home dir though, not *quite* as bad as windows) can break gconf.

    When will people fucking wake up and stop trying to copy MS, but do it right. Many MS ideas are simply Very Bad ideas in the first place and there is simply no "doing it right".

    The registry is the perfect example of this.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
    1. Re:well, there ya go by Mr_Icon · · Score: 1
      How bout a gconf-ish tool, that doesn't use a stupid daemon that can break, keeps all files in xml or similar in ~/etc, or ~/gnome or ~/kde.

      What if you mount your home dir over NFS and log in from two computers at the same time? Which preferences "take over"? Last saved? Unfortunately, a daemon-like process is necessary so you don't hose your config files in a situation like this.

      --
      If you open yourself to the foo, You and foo become one.
    2. Re:well, there ya go by Anonymous Coward · · Score: 0

      Last saved? Unfortunately, a daemon-like process is necessary so you don't hose your config files in a situation like this.

      Yes, last saved would be the only logical choice. The daemon like process just makes it more likely to hose the config files; the simplest file locking is all that is necesary, a daemon process just adds a useless layer of complexity that will never serve a logical purpose.

  91. DEBIAN IS DOOMED by Anonymous Coward · · Score: 0

    You can take debian and .deb and that hidious website and burn it for all I care. Its a void of a distribution that its totally and completely insignificant in the market today. If Debian and all its users dissappeared tomorrow, Linux would still continue to grow via RedHat which is the leading company that is truly pushing and innvoating Linux.

    And take RMS with you.

  92. Should be slashdot poll by Anonymous Coward · · Score: 0

    poll: Is RPM doomed?

    a) yes
    b) no
    c) CowboyNeal

    Don't complain about lack of options.

  93. Ximian by ajs · · Score: 2

    Ximian's Red Carpet is left totally out of the discussion of package management over RPM. I use Ximian on top of Red Hat at work, and am very happy to never download an RPM for the OS or Ximian's add-on dekstop other than through Red Carpet.

  94. Re:There is nothing wrong with RPMs. Only packager by Ranger+Rick · · Score: 1

    For the first, you're right, the debian way makes more sense. Mandrake went through a huge overhaul in the 7.x to 8.x series to use debian-style library packages, but RedHat has not done this yet.

    As for #2, you can most certainly build RPMs as a user other than root. The Mandrake RPM Howto has the most concise explanation of how to do it... it's only a couple lines in a configuration file in your home directory.

    --

    WWJD? JWRTFM!!!

  95. Get a focus man by dazdaz · · Score: 1

    This will piss people off, but I stand by it.

    RPM is for experts
    Linux is for experts.

    Just because we have better window managers that does'nt mean at the core that more people understand the internals.

    RPM is better than no packagaing system, and saves time, but with all software there is and always be caveats.

    Overall i'm quite happy with it, some minor tweaking like better handling of dependency's would be good, but I think the article takes it too far.

    Instead of putting down 1 system, why not work on something more important like package management convergence, either we all move to RPM or all to something different.

  96. Windows support still non-existant by infonography · · Score: 1

    When are we going to get support for Microsoft OS for RPM? It's long overdue. I have been waiting for OfficeXP in RPM format for sooooo long. Of course there is the problem of having Nimda distributed in an RPM package. Can anyone say cross contamination?

    --
    Sorry about the writing. Robot fingers, you know? Cliff Steele in DOOM PATROL #23
  97. Why I keep going back to Debian by teamonkey · · Score: 2, Insightful

    I've used SuSE, RedHat, Mandrake, Debian and a few others in the past. I keep thinking that a distribution has enough new features to warrent me changing, and then I hit the dependency problem and go back to Debian again.

    This happened a few weeks ago when I installed SuSE on my old laptop because of its PCMCIA support. In the end I has so much trouble finding a RPM and its dependencies, I gave up and stuck woody on there. It took longer to set up, but I just need a net connection and apt.

    I'm tempted to switch to Gentoo, but then there's always source DEBs, aren't there :)

    apt isn't perfect though. Over a modem it takes a few minutes to apt-get update, and hours to apt-get upgrade, but it does make it so much easier! Also, Debian are very anal about their distro, even about unstable. There are still no (official) KDE3 or Openoffice.org debs (mainly because they don't work on all the supported platforms), meaning that we do have to go hunting occasionally.

    --teamonkey

  98. Re:Why the fuck we have to drag around libraries?? by WetCat · · Score: 1

    Licenses such as LGPL encourage people to make libraries.

  99. Flying pigs by Graymalkin · · Score: 2

    There are two major problems with RPM and neither have to do with the underlying packaging system itself. The first is a lack of a coherent standard between all of the distros that use RPM as a basis of application deployment. The second is people using an RPM based system installing from a tar.gz.

    The reason FreeBSD and Debian's packaging systems run so well is package maintainers know where the hell shit is supposed to go. If I build a port or dpkg I know where my binary, its configuration files, and man page are going to go. I can also be reasonably sure that all the other software on the system has been using the same system as me so I can assume dependancies and whatnot will be taken care of. Some RPM based distros or just old ones people happen to be using may have subtle but important file system and packaging differences. I know I can build an RPM for a default RedHat build but do I know SuSE has everything in the same place? What about some RedHat derivitive or just newer or older version that switches shit around? Since I'm not going to install 20 different Linux distros I am going to build against what I'm using.

    The second problem crops up in a couple different ways. When a program is released without an RPM requiring users to either install binaries or source from a dumb archiver it breaks the rest of the RPM system. People end up with shit they cannot manage on their systems because the dumb archivers don't have any centralized management system. Hopefully there's a Makefile included to handle installation and uninstallation. Then there is the problem of people getting source RPMs and not knowing to fix the .spec file to work on their oddly configured system.

    The suggestion RPM based distros find a common ground is something that has been known for a long time but has yet to be effectively implemented. You can be different and unique by using Linux while still being practical and using a distro with a coherent design.

    --
    I'm a loner Dottie, a Rebel.
  100. The real problems in RPM by Captain+Zion · · Score: 5, Insightful
    I worked in the initial effort to port apt to RPM, and I can say that 80% of a smooth upgrade process is not in the package manager you use, but in the way you package your software. To allow smooth upgrades, you must package software with upgrades in mind, otherwise it simply won't work. Dpkg's design offers some advantages over RPM, but even so it's possible to have smooth upgrades with RPM.

    The author summarizes his article in the following points:

    • An RPM-based distribution is risky to upgrade.
      That is usually true, but it's not the usage of RPM that makes it so, but the lack of a strict packaging policy. Applying the Denian policy to a RPM-based distro can make it much easier to upgrade. On the other hand, using .deb without following Debian's policy would make a mess out of it.
    • A more complex binary RPM package is often hard, if not impossible to install.
      This affirmation makes no sense at all. If it was correctly packaged for your distribution, it will be as easy to install as any other package. If it was designed for a different distribution, it can also happen with dpkg packages. Please note that the package manager offers a mechanism to deploy binaries, all the rest is policy.
    • The incompatibilities between different versions of the RPM Package Manager added anotherl ayer of complexity.
      True. RPM is a mess in the point that it is not an implementation of a design, it is being continually modified in both design and implementation. RPM needs to be stabilized, continuing development should go to a different product.
    • The developers are forced to consider differences between distributions and create multiple binary packages.
      Not RPM's fault. It would happen with .deb packages if multiple major distributions used it with conflicting policies.
    From my experience in the past few years, here are the real issues with RPM:
    1. Binary packages are not compatible between distributions, unless they're statically linked and conforming to some kind of packaging standard. Dependency to libraries doesn't mean much: that particular library can be compiled with different options in different distributions. It's not RPM's. Assume that distributions are 100% compatible only because they share a package format is a mistake. Third-party, distribution-agnostic packages should obey a policy shared by all distributions, and that's one of the major points behind UnitedLinux.
    2. Allowing multiple version of the same package to be installed isn't a good idea at all. Packages are different in nature, some will allow multiple versions, others won't (e.g. binaries vs. runtime libraries). Doing so only makes the upgrade process harder. Debian simplified it using a good packaging policy. Note also that, even in runtime libraries, you should replace versions that have binary compatibility. If you don't explicitly set a soname in the package name, this information is not available at the upgrade time.
    3. Very confuse, non-intuitive pre- and post- install execution order.
    4. Transaction processing and dependency resolution is too slow, due to file dependencies. As stated above, file dependencies should not be abused, and that can only be enforced by a policy.
    5. Too many unnecessary or confuse packaging features, such as triggers. If you have a good packaging policy, you will never need triggers. Read the librpm sources and you'll find hard-coded dependencies for a number of packages. That's stupid, and a symptom that you've done something very, very wrong and didn't notice it until it was too late because you didn't have a packaging policy.
    6. Moving target. Please stop adding features to RPM and modifying existing behaviour, otherwise we'll be always fighting against the package manager while trying to make smooth upgrades happen.
    7. Immediate configuration of packages after installation in a multiple-package transaction. Dpkg's deferred configuration is a better strategy.
    Most of the other RPM problems everyone says when touting Dpkg's superiority are myths and can be emulated with RPM (even using Debian's alternatives or debconf with RPM -- diverts is something more complicated to emulate). Dpkg is indeed a superior package manager today, but what people usually see is result of Debian's policy and not a package manager feature per se.
  101. Re:There is nothing wrong with RPMs. Only packager by Motor · · Score: 2, Informative

    My second pet peeve with RPM is that you need to be root to build an RPM from source.

    No you don't! I regularly build packages from source in my home directory. I've occasionally had silly failures because the person who built the srpm hard-wired /usr/src/redhat into it... but that's (as the start of this thread tried to make people understand) the fault of the maintainer. Not the package format.

    --
    We all know that crap is king
    Give us dirty laundry!
  102. Re:Gentoo is a giant step, too long for mere morta by SpoonMeiser · · Score: 1

    Have you tried doing a minimal install, with ssh, but without X?

    Actually - I'm kinda bluffing that it won't work here, it didn't work on SuSE so I'm assuming it won't work on RH either.

    --

    --
    Hollywood representatives have publicly stated that skipping commercials is "stealing."

  103. Installing software that is not RPM is simple by dazdaz · · Score: 1


    Anyone do this? This creates a .RPM from source.

    $ sudo checkinstall make install

  104. Re:Just got ADSL, Just had a nightmare with packag by greenrd · · Score: 2
    Well, UNIXodbc is just for connecting to ODBC databases, I think, and there are some others that are unnecessary. Dependencies don't always mean "You absolutely must have it", they might mean "there is one obscure tool/feature you will never use in this package that depends on this lib". If you know you're never going to need to do that, you can just ignore it - resolve the dependencies you do need to resolve first, and then enable the --nodeps commandline option.

    If it breaks, you know you do need to install the missing package(s) after all - that's my approach :)

  105. RPM and how to solve the problems by rainGod · · Score: 1

    RPM does have some real problems. That doesn't mean that the problems could not be dealt with. The problem with one RPM not working on several distributions can only be handled by adopting standards. LSB is a step in the right direction but it does not seem to work quite yet. There should be standards for where to put specific programs like KDE and all RPM based dists should follow them. The best thing in my opinion is something like United Linux -- several distributions that use the same base system. That would be the only way you can make all distributions really compatible. I'm not saying all distributions should join United Linux, becouse IMHO they still have some serious problems, like not having a totally free (as in speach) base system. As for the problem with dependencies there are a few already existing solutions. One is apt-rpm and another is the GUI based RPM Wizard.

  106. Binary Distros Are Dead by FreeUser · · Score: 5, Interesting
    Well, not quite, but now that I've got your attention... :-)

    It isn't the packaging format really ... most of the issues raised are inherent to binary based distros, which with todays processors really should become a thing of the past.

    Source Mage and Gentoo[1] are two excellent source based distros that avoid these classes of problems altogether, and unlike RPM (or debs[2]) add no burden to the upstream software developer.

    Shawn Gordon of The Kompany touches on this when he says (from the article, you did read the article, right?)


    So rather than providing a myriad of different binary RPMs for the dozens of different Linux distribution, The Kompany, which is a commercial entity developing Linux applications, reluctantly decides to give away the source code to paying customers. [Emphesis added]


    Source based distros like Gentoo and Source Mage have packaging systems that automate the process of downloading, configuring, compiling, and installing all of the software on their systems from source (pedants will note there is the occasional binary package, e.g. NVidia drivers, but for the vast, vast majority of software my point holds). Indeed, this approach makes the packaging system itself less important (so long as it works properly) than the overall engineering and organization of the distro itself, and completely irrelevant to the software developer (as it should be).

    This has a couple of disadvantages, and a whole bunch of real advantages. So much so that almost no one who has used a source based distro will go back to a binary based distro once they've tried it, despite the cons (in fact, of the numerous people I know who've tried Source Mage and Gentoo, both very different from one another BTW, I know of not a single person who has gone back to their old binary favorite, be it Suse, Mandrake, Red Hat, or Debian).

      • CONS of source based distros

      • Initial install typically requires source to all of the system, which is generally downloaded from the net. I.e. in most cases requires a fat pipe for installation.
      • The installation is time consuming, due to the fact that each package must be compiled. For modern CPUs this isn't such a big deal (a day will suffice, most of which you can spend away from the computer while it chugs away), but for older CPUs like an AMD K6 233 I have, the initial install can literally take days.
      • PROS of source based distros

      • Updates and upgrades typically require much less bandwidth than their binary equivelents, as only the new package's source needs to be downloaded.
      • The software is compiled optimized for your hardware. Typically such systems run 20-30% faster than their binary equivelents, based on some casual benchmarking I and a few others have done.
      • The software is compiled against the exact library versions installed on your system, so no subtle incompatabilities arise due to slightly mis-matched binaries. This eliminates a whole class of bugs, and a whole host of problems that can affect stability and reliability.
      • In the case of Gentoo, you have very precise control over the configuration of your system, and what is installed vs. what is not, as well as where it is installed to.
      • In the case of Source Mage, the system is auto-healing, meaning that if and when a new library is installed and the older one removed, all packages that rely on that library are recompiled against the new library. This makes upgrades (on Source Mage) very easy.
      • Upgrades are very easy. In the case of Source Mage they are virtually automatic (you select the package to update and everything is taken care of for you), in the case of Gentoo they are less automatic and require some care, but are nevertheless easier than with any binary distribution I've ever tried (and I've used all the major ones at one time or another), and with Gentoo the flexibility of having multiple versions of libraries and even runtime apps is very useful.
      • Security is improved in one way: the ease and ability to keep up with security updates. Binary distros are still trying to get this to work smoothly (and mostly not succeeding, or requiring a tradeoff like Debian Stable, in which one must run 2 year-old software to enjoy that level of security). This is really a side effect of the previous point, but is significant enough to deserve sepearate mention.
      • The ability to run current hardware. Again, this goes back to the ease and stability of upgrades inherent in source based distros like Source Mage and Gentoo. Source Mage had X 4.2 out a day after its release, giving its users the advantages of all the new features and bug fixes it had to offer. Ditto for KDE 3. Gentoo had these packages out almost as quickly. This means users get the latest features, and the latest bug fixes, almost immediately, in contrast to binary distros that typically require 3-6 months (worse for some distros. I still recall the Debian developers irate answer to a user's question on when thye could expect X 4.2 support in the experimental version of Debian ("unstable"), to the effect of "leave me alone, it will be months!")

    There are numerous other advantages I could add here, but you get the idea.

    The entire article on the flaws of RPM might better be entitled "The Flaws of Source Based Distributions" which, in the age of Free Software and source code availability, coupled with todays fast processors, really ought to become a thing of the past. In fact, it wouldn't surprise me at all to see Debian, Suse, Mandrake, and Red Hat all embracing the notion of source-based distros sometime in the future ... as processors get even faster, the day long install (on my dual 1 GHz P3), which has already shrunk to less than half a day on the dual 2GHz Athlon I have at work, will shrink even more, to a couple of hours or less.

    And the advantages in speed, stability, and ability to keep current with new software releases in a timely manner will only become more acute as time goes on.

    So while binary based distros are by no means dead (despite my rather provocative headline), it is my opinion that the writing is certainly on the wall, and the ovservant person can already mark the shifting change in the wind.

    [1]There are other source based distros as well, including Linux from Scratch and Lunar Penguin, and likely others as well.
    [2]Though in fairness the Debian developers take up most if not all of that burden
    --
    The Future of Human Evolution: Autonomy
    1. Re:Binary Distros Are Dead by StarHeart · · Score: 1

      As for you statement about never going back, ha. I tried Sourcer before it broke up and about half way through the compile it didn't resolve some dependecy for the compile right and died. I went right back to RedHat outside of VMware.

      I have thought about using Gentoo. I am not that impressed with the ideas behind it's package management(I am not talking about the parts that download source). The biggest problem I forsee with switching to Gentoo(and just about any other distribution from RedHat) is the lack of automatic support I would instantly get Alot of developers, in the since that Many provide RedHat rpms. Otherwise I have to download source and mangle that in with whatever package building solution Gentoo uses in that case. The second biggest is how many packages doesn't Gentoo include in it's emerge repository? As many as RedHat? Almost as many as RedHat? Half as many as RedHat? More than RedHat?

      --
      Havoc Penington, the bane of my Linux desktop.
    2. Re:Binary Distros Are Dead by MSG · · Score: 3, Insightful

      Updates and upgrades typically require much less bandwidth than their binary equivelents, as only the new package's source needs to be downloaded.

      Source is almost never significantly smaller than binary, and often is bigger. Consider bash:
      -rw-r--r-- 26 root root 701486 Apr 16 21:14 /var/ftp/mnt/valhalla-i386-disc1/RedHat/RPMS / ash-2.05a-13.i386.rpm
      -rw-r--r-- 24 root root 2144412 Apr 16 21:14 /var/ftp//mnt/valhalla-SRPMS-disc1/SRPMS/bas h-2.05a-13.src.rpm

      the system is auto-healing, meaning that if and when a new library is installed and the older one removed, all packages that rely on that library are recompiled against the new library.

      In the case of rpm or dpkg, the system protects itself from damage caused by replacing a package that others depend on. Attempting to do so will result in a list of all of the packages which additionally need to be updated to work with the new library. If you're using apt (for dpkg or rpm), attempting to update a library will fetch binary upgrades for the packages which need it. Source Mage doesn't have the advantage here.

      ...the day long install (on my dual 1 GHz P3), which has already shrunk to less than half a day...

      Day long? I don't know many with anywhere near the time for that. I can install a Red Hat Linux server on a clean box in all of two minutes from initial power up to fully functional reboot.

    3. Re:Binary Distros Are Dead by mattdm · · Score: 4, Insightful

      Distros like Debian GNU/Linux and Red Hat Linux don't take a while to release (to take your example) the very latest XFree86 4.x because of some inherent slowness in putting together binary packages. It takes time because they test new releases before dumping them out there.

      I'm also skeptical about your casual benchmarks. On Red Hat Linux, for example, key system elements like the kernel and glibc *are* selected based on your particular CPU. Almost everything else is compiled with -march=i386 -mcpu=i686 -- that is, optimized for i686 but still able to run on older systems.

    4. Re:Binary Distros Are Dead by BrookHarty · · Score: 3, Insightful

      I tried gentoo also, wanted the speed, but 1.3a has gnome2 and gcc3.1 which I want (AA fonts!). Problem, compile errors. Gentoo has been pretty quick on fixing the errors, but your stuck till they fix it. Another down point, takes some pretty heavy bandwidth to do an initial install. Same problems with Ports on freeBSD, some of the ports are broken, so your stuck, and need little more bandwidth.

      Ive been using mandrake, and then I grab the cooker rpms, and try to figure out which ones to install for gnome2/gcc3.1. So far its been ok, but not an easy task. urpm mandrake tools help on which rpms have which files, but rpm should includes these. Ill nail my list of concerns, some are common.

      1. rpms should list dep rpms. (this is my major bitch)
      2. rpm installs should use the opt directory for major programs. /usr/bin and /usr/X11R6/bin is not a dumping ground.
      3. take bandwidth in consideration, dont make users download every locale, doc, extra themes. Allow a "lite" version to work. 85% of the public still use modems.
      4. allow updates for cooker/beta rpms. you should be able to install gnome2 with a gnome1 system, and have both work.
      5. update rpm databases with cooker rpms
      6. ease of use, how many commands do you really use in rpm? add/remove with verbose, list files in rpm, list deps. why would you use grep to search an rpm? rpm -qa | grep blah, rpm should include pattern matching.
      7. rpm database should include locations on the net for cooker, beta, etc rpms. An updated database. Microsoft updates work flawless with mirrors, we need this on linux distros. some kind of rpm -install-net bob.i386.rpm
      8. graphical/ncurses gui. ya ya, command line is king, but cant we pretty up the install process a little? Even if its a wrapper to rpm, it would go along way to make things easier.
      9. -ivvh options, when installing its nice to see which files are installed, and a progress meter, but can we meet somewhere in the middle, just list the files installed, and give a percentage number in front of the line? I hate scrolling back 40 pages on an install just to see the 10 lines of data I needed.
      10. group rpms in directories, even if its only 10 directories like slack or use gentoo sources, anything that has 20 plus rpms should have its own directory. I like how SuSE uses symlinks on its filenames, you could do the exact thing with 1 directory of symlinks point to the sub directories with the groups. Easy for a release.

      Anyone else notice the rpms that are current on rpmfind.net are from the PLD (Polish Linux Distribution)? Why are the Poles doing a better job than other distros! Mandrake makes 2nd on updated packages.

      rpm its not a program, its an adventure.

      -
      CS under linux, does your cheat scanner block linux? YES.

    5. Re:Binary Distros Are Dead by rseuhs · · Score: 2
      The software is compiled optimized for your hardware. Typically such systems run 20-30% faster than their binary equivelents, based on some casual benchmarking I and a few others have done.

      What benchmarking did you and few others do? (And what CPU do you use?)

      20-30% sounds a bit high for me.

      Thanks for any details.

    6. Re:Binary Distros Are Dead by kisielk · · Score: 1
      The software is compiled optimized for your hardware. Typically such systems run 20-30% faster than their binary equivelents, based on some casual benchmarking I and a few others have done.

      I'd really like to see some thorough benchmarks to back up this claim, preferably on a variety of hardware/architectures. I have yet to see any factual evidence that convincingly proves software compiled on my, or any other end-user's, system is any faster than pre-built binary packages compiled for i686. So any links to some benchmarks?

    7. Re:Binary Distros Are Dead by AME · · Score: 3, Insightful
      rpm -qa | grep blah, rpm should include pattern matching.

      Why, exactly. I think you've profoundly missed the point of the command line if you think that every utility that might benefit from pattern matching should reimplement it.

      If you really do that a lot and despise the extra typing, try something like this:

      alias findrpm="rpm -qa | grep -i"

      --
      "I have a good idea why it's hard to verify programs. They're usually wrong." --Manuel Blum, FOCS 94
    8. Re:Binary Distros Are Dead by drinkypoo · · Score: 3, Informative

      The FIRST machine takes about a day. After that you can build a stage3 ISO for your platform (the only one provided is i686, which will suit most people's needs anyway) which will give you a fully functional gentoo system. Then you can install all the packages you need as binaries built on other systems, as long as they have the same architecture, or a subset (IE, you can run the i386 binaries on your i686 or whatever, but K6 binaries won't run on your i686, or vice versa.)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    9. Re:Binary Distros Are Dead by Anomie-ous+Cow-ard · · Score: 2, Interesting
      most of the issues raised are inherent to binary based distros

      • Poor dependencies. Nope, not inherent, and can hit source-based distros too.
      • Poor upgradability. Nope, not inherent, and can hit source-based distros too.
      • Incompatible changes to the package format. Nope, not inherent.
      • Incompatible file locations. Nope, not inherent, and can hit source-based distros too.
      • Upgrades can break things. Inherent, but hits source-based distros just as easily.
      Ok, perhaps i missed something in the article. Where are these issues inherent to binary distributions that source distros don't suffer from?

      The software is compiled against the exact library versions installed on your system, so no subtle incompatabilities arise due to slightly mis-matched binaries. This eliminates a whole class of bugs, and a whole host of problems that can affect stability and reliability.

      At install. However, wither you lose this when you upgrade the library, or you have to recompile every single app that uses the library whenever the library changes. Damn, i would hate to upgrade anything X depends on in a system like that, 2 weeks until the upgrade is complete! (assuming my old box doesn't run out of disk space first).

      A non-stupidly-written library will be very easy to handle in dependencies (remember, minor version changes indicate backwards-compatible API changes, so app recompile shouldn't be necessary), a stupidly-written one somewhat harder. Either way, a good packaging system can easily handle this modulo human error. In fact, there's less chance for error when a few knowledgeable people handle all the compiling, as opposed to having everyone try it on their own. And when something does go wrong, everyone is likely to have the same problem, so more eyes can look for it.

      Upgrades are very easy. In the case of Source Mage they are virtually automatic (you select the package to update and everything is taken care of for you), in the case of Gentoo they are less automatic and require some care, but are nevertheless easier than with any binary distribution I've ever tried (and I've used all the major ones at one time or another),

      Somehow, i doubt recompiling everything from source (automated or not) is easier than apt-get dist-upgrade. Definately not easier than tracking unstable (as, based on your comments here, you're effectively doing with either of your favorite source-based distros).

      Security is improved in one way: the ease and ability to keep up with security updates. Binary distros are still trying to get this to work smoothly (and mostly not succeeding, or requiring a tradeoff like Debian Stable, in which one must run 2 year-old software to enjoy that level of security). This is really a side effect of the previous point, but is significant enough to deserve sepearate mention.

      Well, it would be deserving if it made any sense. You're comparing bleeding-edge source distros with tested-almost-to-the-point-of-absurdity binary distros. Try comparing to Debian unstable instead, it would be somewhat more accurate. You also neglect the fact that the updated code needs to be compiled eventually (since source-based pushes this to the user, they get 'release' ahead a little here), tested for breakage (from your description they just throw the source up without any testing, i hope this is wrong), packaged (a little more time here), and uploaded to the repository (which can take some time, depending on procedures in place).

      and with Gentoo the flexibility of having multiple versions of libraries and even runtime apps is very useful.

      I have multiple versions of many libraries on my Debian system here. A few apps too (e.g. gcc, autotools). I don't really need multiple versions of most apps. Does Gentoo make everything multi-versonable, even when config file formats (.foorc in $HOME, for example) change incompatibly and other sharing problems like that?

      in contrast to binary distros that typically require 3-6 months (worse for some distros. I still recall the Debian developers irate answer to a user's question on when thye could expect X 4.2 support in the experimental version of Debian ("unstable"), to the effect of "leave me alone, it will be months!")

      On the other hand, you're leaving out the part about X being a very large, very complex set of programs that needs quite a bit of time to package properly and ensure upgrades will actually function. You're also leaving out the part about the X packagers having to maintain the 4.1 version at the same time, especially since 4.2 cannot be tested well enough in time to make it into frozen. Further, you're leaving out the part where all this is done in the packagers' free time. And the part where the packagers made 'unofficial' packages available much sooner, so anyone who really wanted to could use them and help get things to the point of "doesn't explode on install". And the part where various patches from 4.2 have been backported to 4.1 (and the part where 4.2 contains patches originated with Debian's 4.1).

      All in all, you've severly damaged your argument with your poorly reasoned claims.

      --

      --
      perl -e'$_=shift;die eval' '"$^X $0\047\$_=shift;die eval\047 \047$_\047"' at -e line 1.

    10. Re:Binary Distros Are Dead by smallpaul · · Score: 2

      If binary distros are dead, does this mean binary-only software packages are dead? And if so, does this mean that commercial developers will abandon Linux and go to platforms that are more disciplined about binary backwards and forwards compatibility?

    11. Re:Binary Distros Are Dead by 7-Vodka · · Score: 2

      what are you fucking retarded? when you're transfering source, you can also transfer the diff instead of the whole thing. Try doing that with a binary package.

      --

      Liberty.

    12. Re:Binary Distros Are Dead by dossen · · Score: 1
      As for you statement about never going back, ha. I tried Sourcer before it broke up and about half way through the compile it didn't resolve some dependecy for the compile right and died. I went right back to RedHat outside of VMware.

      Did you try asking for help? While it does happen from time to time that a missing dependency slips by, it is my experience that it is fixed very fast, some times before you can even ask for help. And the error may even have been in the actual source. So had you reported it you may even had helped the author fix a bug in his latest version... (assuming you gave up right there). And god forbid you should figure out the error yourself (it might not be hard) and help the community or the author, whoever made the mistake.

      That is the way open source/free software works, people help eachother, instead of running away at the first sign of trouble. Think of where the linux kernel would be otherwise (hint: maybe on an old 386 in Linus' home (not knocking the man, but help from others made this sucker big and useful)).
    13. Re:Binary Distros Are Dead by FreeUser · · Score: 2

      What benchmarking did you and few others do? (And what CPU do you use?)

      Nothing terribly official (which is why I used the word casual).

      Time to compile the kernel, Time to load X, time to load KDE, the time it takes transcode to encode a 42 minute episode of Max Headroom into xvid format (that was one that experienced nearly 30% improvement over versions compiled on, and run on, Debian, for example).

      Architecture for myself is nothing special: a dual 1GHz Pentium 3, compiler flags:

      CFLAGS="-march=i686 -O3 -pipe"
      CXXFLAGS="-march=i686 -O3 -pipe"

      gcc 2.95 gave me roughly 20% speed improvements on every test over my old Debian install, and about the same over my old Mandrake install. gcc 3.04 gave me roughly 25% speed improvements, and gcc 3.1 gave me right around 27% speed improvements.

      I actually had the most dramatic speed increase (30.7%) on a dual Athlon MP box compiled with -march=athlon-mp using gcc 3.1. People can poo poo source based, optimized speed improvements all they like, but once you've tried them you'll likely notice the speed improvement yourself, and be reluctant to go back to binary based distros.

      Source based distros are a natural evolution, given the source availability of today's best operating systems and utilities (FreeBSD and GNU/Linux). They eliminate a whole class of problems we've all had to contend with, and give us dramatically better performance to boot.

      I for one will never go back, and everyone I know who has tried either Gentoo or Source Mage feels the same way, despite the fact that neither of those distros is anywhere near as polished as Mandrake, Suse, or Red Hat.

      --
      The Future of Human Evolution: Autonomy
    14. Re:Binary Distros Are Dead by MSG · · Score: 2

      Yes, you can get the diffs or update from CVS, but only if you're updating by hand. However, that doesn't save any time, just bandwidth. Updates by hand are going to be a HELL of a lot slower even than downloading all of the full source tarballs and building them automatically. Don't forget that with manual updates, you're also responsible for backing up your config files and restoring them after the update. Automated systems all (that I know of) take care of config files automatically.

    15. Re:Binary Distros Are Dead by rseuhs · · Score: 2
      Would you recommend Source Mage or Gentoo? What are the differences?

      Thanks again for helping an 'not yet'- source-based Linux distribution user ;-)

    16. Re:Binary Distros Are Dead by the_real_tigga · · Score: 1

      I just looked at my /bin and thought which apps would benefit from a speed improvement by self-compiling. zcat looks like a candidate.

      Come ON!

      Why would I want to make world?
      Why would I want a faster bash? Whats to tweak on tee?
      Do an optimized compile for your glibc, takes about 20 minutes, and virtually every app on your system will benefit from any speed improvements.
      Then perhaps some cpu-hogging multimedia apps you use often, (xine, lame(?)), Xlib, Qt, kdelibs or the gnome libs, and you will automagically have optimized most of the binaries you need.

      --
      my .sig is better than yours.
    17. Re:Binary Distros Are Dead by FreeUser · · Score: 2

      Would you recommend Source Mage or Gentoo? What are the differences?

      First: SAVE YOUR EXISTING XF86Config/XF86Config-4 configuration, and any other configurations that would normally be tedious to create. Source based distros are less polished, and do not configure X for you automatically the way Mandrake et. al. do. By saving this file ("cheating" if you will) you'll save yourself a lot of time on the back end of the source-based install.

      That having been said, it is a tough call. Both are excellent, but neither is very polished, and both are still in beta (and thus will have some bugs).

      Source Mage's main drawback is that it assumes the 'source-only' paradigm almost to a fault, and has no provision for allowing older packages to remain installed when a newer version is installed. I.e. when you upgrade libpng, the older library is removed, the newer one installed, and anything linked to libpng (that the packaging system "sorcery" keeps track of) is recompiled. This works wonderfully for source-based packages and makes a system very easy to upgrade and keep up to date.

      The problem is when one has 3rd party binaries that requires the older library, and one can't recompile the binary against the new library. The deveopers of source mage are working on versioning support to fix this problem.

      If you want a source based distro that doesn't involve a lot of manual work to get it running, and is almost a no-brainer to upgrade, you probably want to try Source Mage.

      Gentoo is a mirror image of the above. It supports multiple package versions being installed at the same time pretty cleanly, is less source-only centric, and is quite good at supporting legacy binaries (at the speed with which free software moves, any 3rd party commercial binary is likely to be "legacy").

      Upgrades on Gentoo require care. Unlike Source Mage you should not run around doing 'upgrade world' commands without examining them first and considering the consiquences. It still isn't as difficult and error prone as Mandrake and Suse upgrades have been (but is arguably about as error prone as typical Debian testing upgrades can be).

      In other words, its pretty safe and easy to upgrade, but not a no-brainer and, very occasionally, an upgrade run simply as is with no consideration can break things.

      If you want a very flexible system with excellent documentation, and don't mind performing the installation steps required by hand (but documented step-by-step by the distro), then you want Gentoo.

      I like them both. I find Gentoo a little more ready than Source Mage for production work, but Source Mage's "auto-healing" function is unequalled anywhere else. What is more, developers for each distro are working to address that distro's difficiencies, so in the long run both distros are likely to have most of the features of the other. In other words, I expect Gentoo will have Source Mage's autohealing functionality in the not so distant future, and I suspect Source Mage will have better versioning support quite soon as well.

      My advice? If you have the disk space and partitions available, install them both, try them both out, and pick whichever one you feel most comfortable with. Both are, IMHO, excellent.

      --
      The Future of Human Evolution: Autonomy
    18. Re:Binary Distros Are Dead by 7-Vodka · · Score: 2

      cool, sorry about the profanity and thanks for the cordeal reply. I was just waking up :-/

      --

      Liberty.

    19. Re:Binary Distros Are Dead by Anonymous Coward · · Score: 0

      Gentoo's Portage keeps the older packages' tarballs on your system, and updates them with small patches up to the current ebuild.

      Thus, rather than downloading the entire source to Xfree86 for a minor configuration change in the default package, you instead are downloading a patch of a kilobyte or two.

      The 'download the entire package, again and again and again' thing was easily the most annoying thing about Debian unstable. I don't mind it for stable, given that updates are so rare.

    20. Re:Binary Distros Are Dead by dvdeug · · Score: 2

      CONS of source based distros

      * You need a compiler and all the include files installed.

      * You often get random changes in what is built depending on what include files are installed where.

      * When libfoo1 and libfoo2 can be installed at the same time, but libfoo1-dev and libfoo2-dev have the same files, it's very hard to install packages where one of which depends on libfoo1 and the other libfoo2.

    21. Re:Binary Distros Are Dead by AxelBoldt · · Score: 2
      does this mean that commercial developers will abandon Linux and go to platforms that are more disciplined about binary backwards and forwards compatibility?

      Let's hope so.

    22. Re:Binary Distros Are Dead by StarHeart · · Score: 1

      I agree with your statements. It may have been something simple and may have been fixed in a newer release, but I was already not impressed with Sourcer, so I didn't feel compelled to go farther.

      --
      Havoc Penington, the bane of my Linux desktop.
    23. Re:Binary Distros Are Dead by Anonymous Coward · · Score: 0

      > 3. take bandwidth in consideration, dont make users download every locale,
      > doc, extra themes. Allow a "lite" version to work. 85% of the public still
      > use modems.

      SuSE uses sometime called patch rpms. These are very bandwidth friendly as they
      provide the patched files only.

      SuSE is using this mechanism with their latest release. Any pointer towards
      the inner workings patch rpms are highly appreciated!

      Can anyone taking part in this discussion, provide information about
      rpmlib(PatchRpm)?
      With this rpm lib it seems possible to "fix" an installed rpm package with
      a patch rpm. The patch rpm provides the patched files only. This is very
      very bandwidth friendly, but is messes up the dependency adminstration when
      using apt for example.

    24. Re:Binary Distros Are Dead by RAMMS+EIN · · Score: 1

      ``The software is compiled optimized for your hardware. ''
      Which also has a disadvantage. I download and compile Gentoo on my 686. Then I decide it's great, so I want it on my older box as well (I happen to have a couple of 486en around that I still use). Now I have to compile it all again because this old machine would choke on the binaries I have. Precompiled binaries are great because they save compile time, and I think that argument is strong enough to keep binary packages alive for a long time.

      --
      Please correct me if I got my facts wrong.
    25. Re:Binary Distros Are Dead by bozoman42 · · Score: 1

      http://www.debianplanet.org/article.php?sid=452&mo de=thread&order=0 Interesting article on building Debian from source. Best of both worlds?

    26. Re:Binary Distros Are Dead by bozoman42 · · Score: 1
      Oops. Excuse the /. newbie posting unusable articles.

      Debian from source

    27. Re:Binary Distros Are Dead by MSG · · Score: 2

      NP. So was I when I first read the article. ;-)

  107. RPM has always been doomed by Anonymous Coward · · Score: 0

    ever tried adding X to a non-X-installed redhat?

    don't. it will drive you insane.

    Rdhat's solution to the problem?

    USD$5 per month for online updates. marvellous.

    user's solution to the problem?

    millions of fake accounts on the "red hat network". jeez what a waste of time.

    and apt-rpm? well i tried that, and a dist-upgrade actually *REMOVED* apt-rpm, as the version of RPM that was installed was not compatible with APT-rpm, because redhat are constnalty changing the dependancies of packages to depend on higher versions of rpm to tie you in to their inferior package management system instead of addressing the real problem: rpm sucks

  108. No packages = dll hell by really_blurry · · Score: 1

    If we have no packages we return to dll hell. Or if everything is self contained we have a million copies of the buggy library installed. To solution we are looking for requires that something knows what's installed in the system.

    --
    > You've gotta sin to get saved.
  109. Re:Just got ADSL, Just had a nightmare with packag by moreati · · Score: 1
    But mandrakes packages have some rediculios deps, to install KDE 3.0.1 from there cooker(dev), it wanted me to update thinkgs like unixODBC and MYSQl


    Then don't do it! Cooker is not intended for grabbing upgrades from, it's a developer's playground (eg right now the whole thing is compiled with gcc 3.1, that definitely won't work on current releases). If you want KDE 3.0.1 you can get it at ftp.kde.org/pub/stable/mandrake/3.0.1/8.2/ (or better yet one of the mirrors). One set of mandrake 8.2 rpms, that don't have dependancies that aren't on the install CDs. I've used them, they work.

    I'm not saying rpm/urpmi is perfect, but any tool used wrongly will not perform as expected.

    Alex
  110. Re:Gentoo is a giant step, too long for mere morta by isdnip · · Score: 2

    You're right about the forums being friendly; I've been there, and they help. But asking a question and waiting a day or two for an answer can keep the pace pretty slow... I guess part of the problem is that Linux doesn't have a single standard for where things go, so whatever I might have learned doing Mandrake or Redhat doesn't necessarily help.

    Yeah, I did Slackware and Yggdrasil back in the 1993-1994 timeframe. But at this point I'm not looking for an educationally challenging experience. I'd like to see a Linux distro that, well, kicks Bill's butt. Or at least is an attractive enough alternative, so that commercial developers don't think that computing is a Redmond monoculture. And that isn't here yet. I appreciate how Gentoo's core users, a self-selected group who are a short step away from "Linux from Scratch", don't want easy. But why not build a friendlier system out of portage?

    And yes, the real problem is that linux distros don't have standardized places for things, or fully standarized ways of setting things up. And yes, there are at least some standards. And, as usual, the nice thing about standards is that there are so many to choose from. (Yes, that's supposed to be a punch line, but it's also true.)

  111. On stability & servers. by mindstrm · · Score: 3, Insightful

    First.. you mentioned it, but I'm not sure everyone got it....

    The 'Unstable' in debian terms does not mean the system is unstable, it means the package dependencies are unstable. It has nothing to do with running unstable code. It means that there is no guarantee a change will not break a lot of stuff and not be fixed for a while. It's not uncommon to try to install a package and find the dependencies don't exist yet... or they exist, but are an older version. That's what unstable is all about.

    Secondly.. regarding server stability.

    IF you build your kernels yourself (you should), and if you are aware of what services are running, system stability is not really an issue.

    I know that debian is pretty much the only system where I *don't* run hand-compiled apache, ftpd, etc. You should know what's up in your system. In this respect, no system is more stable than any other.

  112. Re:Gentoo is a giant step, too long for mere morta by mindstrm · · Score: 2

    Wow. Industry wide support. Yay.. just what I've been waiting for.

    A linux distribution so messy that you NEED an industry to support it.

    okay.. I'm mixing words.. but there is a grain of truth to it.

    To think, all these years, the hundred boxes I've run, it hasn't mattered.

    Supporting what, exactly? What is this 'industry' that supports RedHat but not Debian? I have yet to find a single piece of software I have needed that did not work under Debian.

  113. Link farms are viable by HalfFlat · · Score: 3, Interesting

    I guess that a side effect would be for the /usr/bin directory to become composed entirely(?) of links. Still, I've done that already when trying out a new version of Python, and it didn't seem to cause any problems. (I suppose that the other bin directories probably wouldn't be affected that way. Especially /bin and /sbin, since they might be needed when other partitions weren't mounted.

    I run a system based loosely on Linux from scratch, which adopts a link farm approach like you describe. My /usr/bin (and /usr/blah directories generally) indeed do have hundreds and hundreds of symbolic links. This probably impacts performance, but I've not noticed it on my K6-3/400 PC with old slow IDE disks. Using some simple perl scripts to create, retarget and clean up symbolic link farms, package management is simple. The key benefit is that the metadata associating a file with its package is the symbolic link itself - it is logically incapable of becoming out of sync.

    My work-around for the root file system is as follows. Each package I keep in /usr/pkg/packagename-version. Things destined for /usr/bin live in /usr/pkg/packagename-version/bin and so on. Things which need to end up in (say) /sbin live in /usr/pkg/packagename=version/root/sbin. I cp -a the contents of these root subdirectories into /.

    This mechanism is a comprimise, but works quite well. I can compare files in root fs directories against those in /usr/pkg/*/root to find which file came from which package. Updating is a simple cp -a.

    Why not do the same for /usr, and avoid the symbolic link farms? Primary reason is that while copying into the root fs those files that need to be there might take up 30MB or so, doing the same for /usr would mean an extra 500MB or more of duplicated data. The other reason is that for those packages which aren't too tied to their location in the filesystem, differing versions can be present on the system simultaneously.

  114. trouble free distribution? by Bladerunner2037 · · Score: 1

    The question as to whether we should migrate to distributions offering more sophisticated and trouble-free package management is presented. I have a solution.
    I got tired of 'an RPM for Redhat. An RPM for other distros. Or even a tar.gz for REDHAT and a tar.gz for OTHER distros' (see opera's download page for an example of what I mean.
    FreeBSD, baby.
    I've never looked back and wished I'd stayed with Linux.

    --
    -- oodabadabaY
  115. Re:Gentoo is a giant step, too long for mere morta by mindstrm · · Score: 2

    The lack of standards is good, in a way.

    From a learning point of view, as a hobbyist system, it's fantastic. You actually learn what is flexible and what is not. I've seen far too many Solaris admins or whatnot who just can't seem to think that something might be in a different directory.. and if it is, it was done 'wrong'.

  116. RPM sucks donkey nutzzzz by Anonymous Coward · · Score: 0

    RPM sucks now and has always sucked. I honestly can't stand anything other that a good old tarball. RPM takes the control out of the users hands, and isn't linux about giving users freedom. I have not used apt-get or the others, but I have had a number of run-ins with RPM and, yeah you guessed it,... it sucks. I hope it dies a horriable death.

  117. Re:There is nothing wrong with RPMs. Only packager by uhoreg · · Score: 1

    re: #2. Ah, I see. Too bad RedHat doesn't tell you how to do it. BTW, is that a new feature? My last experience with RedHat was 6.2.

    --

    To get something done, a committee should consist of no more than three persons, two of them absent.

  118. No No No No No by unformed · · Score: 3, Insightful

    Packages are way better than Windows setup.exe.

    1> Consistency, everything is installed the same way, select what you want, and hit install. (I use Mandrake, and rpmdrake makes it extremely easy to install packages...

    2) Non-bloatedness. I'd much rather have 20+ packages for KDE than 1 package. Yes, it'll take me a long time to go through them, but I select what I want, not what the developer thinks I want.

    One really cool part about Linux is that I can change --anything--. I don't have to have a graphical interface if I don't want, in which case I don't need to install it. If I plan on using Gnome as my window manager, but want to run koffice, I only need to install the kde-libs package, and don't need all of the kde binaries..

    When a small part of a large project changes, I only need to update that small part, instead of redownloading the whole package. Imagine having to download all of KDE to update a tiny KDE app.

    Uninstallation is also simple, select the box, hit remove, and there's -no other prompts-.

    BTW, There is an installshield for linux, it's any kind of RPM/DEB installer (RPMDrake, apt-get, alien, etc) and it's of a hell of a lot nicer and more consistent than any simlar idea on Windows

    1. Re:No No No No No by Apreche · · Score: 2

      None of those things contradict the idea of having an installshield and using a setup.exe type of installation system. Download quick time for windows. You can A) select what you want B)download only what you want C) it is very easy and consistent D)it updates all by itself. No big re-downloads of quick time. Uninstallation is also simple, add/remove programs. quick time, then 3 clicks.
      No, none of those are install shields in the style of windows. Those are seperate programs designed to look at any piece of software and attempt to install it. In windows each piece of software comes with its own installer. Each piece of software is different. Having one installer for every piece of software is a bad idea, because it wont always work. If it doesn't always work, it's worthless to me.

      --
      The GeekNights podcast is going strong. Listen!
    2. Re:No No No No No by vadim_t · · Score: 1

      Quicktime? I hate it.

      It's the same piece of Windows-style crappy installer that insists on grabbing my screen. Yuck.
      I don't want to select from the installer. I don't want to click. I want to be able to schedule a quicktime update if I like.
      It's not consistent. Quicktime installer doesn't look like the MS office installer.

      I've been using Debian. The installer works, I don't have to download it every time I want a package and I didn't have any problems with it. No reason why it shouldn't work, excepting an incompetent packager. InstallShield won't save you from that either.

      BTW, I guess you'll be very disappointed with Windows too, because it seems to be switching to using .msi files, which curiously look a lot like packages.

    3. Re:No No No No No by Webmonger · · Score: 2

      You have more control over your system if your system understands what's installed on it. Standardized systems like .rpm or .deb provide this. InstallShield (despite being used by 90% of Windows programs) does not. It turns each application into a big black box. Windows knows how to ask it to uninstall itself, and that's all it knows.

      Why do you think there are programs like Uninstall Manager? Uninstall utilities are designed to give the user greater control than application-provided uninstallers. They wouldn't exist if that control wasn't lacking.

      I can't count the number of times a setup.exe has offered or attempted to install old versions of Quicktime, Acrobat Reader or DirectX. This is because Windows has no standard way of knowing what packages are installed.

      With RPM, you'd have one package for each, you'd download the latest, and that would be that.

      With APT, you'd just do apt-get upgrade, and it would take care of the dependencies for you.

      The tasks that installers perform are well-known and easy to understand. Even if funky, bizarre commands are needed during the installation process to initialize the package, installers provide the ability to run scripts.

      There's no reason why a custom installer is needed, and there are a lot of good reasons why a standardized package management system is useful. But not all package management systems are equal.

    4. Re:No No No No No by Some+Dumbass... · · Score: 2

      C) it is very easy and consistent

      I think by "consistent" the author meant that different programs install in the same way. There are several different "InstallShield"-type programs for Windows. Furthermore, there are differences between the ways that different programs install. Some programs install in Program Files, others make a directory right off C:, and a few install in other places (C:\windows, for example). Even among the these groups you have variants. For exapmle, some programs install in a directory named for the program while other programs install in a directory named for the vendor. There are even some variations on this (stuff like C:\Program Files\Corel\Office\programname).

      A lot of this could be fixed, of course, if vendors stuck to some standard, like "Install in C:\Program Files\programname". But the same could be said for RPM as well.

    5. Re:No No No No No by unformed · · Score: 2

      A) select what you want
      Uhh...that's the whole basis behind rpms.

      download only what you want
      see above.

      it is very easy and consistent
      No, each installshield is different. Installshield is a *programming language* but as you're not a coder, you don't know that. Also, not all applications use installshield, because it is pricy as fuck. Some create their own installers; some use Wise, some use nullsoft's installation system, etc, etc. Also, you have to download a seperate binary for each program. An installshield executable add about a meg to the setup file. Not very efficient when the program is about 500k.

      Everything you want, rpmdrake does:
      1) You select a cooker/contrib/other http package repository. Update the file list, then select what you want to install/update. rpmdrake then automatically downloads all needed packages and installs them.

      2) You talk about how programs are different and need to do certain things differently. Yes, and thats why RPM supports running scripts during installation. Of course, being that it's powerful, you're allowed to disable running scripts for security purposes. You can also use cpio to extract all the files without installing them, so you can look at them yourself, before you go installing things while in root.

      Regarding, installers always working, if I remember correctly, things in Windows don't always work correctly. If I remember correctly, I got a BSOD while installing Win98. How convenient.

      You obviously don't use Linux, or if you do, don't know jack about. You've also stated that you're not a programmer, so you don't know how things happen behind the scene.

      That said, since you don't know what you're talking about, STFU.

    6. Re:No No No No No by Zaak · · Score: 1

      select what you want, and hit install
      I select what I want, not what the developer thinks I want

      That's fine, if you know what you want.

      Inexperienced users need to be able to install software. If they can't, we will never get any more experienced users, because they will give up on Linux and we will never have the privilege of having them as members of our community.

      Packages need to have reasonable defaults. Complex programs need a simple and user-friendly way to install a usable subset of their full configuration.

      Make the common case fast, and the uncommon case correct.

    7. Re:No No No No No by unformed · · Score: 2

      They do. Don't select "Expert" install, or "Individually select packages" in Mandrake's initial install.

  119. an interesting coincidence by MobyTurbo · · Score: 1

    Hopefully I won't get modded down for this... It's interesting that on the same day an article critical of RPM is posted to /., there's an article announcing the release of FreeBSD 4.6. :-) FreeBSD from what I understand has a very simple and powerful package management system; in fact it's the system that inspired Gentoo Linux. It also has a huge number of packages, comparable to Debian in scope; and has nearly 100% binary compatability with Linux to boot. It might be a good idea when you have some time on your hands to give it a whirl if you're tired of RPM...Don't pay attention to the "BSD is dead" trolls.

    1. Re:an interesting coincidence by UberNerd · · Score: 1

      BSD is dead :)!

  120. it's not a problem with RPM by g4dget · · Score: 2
    RPM is really no worse than DEB or any of the alternatives. If anything, its file-based dependencies keep you out of trouble a little more. RedHat wouldn't magically work any better if they switched to DEB.

    What makes DEB files work so well is that there is usually a single bottleneck that they all go through: the Debian organization. That's where they all get tested for whether they can be installed. You may notice that DEB files are almost never distributed separately. If they were, then users would have the same problems with them as they do with RPMs.

    Systems like Gentoo really don't solve the problem either. Using source merely reduces the frequency of dependency problems, not their fundamental source. That, again, may be a practical tradeoff, but you also pay for it.

    So, by all means, run Debian: it really does work better. But it doesn't work better because of the packaging format, it works better because of the organization behind it and because people generally just don't do third party package distribution.

  121. Another article by a clueless engineer by Brijam · · Score: 1

    The author is smoking crack if he thinks the mass of Mandrake users are going to switch to Gentoo. Any OS that is so arrogant as to demand a huge investment in learning idiosyncracies just to get it installed is doomed to be used only by the tiny fraction of people who have a lot of two things: free time and technical knowledge.

    One of the reasons us Mandrake users are asked to "download 2gb of ISOs" every six months is because Mandrake is a for-profit business. They are attempting to derive substantial revenue from new versions. And I gladly support them in this.

    About the only thing that could possibly alter this ISO downloading kick would be a change in the way North Americans are charged for bandwidth. Once per-meg limits kick in, and they will, the situation will change in a hurry.

  122. Re:There is nothing wrong with RPMs. Only packager by Ranger+Rick · · Score: 1

    Nope, it's been that way for quite a while... certainly since RedHat 6.0, but I'm pretty sure it was back as far as 4.x, even.

    --

    WWJD? JWRTFM!!!

  123. My one gripe by cjpez · · Score: 3, Interesting
    The one thing that I really don't like about any package manager is rigid dependency checking. It only really occurs when you try to act outside of the "accepted" package system. For instance, back in my Redhat and then Debian days, I was content to let the base system get installed by RPM or apt. I also loved, especially in Debian, the ability to use apt to just install an app I wanted to use. However, for a long time, I used the DRI XFree86 that came from CVS and got compiled by hand. So I was stuck with two options - either don't install the X packages, or install them anyway but install X by hand on top of it. In the first case, it was really difficult to install any package that relied on X. On RPM, I had to turn off dependency checking to do it (which meant that the primary purpose of the package management system was bypassed, IMO), and with apt, it was nigh-impossible (I never did figure out how to get apt to install something despite dependency issues). On the second case, whenever the package management system decided to upgrade my X, then my hand-installed stuff would get overwritten.

    What I'd love to have in a package manager is a more intelligent dependency check. Like, instead of just saying "I need this version of X," it would also just check for the existance of /usr/X11R6. Or if a package requires BerkelyDB, after checking "inside" the package manager, just try and see if there's a libdb.so somewhere in the LD search path. And then mark down "inside" the package management system that the "BerkelyDB" or "XFree86" dependency seemed to be fulfilled by a manual installation.

    That would be the ideal system for me.

    1. Re:My one gripe by jeboyer · · Score: 1

      The one thing that I really don't like about any package manager is rigid dependency checking.

      Without that, what's the point? Many of the problems people are complaining about are due to lack of this very thing--especially when using software under fairly heavy development that changes interfaces, etc. fairly rapidly, often without a major version change to clue in the end user. As mentioned in many postings above, much of the determination of whether the packaging system is a help or hinderance depends on the care the maintainer/developer takes in listing the dependencies. Here, I think Debian has (at least anecdotally) the advantage with the structured Policy and huge number of volunteer (and hence motivated) maintainers.

      However, for a long time, I used the DRI XFree86 that came from CVS and got compiled by hand. So I was stuck with two options - either don't install the X packages, or install them anyway but install X by hand on top of it. In the first case, it was really difficult to install any package that relied on X.

      One way avoid this is to use the equivs package. This allows you to generate a "fake" package that clues in the packaging system to your manually-installed libraries and such, so that dependencies can be satisfied. It may help you avoid the system wanting to "upgrade" over your hand-installed packages, as well.

      Note: I personally haven't used this, I just know of it's existence...perhaps someone with experience could say something about the ease of use/effectiveness?

    2. Re:My one gripe by Papineau · · Score: 1

      Solution: instead of just compiling by hand/installing, do a quick package around it, starting from the "official" package. Packages installed after that will have their dependencies satisfied, and as a bonus, you keep all info from applications/libraries you install by hand. You don't need a very complicated spec or rule file: just the minimum as which options to give configure, and what files to package (you can probably get away by using /usr only).

      Your suggestion about checking multiple things for a dependency is fine, but where to keep all the list linking files/libs/packages together? And let's say you installed X outside any package system (by hand). App Foo needs XFree86 4.2.0; it won't work with 3.x.x, 4.0.x or 4.1, because it uses some new mechanism to access resource Bar. How do you check for the presence of XFree86 4.2.0? By using strings XFree86|grep 4\.2\.0? Grepping through the doc (if you manage (no pun intended) to find it)?

      A packaging system will be useful if all your apps/libraries use it, and if all the packages you install use the same policy (like Debian does). As others have mentionned, Suse and RH don't have the same layout, so it's wishful thinking to hope that package FooBar, targeted for RH, will install and work flawlessly on Suse.

    3. Re:My one gripe by jsebrech · · Score: 1

      You should have just installed debian X and put it "on hold" (look it up, I've done it, but I don't remember how), and then installed your neato cvs X on top of that. That way the package system wouldn't have tried to upgrade X.

  124. rpm/deb solves the wrong problem by jilles · · Score: 4, Insightful

    The key to figuring out why a particular solution is not working is trying to figure out what problem it is trying to solve. Why do we need a package format like rpm? Because linux applications tend to consist of a lot of files which need to be put in the right places. Doing this manually takes time and is error prone. Types of files may be icons, images, executables, man pages, fonts, .... In addition to these files scripts are bundled that may do configuration, clean up after removal, move files to the right directory etc. Making this work requires that the creator of the package makes a lot of assumptions like where do icons go on this system? What is the right place for an executable? Where do the man pages go? How do I add a menu item to whatever window manager is installed? ...

    Efforts to improve package system have focused on providing answers to such questions: standardization. Standardization is good but if you take a step back you realize that it is not relevant to provide answers to these questions. Specifying that this or that icon should go to some kde specific directory is totally wrong. It is the task of the package manager to provide such information, not to require it. All the package should provide is an icon.

    A package is a set of files with some meta information, not a set of files that scatter itself all over the place based on some assumptions the package creator made. Given the meta information and the files the package manager should do the rest: copy files, insert menu items in relevant menus, etc. This is how apple bundles work. Another example of this approach is the war package format for servlet applications.

    There's a lot of debate on whether .deb or .rpm is better. IMHO they are equally flawed. The only reason .deb works better is because there are fewer .deb based distributions (i.e. debian and a handfull of very small debian derrivatives). The .deb format is not plagued by differences between distributions because there's effectively only one distribution: it avoids the issues rather than solving them. Try unleashing potato based kde .debs on the latest unstable debian and you will find yourself in .deb hell (ironically most debian potato users end up trying to do the reverse: install the latest kde .debs on a potato system).

    --

    Jilles
    1. Re:rpm/deb solves the wrong problem by mandrews · · Score: 1
      Because linux applications tend to consist of a lot of files which need to be put in the right places. ... ... Making this work requires that the creator of the package makes a lot of assumptions like where do icons go on this system? What is the right place for an executable? Where do the man pages go? How do I add a menu item to whatever window manager is installed?


      There are a few posts claiming a WinREG file will solve this problem. However it will cause probems of its own. One of the best solutions I have seen is included in wxWindows package. A configuration script which tells other programs what to use for compiler/linker options (I may have the precise syntax wrong):

      gcc `wx-config --cflags` -c my_prog.c
      gcc -o my_prog `wx-config --link-flags` my_prog.o

      This could also work for installer directories.
      cp my-gnome.icon `gnome-config --icon-dir`

      Again, for me this is an unsolved developer problem that the package managers are trying to manage.
    2. Re:rpm/deb solves the wrong problem by jilles · · Score: 2

      Eeeew!!!!, compile time fixing of deployment directories! Compilation != configuration management. The fact that it is for most unix programs is the problem, not the solution.

      A registry would be the simple solution. A better solution is an ldap configuration database. Information like where icons are supposed to go should come from such a database, not from compile time flags and certainly not from a binary package.

      --

      Jilles
    3. Re:rpm/deb solves the wrong problem by jsebrech · · Score: 1

      Actually, I suggest you follow your own advice and install potato packages in unstable. You may be surprised by what happens.

      As someone who runs a stable/testing/unstable hybrid system, I can assure you debian doesn't know these problems because debian package maintainers actually do their job, not because there is only one dpkg-based distribution.

    4. Re:rpm/deb solves the wrong problem by jilles · · Score: 2

      Been there, done that. Lets just say it does not work as advertised. IMHO it fully deserves the label unstable.

      --

      Jilles
  125. DLL Hell by sheldon · · Score: 2

    Wow, you've just described a huge aspect of DLL Hell on Windows...

    DLL Hell can also be solved by intelligent people setting up install packages... Strange how that never works very well in practice.

    1. Re:DLL Hell by wowbagger · · Score: 2

      Hence why I mentioned the Beast in one of my earlier posts.

      The reason I keep making this point every time it comes up is that I don't want to see people trying to solve the wrong problem the wrong way for the wrong reasons, and then wonder why things aren't any better.

      The "all in one Setup.exe" solution someone proposed above, the "Ditch RPM, use .DEB" crowd, the "Just Build From Source" - they all miss the point that the problem is the fact that package maintainers DON'T! They DON'T maintain binary compatability until the next major rev, they don't make their dependancies correctly, they don't keep their files neatly organized.

      I'm just afraid that somebody will bring out some new, shinier, bluer package system that "solves the problem" and everybody will leap upon it with glad cries until they realize that the problems are the same, because we didn't solve them in the first place!

      On LKML, Linus raked the DRI developers over the coals for not maintaining backward compatibility with the various version of the DRI. The DRI guys, in their (understandable) rush to make things stronger, faster, better didn't understand the importance of keeping compatibility. It took a BOFH to LART them into realizing the importance of that.

      I just home somebody will serve as that BOFH for all the package creators out there - be that BOFH the Debian crew, RedHat, IBM, or even The Dark One Himself.

  126. Re:There is nothing wrong with RPMs. Only packager by joestar · · Score: 3, Insightful
    I have to say I have never any problem with Mandrake 8.2 and URPMI while I use packages repositories made for 8.2 (= the 8.2 RPMS + 8.2 RPMS contribs + third party packages made for 8.2). So in this way it's really the same as Debian. Of course, sometimes when I try to install a development package from Cooker it will lead to issues, but as a normal user I'm not supposed to do that. And it's really very clean, see:
    1- Install a single package:

    # urpmi koffice
    % Total % Received % Xferd Average Speed Time Curr.
    Dload Upload Total Current Left Speed
    100 8461k 100 8461k 0 0 61958 0 0:02:19 0:02:19 0:00:00 63912
    installation de /var/cache/urpmi/rpms/koffice-1.1.1-14mdk.i586. rpm
    Preparing...
    koffice
    /* note: status bar removed because of the Slashdot junk chars filter */
    [root@europe ]#

    2- Install a package with dependencies :

    # urpmi php
    Pour satisfaire les dépendances, les paquetages suivants vont être installés (1 Mo):
    php-common-4.1.2-1mdk.i586 php-4.1.2-1mdk.i586
    Est-ce correct ? (O/n) o
    % Total % Received % Xferd Average Speed Time Curr.
    Dload Upload Total Current Left Speed
    100 481k 100 481k 0 0 56191 0 0:00:08 0:00:08 0:00:00 63824
    100 23587 100 23587 0 0 23469 0 0:00:01 0:00:01 0:00:00 59532
    installation de /var/cache/urpmi/rpms/php-common-4.1.2-1mdk.i58 6.rpm
    /var/cache/urpmi/rpms/php-4.1.2-1mdk.i586.r pm
    Preparing...
    php-common
    php
    [root@europe ]#

    3- Uninstall a package with depencies :

    # urpme php-common
    Pour satisfaire les dépendances, les paquetages suivants vont être désinstallés (1 Mo):
    php-common-4.1.2-1mdk php-4.1.2-1mdk
    Est-ce correct ? (O/n) o
    [root@europe ]#
  127. You don't need RPM... by fok · · Score: 1


    .. To mess up your box. Even doing things from source can gat you in trouble.
    RPM just speeds up the process! ;D

    --
    \m/
  128. Dude, get with the program by Brijam · · Score: 1

    So you'd have the entire world stick to a broken or painful standard so you can install by floppy? Are you kidding?

    And who cares if a tiny 100k program swells by a whopping 500k if it installs correctly. Wow, this might amount to a whole megabyte of wasted space on my 80gb drive!

    I encourage you to swing by your local computer parts store and check out prices on hard drives, tiger. While you're there, check into a new system for that 8088 you're using.

    1. Re:Dude, get with the program by vadim_t · · Score: 1

      I have enough with my 40GB disk. And in case you haven't noticed, I didn't mention hard disks at all. The problem is not what it takes when it's installed, but the extra crap that could not be there. I see packages as small as 10KB on Linux, but I've never seen such a small setup.exe. The problem is not that users have to spend 500KB more of disk space, it's that they have to downloading the same 500Kb piece of data for 20 programs with a 33K modem. What about ADSL, currently many providers have a bandwidth limit. 500KB can make a difference when you download a lot of software.

      And FYI on Debian I've yet to have problems with the package system. On Windows I do have problems, however.

    2. Re:Dude, get with the program by Brijam · · Score: 1

      Fair enough. And I agree that Debian's packaging system is superior to that of RPM-based distros for reasons noted elsewhere by others in this thread.

      However, your definition of "extra crap" is clearly not mine.

      I'm willing to pay more in terms of download time and cost to assure something works. I'm quite sure I'm not alone in this.

      And really, even downloading an extra 10mb on a 33k modem for those 20 programs only adds 41 minutes. Whoopdeedoo. How much time do you think you'd spend on chasing down just one dependency issue?

    3. Re:Dude, get with the program by Anonymous Coward · · Score: 0

      You're a hopeless loser.

    4. Re:Dude, get with the program by Anonymous Coward · · Score: 0

      Not long at all with apt-get.U prolly wouldnt even need to look at all.

    5. Re:Dude, get with the program by dossen · · Score: 1

      True, but if I was on cable that was still two maybe three mp3s more, without going over the cap ;-)

  129. Su much talking for nothing... by Anonymous Coward · · Score: 0

    Talking about standarts etc.. then the RPM problem, compiling isnt an option of the 99% of the poeple (other than us ;) Talk about SlugWare, ignored, i can't think of any other reason to talk about it, GET DEBIAN!

  130. Windows has us on this one. by jabbadeznuts · · Score: 1

    Well, I hate to admit it, but this area is one of the fiew that Windows is still king.

    Like in other replies, there is just one file to install anything on a windows machine. The .exe creates directories, updates as needed (the updates are included usually in the .exe), coppies files to directories, writes to the regestry, and cleans up after its self. The .exe installer has become _very_ efficent.

    I started with windows 3.11 and It's program install, initialization, and configs are very similar to linux. Under 3.11 the user installed somthing (which updated dependances automatically) and configured the .ini files to run without incident.

    Then came windows 95. Under 9x and NT4 the regestry was created. Gone were the days of an .ini file for each program. Now there was a central location for _ALL_ configurations of _ALL_ of the programs.

    Linux, however, lacks in this arena. To just configure _source_ to be ready to compile the user/installer must go to shell and run ./configure.sh And that's just to make source ready to go.

    RPMs are somewhat better. Generaly, under Mandrake, you simply double click on the RPM you want to install and enter root passwd and you get a nice GUI to walk you through it. Usually everything goes as planned, but some times there are hickups.

    Another shortfall of RPMs is the fact that when an RMP is downloaded, you _ONLY_ download the binary for the program you want to run. The RPM usually does not include updates to dependances, it expects you to fix them your self.

    So, my far fetched idiea is
    1) Have a central repository for _ALL_ configuration and initialization files. (like a regestry?)

    2) Some how include updates to dependances to _MAKE SURE_ the program runs.

    3) Have a standard that is agreed upon across the board for files to be included in an RPM and make them generic. ex. An RPM for Red Hat should also work under Mandrake. (I don't know if this is possible beacuse of file placement, directory, etc. discrepencies)

    Just my idieas. A lonf way off I can tell, but I think we need to get there so that linux can realy be an end user system that is friendly to Ubergeeks and n00bs alike. I'm just a high school student that probibly does not know what he is talking about very well, but I am the only person at school to run linix on my laptop and have it work for daily usage. (notes, web surfing, papers, etc.) _PLEASE_ corect me if I am wrong about anything here. I'd rather ask a dumb question than be an ignorant.

    Alex

    1. Re:Windows has us on this one. by groomed · · Score: 1

      The central repository idea has problems of its own. You cannot easily move programs and data from machine to machine when they depend on such a repository because the repository is (and has to be) unique from machine to machine. Manipulating the repository would require then new tools a la regedit.

      Really the problem here is not so much RPM per se. I think you could create a system that resolved all the dependencies for you automatically and I think it could be done with existing tools.

      The problem is simply that there is not a sole authority controlling the direction of Linux as a desktop platform. Red Hat comes closest, SuSE a good second. The problem is that it is simply not in the interest of a Linux vendor to make his system exactly the same as all the other systems; because then what would compel people to choose this product over that product?

      You might imagine Red Hat providing a for-charge service that resolved any dependancy problems on Red Hat distro's, but would that works for Mandrake users as well? As long as there are different distros there will be conflicts.

    2. Re:Windows has us on this one. by simm_s · · Score: 2

      A linux registry is a good idea and technically possible. The only problem is reality. Create your distribution with the linux registry and guess what? You have just now compounded the linux packaging problem by adding another incompatible package format. One must create a package does not need a package manager and has the functionality of a package manager.

    3. Re:Windows has us on this one. by abdulwahid · · Score: 1

      Well, I hate to admit it, but this area is one of the fiew that Windows is still king.

      Like in other replies, there is just one file to install anything on a windows machine. The .exe creates directories, updates as needed (the updates are included usually in the .exe), coppies files to directories, writes to the regestry, and cleans up after its self. The .exe installer has become _very_ efficent.

      Hmm...It isn't exactly a package managment utility though. Unless installation and removal are the only features that a package management system need to have. Windows installers don't give even half of the features that you would expect of a decent package management utility. Most notably, it can't even tell you what other packages rely on this package of which other packages this package relies on. Let alone other nifty features like md5 check sums, build and install information and a list of which files where installed where.

      Linux, however, lacks in this arena. To just configure _source_ to be ready to compile the user/installer must go to shell and run ./configure.sh And that's just to make source ready to go.

      This can not be comapared to package managment. The configure script is for building and was never intended for managing installs. It serves it purpose well allowing the same source code to be built under multiple different architectures and operating systems. A truly excellent utility

      Another shortfall of RPMs is the fact that when an RMP is downloaded, you _ONLY_ download the binary for the program you want to run. The RPM usually does not include updates to dependances, it expects you to fix them your self.

      That is not a shortfall in itself. A package should only contain the binary for the program(s) the package is for. Shared libaries that are built independently should be provided independently. The trouble with RPM is that although it will tell you the name of the thing that it requires it won't tell you how or where to get it. The way around that is to use an apt-get type wrapper around RPM because really that sort of information should be stored in a repository not in the package itself. Otherwise, when the name of a mirror site changes, all the distributed packages would have the wrong mirror name.

      So, my far fetched idiea is 1) Have a central repository for _ALL_ configuration and initialization files. (like a regestry?)

      You mean like /etc ? Seriously, the idea of one file (registry) conatining all the configuration is a nightmare. Especially the way it is implemented in windows. It is very difficult to edit the registry (for a layman that is) under windows and easy to accidently change the configuration for the wrong program. With all the configuration files in a standard place like /etc they are easy to find. Typically the plain text styled configuration files that are used under Linux are easy to change even for the layman (ok...forget sendmail).

      3) Have a standard that is agreed upon across the board for files to be included in an RPM and make them generic. ex. An RPM for Red Hat should also work under Mandrake. (I don't know if this is possible beacuse of file placement, directory, etc. discrepencies)

      A lot of that, although not RPM specific, is covered in the Linx Standard Base that once adopted will help a lot of the compatability problems across distributions.

      --
      perl -e 'print $i=pack(c5, (41*2), sqrt(7056), (unpack(c,H)-2), oct(115), 10);'
  131. SRPMs by Al+Al+Cool+J · · Score: 2, Interesting
    I'm amazed the article doesn't mention SRPMs which I've found to be a very reliable way of getting the newest and latest software to work on my Mandrake 7.2 boxes. It can be a pain getting all the *-devel packages you need, but once you do, you get your own nice shiny RPM that you can drop onto on any identical system that you're running.

    What scares me off using something like apt-get is that my home computer is on a dial-up. I don't want to unleash some automated system that's going to go and stupidly try to jam 50MB worth of packages down my pipe. With RPMs I can control how much gets downloaded and when. And I have the nice SRPM fallback when things don't work.

    How easy is Debian to maintain on a dial-up?

    1. Re:SRPMs by robian · · Score: 1

      You configure sources for apt.

      If you have a deb repository locally you won't need to go online..

      If you have the bandwidth you only need 20 or 30 MB for an initial install and then apt-get the rest from a mirror. For a dial-up user getting an ISO is the best way to install Debian.

      Apt-get warns and asks for confirmation in advance about the amount and size of packages it will need.

    2. Re:SRPMs by Anonymous Coward · · Score: 0

      What scares me off using something like apt-get is that my home computer is on a dial-up. I don't want to unleash some automated system that's going to go and stupidly try to jam 50MB worth of packages down my pipe. With RPMs I can control how much gets downloaded and when.

      That's no problem for apt-get, it will ask you for confirmation if it finds it hasn't met dependcies and will ask you to confirm if you want to upgrade. I would also highly recommend, if you're new to debian apt-get to install 'aptitude' which will show you, in a tree like fashion and color-coded highlited, all the dependencies needed for the specific package you want to install. And if there are packages you don't want to install you can hold, delete or free up those packages to install later or not install.

  132. It is not a problem with RPM by Priyadi · · Score: 4, Insightful

    If you take a look at comparison of various package management (http://www.kitenet.net/~joey/pkg-comp/), it is clearly shown that RPM and DEB have almost the same set of features.

    So, why installing an RPM is a more hassle that installing a DEB?

    Because there are more distributions using RPM, while DEB is used almost exclusively on Debian. Yeah I know there are Progeny and Storm, but they are not very popular and are using a sizable part of Debian itself anyway. When somebody decides to make a DEB package, he will make sure his package will work with Debian (and Debian only), and he can be sure that everyone that downloads his deb will be installing it on a Debian system. But when another person decides to make an RPM package, with current situation it is a very hard job to make sure his package are compatible with various version and various distribution.

    This problem will be gone if every RPM based distro are following the LSB. Even if they are all following the LSB very religiously, it is still possible to encounter this sort of problem. Say a person is using a LSB 1.0 compliant distro, but he downloads an RPM package compiled for LSB 2.0, it still won't install on his system. But still LSB is a lot better than forcing a distribution monoculture to all Linux user.

    1. Re:It is not a problem with RPM by prockcore · · Score: 2

      "So, why installing an RPM is a more hassle that installing a DEB?"

      Is it? Or is it that RPMs are just more widely used?

      Here's an example, one of my coworkers was installing Debian 3.0 Untested on a box.. for some reason, Debian did NOT add the untested paths to apt-get's config files. Therefore, whenever he tried to install new software, it wouldn't get the proper debs for his system.. there were ludicrous things like not being able to install mysql-client because it relies on perl5.0.5 (he had 5.6 installed) As far as I know, 5.6 is backwards compatible with 5.0.5. But Debian still insisted that 5.6 wasn't good enough and wanted to uninstall it and install 5.0.5

      Of course this nightmare was all fixed when we realized that it wasn't getting the untested packages but rather the stable packages.

      Now you can say blah blah blah that's why it's untested.. but if you actually looked at my example, you'd see that mysql-client from STABLE requires perl5.0.5, not perl5 or above.. but a specific version.

    2. Re:It is not a problem with RPM by cockroach2 · · Score: 0

      it's "testing" or "unstable", NOT "untested" - and of course a debian installation which is soon to be "stable" won't add "testing" (or "unstable") sources to apt!

    3. Re:It is not a problem with RPM by bruckie · · Score: 2
      This problem will be gone if every RPM based distro are following the LSB. Even if they are all following the LSB very religiously, it is still possible to encounter this sort of problem.

      Um... were you drunk when you wrote this?

      --Bruce

      --
      There are 10 kinds of people in the world: those who understand binary, and those who don't.
  133. Re:There is nothing wrong with RPMs. Only packager by Webmonger · · Score: 3, Interesting

    Actually, there is a limitation of .rpm that hinders the APT4RPM functionality-- file dependencies. .rpm archives depend on specific files, while .debs depend on specific packages. This can be worked around, essentially by creating a list that maps files-that-are-depended-upon to packages-containing-these.

    But yes, there is at least one technical superiority of the .deb file format. I have never heard any argument that .rpms have a technical superiority to .debs, so I have to wonder: why don't RPM-based distros don't switch to deb? They could just adopt the .deb file format as RPM 5, make the tools speak deb, and stop worrying about it. They'd serve their users better and reduce duplication of effort.

    Or perhaps users should take it into their own hands. Using tools like 'alien', it might be possible to take the apt4rpm approach one step further-- create an unofficial 'Redhat .deb' distribution-- the same packages as Red Hat, but in a different package format.

  134. KDE is not gnome by rseuhs · · Score: 3, Insightful
    Can the RedHat users please stop claiming that KDE is cloning the registry?

    KDE users configuration files like most other Unix-software.

    There are some things debatable about the location of these files (in $KDEDIR/share/config and ~/.kde/share/config) but thankfully it's not even close to being a registry.

  135. Great Idea, but. . . by Anonymous Coward · · Score: 0

    Great idea, but the foundation of the complaint of Apreche is that he wants MS-style autoplay without any of the configuration management downsides of Windows.

    It can't be done because this desire is unreasonable. It is not too much to ask somebody about to install software onto his machine to read installation instructions and at least grossly understand the process. If the user refuses and the install goes badly, what then can you do? Nothing.

    This kind of problem resides between the chair and the keyboard, and any time spent addressing it beyond a quick slap to the back of the head is wasted time.

    In computer systems management, there is a strong correlation between authority and responsibility. Or, if you'd rather: "With great power comes great responsibility."

    The user must understand this. A user who will not understand this gets what he deserves, and his resulting whines should be ignored. This kind of user should just wait for the next update of his distro. Those willing to learn just a little can get their apps earlier.

    That said, yours is still a kickass idea. XML is a cool idea, but I think that this could start with a checkbox front-end to autoconf-produced configure scripts. So many of the "with-*" and "enable-*" seem to be common across different packages. If it catches-on, either maintainers could add options for user-friendliness, or third parties could build the flesh-out for user-friendliness, much like contributors often create and provide binary packages in different formats.

  136. There's a utility called alien by Accelerated+Joe · · Score: 2
    You wrote:
    I've never had a problem locating a .rpm though.
    Then you should look into a program called alien. I've used it to install some things that didn't even have public source (like ViaVoice from IBM). It was totally painless. Too bad you gave up on Debian so soon. :-(
    --
    They who would give up an essential liberty for temporary security, deserve neither liberty or security
    1. Re:There's a utility called alien by binner1 · · Score: 1

      I actually used Debian for over a year...and I did use alien every now and then. Sometimes it worked great, and others it was so-so.

      I love Debian, but until people start releasing their software packaged as a .deb, I'm gonna stick with a RPM based distro for now...even with the problems that it entails.

      -Ben

  137. RPM MUST DIE! by Anonymous Coward · · Score: 0

    I absofuckinlutely HATE upgrading an RPM-based system; it's why I moved to Slackware and eventually to FreeBSD.

  138. Re:Well, DUH! :{'D by Anonymous Coward · · Score: 0

    Man, you've got a little booger on your mustache.

  139. The article doesn't answer point #1! by Papineau · · Score: 2

    All the solutions the author seems to prefer (basically, switch to another distro, not RPM based, or use tools which need some distribution repositery to handle dependancies) doesn't answer point #1: How to install a random binary RPM which has dependancies not present on the system?

    Switching distro might help you about the "dependancy hell" of RPM, but then (as the author notes) you're at the mercy of the packagers of your distro to make it available to you. What's the difference between that and being able to only install a RedHat compiled RPM on a RedHat system? Or a Mandrake compiled RPM on a Mandrake system? You still have only one source of packages which "will work". It might be a bit easier with tools like apt-get, urpmi, apt-rpm and apt4rpm, but your distro (or some other repositery) still needs to manage the dependancies during the build and install processes. And they select what you can install (by rendering it available or not).

    I don't think the problem lies in the RPM format itself (although, again as noted by the author, RedHat has sometimes changed the format without backwards compatibility). What's needed is more resemblance between the layout of the filesystem, like what the FSB and LSB (although there's more to it than only FS layout) try to put forward. That's what will make it easy to install random binary packages found on the Net, which is the core of the article.

    To the contrary of M. Shawn Gordon (the Kompany), I don't see a problem with different places (among distros) to put the same software. If it's something that can be in multiple places, there's usually a foo-config script which will tell you everything you'd like to know about it. The packagers just need to learn not to hardcode paths if it can be different among users, and use the foo-config method instead.

    And what's the problem with putting the RPM build area in /usr/src/what/ever? Once it's installed with rpm -i, or even built from source with rpm --rebuild, the spec file doesn't need to know where it is, it will be in the right place.

    Personally, I use RH since 4.2. I just upgraded from 7.2 to 7.3 yesterday. I admit I didn't used the normal way (which is reboot with install CD, choose upgrade), but the longest part was still to actually install the packages from CDs. And I've got quite a bit of packages manually upgraded (normally rebuilt from source by me) from the original developers rather than RH. If those where more recent than what RH packages, it kept what was on my system before (eg, Mozilla 1.0.0 rather than 0.9.9).

    Also, making a spec file is rather easy. And if you use the %configure et al. targets rather than directly call configure, a whole lot of options about the placement of files will be fed to configure for you (depending on your particular distro). Not sure which version of RPM introduced it, nor if other distros use it besides RH, though. There's even a way to build an RPM from a source tarball (although I'm not sure if you need a spec file inside the tarball or not, as I never used that way).

  140. ftp.kde.org/pub/stable/mandrake/3.0.1/8.2/ by oliverthered · · Score: 2


    I ended up getting most of my packages from there, but there's no kdevelop or koffice in the 3.0.1 directory for mandrake.

    If there was a reasonable standard base I would have used a suse packege.
    Would have known that the packeges were at ftp://whereever,

    And that still leaves the question open , why MYSQL?

    IMHO RPM's need a MSCW rating system for deps.
    Must have glibc>34
    Sould have ....
    Would like to update/install mysql as well.

    --
    thank God the internet isn't a human right.
    1. Re:ftp.kde.org/pub/stable/mandrake/3.0.1/8.2/ by moreati · · Score: 1

      The kdevelop and koffice rpms are not directly related to kde, so the versions in /pub/stable/mandrake/3.0/8.2/ should still be good.

      That there the locations of many upgrade rpms is too haphazard is true. Good places to watch out for new packages, I find, is mandrakeforum.net, and pclinuxonline.net which are the stomping grounds of a rather good packager - texstar. IIRC there was for a while, an unstable directory directly above cooker on many mirrors, perhaps that could be ressurected.

      (Highly personal opinion) Suse packages suck, why they can't include the version of the package in the file name is beyond me.

      I believe the new kde database class might have been responsible for the MySQL dependancy.

      That rpm would benfit from a graded dependancy system [required, (highly) recommmended, suggested, would be nice,], I totally agree with.

      Alex

  141. Fix, don't criticize. by IGnatius+T+Foobar · · Score: 2

    The reason RPM is the most popular package manager out there right now is because it's the best. Sure, it's got some problems, but writing a whiny opinion piece isn't going to solve them. If something better gets written, something better will get used. It's that simple.

    By the way, as someone mentioned earlier, dependency hell is created by poor packages. LSB should fix that; keep in mind that on an LSB-compliant system you will be able to look for a single dependency called lsb-1.0 (or whatever future version) and if it's found, you may safely assume that the system has all of the components which make up an LSB-compliant installation (libc, libz, etc.). That by itself should alleviate a lot of installation headaches.

    In the future, though, I think we're going to see a lot more automated install programs. Ximian appears to do it seamlessly (unfortunately, I can't use it because I prefer KDE). I've also seen others, such as OpenNMS, do the same thing. And then of course there's the online version of CPAN that just goes out and grabs whatever it needs.

    I realize that the ubergeeks among us will scream bloody murder at the thought of an installer program updating and installing libraries without asking permission. For those of us with that concern, we'll continue building stuff from source so we know exactly what's there. But for Linux's increasingly less techno-savvy user base (like it or not, folks, the Windows world is slowly starting to wake up and move to Linux) you have to make it easy.

    --
    Tired of FB/Google censorship? Visit UNCENSORED!
  142. Re:There is nothing wrong with RPMs. Only packager by mandrews · · Score: 2, Informative

    I must agree whole heartedly with this comment.

    I'm a redhat user myself, and have tried downloading binary RPMS and seen RPM-hell first hand. I found the same solution: download the source RPMS!! A quick rpm --rebuild package.src.rpm will usually do the trick.

    I have seen some cases where this does not work (some developer wants the latest ALPHA version of some library). For this I blame the developer, not the distro.

  143. RPM is ok by lameruga · · Score: 4, Interesting

    Yeah, there is couple of problems with RPM, but:

    - it's easy to do upgrades (on RedHat, don't know about others) I do it several years from remote location, and only once it failed because of bad LILO configuration...
    - you always know which file belongs to which package
    - you can verify checksums of all installed files
    - dependencies is not a problem - it's a solution to the problem
    - it's simple to locate needed package from distro
    - if you're trying to install someone else package, you'll better to get sources, and build rpm package youself
    - I agree that it is bad idea to distribute rpm binaries only, so best is to post tar.gz source, rpm packages are optional (it is good if source includes .spec file)
    - and if you don't like dependencies, you can always use --nodeps :)

    P.S. When I start using linux in 1995, first distribution I installed was Slackware, and after one year I switched to RedHat.
    Slackware is a good, but you have same dependency problems (and you even don't know which package to install in case of such problem, lets say then installing some binary package). It also much harder to upgrade it....

    1. Re:RPM is ok by Anonymous Coward · · Score: 0

      Actually Slackware's pkgtool's work just fine for me to upgrade the entire distribution. No hassle whatsoever!
      In terms of dependencies...usually the program itself will tell you in numerous ways what it needs. For example, I did installpkg galeon on Slackware and the program failed to start because a library wasn't found. I just installed whatever it needed and fortunately the Slackware packages are labeled intuitively enough to make it straight-forward.

  144. Possible replacement for pack by Anonymous Coward · · Score: 0

    http://checkinstall.izto.org/

  145. In Prase of RPMs and Mandrake by Anonymous Coward · · Score: 0

    I've been using RH/MDK for about 4 years now, and have had my share of RPM nightmares. Urpmi, while it is a good idea, has ruined my system (kernel panic on reboot) before, so I don't trust it. If I have an RPM to update, I *always* go to a RPM FIND site, then download/install the Mandrake or Mandrake Cooker version; then it just works. I've been much happier with this setup.

    I use Mdk at work, and my wife runs it at home fulltime, and we're happy with it. After running it for so many years, I'm ready for more of a challenge, so I'm now building a box just to install/learn Gentoo. Once we're comfy with that, that will be our primary Linux. I can't wait, it seems like Gentoo is just the right Linux for ppl that still remember the thrill of getting RH 5.0 up and running!

    Phil

    1. Re:In Prase of RPMs and Mandrake by Anonymous Coward · · Score: 0

      Hmmm...make that "In Praise of...", sorry about that.

      Phil

  146. Re:My Linux Experiences... by Anonymous Coward · · Score: 0

    Switching to Debian doesn't appear to have helped you with your spelling.

    Try SuSE, perhaps you'll do better. It has some nice spell checker with the mail programs.

  147. I'm a newbie, and I dont use them by fmita · · Score: 1

    I've been using linux for under 5 months and I rarely ever use RPM's, even though I run RedHat. I prefer to compile programs.

    1. Re:I'm a newbie, and I dont use them by daveman_1 · · Score: 1

      Preach on newbie! Someone ought to mod this up. This was the author's exact point, which the experienced RPM bigots out there continue to criticize, claiming you silly newbies are just dumb and that RPM is not the problem here. Some people will never understand the concept of 'ease of use'.

      --
      Russian Russian Russian RussianDollSig DollSig DollSig DollSig
  148. Many Errors by harlows_monkeys · · Score: 2
    The article is riddled with errors. Here are the ones I found in the first pass.

    Section 1 complains about failed dependencies when installing binary packages. Failed dependencies are a problem with any packaging system (or source distribution, for that matter) that does not include everything in the package.

    Section 3, claims that RPM creates fragmentation between distributions. No evidence is offered. The author appears to be making the mistake of assuming that since several distributions that use RPM are different, RPM must be the cause.

    Section 3.1, claims that upgrading is not supported with RPM, but is with DEB. This will come as a great surprise to the hundreds of thousands of Linux users who regular update everything, including kernels, via RPM. Not fully sure how the author got this part so wrong, but I think part of it is that Debian is not commercial, so when they say something is "supported", that means something different than when, say, Red Hat says it.

    Section 3.2, complaining about different versions of RPM causing problems. Changes quote about why Beehive doesn't use RPM or DEB to just talk about RPM. Greatly exaggerates the problems that were caused by the one time RPM underwent a change that was not backward compatible. Again attributes to RPM along problems that every packaging system has.

    Section 3.3. Continues blaming RPM for the differences between distributions.

    It basically continues on that way, making these same mistakes over and over, so I'll stop now.

  149. Compared to Windows. . . . by Com2Kid · · Score: 2

    On Windows2k+, given a trusted vendor, I can click on a web link, click I agree, and a few minutes later have a new piece of software setup and all dependencies configured and taken care of for me.

    The *nixs still have problems agreeing on a standard path format. . . .

    (though granted MS's solution to this matter is not quite so. . . nice. Heh. They just support all of the different oddball paths ever used. :) Thus the prevalence of a C:\windows directory on NT installs, heh, sooner or latter some application starts installing crud to there. :) )

    1. Re:Compared to Windows. . . . by kistel · · Score: 1

      Right, but it's not that hard to conform to all distros if 'all' means 'one' :-)

    2. Re:Compared to Windows. . . . by Com2Kid · · Score: 2

      Right, but it's not that hard to conform to all distros if 'all' means 'one' :-)

      You kidding?

      C:\Windows\Games

      C:\DOS\Games

      C:\Games

      C:\Program Files\Games

      C:\Program\Games

      C:\\Games

      or for shared libraries

      C:\Program files\

      C:\program files\Common Files

      C:\Winnt\System32

      C:\Winnt

      C:\Windows

      C:\Windows\system

      C:\Windows\System32

      C:\Winnt\System

      and likely a few that I have forgotten about.

      Heck, IE stores temporary files in something like 3 different locations, and it is a bundled application! Some other applications commit far worse horrors then that (such as using the root directory for temp files. . . . ::shivers:: )

      The fact that -anything- works at all is a minor miracle, that it works well enough for stuff to get done. . . . amazing. ^_^

  150. We don't need no stinkin' package manager by shoppa · · Score: 2
    IMHO while package managers do have some use, they are only for the newbies who don't know how to build software from source. On any recent PC-clone most packages configure and build in seconds (OK, it takes more than a couple minutes to build the gcc suite or glibc from source on a Pentium IV, but not much more!), and you don't have to deal with the pain of needing specific shared library versions or pathnames that don't mesh with your own.

    Package managers are intrinsically against what Linux is all about: putting control in the hands of the little guy. Building everything from source is how you get (and stay) in control.

    1. Re:We don't need no stinkin' package manager by Cheeze · · Score: 1

      why build from source? if you don't modify the source in the first place, you will gain at most, marginal speed improvements by compiling by source. what you will do is waste bandwidth and time compiling something for which you can get a standard binary. i am mostly talking about common utilities like the binutils, traceroute, ping, netstat, and other common utilities. these are programs that almost never have a bug fix, and are pretty much optimised as good as they need to be. why would you want to download the source to these programs and compile them? i know for me, 'apt-get install traceroute' is ultimately the quickest and easiest way to install.

      of course, if you're running apache with php, mysql, mod_perl, and a million other modules, you'll need to compile by hand, but the average Joe Linux User isn't going to find a use for all of that.

      The power of linux is that you can install and uninstall parts of the operating system without affecting other parts of it. what allows this to happen is the availability of open source. the little guy has no need to go through several thousand lines of code and fill several dependencies just to install a simple network utility (like how ntop needs libpcap). apt-get and some other utilities are ultimately very useful in this respect. Don't even get me started on upgrading or uninstalling.

      --
      Why read the article when I can just make up a snap judgement?
  151. Re:Gentoo is a giant step, too long for mere morta by roybadami · · Score: 1

    Have you tried doing a minimal install, with ssh, but without X?

    Have you ever tried installing a Red Hat system without X, and then later tried to install a desktop?
  152. Re:There is nothing wrong with RPMs. Only packager by mattdm · · Score: 2, Informative

    Actually, rpms can depend on files and/or packages. Either way.

    But as for switching RPM-based distros to dpkg: RPM doesn't map 1-1 with dpkg. I don't want to get into a big relgious war (although, that's pretty much this whole story...), but one thing I find technically superior is the ease with which an RPM can incorporate multiple sources and multiple patches -- this means it's very easy to take a Red Hat package, which contains pristine, original source + patches, and add my own local patches leaving the RH patches in their own "pristine" state. This is harder to do in dpkg -- requires some slight-of-hand at least.

  153. RPM Package Manager by Anonymous Coward · · Score: 0

    Red Hat Package Manager Package Manager

  154. RPM is nice. by Anonymous Coward · · Score: 0

    I picture heaps of posts here saying .deb is the thing! Which means they ofcourse dont understand jack. .deb is no more sophisticated the rpm.
    - "yes" you say, "apt rules!"
    Guess what, there is apt for rpm also. Works just like apt on debian.

  155. Re:There is nothing wrong with RPMs. Only packager by roybadami · · Score: 1

    Actually, there is a limitation of .rpm that hinders the APT4RPM functionality-- file dependencies. .rpm archives depend on specific files, while .debs depend on specific packages.

    IIRC, rpm packages can depend on packages, files, or arbirary feature names that are provided by other packages.

  156. Re:There is nothing wrong with RPMs. Only packager by Webmonger · · Score: 2

    Yeah, I thought the "Red Hat .deb" idea was probably farfetched. It's nice to know that .rpm does have technical merits-- makes it easier to understand why distros and the LSB continue to use it.

  157. What we need is a binary autoconf by mark-t · · Score: 3, Interesting

    What if, when you wanted to perform a binary installation, it checked dependancies the same way that autoconf-like programs do... tries to find them in particular locations, and creates a configuration file for that program based on what it found? It can do version checking as well, and report any mismatches to the user. In situations where there isn't a clear-cut place to put such a file, the installer could create a bourne shell startup script instead. It would work everywhere, and wouldn't be dependant on _any_ rpm or deb databases.

    I realize that this would require one new file (either a config file stored in the program's library directory, or a shell script used for startup), for each package that gets installed, but we're already looking at wasting space with the rpm or deb databases anyways.... this solution wouldn't take up any more space and has the added bonus of being completely cross-distribution!

    For library packages, it shouldn't even need to store a config file... it can just check the versions of the software or libraries that it does require and report back to you. The job of actually finding the libraries as they are needed can be performed by the linker, which is presumably set up to search applicable directories. Heck, if it's not, even this information could be reported at installation time too!

  158. You can't blame RPM by kingsqueak · · Score: 1

    You can't blame RPM. RPM is merely a vehicle for installing a package. How an RPM is created is the key. Blame the user that forces the install, blame the RPM creator if they don't have a clean system. Don't blame the vehicle.

    An end user needs to simply understand that when you compile a package you are including the base configuration of the system it is built on. If a builder/maintainer of an RPM has a system that is not identical to the user trying to install the RPM, of course you will have dependency issues.

    I have never had a single dependency issue with an RPM supplied by the distribution I was using so long as I was trying to install an RPM built for the release version I was using.

    Why is it so difficult for people to understand that if they try to install an RPM 'from the wild' they might run into trouble?

    The reason .deb's are cleaner most of the time is because they come from a centralized source and are created under fairly rigid standards so they will work on a 'known' base system. A .deb that is not officially maintained is no different than an RPM of similar background.

    In a nutshell, use RPM's that were built for the release of the distro you are running and QUIT using --force --no-deps as your normal install routine. RPM bitches about dependencies for a reason, forcing the install is YOUR mistake not the package manager's.

  159. He really have no clue.. by Anonymous Coward · · Score: 0

    Wow, I read the article, and its really clear to me
    this guy have no clue. Read for yourself.

    Besides, just because several distros choose RPM its a bad thing their packages dont work together?
    What if they choose .deb or slackware like packages?
    I dont see why it should be any better?! If RH compiles packages requiring glibc 2.2.5 but MDK only
    have say glibc 2.2.3. It doenst matter if you stick the binary in a deb or rpm file..

    As of upgrading an RPM based distro, he says its more risky...
    Ummm hu.. That might very well be true, but goddamn its not RPM's fault. Its the stupid packagers or distromakers fault. There is always
    a chance things breaks upgrading a distro. Just do
    it right, the packaging tool matters little..

  160. everything you know is wrong. by MSG · · Score: 2

    Wow... This is one of the most factually flawed and misinformed articles I've read in a long damn time. And right after I woke up... I've got to find better ways to start my day.

    Some of my bigger complaints:

    ...The installation fails, reporting a missing dependent package without which it will not install or function correctly.

    LISTEN to what it's telling you. This is always the first complaint about rpm from those who don't like it. However, getting rid of dependency information DOESN'T GET RID OF DEPENDENCIES. Without the information before install, and without those checks, the software won't function after its installed. That information is absolutely critical when software has to continue functioning.

    Upgrading an RPM-based distribution is risky at best

    Based on what? Have you ever had a major failure? The only problems I'm aware of stem from replacing vendor packages with third party packages, which may not match the layout of the originals (or the new vendor packages.)

    it has created enormous fragmentation between distributions

    Nothing has created fragmentation but their own opinions about where things belong. Source distribution doesn't solve that.

    developers are forced to take this fragmentation into account when creating binary packages

    No we don't. Autoconf/automake follow the FHS for installation, and that's what most of us use.

    with Debian, you only ever install once; upgrades are not only fully supported, but strongly encouraged.

    That's not a result of dpkg, it's a result of apt. Apt is some bad-ass software, and I rejoice that it's now available for rpm. I've used it to upgrade a number of Red Hat Linux 7.2 systems to 7.3, and even upgraded one RHL 6.0 system to 7.3.

    Not long ago, an RPM would work, period. The only possible concern was whether it was built against libc5 or glibc. -- Dennis Powell

    Not long ago, GNU/Linux systems didn't provide many *useful* libraries for programmers to work with. libc as the basic dependency meant that developers had to impliment their own basic needs over and over again, which is one of the reasons that UNIX has not been a popular development platform in many areas.

    Many of you will have remembered that the RPM Package Manager went from 3.x to 4.x without backward compatibility

    Um... no. rpm went from v3 to v4 and it was backward compatible. rpm v4 could install all of rpm v3's packages. rpm 3.0.5 was also introduced, which could handle rpm v4 binary packages.

    I just don't see how the distributions are going to bend over to offer concessions to each other.

    Um... are you TOTALLY ignoring United Linux and the LSB? Both of these are multi-vendor efforts to standardize the basic system on which GNU/Linux distributions are built.

    My own conclusion: If you have problems with dependencies, then the package was not built for your platform. There is, however, a meeting point between source installs and the benefits of rpm: The source rpm. If your binary rpm was built for some other platform, get the .src.rpm instead and build that. It's easy:
    rpm --rebuild package-version.src.rpm

  161. Damn. by Anonymous Coward · · Score: 0

    And I thought everyone had agreed on measuring angular velocity in in Revolutions Per Minute. I bet the French are behind this, what with their platinum-iridium meter-stick and all.

    My car gets fourty rods to the hogshead and that's the way I likes it!

  162. Re:Why the fuck we have to drag around libraries?? by An+Onerous+Coward · · Score: 2

    Nice reverse psychology. Lacking a valid point, you threw in a bunch of distracting f-bombs in the hopes that everyone would assume that, underneath this inciteful harangue, you might be saying something meaningful. Fact is, you're not.

    You're asserting that, because we all have broadband connections and 80 gig HDDs, there's no excuse for relying on an external package. This is a complete fallacy. There are still plenty of folks out there who are still downloading over 56K connections. They probably still outnumber broadband. There are also lots of people still using small (10G) disks. But even if everyone is running the latest and greatest, there's no reason to throw away HDD space, system memory, and downloading time by having a dozen copies of one library.

    Also, as an earlier response pointed out, library systems make it easy to fix exploits. It's much easier to simply update something like the zlib package than to wait for a new version of every piece of software that uses it, and then download it. The former should be fixed within days and requires a 500K download. The latter could take months and require gigabytes.

    I'll admit that the library system isn't perfect. Library developers don't always maintain backward compatability. Application developers take the easy way out by requiring "version 1.1.4b" of a library when any 1.x would have worked fine.* But your "solution" carries its own non-trivial problems which you don't seem to recognize. Or maybe you're just a troll.

    * If it really does require 1.1.4b, then by all means, include it in the application.

    --

    You want the truthiness? You can't handle the truthiness!

  163. Configuration files would remain distinctive. by Futurepower(R) · · Score: 1

    The idea is that configuration files would remain distinctive, but each package author could provide an interface from the standard configuration program to the configuration file. (It is necessary to continue to allow hand-editing.) So, there would need to be a way to execute the interface to interpret the ASCII configuration file and write to it. XML merely describes data, I think, it doesn't have any way to cause a program to be executed.

  164. PROGRAMS? THEY DON'T WANT YOU TO KNOW ! by Anonymous Coward · · Score: 0

    GENERAL RANTING

    --I have the same problem! I have a default redhat 7.2 workstation install, just gnome, no kde, no "development", no ridiculous childish games, because I am not a programmer nor a time waster.

    WHERE'S ALL THE PROGRAMS? I KNOW there's more than what's in the menus, but dang if I can find them and get them to turn on! WTF is all this crap installed here, I can't even imagine a full install.

    What do ya have to do, join the seekrit club and exchange class rings or something to find out? sheesh! What I have works OK, not great, just barely-I mean barely- usable OK, I have used up2date to up2date stuff, that seems to work well, but where's the other GIG of crap installed at?? where'd it go too, and WHY is it hidden from the user? Why isn't it in the menu's anyplace? What's up with that? Linux generic brag is "look, 50 zillion FREE programs". Bull and sheet, there are 50 zillion free assemblages of weird CRAPPY code that almost but not quite work. MOST DON'T WORK AND ARE DESIGNED FOR PROGRAMMERS TO USE AND TO BE FORCED TO TWEAK CONSTANTLY. Honest you programmer guys, I'd rather pay my share for professionals to actually make a product. I'll pay the money..20$ shareware for a prog that works, or 50 hours tweaking for something that *might* work? TOUGH DECISION.

    There's really (what I can see anyway) only a few hundred COMPLETE actual programs that WORK AS ADVERTISED. Is there an actual NEED for stuff like 18 mp3 players, when only three of them actually work, or is the real clue this ego tripping that programmers get into, my mp3 player is gonna beat up your mp3 player SOMEDAY OVER THE INTERNET RAINBOW whenever we get to version 6.89x_semibetaalpha after we fork this and debian that and my bsd is better than your *nix that. What CRAP. It's juvenile crap.

    What I see is the bulk of "linux development" goes into freeking EYE CANDY, like "skins" and "themes" and crap like that. Who **&^% cares? GUI is ALREADY invented, get a clue gnomers and kde'ers and whatever'ers.

    I like the THEORY of linux, it's an interesting idea, but REALLY, what's the point? I'd LIKE to support it or one distro with my interest and ca$h, but tell ya, about ready to sell off all my x86 boxes and buy a brand new mac. I tried linux MERELY from getting a deal on some wintell boxes, used, thought I'd try it out before I resold the boxes. didn't want to load micrcrap on them, thought "hmm, heard about this linux stuff, I'll try it out". GIMME A BREAK. I tried redhat and mandrake, WHO'S KIDDING WHOM HERE? Are you guys serious, this is a professional operating system? HUH? This is at best sub beta crap, not even close to being anything anyone should spend money on, they should PAY you to TRY and use this stuff.

    Like, how many WEEKS AND WEEKS of normal low level user time is worth running ANY linux when for a few hundred more bucks you can get a cast iron hardware/software platform like mac? It all works better than windows, always has, too, and zip security issues. What's not to like about that? Hundreds of manhours learning to program and tweak to save a few bucks so you can run on marginally cheaper hardware and save a few bucks on an installation CD? WHAT??? You got nothing better to do with your time but sit around and attempt to make stuff work that you can just buy for a few bucks and ALREADY WORKS JUST FINE? My time is worth more than 25 cents an hour. MAC's are EASY as crap to run and customise, and there just plain ain't even 1% of the net security worries there is in linux/unix/bsd/whocarez or winderz. Probably not even .0001% security headaches, there just AREN'T. that's why the IT industry has so FEW mac "security"and "administration" people. They AREN'T needed, the average user can configure a lan, and not really worry about security or whether or not their office crap will run, because it will run, and the boxes don't "break" either.

    More than 7 years on the net, never got 0wn3d on a NO FIREWALL BASE INSTALL mac. NEVER, EVER. No virus, no trojan, no nothing. Mac classic I used for years and years, it works. It just plain works. OSX don't know, never used it yet, but on a new fast machine, mac classic will still be useful for more years and years. I think apple is completely bone idiotic to abandon it, IMO, for this semi open "unix" "linux" bsd/mack/micro/macro "kernel"of misery crap. All they need to do is keep making the best hardware, it'll sell. Linux is lowest common denominator hobbyist stuff for people who don't like going into the scary outside whirrled it appears. It's also gone consumer fraud now bigtime with linux "experts" selling themselves to companies, it's job creation fakeouts mostly. Unix is crapola for the desktop, it SUCKS and it's gonna take a decade to get to the point the average person who isn't a software engineer to use. Ya'all linuxers need to acknowledge that. You can't even agree on HOW TO INSTALL A FREEKING PROGRAM YET. that's what this thread is about, hundreds of guys arguing about how to install a program. Step back, look at that from an outsiders viewpoint. It looks RIDCULOUS. and tyou want people to actually take this serious? WHY?

    That's my two bytes worth-and I am NOT trolling either- on linux after three/four months useage. It stopped being fun after re-installing the third time, getting rooted twice, and still having to delete modem and re add it just to get freeking online, and having to figure out how to do firewalls that may or may not be working as I type this. They probably aren't, and judging by the DAILY sheer volume of "security alerts" it's NO better than crappy microsloth winderz, either. No better whatsoever. It's just as crappy. There's no way to tell short of becoming a unix security expert over a years time or something. What's the point again? Oh ya, slightly cheaper and "Open source"- WHO CARES? I can goto the carlot, get some car from generic motors that runs, or start by digging my own iron ore, inventing steel, learning to forge, and etc.. and in a few years come up with a YUGO. Yes, maybe it will be cheaper, but I want a car that works right now, not in ten years.

    The difference between "open source" and a commercial OS is just a few bucks, ie, take redhat-60$, mac 9, 80$- SO WHAT? 20$ difference is WORTH all this headache for something that only works about 1/10th as well? DOWNLOAD 2 gigs of crap and HOPE it works? Huh? Why is that worth it? OR, spend 6 months downloading and learning how to do stuff that is still broken and buggy.

    Linux is INCREDIBLY complex for what it ATTEMPTS to do, INCREDIBLY, it's a rube goldberg accumulation of thousands of chunks of bad semi finished code, and there really isn't a way for a NON programmer to use it beyond a package distro install then start sweating. And I mean sweating.

    Look at this very thread, all kinza linux experts who STILL detail incredible problems. I NEVER had any problems installing ANY mac program, you download it, double click on it. It's installed, AUTOMAGICALLY, and it WORKS. GEE, A SYSTEM THAT WORKED 15 YEARS AGO AND STILL DOES. You read the download notes "runs on mac 7.xx or 8.xx or whatever. Click on the appropriate one. hangout, it downloads. double click. EVERYTHING GOES WHERE IT'SUPPOSED TO GO, AND YOU GET TO FIND IT AND USE IT REAL EASY LIKE.

    This is somehow WRONG??? Say what????

    Linux is reinventing the wheel by designing something square on a spindle and having 50,000 laid off or hobbyist programmers all carve little tiny slices off of it, in the hopes you'll end up with something called "round". That's linux in a nutshell, it's for professional students and for guys trying for job security because it's so **&^% complex any business that installs it has to have a system administrator full time. That's why IBM and companies like that like it, mega buxx forever and ever, you need their expertise. That's why redhat likes it, you need to hire a linux guru to keep it working. Linux is just another deal like microsoft job security, two sides of the same coin. I call it "mac denial", same as I heard from clueless windows users who always put down mac classic without ever actually using it.

    I think the reason guys like linux is that most of them are sitting on intel boxes, grew up never being exposed to macintosh, got absolutely NO clue how easy mac has always been, come from a windows or unix background then migrated to something else called "linux", and let their egos get in the way rather than trying out mac from years of putting macs down, and are bound and determined to keep chipping away at their square clunky running intel boxes until they actually work. TALK ABOUT CLUELESS. This is a duh.

    I'm about one more problem away from abandoning linux/unix and switching back. I gave it a good shot, but dang if I am gonna spend multiple hours a day to try and make stuff work so I can USE my computer SECURELY that I KNOW I can just "do" by spending a paltry few more dollars on hardware and software. I want to USE a computer, not build it from scratch and hope it works. MOST people are the same.

    Maybe in TEN years linux might make it to what mac was in 95, MAYBE. I DOUBT IT after reading slash dot for a long time, WAY too much non-cooperation going on.

    Too many cooks HAVE destroyed the broth with this home brewed unix/linux/bsd stuff. Ya'all debian is better than gentoo is easier than slackware and is slicker than united redragondrakehat stuff guys are pushing rocks uphill, I mean BAD. Hitting yourselves on the head with software hammers because it feels so good when you stop. It's silly.

  165. Install redhat in 2 minutes.. hahaha by Anonymous Coward · · Score: 0

    "I can install a Red Hat Linux server on a clean box in all of two minutes from initial power up to fully functional reboot"

    What drugs arey ou taking ?

    1. Re:Install redhat in 2 minutes.. hahaha by MSG · · Score: 2

      I'm sorry. You're right. I wrote that right after I woke up. It takes all of two minutes to transfer the files over HTTP and unpack them.

      The whole process takes just under five minutes. My own interaction is only needed for 20 seconds, however; I have to pull the floppy after the machine stops reading it.

  166. What is the best GUI arrangement? by Futurepower(R) · · Score: 1

    It seems to me that the most important thing is to make sure that the GUI is the best possible for configuration. An expandable tree in a linked document seems excellent. There needs to be a way to address every part of the tree from the command line; there should be bookmarks.

    It would be necessary to write modules for every supported file format, as you say, but this could be made easier by supplying standard libraries of interface programs. Each module author could modify a module that already existed.

  167. apt-get in debian is the best by Anonymous Coward · · Score: 0

    I used redhat for a bit, but i love apt-get in debian. Its really useful esspically if u have a good net connecton. It'll autoatically get the dependencies from othre servers that it knows. And there's only 1 format for debs.

  168. Re:There is nothing wrong with RPMs. Only packager by Webmonger · · Score: 2

    Yes, I've been corrected on this already-- file dependencies are not the only option. It does look like the mere existance of file dependencies is problematic, though.

  169. Re:There is nothing wrong with RPMs. Only packager by Tester · · Score: 2

    Another important problem is that last time I checked Deb could not be signed, while all RedHat RPMS at least are PGP signed. The last time I heard about that on debian, they couldnt agree on a way to make signing meaningful... RH signs all its packages with one key, but that would be hard for deb...

  170. FWIW, by daveman_1 · · Score: 1

    I stopped using RPMs a long time ago because it was my number one stumbling block to using linux. Defend RPMs all you want. It won't change the fact that new linux desktop users are going to hate it. Sure, if you know what you are doing you can tame it. And I've heard all the arguments about "But now that you have APT-RPM..." and still don't believe newbies, or those who have no interest in learning the gory internals of RPMs thousand and one switches are going to care on damn bit about improvements in RPM. Generally speaking, people like things to be easy. Many of these people find Debian, Slackware, or Gentoo eventually, if they don't give up altogether first. For the record, I gave up on Redhat, SuSE, Mandrake, and even beehive for the same reason: RPM. You can argue all day long about how I must be an idiot because I don't like RPM but I am in good company. And for those who didn't actually read the article, the author says quite plainly that RPM is FINE for server installs, but is failing on desktops. I have used Slackware for a long time now quite happily. Recently I decided to give Gentoo a try and am unlikely to use anything else any time soon. I have found peace and happiness in linux at last.

    --
    Russian Russian Russian RussianDollSig DollSig DollSig DollSig
  171. Re:Why the fuck we have to drag around libraries?? by Anonymous Coward · · Score: 0

    unlike disk space, memory is still expensive. and shared libraries save memeory as well. if every app loaded up its own copy of glibc, you'd be throwing away at least 2 megs of memory per app. Sure, using proper archive libraries, you could cut that down, but its still rediculouls to have 100 memcpy routines in memory at once.

  172. Re:There is nothing wrong with RPMs. Only packager by AME · · Score: 2
    .rpm archives depend on specific files, while .debs depend on specific packages.

    You say that as if RPM can do dependency based on files only. This is not true. RPM can also do dependency based on "capabilities" which are provided by other packages. Observe the "-q --provides" option. The choice of depending on files or capabilities or both is up to the packager.

    --
    "I have a good idea why it's hard to verify programs. They're usually wrong." --Manuel Blum, FOCS 94
  173. I hope so by josepha48 · · Score: 2
    I have actually started using NetBSD and really like there package management. make, make install, make uninstall. It will pick all the dependancies as well, and you have the option of uninstalling all the dependancies as well. I think using this on Linux may be good. It also does binary packages. I think debians apt-get is like this.

    I would love to d a redhat like distro only removing rpm and putting in the BSD package management system. But I don't have the time right now. Maybe I'llopen a project up at sourceforge.net.....

    --

    Only 'flamers' flame!

  174. rpm on Solaris Rules by dfn5 · · Score: 1
    As a systems administrator I download and install alot of opensource software. If I just did the standard ./configure ; make ; make install my /usr/local would become such a mess.

    Therefore I had to turn to packaging the software I download. I started using the native solaris packaging mechanism, but it has a number of short falls.

    1. It is a pain in the ass to build a solaris package
    2. I would have to keep a notebook on how I built a particular package. What configure options I used. What patches I applied just to get it to build. That sort of thing so that when I am upgrading a package I know what I had to do last time.
    3. pkgadd only registers the software on the system I am installing it on. What I mean is that if I install the software on one system's /usr/local and a whole network of clients are NFS mounting /usr/local, the clients have no idea that the software was packaged. Therefore, if the machine that I installed the package on disappears then the package information is lost.
    4. One needs to rebuild the package for each and every release of solaris that comes out. Did I mention that building solaris packages is a pain in the ass?

    I then stumbled across rpm. How it has saved my life:

    1. I have rpm configured so that it stores it's database in /usr/local/rpm/db. Now every client that mounts /usr/local can see the RPMs installed and can install, update, or remove RPMs.
    2. I have one NFS server for all my clients. My NFS server exports /usr/local as /export/local/$OSNAME/$OSREL. No longer is the package tied to the machine it was installed on.
    3. RPM uses db files to store the package information. This makes package operations fast
    4. RPM can verify an installed package letting me know if it has been tampered with or is just broken
    5. I can gpg sign a package so I know the file hasn't been tampered with
    6. RPM creates a source RPM which basically documents the build process for me. i.e. I threw out my notebook
    7. I support solaris on sparc (5.6, 5.7, 5.8, & 5.9) as well as x86 (5.8). If I had to build solaris packages for all those archs I would never finish. The ability to merely --rebuild a package on another architecture saves me soooo much time. I have about 200 RPMs. That's 1000 packages. I would need a team of people to keep up.

    So for me RPM is vital to my work as a Solaris administrator.

    --
    -- Thou hast strayed far from the path of the Avatar.
  175. Source Installs by Anonymous Coward · · Score: 0

    Anyone remember what happened to Monkey.org recently? Seems some clever person trojaned copies of fragroute, dsniff, and (maybe..not sure) fragrouter and left them there for people to install. Guess what the source based systems did? On Free and Open BSD: cd /usr/ports/net/dsniff && make install...backdoored! Don't get me wrong, I love Free and Open BSD and the benefit of the ports system, but this is a huge problem waiting to nail us. How many packages are out there on less than cared for / secured web sites waiting to be trojaned and subsequently installed by source based distros like Gentoo? There must be some control put in place before your face OS installs cruft from the net, at the very least MD5 checking should be mandatory before the file is DL'd and installed.

  176. Q: Is RPM Doomed? by npsimons · · Score: 1

    A: Yes. Next question.

  177. Re:There is nothing wrong with RPMs. Only packager by kigrwik · · Score: 2

    > APT is what makes debian's package management so
    > smart, not dpkg.

    Sorry, but you've got it backwards there.

    "APT makes Debian's package management so easy to use."

    But what makes it smart is the Debian Policy that states exactly how packages should behave, not the "Guidelines". The difference is that not conforming to Policy is a "Serious" bug (read: Release-Critical) , whereas guidelines do not convey the same sense of absolute necessity. :)

    As the old chinese proverb goes:
    "When the wise points at the Policy, the fool watches apt-get"

    Note that most Debian developers are not paid to work on their packages, they do it on their free time, so your comparison with RPM packagers might not hold 100%. The one tool that truly helps is the bug tracking system, (http://bugs.debian.org) and the great number of users that provide bug reports and patches.

    The culture you're referring to is a strong driving force in striving to achieve excellence.

    Consider this a corrective patch to your original post with which I [almost :)] fully agree.

    --
    -- don't discount flying pigs until you have good air defense
  178. Re:There is nothing wrong with RPMs. Only packager by Anomie-ous+Cow-ard · · Score: 2, Informative
    this means it's very easy to take a Red Hat package, which contains pristine, original source + patches, and add my own local patches leaving the RH patches in their own "pristine" state. This is harder to do in dpkg -- requires some slight-of-hand at least.

    I don't remember needing any slight of hand to do this. apt-get source foo, gets the pristime source and the patches. Copy the patched source dir, make my changes, and diff against the original patched source dir. There i go. Later, get the upgraded version (apt-get source foo automatically only downloads the new diffs, using the old upstream sources (unless, of course, it's a new upstream version)), apply the patch, and there i go again.

    If you don't want to use apt-get, download the .tar.gz, .diff.gz, and .dsc files by hand and dpkg-source the .dsc to have it unpack for you. Or do it by hand with standard tools, you'll just have to remember to chmod +x debian/rules that way.

    I'm having a great deal of trouble seeing your technical superiority here. The only possibility i see here is if rpm would automatically try to apply my patch after applying the distro's patches, which likely as not is going to fail anyway. Please explain.

    --

    --
    perl -e'$_=shift;die eval' '"$^X $0\047\$_=shift;die eval\047 \047$_\047"' at -e line 1.

  179. no no no by Ender+Ryan · · Score: 2
    You are confused, the registry can easily become corrupted causing the system to be unbootable, that's one terrible single point of failure.

    /etc is composed of many different files, the ones essential for bootup rarely, if ever, need to be modified, so it's extremely difficult for any type of crash to cause the system to be unbootable.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
    1. Re:no no no by sg_oneill · · Score: 2

      -Yes. But despite that, the breadth of etc's *multiple* points of failure mean that factually there is a higher probability for a gooned bootup.

      Contemplate.... Manually edit a passwd file & blow the first line... OoopS no root login , again, ever.
      Punk out inittab ... no start up services.
      fstab .. your nfs kernel modules go awol..

      ever seen what happens when you make a passwd file to big on an axis uclinux+jffs box? passwd file dies as fs mysteriously grows terrabytes in size.. No boot. thow away embeded box...

      I could go on. I agree that the registery is a highly nukeable thing, but it's singular.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  180. Re:There is nothing wrong with RPMs. Only packager by Ed+Avis · · Score: 2

    Absolutely. The points raised in the article have _nothing_ to do with the choice of RPM as package format.

    Point one: dependency hell. When you install a binary package it requires several updated libraries, each of which may require other upgrades... well yes, of course, if it's built against a particular library version then it may require those versions. At least with RPM and other packaging tools you get a warning about what is required. Don't shoot the messenger.

    The comparison with Debian: it's just because Debian put lots of effort into upgradability, and most RPM-based distros don't worry about it to quite the same extent. Talk to someone who started with Corel Linux and wanted to update some packages, and you'll see that the choice of RPM vs dpkg vs whatever doesn't matter here. Just the quality of the packages themselves.

    RPMs being awkward because files are in different locations: any binary package will have these exact same problems, as long as distributions use differing conventions. This is just the familiar complaint about there not being a single Linux standard which all distros follow.

    Then the author goes on to talk about using apt-rpm or Debian, totally missing the point. The reason these tools work so well is a good *collection of packages* put together by the maintainers of those distributions. It's not related much to package formats, beyond some really basic dependencies. The 'switch to Slackware' arguement is similar: Slackware's more upgradable because the packages themselves use the same conventions from one release to the next, not because .tgz is magically superior to .rpm. In a parallel universe where Slackware used RPMs and RedHat used tarballs, the argument 'switch to Slackware' would be just the same.

    As far as I can tell, the Distrowatch article is just complaining that it's not always possible to pull random binary packages off the net, install them on your system, and expect them to interoperate with other random binary packages built by other people. Well, duh.

    --
    -- Ed Avis ed@membled.com
  181. rpm -e rpm #not only is it doomed, but also cursed by Anonymous Coward · · Score: 0

    i suggest doing
    rpm -e rpm quickly
    and reading this guide on apt-get
    apt-get.mine.nu

  182. Re:There is nothing wrong with RPMs. Only packager by mattdm · · Score: 1

    Let me clarify: it makes it easier to maintain packages with multiple patches (and multiple sources -- you seem to have ignored that), because your final source package includes both the original source + RH (or whatever) patches and perhaps source + your own patches and source -- all separated neatly. In your scenario, where are you keeping *your* patch? How do you give it to other people?

  183. What about stow ? by ycollet · · Score: 1

    I use GNU-Stow and it works fine for me. To use stow, you have to compile sources package, install the package in a directory (/usr/local/stow/mypackage for example) and then, you "stow" all your package. Stow makes symbolic links between your package and the target directory. For example, I am in the /usr/local/stow directory: stow -t /usr mypackage I select /usr as a target directory and stow makes symlinks between all files in the mypackage directory and the /usr directory. All binary files in the /usr/local/stow/mypackage/bin go into the /usr/bin directory, etc ... So now it's relatively easy to manage packages. You just need to compile sources packages (not as so difficult as installing a rpm package). If you want to remove your package: Unstow it, and rm -rf /usr/local/stow/mypackage and everything is clean. You can find stow at: http://www.gnu.org/software/stow/stow.html Your sincerely, Yann COLLETTE

  184. RedHat up2date is great, why no mention of it?! by camusatan · · Score: 1
    There are two issues here - one is package formats, and one is centralized update databases/repositories. RPM is a package management format, and up2date is the centralized repository. For RedHat, at least.

    I admin RedHat servers, development workstations, etc. If you set it up properly, you can run "up2date -u" and it will automatically update all of your RPM's. No one seems to have mentioned this... I guess because the tinfoil-hat brigade doesn't like "registering" with redhat (via rhn_register, necessary to make up2date work).

    I can also go to https://rhn.redhat.com, login, and schedule my machine to automatically download the latest revision to some RPM. It's free if you only do it on one box.

    I've had zero dependency problems since I became an up2date fan. It really should be mentioned with the above article.

    1. Re:RedHat up2date is great, why no mention of it?! by WetCat · · Score: 1

      In Mandrake the same procedure is free and open for anyone without registering...

  185. Linux can do this - It ROX! by Anonymous Coward · · Score: 0

    Check out the ROX app dir system:

    http://rox.sourceforge.net/appdirs.php3

    I really wish all applications on Linux used this system.

    [All apps putting all types of shared code in a single system directory? Sounds like my C:\WINDOWS folder :)]

  186. What RPM should really do... by Zenki · · Score: 2, Interesting

    Is offer an interactive mode of execution.

    When installing a package, if RPM can not find the RPM dependency, it should tell the user:

    "Unable to find libfoo.x.y.z.so"

    Then ask:

    "If you do have libfoo.x.y.z.so, enter the path so an appropriate entry can be made in the rpm database"

    The user can then type in something like /usr/local/lib/libfoo.x.y.z.so, and the RPM program will add that one file into its package database so later on, it won't have to ask that dumb question again.

    If the user doesn't type in anything, then RPM should then quit and refuse to install the package.

  187. kernel at -O3? by zenyu · · Score: 2

    You're playing with fire mister.

    PS in case I want to try this what exact kernel version did you use?

    1. Re:kernel at -O3? by jred · · Score: 2

      Could you perhaps elaborate a bit for those of us who don't have all the params memorized? Why is it bad?

      Thanks

      --

      jred
      I'm not a mechanic but I play one in my garage...
    2. Re:kernel at -O3? by the_real_tigga · · Score: 1

      Yea, and while you're at it, also mention -Os.
      A small kernel would be a good thing, would it not?

      Anyway, from my experience it is mostly not the _kernel_ that slows things down. (I am nevertheless running 2.4.18-ck4 right now).

      --
      my .sig is better than yours.
    3. Re:kernel at -O3? by zenyu · · Score: 2

      Could you perhaps elaborate a bit for those of us who don't have all the params memorized? Why is it bad?

      -O0 -- no optimization, good for debugging
      -O1 -- some optimization, usually safe even when you've got something that should be volatile but isn't.
      -O2 -- well optimized, but meaning of code never changed.
      -O3 -- most optimized, code you wrote is probably not the code running. May cause core dump, may write over memory randomly, hopefully just gives wacky floating point results. Also may run slower, due to code bloat.

      -Os -- chooses smaller constructs whether they are faster or not. Sometimes produces faster code, sometimes not. Probably safe.

      -O3 is very unsafe from my experience with 2.?? gcc compilers. When it's your own code you can usually massage it to work, but for something like the kernel, I'd turn it on on one source file at a time, stress test, and send in any patches needed to get it working. It has always been recommended that you compile the kernel at -O2 or less. I hope that most developers test with -O3, just because it might reveal a bug that'll show up with a later compiler, but I wouldn't bet on it that they all do.

    4. Re:kernel at -O3? by EricLivingston · · Score: 2
      Checking the man page, O3 does everything O2 does, but also adds inline functions, which means the compiler has the option, instead of encoding a call to a function (as normal), of actually just plopping the function's code down instead of the call, thereby eliminating the overhead of making the call in the first place. I'm not sure what drives the decision - back when I was using Borland C++ you could use the "inline" modifier on a function to tell the compiler to do that, for instance if you wrote a "write_pixel" function or something that gets called an insane amount and is extremely small.

      I completely agree, by the way, that it's dangerous to play with -O3, and I've had to back off to -O2 on several packages that just fail when I've tried -O3. Since the box in question is not my server, I take greater risks...

      --
      Please Rate my comment (and help support Fre
  188. Re:Why the fuck we have to drag around libraries?? by tigga · · Score: 1
    You just made it up without thinking about, don't you?
    You are talking about static linking for everything - it could work until some point. One of the points is disk capacity - when instead couple kilobytes for simple program you'll have couple megabytes, and instead couple megabytes for complex program you'll have couple hundred megabytes...
    Another point is memory considerations - when you load dynamically linked program into memory you load dynamic library as well, and when you load another program, using the same library, you use preloaded dynamic library. Well, you also save on loading time for second program. If you load two static programs - you just load the same binary into memory twice and if you load more you could exhaust memory and start using swap. Then your box perfomance go down the drain...

    Current state of software could be characterized by one word - BLOATED.
    You just want to replicate it everywhere... Make it MEGABLOATED.

  189. Re:There is nothing wrong with RPMs. Only packager by RollingThunder · · Score: 2

    It definately covers how to do this in Maximum RPM, which is on rpm.org.

    http://www.rpm.org/max-rpm/

  190. Re:Why the fuck we have to drag around libraries?? by Pig+Hogger · · Score: 2
    You just made it up without thinking about, don't you?
    You are talking about static linking for everything - it could work until some point. One of the points is disk capacity - when instead couple kilobytes for simple program you'll have couple megabytes, and instead couple megabytes for complex program you'll have couple hundred megabytes...
    I thought it very carefully, after working many years supporting & fixing Unix, Windoze and Macintrash boxes.
    Macintrashes have plenty of shortcomings for sure, but one of them isn't the library mess, c'oz the binaries carry everything they need with them.
  191. Re:Luke, use the source RPM... by anon+mouse-cow-aard · · Score: 1

    Source RPMS almost always work even cross-dist. (ie. here using RedHat source package on an older mandrake.) Binary doesn't work, get SRPM, it doesn't extract? use alien, then put it in the right place on the system you need it for /usr/src/<whatever>/RPMS/... (alien wasn't on the box, so I used another box to extract) log: [root@basquette djbdns]# rpm -ivh daemontools-0.76-2memphis.src.rpm only packages with major numbers

  192. On use of /opt by Nailer · · Score: 3, Insightful
    rpm installs should use the opt directory for major programs. /usr/bin and /usr/X11R6/bin is not a dumping ground.

    Er, yes they are. Unix has sorted files by their type, rather than what application they belong to, for a very long time. This allows, for example:
    • All your applications to be in path
    • Short ldconfig paths
    • Someone to back up, say, only /var and /etc and get everything they need to restore your system (because the binaries are reloaded from media)
    • And a great deal more.


    If you want to address the files by what application they belong to, that's what a package manager is for. No distribution's packages can use /opt, doing so is forbidden by the FHS.
    1. Re:On use of /opt by BrookHarty · · Score: 3, Insightful

      FHS says to use /opt for add-in software, then use it for that purpose. Most install packages can alter your ldconfig and add its path, check KDE and Gnome, they do. I dont know what the Great deal more is, but kde, gnome, open office, kde office, are too big (imho) to be put in the same damn dir of /usr/X11R6/bin.

      Mozilla is in /usr/lib/mozilla, /opt/mozilla would make more sense. Lucky its an easy fix, and its no harder to use.

      Its pretty easy to modify your profile path, ldconfig, and make a simple standard, like anything not unix OS goes into /opt.

      Using 1 directory for all your bins is a cluster fuck.

    2. Re:On use of /opt by Nailer · · Score: 3, Insightful

      FHS says to use /opt for add-in software

      Cool. All you have to do is define what add on application software means...good luck.

      The FHS also says The directories /opt/bin, /opt/doc, /opt/include, /opt / nfo, /opt/lib, and /opt/man are reserved for local system administrator use...distributions may install software in /opt, but must not modify or delete software installed by the local system administrator without the assent of the local system administrator. I.e, distributions should avoid /opt and leave it to the local system administrator.

      Mozilla should puts its bins in /usr/bin, its lib in /usr/lib, and everything else in /usr/share.

      Using 1 directory for all your bins is Unix

    3. Re:On use of /opt by BrookHarty · · Score: 3, Insightful

      Guess you havnt checked out mozilla lately, its entire directory is /usr/lib/mozilla, the program mozilla in /usr/bin/mozilla is a shell script that loads /usr/lib/mozilla-bin. You can download the mozilla tar, and extract it in /usr/lib/ and you dont have to change anything.
      Why couldnt we do the same thing in /opt, like some packages use /usr/local. (like kde, and many other apps)

      BTW, when your using a linux box as a workstation,
      IE. you are the local administrator, and should be able to do what you want. Using 1 directory for all your bins is not Unix, this is why you have /opt and /usr/local/bin /usr/local/sbin, /var/adm, blah the list goes on.

      The point is, if you use single directories for applications, you can back the directory up, and install new software without touching system files. Why would anyone sane put system files in with application files? Microsoft have "Program Files", unix should use /opt or /usr/local.

      Using the phrase "Its the normal way" is just rehasing the same mistakes. Improve...

    4. Re:On use of /opt by Nailer · · Score: 2
      Guess you havnt checked out mozilla lately

      Yes I have - I mentioned it as an example of a noncompliant application. Mozilla, as packaged by most distribu
      tions, violates the FHS.
      Anything which isn't a library or non-user executed binary does not belong in /usr/l
      ib. Read hte FHS definition for /usr/lib. Hundreds of other apps correctly use /usr/share for this purpose.

      BTW, when your using a linux box as a workstation,
      IE. you are the local administrator


      If you are using a Linux box as a workstation you aren't necessarily a system administrator, but anyway...

      and should be able to do what you want

      Why? This makes it unmaintable for whoever takes over your job / system.

      this is why you have /opt and /usr/local/bin /usr/local/sbin, /var/adm, blah the list goes on

      Read the FHS. The FHS sorts files by their importance, then by whether they are administrative in nature, and the
      n by what kind of file they are. / is for programs necessary to recover the system /usr is for others. The sbin d
      irectories are only for system administrator use, the bin directories aren't. /var/adm doesn't exist, because var
      is for variable information- ,i.e that which changes frequently withlout system administrator information. Binar
      ies don't belong in /var.

      The point is, if you use single directories for applications, you can back the directory up, and install new s
      oftware without touching system files.


      You can already do this with a packaging system.

      Why would anyone sane put system files in with application files?

      If by system you mean required to repair the system (one common definition), this is already the case: see the FH
      S definition of / versus /usr.

      Microsoft have "Program Files", unix should use /opt or /usr/local.

      Why? This limits what I can do. With the current system, I can
      • back up /etc /home and /var and have everything that's unique about my system.
      • Mount / read only, and /home and /var read write
      • Keep all the apps I need for repairing my system in a small and centralized place, so I only need one filesys
        tem to repair my machine
      • Keep all my applications in one short path
      • Keep all my libraries in a short path


      I agree heartily with the concept but in this case Unix has something which is massively superior. None of the be
      nefits listed above would be avaliable, and you haven't shown any gain in your method. I can think of one though
      : chrooting services would be easier. But asides from that I don't see any reason to change the current system an
      d lose its many benefits.
  193. apt-get with cdroms by weeerdo · · Score: 0

    Using apt-get with cdroms is simple - you add lines to /etc/apt/sources.list referring to specific cd's. Debian has this feature and it is quite user friendly. I don't remember the details as I don't use it myself these days.

  194. Re:Gentoo is a giant step, too long for mere morta by Wdomburg · · Score: 2

    >Have you tried doing a minimal install, with ssh,
    >but without X?
    >
    >Actually - I'm kinda bluffing that it won't work
    >here, it didn't work on SuSE so I'm assuming it
    >won't work on RH either.

    Works just fine. Just because two distributions are rpm based doesn't mean they make the same mistakes.

    Actually, the only thing that Red Hat makes you install is the "base" package list. Comes to maybe 200MB and contains, IMHO, very little crack rock. About the only things I might be inclined to strip out are slocate (not exactly a good thing on high volume servers with millions of files), gpm and mouseconfig (sixty servers, no mice).

    Don't take this as a personal affront, but it constantly amazes me how ungrounded in reality many people's complaints against Red Hat are; e.g. they turn every service on by default, they don't test their software before shipping it, their minimum install is bloated (feel free to take offense at that, if you must), they're not striving for LSB compliance, etc, etc.

    There may be some cases where they were guilty in the past, but they've done a more than adequate job of responding to issues when they crop up and are, IMHO, one of the better distributions out there.

    Matt

  195. Update:Re:standardized locations, etc. by jcast · · Score: 1

    I have a script I think will work; email me (jcast at ou dot edu) if you want a copy. /. thinks it has too many ``junk characters''.

    --
    There are reasons why democracy does not work nearly as well as capitalism.
    -- David D. Friedman
  196. Re:There is nothing wrong with RPMs. Only packager by Nailer · · Score: 2
    I have never heard any argument that .rpms have a technical superiority to .debs

    I have. You just hear these arguments less because, in my experience, there's honestly more Debian people who seem to want to bash people over their head for their choice of distribution.

    • RPMs verification options are much more powerful (they provide more information about what's changed) than Debsums, which doesn't even exist at all in the stable Debian release.
    • RPM's database, DB3, has transaction capabilities that make it a little more robust
    • Various non-technical arguments which are important but not to do with file formats: signing Deb's to particular people is great, now what do you do when they trojan their package. Fire them? Again, this doesn't matter to the file format, but because Debian folk keep throwing policy (which can and does exist for RPM based Linux distro's) I thought I'd throw it in.


    so I have to wonder: why don't RPM-based distros don't switch to deb?

    • Because they both have areas where they are superior to each other
    • Because RPM has a massive user base and Dpkg doesn't. It would be a long undertaking to do this for little benefit (see below)
    • Because having a package depend on what an application does is logical. Apt-get works fine with this - I run a repository for Red Hat 7.3 at work.
    • Because policy is nontechnical and easy to implement on RPM based distros
    • Because up2date, apt-get, urpmi, and various other front ends do for rpm what apt-get does for dpkg.
    • Because its probably easier to add the few things which are better about dpkg - suggested / recommended dependencies, and either of dependencies (FTP Server OR Web Server) than to move most distros from RPM to Dpkg and then add the missing features of rpm to dpkg
  197. In 6 years I never had a "dependency hell"! by Alexey+Nogin · · Score: 1

    I've been a RedHat user since RedHat 3.x times ('96, I guess) and I've been using RedHat exclusively after upgrading my last Slackware box with RedHat 4.0 (still '96, probably) and currently I run 9 RedHat machines.

    And guess what - I've never experienced an "RPM dependency hell" in my life! Just two simple guidelines save me every time:

    • If there exist a RedHat-build package (preferably for the release you have installed) of the software or library you are looking for, always use that and not some 3rd-party package.
    • If a binary package requires a version of the library that's different from what you currently have, then download the source package and do rpm --rebuild. Do not ever waste time upgrading libraries unless even the source package requires it (which should only happen if the package truly need the newer library and would never even compile with an older one).

    In other words, whenever you have any kind of precompiled binaries, there always will be problems with the binaries requiring different libraries/etc. There are only two ways of dealing with these problems:

    • Have a small number of well-defined sets of library versions and only compile for those. This is (as I understand it) how Debian solves it.
    • Have some simple way of recompiling things from source. This is where RPM is so great. The RPM format should not ever be considered a binary-only format - one of the greatest features of RPM is its source format and how easy it is to rebuild any good quality source package on any RPM-based platform.
  198. The missing point by sti · · Score: 1

    I think the original writer was missing a point. (Or maybe I missed him not missing the point.)

    I believe the reason why people use RPM-based distributions, like Red Hat, is that they are stable, tested and polished. When you use the ISO images to upgrade your Red Hat, yes, you wind up installing a lot of stuff. But on the other hand you wind up installing stuff that Red Hat has verified will work together. To reap the benefits of that is well worth a couple of cdroms.

    Perhaps another reason is that the biggest RPM-based distributions, like Red Hat, SuSE and Mandrake really have added value when compared to the sexier non-RPM distros. You get tools that simplify management. You get a system on which everything just clicks together.

    I have used Gentoo. It's pretty ok, but when you have used Red Hat before Gentoo, you'll be disappointed. A lot of things you take for granted in Red Hat, just aren't there. It takes a lot of time to tweak everything to get a system with the same features as Red Hat.

    Someone commented that they've never seen anyone go back to an RPM-based distro after trying a source-based distro. Well, I have. You can read my Slashdot Journal if you are interested in the details.

    Interestingly, I have never had too much trouble with installing RPMs. I realize that an RPM created on SuSE probably does not work on my Red Hat, so I'll try to find a Red Hat RPM. Many times I'm in luck. When I'm not, I grab the SRPM and failing that download the source. I might even spend a bit of time to see if it would be easy to write a .spec file and wrap my own RPM. If I have to configure and compile it myself, I ./configure --prefix=/opt/programname-version, which allows me to fairly painlessly get rid of the program.

  199. Re:Gentoo is a giant step, too long for mere morta by Anonymous Coward · · Score: 0

    Gentoo's install makes it possible to install it in many different ways, as theres no big gui front end to get in the way.
    My install:
    had debian installed on one hd(ext2), and also had a 60gig with random stuff on it (fat32). didnt want to loose either
    made a disk image on the 60gig, mounted it (-o loop), extracted gentoos base to it, chrooted, fully installed inside the disk image.. then used some boot disks (ironicly, debians install disks, as they had the best drivers) to mount everything, rm -rf everything on my debian install i didnt want to keep, and copied everything over.
    works fine and I didnt loose anything.
    -semi

  200. Information on rpmlib(PatchRpm) by Anonymous Coward · · Score: 0

    Can anyone part of this discussion, provide information about rpmlib(PatchRpm)?

    With this rpm lib it seems possible to "fix" an installed rpm package with
    a patch rpm. The patch rpm provides the patched files only. This is very
    very bandwidth friendly, but is messes up the dependency adminstration when
    using apt for example. SuSE is using this mechanism with their latest release.

    Any pointer towards
    the inner workings patch rpms are highly appreciated!

  201. Re:Gentoo is a giant step, too long for mere morta by dossen · · Score: 1

    In my experience both Red Hat and SuSE are terribly difficult to install without X and all kinds of stuff. Really annoying when all you need is kernel, shell, ssh and enough to make that run.

    While a source based distro means you need gcc, bin-utils and friends, you can get a long way without X. And if need be stuff like gcc can be installed in a custom location, possibly mounted on a spare drive/partition, which can be nuked after install (simplified I know... You need libraries or you must make things static, believe me, been there, done that...).

    The only thing you need binary distributions for are boot-strapping. And for that you need littele more than the build environment.

  202. Re:Just got ADSL, Just had a nightmare with packag by dossen · · Score: 1

    Well, for a lot of stuff the only safe way to disable, or enable, dependencies is in the configure phase of building. If the app was build to expect a library, its behavior without is absolutely not garantied to be the same as if it was never build for it.

  203. rpmfind? by Anonymous Coward · · Score: 0

    Install rpmfind...
    # rpm -Uvh /path/to/RPMS/rpmfind..rpm

    Upgrade entire system handling all dependencies...
    # rpmfind --autoupgrade

    Upgrade specific package handling dependencies...
    # rpmfind --upgrade
    Install specific package handling dependencies...
    # rpmfind

    Search for package...
    # rpmfind --apropos

    etc...

    rpmfind solves all your rpm problems for RPM based distros...

    And, if you have KRUD (Kevin's RedHat Uber Distrobution), you all ready have something like rpmfind:

    Install package...

    # krudfind
    Upgrade entire system

    # krud2date

  204. Total disagreement by Niscenus · · Score: 2, Informative

    The problem is not the filesystem. Only users uncertain about the FileSystem Hierarchy Standard or the basis of the POSIX layout could make that mistake. Once you start installing your own files, you'll find most of them goto /usr/local/share, which, for a Windows, is much the equivelant of C:/Program%20Files.

    The problem with RPMs comes out of the libraries used by the individual compiler. The most noticeable of these is when an unsuspecting regular GNOME user tries to install a binary constructed by a Ximian GNOME user. Most often when you're told by your package management utility that the particular package has a dependency issue, over fifty percent of the time, I would bet, it's really complaining about a library someone else has that you don't, and the remainder is typically a particular application it was designed to use. If you installed from sources, you would see, and I'm saying from experience, around 85% of these problems dissipate. A large part of this in thanks to considerate programmers who put the time to write alternative configure lines for the to-be-abstracted make file.


    If ./configure --option(s) && make && make install && make clean && rm -rf ../<name> is to difficult for you to do, perhaps you should consider using a Mac.


    Ditto on make uninstall too, oh, and don't do the && rm -rf if you think you're going to use make uninstall.

    For all other questions about POSIX, feel free to pickup this handy guide

    For anyone else with actual standards questions, my email still works (just in case those of you who still care about standards, both of you, still want some guidance).

    --
    "Yeah...it was the numbers that were irrational, not the murderous cult of vegetarians...." -- Hippasus of Metapontum
  205. Upgrading RPM based distribtuions. by guacamole · · Score: 2

    I have upgraded various versions of RedHat in the past and in general the upgrade worked very smoothly. I am typing this on a box that was running 7.0 originally. Later it was upgraded to 7.1, then to 7.2, then to 7.3. The upgrades worked very smoothly. I have also upgraded production servers from 5.1 to 6.0, from 6.0 to 6.2, from 5.2 to 6.2, from 6.2 to 7.2, later this week I will upgrade one of our servers from 6.0 to 7.3 and, frankly, I quiet expect this upgrade to work. Yes, you have to be very careful, keep the backups around and make sure your disks are partitioned so that the latest version of RedHat will fit on them.

    My $0.02

  206. Fragmentation of Linux distributions is the problm by guacamole · · Score: 2

    The real reason it is such a pain to work with rpm
    packages is that the distributions are so fragmented. You can't expect the packagers to build an rpm for five different versions of redhat, suse, and caldera and post that on his/her site. So, your milleage may vary. Possible solutions to this:

    1. If possible, stick with a recent version of RedHat. Almost always you will find packages for it.

    2. Use SRC rpm packages. Recently, I discovered that I can just rebuild the rpm package from source on my system with command "rpm --rebuild .*.SRC.rpm". So, if someone posted a binary package that works only on SuSE but you need to run it on RedHat, just get the source RPMs and rebuild them.

    3. When trying to install something first look if your distribution already has a package for it. RedHat for example now comes on three CDs, that's quite a lot of packages there and all of them are guaranteed to work. You might also try to grab packages from the next version of your distribution but that might be tricky.

    4. Finally, use the source Luke. I am tired about
    all this whinning and packager wars in the Linux community. Do you know that on other operating systems (e.g. Solaris 7 and older) users have to compile by hand even the basic things like bash and ssh? But that's only after you get a gcc binary that works. Fortunately, with Solaris 9 they now bundle tons of freeware software, but still, lots of stuff will just have to be compiled by hand.

    Another problem with the rpm packages are dependencies. This problem is much harder to solve and it is not specific to rpm only. Unless the packager has setup some sort of dependency list for apt-get or autoupdate (rpm) users then, you still have to make sure that you download all the required packages by hand and install them. Debian has avoided this problem mostly by packaging all cool software in the distribution. However, the extremely slow release cycle makes much of that very useless. For example, the current stable version of debian comes with openssh 1.x which does not support SSH protocol version 2 and the openssl version in Debian is so old that the latest version of openssh will not compile with it. So, you have to get a more recent version of openssl, and then install openssh. I know that there might be deb packages somewhere out there, but I just prefer to build the thing from source.

    My $0.02

  207. Re:I like Slackware -- Who Decides Dependency? by reallocate · · Score: 1
    Who decides what depends on what in the first place?

    I know from my experience that programs will compile from source and run just fine on Slackware without tracking down and compiling every bizarre dependency that RedHat hangs on that package.

    Maybe what's lacking is a standard way to determine dependencies?

    --
    -- Slashdot: When Public Access TV Says "No"
  208. My Opinion (What an original title!) by RAMMS+EIN · · Score: 1

    I think RPM (or any other binary package format) is nice because it can save users the time to compile packages. However, it has a few problems. First of all it has the inherent drawbacks of precompiled software. It is compiled for one kind of machine, meaning it won't run on incompatible machines, and will lack optimalization on others. Some packages are even specific to a given distribution. Secondly, the built-in dependency checking is flawed, because it requires that dependencies are installed as RPMs, and if I am not mistaken, won't take a later but downward-compatible version of a package as satisfying the dependency. This made me end up installing everything with --nodeps (at least I think that's what the option is called). For a while, that solved my problems, until I tried to upgrade my libc and broke the system. Since then I have never used RPM again, except for a few packages that I could only get as RPM or failed to compile from source.

    *BSD has a system called ports (I guess many /.-readers know that), which doesn't have the aforementioned problems. It compiles packages from source, and detects dependencies even if they were installed via a different mechanism, and automagically installs them if necessary and desired. Gentoo Linux adopted this system, and I am very content with it. The only thing I have against it is that it keeps the ports tree on your local harddrive (I believe Windows does the same with driver information), which takes up a lot of diskspace for no good reason, because the tree has to be synchronized every once in a while anyway. Also, without a (fast) Internet connection, it gets you knowhere. That argument doesn't count for me, however, because I myself am not going anywhere without a fast Internet connection anyway. Moreover, the packages could theoretically be put on CD or other media, why not? I think the system could even be modified to search for precompiled packages first, to save on installation time.

    I believe that ports comes close to the perfect package system, and could easily be modified to in fact become that system. My experiences with it have been far better than with RPM, and it's easier to use than manually installing from source. I don't have experience with .deb or other package formats (well, Peanut Linux's .tar.bz2, but that doesn't really qualify for me), but I think ports (or emerge) is the system of the future.

    --
    Please correct me if I got my facts wrong.
  209. Solution: Distrobution-Maker by Slicker · · Score: 1


    By building a distrobution-maker we can achieve
    what UnitedLinux might have achieved if it were
    made for desktop, consumer-based distrobutions.

    Idea: Use Debian to build a generic Linux base
    and have the distrobution-maker utility allow
    users to add applications, themes, and
    reconfiguration scripts to build their own
    distrobutions out of it. Give the generic base
    distrobution a free to all developer's list like
    Mandrake's Cooker and stay FAR from any mention
    of per-seat licensing. And make absolutely
    sure of LSB compliance.

    Then an army of new distrobutions will arise
    that are all very compatible with each other.
    While the big server markets are saturated with
    the big Linux distros, these will most likely
    focus in niche areas and the desktop markets.

    Mandrake, Red Hat, SuSE, et al. will not have to
    listen to users--it's a game of the survival of
    the fittest. The greater diversity the greater
    the chances of a newer, stronger rival who
    will get it right and make us all happy.

    I would really like to do this. Maybe someday,
    if I find other *CAPABLE* volunteers, then we
    will.

    Matthew

  210. Re: The Mac Way by reflective+recursion · · Score: 2
    Libraries are shared code, intended to be used by multiple programs/apps/packages.
    Erm. People are hung up on this library thing. The reason we have */lib today is not a user or developer convenience. It is a linker convenience. All the linker has to do is scan a few directories in it's path. Perhaps another idea behind the */lib structure is all application libraries go into this directory and a developer can simply find and choose a library to use. In practice it is never like that. A developer uses a library which is pseudo-standard, such as GTK+, Qt, ncurses, Xlib, etc. Sometimes a package may create libraries which it uses itself, such as The Gimp. The Gimp uses libgimp for plug-ins. The thing is this: The Gimp and libgimp go hand-in-hand and it would be very difficult seperating the two. It makes no sense to seperate the library from the binary and have people confused as to which version is on their system. If you simply had a directory called "gimp-1.2.3" then you would know exactly which version. You could also depend on that package and be guaranteed that it would never change.

    Another issue that goes along with libraries is where do applications place their header files? I have had major issues with this. Typically, what happens is old header files get mixed with new header files and when you go to compile an application it will many times get confused (include wrong files, etc.). If libraries had their own seperate directory, then you could place all header files there too. Imagine how much developer time this would save. I don't know if you use GTK+ or GNOME style libs much, but they have scripts written just so developers can link to the library easier (gtk-config, *-config). Type "gtk-config" at the command line to see what I'm talking about.. I'm sure you have it. Imagine how simplified linking to an application could become. Instead of needless -I and -L we could just do something like: --usepackage gtk+-1.2 and the linker/compiler would know exactly what needs done.

    This is a serious problem. Think about why KDE and other medium to large applications are using /opt today. IIRC, Slackware installed GNOME and KDE both in /opt. Look in there and you will find exactly the same structure as your file system. Now you end up adding another path to $PATH anyways. What about X? It has been doing basically whatever it feels like with its libraries and includes. Typically they fall into /usr/X11/*. IMO, the only possible solution is a major overhaul. Package management that we use today doesn't work at all because any modification to the file system could wreck dependency havoc. For example: if I removed gtk-config, I just killed the library. Yes, the library file is there and works for existing libraries. If I ever need to compile something with it though, I'm out of luck.

    I'd really like to get my hands on a Mac w/ OS X. It sounds really cool and I've heard many good things about it...
    --
    Dijkstra Considered Dead
  211. portage like system with debian already available by jerm_nz · · Score: 1

    yup, you can download a debian package source and make your own .deb package with just the standard apt-get. just type:

    apt-get source { package name }

    which will get the package source. you can then fiddle with the compile time options, and then type this

    dpkg-buildpackage -rfakeroot -uc -b

    and voila, a custom built deb package, all from source!

    jerrold.

  212. What about BSD? by The+Raven · · Score: 2

    I have used NetBSD on servers, and was highly impressed with the ease of installing via their source based distro tree (pkgsrc). No comments I have seen have discussed it or compared it to the Linux solutions. Could someone contrast and compare, for my edification at least?

    --
    "I will trust Google to 'do no evil' until the founders no longer run it." Hello Alphabet.
  213. First Post! by Anonymous Coward · · Score: 0

    Did I get it?

  214. /proc/xconfig by axxackall · · Score: 1

    parse all configs to /proc in XML format (or even better RDF) - let's stop Babilon Tower at last.

    --

    Less is more !
  215. My comments on `Is RPM Doomed' by aoliva · · Score: 1

    I composed this as private feedback to the author of the article, but then thought I'd post it here. I realize it overlaps some of the other postings, but there are some ideas I didn't read elsewhere (especially at the end), so I decided to post it anyway.

    Having recently turned from someone who disliked RPM and liked to build everything from source myself to an RPM-supported, I have some comments to make regarding your discussions about RPM.

    First of all, I must say that I work for Red Hat, but in the group that was formerly Cygnus Solutions, that develops and offers support for software such as GNUPro. Our group is not focused on Red Hat Linux, and we seldom release software in the form of RPMS, so I don't think I can be qualified as having any bias.

    First of all, I don't see what the problem with RPM upgrades is. I mean, it's nothing inherent to the RPM format: it's just that, unfortunately, not all RPM distributors are as careful about converting configuration files in case changes are necessary as Debian packagers are. Also, there's the issue that, as soon as you install packages from third parties that are not part of the distribution, and that therefore don't have an upgrade path at the time of the distro upgrade, introducing potential conflicts that are beyond the scope of what any distributor might be expected to be able to cope with. Unless, by `coping with it', you'd prefer the upgrade to refuse to proceed because of such conflicts, requesting you to remove the packages that are in the way before going ahead.

    As for the variation between distributions that use RPM, that give headaches to RPM packagers, this is just a symptom of the large number of distributions that have adopted it. If there were several major .deb-based distros, you'd very likely see similar differences. Ditto for source-based distros, except for the download, build and install infrastructure, that could be easily built atop RPM. Except that having a package build from source on every client looks like a waste of time to me, if the resulting binary will likely be the same. If you want differences, you can get them and then build from sources, but if you don't, why bother? Admittedly, configure tests for present features may reduce dependencies (at the cost of limiting features of the resulting binary), but then, you can expect to get the same effect by downloading the SRPM of a package and building that.

    I believe the RPM version issue is a legitimate complaint, even though I'm aware of only one major RPM upgrade that has introduced backward-compatibility issues. Admittedly, I may have failed to notice smaller issues for not keeping older versions of RPM-based distros running to the point of noticing problems with newer packages. However, the major RPM change I'm aware of is IMHO not too different from say a distro switching from say .rpm to .deb, .tgz, etc (or the other way round, if you prefer :-) The package formats are different, to address issues that the older format could not address. Surely keeping the same name for the package manager may be confusing and misleading, but given that it's still conceptually very similar, and fully backward-compatible in the source level (by source I mean spec files), it's reasonable to retain the same name. I wish the upgrade path had been smoother, but if you think about it, it's not really possible to get more than what was gotten. Letting older versions of rpm install packages that make use of features they know nothing about is definitely not a good idea.

    WRT the issue of getting some piece of software to automatically locate dependencies, resolve them and install them, I have mixed feelings. I don't think having RPM do it is the right place: it goes against the Unix philosophy that every package should do something very well, instead of trying to solve all the world's problems, but doing this one thing in such a way that additional layers of software can be added to extend the set of problems that can be solved.

    Dependency resolution is something alien (no pun intended :-) to RPM: RPM is about managing software installed on a machine ensuring that dependencies are fulfilled and conflicts do not arise. It is not about locating packages, selecting which version of a package to use based on some criteria, downloading them and then doing what RPM does today.

    As you've mentioned in your article, there are other packages built atop RPM that take care of the issue of locating and downloading packages. Not only urpmi and apt*rpm, but also up2date (and current) and Red Carpet.

    up2date is the only one of these I'm familiar with, but it does as much dependency resolution magic as I've ever wanted. If I tell it to install a given package, it will find out whether there are any dependencies that I'm missing in my distro, download them and install them along with the requested packages. No dependency hell.

    Unless, of course, I'm trying to install packages that have conflicting dependencies, or packages whose dependencies are unknown to the up2date server. Surely, someone could come up with a world-wide infrastructure to locate RPMS that would enable an up2date client (or server?) to determine packages that could satisfy dependencies of an arbitrary package that I wish to install, then proceed to download and install them.

    But the very notion of having software downloaded from arbitrary servers ``out there'' and `automatically' installed on my machines is scary. Why would I trust such software to the point of installing it on my machines? But then, as I limit the set of trusted servers/signatures I'm willing to have installed on my machines, the likelihood increases that I'll try to install a package whose dependencies cannot be fulfilled by packages in such a set.

    This model works for Debian, as well as for Conectiva's RPM-based apt-get, because there *is* a set of trusted servers that very likely carry all dependencies you may need. If they don't, you're just as out of luck. It's a matter of coverage of dependencies on the servers.

    Now, let's assume for a moment that someone comes up with a distributed RPM dependency solver. A P2P system thing to which people could upload/offer RPMs, and that would accept queries on RPM dependencies, returning sets of RPM headers that would fulfill such dependencies, and then accepting download requests of said RPMS.

    Even if we got that far, I still see problems. One of them is that of trust, that I've already discussed. The other is that of choosing which of the packages that satisfy a dependency to download and install. If there is not a central authority to label packages as say stable, unstable, testing, who gets to make the decision? And, more importantly, how about alternatives? Say a package that requires a MTA: should sendmail, postfix or something else be installed? If so, which exact version?

    The way I envision a client for such a P2P system, it should present the options to the user, resolving and presenting further dependencies, leaving it up to the user to decide what RPMS are to be installed. Hardly something that can (or should) be automated.

  216. dead config standard by axxackall · · Score: 1
    existing dominating Unix config standard format is historically closed to primitive shell scripts. It's not structured, badly verified and not designed for dependency control. That's because shell script language is too primitive.

    I would recommend to use XML (namely RDF) format: the structuring would be much better, it would be under very good verification and it would not a problem to check configuration dependencies. At least it would be a foundation to create a standard for configuration dependency control.

    --

    Less is more !
  217. LSB idea type thing by pherthyl · · Score: 1

    This just occurred to me. What if, instead of requiring a certain file system layout in every distro, why not just require that every distro has a config file or set of environmental variables that point to the locations?

    So instead of forcing every distro to put config stuff in /etc or whatever, just get them to make a CONFIG variable that points to whatever folder they want to put the config files into.

    This would of course require every software developer to rewrite their stuff to use the variables instead of the path but that wouldn't take all that much effort and it would be a hell of a lot easier than trying to force the distros to make a major change.

    Would this idea work? I have only very little experience with linux but it seems like this would be a good solution.

    1. Re:LSB idea type thing by jilles · · Score: 2

      Than the next obvious question would be which file system structure. Which immediately poses the question what distribution to standardize on which in turn makes it very clear that the first is infeasible.

      The problem (depending on your point of view) with OSS is that you cannot require developers to work in a certain way. Attempting to do so usually results in flamewars. OSS projects exist because the members don't like similar OSS projects and decide to do things their way.

      --

      Jilles
  218. Re:Gentoo is a giant step, too long for mere morta by SpoonMeiser · · Score: 1

    So, does RH give you the option to install ssh with or withour X support. X support is damn useful, and if I were to install X, I'd definatly want it. But on a server, I wouldn't instal X and wouldn't want the dependancy problems. It seems a little much for RH to provide many different versions of the same software with different configure options enabled.

    Maybe I'm missing your point, but my point was that I'd want software with/without different support compiled in depending upon what I install. As far as I know - that's not easy with RPM.

    --

    --
    Hollywood representatives have publicly stated that skipping commercials is "stealing."

  219. Huh? by SpoonMeiser · · Score: 1

    Sorry, I don't get your point...

    If I didn't install X, why would I want to install a desktop...?

    --

    --
    Hollywood representatives have publicly stated that skipping commercials is "stealing."

  220. Link on local machine... by arsaspe · · Score: 2

    I gave up using RPMs long ago because of the dependancy problems, and nowadays always compile from source. I find this generally causes a lot less problems. The only gripe I have is that large programs can take hours to compile.

    My proposal is to distribute semi-compiled packages. The Distributor (i.e. Redhat) compiles the program on there machines as per normal, except they dont link it. They distribute a package containing .o files, and a makefile. Installing the package does the final step in compilation- linking the object files.

    This would solve most dependancy problems. If I have a different version of a library with rpms, the program generally wont run. However if you you do the linking locally, the program is linked to your libs as if you compiled it yourself.

    It also solves the time problem. Large packages would take no more than 20 seconds to link.

    If you came up with a packaging system like this, and make it a little more flexible (Allow the user to choose install dir!!!!!), then you have a fast installation that works on pretty much any system.

  221. The Debian Task Installer — tasksel by Erotomek · · Score: 1

    Inexperienced users need to be able to install software. If they can't, we will never get any more experienced users, because they will give up on Linux and we will never have the privilege of having them as members of our community.

    Packages need to have reasonable defaults. Complex programs need a simple and user-friendly way to install a usable subset of their full configuration.

    I use Debian and there are two very powerfull tools for managing the software packages which I use — apt-get and dselect (see the docs about APT and dselect) but what you seem to ask for here is tasksel. With tasksel (it's run when you select the "Simple Package Selection" during the system installation process, and you can run it any time later with tasksel command). See the Debian Installation Manual: Simple Package Selection The Task Installer:

    If you chose ``simple'' installation, you will next be thrown into the Task Installer (tasksel). This technique offers you a number of pre-rolled software configurations offered by Debian. You could always choose, package by package, what you want to install on your new machine. This is the purpose of the dselect program, described below. But this can be a long task with around 8300 packages available in Debian!

    So, you have the ability to choose tasks first, and then add on more individual packages later. These tasks loosely represent a number of different jobs or things you want to do with your computer, such as `desktop environment', `development in C', or `file server'.

    For each task, you can highlight that task and select ``Task Info'' to see more information on that task. This will show you an extended description and the list of packages which will be installed for that task. A table showing approximate sizes of the various tasks for planning purposes is in Disk Space Needed for Tasks, Section 11.4.

    Once you've selected your tasks, select ``Finish''. At this point, apt-get will install the packages you've selected. Note, if you did not select any tasks at all, any standard, important, or required priority packages that are not yet present on your system will be installed. This functionality is the same as running tasksel -s at the command line, and currently involves a download of about 37M of archives. You will be shown the number of packages to be installed, and how many kilobytes of packages, if any, need to be downloaded.

    Of the 8300 packages available in Debian, only a small minority are covered by tasks offered in the Task Installer. To see information on more packages, either use apt-cache search search-string for some given search string (see the apt-cache(8) man page), or run dselect as described below.

    So, as you can see, you don't even have to know the names of the programs you need (not to say about what do they depand on), you just have to know what are you going to do (e.g. select Servers: SQL database, mail server, web server and Development C and C++, Fortran, etc.), great for beginners who want to play with Debian but don't exactly know where to start from. When I was first using Debian, I was using tasksel only, then after some time I started using dselect and have never used tasksel again. Now I'm using mostly apt-get and sometimes dselect.

    I hope it helps.

    --

    Krótko: kady Erotomek
    W pimiennictwie ma swój domek.

  222. The Problem isn't the package manager by BeeazleBub · · Score: 1

    The problem here isn't the package manager. RPM, apt, deb all have their quirks. The problem is the laziness of software developers. And I do say laziness, because they release packages for their projects, but hardly ever distribute or even link to projects for which their work is dependent. Also there is a problem with cross project dependencies. If you're going to release your project in a package manager volume, then all the libraries that you depend upon must also be available is some form of package (not tar.gz or tgz :)) The rule to follow here is that all software should be released as packaged software, never as tar balls. That alone would solve over 95% of all software installation problems. ---------------- May we all live and die by the eternal flame BeeazleBub

  223. Please mod parent up by Anonymous Coward · · Score: 0

    This is the MOST INSIGHTFUL comment in the whole thread! Unfortunately it's anonymous. And it has Score:0... No one will read it with 0 points, so please mod it up, thanks! After you mod parent up, you may mod me down...

  224. This doesn't go anywhere near far enough by lamontg · · Score: 2
    I wrote up a rant about this subject the last time I was unemployed: http://www.scriptkiddie.org/rants/registry.html.

    The executive summary is that there needs to be a better designed tool in between the software developer of the package and the system admin who installs it. I would like to have the flexibility to setup a policy on my machine as to weither or not I'm using /usr/local/bin or /usr/bin or /packages/whatever/bin, etc. And then have the installer configure the package correctly to install it however i'd like.

    One thing this would necessitate is making the installer be much less flexible to the developer than RPMs. The problem with RPMs is that they're way too flexible for the developer of the package. There needs to be a simple, inflexible API or else you're going to have a mess.

    I titled it "why unix needs a registry?" just to throw some gasoline on the fire... Read it and see what I really mean (unix needs a centrally-accessable database of metadata about installed programs...)

  225. Nothing new here... nothing said of value either.. by theendlessnow · · Score: 1
    1. No new arguments.

    2. Solutions presented are weak and are either worse than the perceived problem, or have weaknesses that are arguably just as bad.

    How about a story line like:
    The Wheel is Doomed!

    Sure am glad that this got posted in lieu of something truly worth our while.

  226. RPM is doomed by Paua+Fritter · · Score: 1

    It is official; Linus Torvalds confirms: RPM is dying!!!

    One more crippling bombshell hit the already beleaguered RPM community Linus Torvalds CNN confirmed that RPM market share has dropped yet again, now down to less than a fraction of 1 percent of all package managers. Coming on the heels of a recent LinuxWorld survey which plainly states that RPM has lost more market share, this news serves to reinforce what we've known all along.

    You don't need to be a Kreskin to predict RPM's future. The hand writing is on the wall: RPM faces a bleak future. In fact there won't be any future at all for RPM because RPM is dying. Things are looking very bad for RPM. As many of us are already aware, RPM continues to lose market share. Red ink flows like a river of blood.

    All major surveys show that RPM has steadily declined in market share. RPM is very sick and its long term survival prospects are very dim. If RPM is to survive at all it will be among academic dilettante dabblers. RPM continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, RPM is dead.

  227. Re:There is nothing wrong with RPMs. Only packager by Anomie-ous+Cow-ard · · Score: 1
    your final source package [emphasis mine]

    Ah! I had thought you were talking about binary packages. Especially since Debian doesn't have source 'packages' (just .tar.gz sources with diffs) i tend to consider packages to be binary things.

    Well, if you use a package style like libc6 does, then it's easy enough. Otherwise... hmmm... ok, you got me there. Personally, i just put my patch online and expect people who want to compile to know enough to download and apply it to the standard sources ;)

    --

    --
    perl -e'$_=shift;die eval' '"$^X $0\047\$_=shift;die eval\047 \047$_\047"' at -e line 1.

  228. It's about time by rifter · · Score: 2

    It's about time someone called bullshit on rpm. One of the interesting points in the article was that not all packages are created equal, thus you must find a package that works for your version of rpm, your distro, and the version of your distro you are using. However, I have found that even using rpm's from the install cd of the next version of an rpm distro will not mean the install will go through smoothly.

    I'm not just talking about normally failed dependencies; that is understandable enough and can be dealt with (though the author was more than generous in his treatment of the goose chase that can be) but in fact I am talking about a situation in which you have libfoo-mdk-8.0-5.5.1 and are trying to install the rpm for libfoo-mdk-8.1-5.6.4 and it chokes, saying it requires libfoo-5.5.1 installed, or something to that effect.

    When you can't even use rpms from the next version of a distro to upgrade your distro, there is a problem. Hell, even microsoft had that much working long ago. Why is the answer to getting to a new version of a distro often a fresh install? For that matter, why do many distros in their faqs for setting things up only tell how to do it in the install, as though no one is ever going to change things later?

    Which of course is why I use slackware. The system is clean and relatively free of proprietary extensions to the way things are done. Most things are configurable on a slackware box in the same way most other unix boxes are. And I don't have to deal with rpm's. At first I used the slackware package system a lot, but lately I just compile most stuff from source.

    Of course, this does not deal with a major cause of rpm dependency hell, which is the extremely fragmented nature of linux projects. Granted, this is building off the unix tradition of using mamny small parts to come together to a cohesive solution. However, it becomes a problem in two areas: one being the desktop user, and two being complex applications that require many of these parts. Usually the two are involved together, as with a project like Enlightenment or KDE. The problem is that when you want to install one thing, it requires 30 others. But you have to figure out where they are. Now I can do that, though it can be a headache, but what about poor Joe Sixpack and his shiny new Walmart computer with Lindows and DeerHunter installed?

    In desktop systems like BeOS, OS/2, Windows, or MacOS, it is typical to encounter everything needed to run the program packaged with the program, right down to system libraries. What Windows based game written in the last 6 years did not come with some version of DirectX right on the cd? Now, granted, the windows way screwed many over, as program installers installed older libraries over newer ones and wreaked other fun havok on people's systems, and microsoft's patches gleefully broke people's programs. But, still, if we are talking about getting linux on the desktop, we shoudl be talking about learning from microsoft's mistakes and coming up with something better.

    I think it helps everyone to have better package management, and definitely better dependency handling. I think apt-get and sourcerer's "spells" might be steps in the right direction, but I'm not ready to call it there yet. Oh, and I am sure lots of responses to this article will say it should be tough for newbies. But what we tend to forget, is that there really is not anything wrong with things being easier to do. In fact, saving time and trouble is supposed to be what technology is about, and putting a better tool in a skilled hand is the best thing we can do. The only problem is when we obscure the works so much that it is difficult or impossible for that skilled hand to fix the tool should it go awry, and this is of course the case with both windows and rpm, which is why I use neither if I can help it.

  229. Excuse me while I die crying. by Doktor+Memory · · Score: 2

    The syntax of UNIX config files is pretty standard

    It is? Please enlighten me: which standard would that be, exactly? The one used by /etc/hosts? Yeah, that looks pretty much like the one used by syslog.conf, except oops you can't use spaces in the latter, it has to be tabs. Of course neither of them look much like Apache's config files, which in turn bear no resemblance at all to SAMBA's. Oh, and let's not forget what happens if you're silly enough to leave a blank line or a comment somewhere in /etc/passwd.

    The /etc directory on a newly installed RedHat or Solaris machine contains close to a hundred files, and damn near each of them has its own unique configuration syntax, many of which will cause total failure if you use it in the wrong file.

    The sense of accomplishment that unix geeks get from knowing how to manage this 50-car-pileup of interfaces somehow usually manages to overwhelm what should be our righteous indignation at being asked to do such a stupid thing in the first place.

    You can rag on Microsoft's design choices all you like, but at least they actually attempted to solve the problem. Hell, at least they realized that there was a problem. Throwing your hands in the air and saying "let each app pick its own way" increases your job security at the cost of decreasing the likelihood that unix will win the datacenter wars.

    --

    News for Nerds. Stuff that Matters? Like hell.

  230. Consistency info usage and user interface by bit_weaver · · Score: 1

    It is not so much RPM that is to blame for installation problems, it is the level of consistency of package information and its use, which is a function of creator and community meticulousness not so much of the package standard. And the user interface to that could do some improvement on existing ones. I know Slashdot != Santa, but choose not to believe that now :)

    A key is how to fully use all dependency and configuration info in a trivial UI, for a generic package manager from all RPM vendors and even others. There should be a globally upgradable distributed database to resolve consistency dependencies among all RPMs etc. ever published. Way too many distros today to converge.

    Trying to set more rigorous standard there won't hurt but the database would be more short term solution. Compilation option data should be standardized, dynamic download location pickup, and all data needed from rpmfind etc. to figure out things for non-default-distro packages would need to be built in.

    Systems like Ximian's Red Carpet are a good start to show what the UI could look like. I'd still simplify the default a bit. I used Debian dselect around -96 when it was new but moved away due to then continuous inconsistency issues. Stepping backwards to RPMs was a time saving issue tho I lost dselect benefits for some time.

    InstallShield -like simplicity, reliable global dependency checking, alternative ascii UI, easy batch-mode with system- and category wide upgradability, and the sharing and parameterizable multi platform support are a must for a future RPM UI. Whatever I have considered, all pieces are not yet there. Such a front should actually handle dpkg, rpm, and whatever else there are, all simultaneously. One should be able to choose source vs binary upgrading with params setup for both, whether upgrade is for the running system or some other target (pull/nfsmount that arm/old i386 sys disk from that slow/old box and go). Verification is also important for not to make it a trojan install system. I would not mind privacy for snoopers not to know my setups.. Users should be able to upgrade consistency info in that database and kernel (driver) configuration should be made available thru it also. Generating a bootable default install CD/DVD image that would (meta)install the chosen system either from network or by local copy from stuff on the CD/DVD would be a plus. Yes, and my granny would need to be able to do some install with the UI (not necessarily the one with the right global compilation optimization params through all packages, though).. And put the same UI to be available as a standard tool for newinstall disks, like the /stand/sysinstall is in FreeBSD. So it'd more need an interesting project effort rather than abandoning the RPM.

    Yes, and a nice blonde shaking her .. head as a default UI skin when the UI does its job would not hurt, either :o]

    That's all, Santa.

  231. Re:I like Slackware -- Who Decides Dependency? by moZer · · Score: 1

    That's a interesting point - however, dependencies are closely linked to what features are compiled into a program. Let's say you want to package Nautilus: it's possible to disable mozilla support at compile-time, removing the need for mozilla to be installed. But then you remove an important part of functionality. Or, you could try to split the package into speperate pieces where that is possible (nautilus/nautilus-mozilla or mozilla/mozilla-mailnews/mozilla-irc etc), but that won't always work either.

    It's always a tradeoff, and there's always someone who isn't satisfied. Say you put everything realted to Gnome in one package - very easy to install, and probably doesn't have a lot of external dependencies except obvious ones like X and glibc. But then someone shouts "Bloat!", because he or she doesn't want to have Evolution installed jut to run Xchat. On the other hand, if you look at Gnome now, it's at least 10 different packages on top of X that you need to install (and run) Xchat. Which is better?

    I short, it's impossible to please everyone at the same time. If you're not satisfied with the way someone else has done the job for you, do it yourself.

    --
    Hello, my name is Robert Lerner, and I pronounce Lernux as "99% cpu"
  232. [off-topic] XFree86_4.2.0-0pre1v1.deb is out !! by nadaou · · Score: 1
    Re. Debian ..
    This has drawbacks of course, like the lack of the latest-and-greatest software (notably XFree86 4.2


    Thought some of you might like to know:

    Branden has just released the first -pre version of the XFree86 4.2 Debian packages on his personal site, and on several mirrors. (NOT official debs yet; NOT in sid yet)

    See the anouncement and obligitory flame war at:
    http://debianplanet.org/article.php?sid=696

    Happy breakage!
    --
    ~.~
    I'm a peripheral visionary.
  233. Re:Gentoo is a giant step, too long for mere morta by Wdomburg · · Score: 2

    Actually, the X forwarding stuff isn't a compile time option. It won't work unless you have X installed, of course, but it doesn't break it if you don't.

    The packages that have options that would cause dependencies (e.g. emacs with X11 support) are in fact often split into different pacakges - emacs-nox and emacs-X11, vim-common/enhanced and vim-X11. Other ones take advantage of software that has modules, such as apache and perl. And a large number of other packages are compiled with optional features enabled, but not turned on in the config files.

    Big dependencies (e.g. X, Python, Perl) *are* seperated out into their own packages, and in most cases other features are turned on by default. And once you start looking at desktop level software, configuration is usually done within the application, not compile time. But even when that's not the case, it is often provided with plugins its easy to package on their own (look at GStreamer, the multimedia framework - each codec that has an external dependancy is split out into a seperate RPM so you can install only those features that you actually need).

    My main point is that most people *don't* do customization on their software. Remember, the mantra of source code advocates is "but compiling is easy, it's just ./configure && make && make install!".

    I can see the appeal of something that automatically configures itself based on what you have installed, even if I see it being of limited utility. And I can see some issues with it, such as the gentleman who pointed out that in Gentoo, if you compile with a library installed, then remove that library, it will silently break the application.

    As for difficulty in custom compiling RPMS, it's really not nearly as difficult as people make it out to be. On a lot of packages, if you do a rpm --rebuild on a SRPM, it runs through a straight configure that detects what libraries are installed, and the find-requires script will write your new RPM with all the proper dependencies.

    And if you need to change an implicitely specified option, you can install the source rpm, change the "./configure" line in the spec file, and rpm -ba it.

    But most of the time this really doesn't buy you much. I run about 60 Red Hat machines and the only custom RPMs we need is software that was written or modified in house, and the kernel, since there was a particular issue that we needed to patch away (a two line change to the spec file).

    Matt

  234. Re:Why the fuck we have to drag around libraries?? by Pig+Hogger · · Score: 2
    Libraries are the biggest stupidity since Windoze.

    It's just as st000p1d as the DLL crap with Windoze. You might have an excuse with proprietary software that's kit-bashed from different sources or of which you may want to update or patch a "feature", but with software of which you have the source, there is NO EXCUSE for that dependency crap.

    At least, that's one thing most Macintrash programs have right: no goddam fucking library/DLL dependencies. Everything is in one binary file!

    With the big disks we have nowadays and the high bandwidth, there is no reason why you should not be able to include the whole fucking shebang with the application, and keep it isolated (to prevent it from breaking other programs) on your system while you compile it.

    (Reposted, account being moderated into oblivion)

  235. 666th post! by Mister+Furious · · Score: 1

    woot! This is my first 666th post.

  236. Good Article...but... by nullhero · · Score: 1

    I haven't suffered that much of the dependency hell of RPM maybe I don't try the new bleedin' app that comes out. I have tried Gentoo Linux but unfortunately I use an Old 200 mhz Pentium w/mmx. I have had if for 5 years and whereas I've tried to get gentoo to load on it it just won't but my Red Hat installation just continues to purr along without a problem.

    Maybe, I'm the odd one. I've packed newest graphics card, the newest ethernet card, new monitors, but USB 2.0, a logictech wheelman mouse, more memory (256mb, the motherboard can't go any higher), the latest harddive and the damn thing keeps running and not only that it running so damn smoothly. I've installed new programs and usually get the source file rather than RPM but when there has been no source just a binary RPM it never has failed me...

    I'd love to use Gentoo and Sorcer but they just don't work for my old workhorse and Red Hat does....

    Later

    --
    Save Pangaea!! Stop Continental Drift!!
  237. Lack of Communication leads to packaging hell... by ebuck · · Score: 1

    Many fine point have been raised, but my favorite RPM nitpick is found in Mozilla.

    For awhile a not-so-fun package conflict existed when Ximian (a fine company) decided to grab a library out of Mozilla (a fine project) and reuse the code in another package (a fine idea).

    Unfortunately, this led to packaging a library in it's own rpm (a good idea), but this ONE FILE INCONSISTENCY created all sorts of minor annoyances every time Mozilla hit another milestone (and who doesn't want the bugfixes?)

    True, the inconsistencys were minor, and it wasn't difficult to overcome them (after reading Maximum-RPM, which was what I both should have done in the first place and what I recommend to anyone using an RPM based distro) but I felt that a bit of communication between the two packagers could have eliminated this problem.

    Then I thought about it some more... How would a project developing something with reusable code (like Mozilla) know that someone else was repackaging it for their needs, and why would they change their packaging model just to satisfy the installation of another product without the need to install the product itself? This does not make sense.

    It is easy to want something our way, to want it our way automatically, and to not want to know a thing about it.

  238. RPMS vs. Compiling from source by Anonymous Coward · · Score: 0

    I use RPMS when they are sufficient.

    If RPMS don't do the job (a security patch is needed, etc.) I just uninstall the RPM and compile.

    Likewise, sometimes RPMS are lacking in features available only if you compile from source (PHP is a good example).

    Just save your source directory somewhere so you can find everything when it is time to remove it... or upgrade.

    l8,
    AC

  239. your theory != practice by Ender+Ryan · · Score: 2
    In theory, in your head at least, you are correct. However, in practice, the windows registry gets fucked up enough to render a system unbootable far more easily than /etc.

    The problem with the registry is that it is a single point of failure that is also prone to failure. /etc is not prone to failure at all. Making trivial system changes, non-trivial meaning altering something not part of the boot sequence, can't fuck up your system that badly. With the registry, a simple crash or power failure can toast your system.

    Further, your "multiple points of failure" line is complete bullshit. The files in /etc, being multiple files, isn't in any way meaningful at all, except modifying one can't corrupt another, so you're actually completely backasswards in your logic.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  240. Great! I will try it. by Futurepower(R) · · Score: 2

    Great! I will try it. I didn't know it existed.

  241. Aptitude is Your Friend by Cliff · · Score: 1
    Actually, dselect has been known to drive users the hell away from Debian. Its interface is rotten, and the authors agree. It's unfortunate, since dselect and apt really do good things. It just takes a bit of adjustment to get used to dselect.
    dselect was an honorable attempt to solve a difficult problem. It's unfortunate that it failed miserably.

    Aptitude looks to have learned some of the lessons of dselect and provides a decent text based package management solution that isn't so confusing. The one drawback with aptitude is that it can't be used for single package installs (unless your system is completely up to date), but then again, that's what "apt-get" is for.