Slashdot Mirror


RPM Dependency Graph

Lomby writes "Following the spirit of the kernel schematics poster, I wrote a script that generates a diagram that depicts the rpm packages installed in your system, along with their dependencies. You can find more details and a download link at freshmeat."

192 comments

  1. Circles? by Anonymous Coward · · Score: 0, Troll

    So anyone found any circular dependancies on their machine yet? You know it's only a question of how many. Whenever you have to install two (or more) RPMs at once, because you can't do them separately, in any order, you have a circular dependancy. Well done, RPM team!

    1. Re:Circles? by Anonymous Coward · · Score: 0

      that's why they invented the switches --nodeps, and --force for install. :)

  2. which vendor by Anonymous Coward · · Score: 1, Insightful

    The problem with RPMS is when there are different dependencies for the same package depending on who it was packaged for.

    So how do youy handle that, seperate grpah for eahc vendor ?

    1. Re:which vendor by Captain+Zion · · Score: 2
      Just because rpm packages have the same name, it's not the "same package". Note that rpm is only a way to deploy software, think "tar with metadata" (or cpio, in this case). It's purpose is to offer a mechanism, the packaging politics is entirely up to the distribution.

      It's a common mistake to imagine rpm packages as a big, uniform package base serving all distributions that use the format. It isn't. Each vendor can package software in a different way, built with different options and with different dependecies. Some distributions based on rpm are even migrating to a packaging layout more similar to Debian than Red Hat (e.g. libfoobar2 instead of foobar-libs).

      So the answer is yes, you must have a different graph for each vendor.

      As a side note, I've done that before using Gustavo Niemeyer's depmanager. If you don't work with a very restrict set of packages, the graph becomes very, very dense and confuse. But it's good to find dependency errors.

    2. Re:which vendor by Captain+Zion · · Score: 2

      > the packaging politics is entirely up to the distribution.

      That should be "packaging policy". Yeah, I know, preview, yadda yadda.

  3. Recursive loops by flonker · · Score: 5, Interesting

    Ah, but does it handle recursive loops? ie. Package A v1.2 requires Package B, but package B requires Package A v0.9?

    I've encountered that kind of thing way too frequently building stuff on Cygwin. Admittedly, RPMs are not the same as building from source.

    1. Re:Recursive loops by Anonymous Coward · · Score: 0

      please give one example of this occurring
      it's not that i don't believe you, but well... i don't believe you

    2. Re:Recursive loops by n0jokeg · · Score: 1

      Doesnt happen much anymore. Used to be common to have a program with a bunch of drivers where the program requires a driver and the driver requires the program.. (i.e. xfree)

    3. Re:Recursive loops by JPriest · · Score: 2
      With all the huge companies and brilliant minds behind Linux I can't believe there is such a huge lack of alternatives for distributing and installing software. Such an alternative would both make things much easier on the end user and free up developer time. IMHO, this is currently #1 item on the whine list.

      PS. Interesting RPM rant here

      --
      Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
    4. Re:Recursive loops by mrbnsn · · Score: 1

      There is an alternative.

      It's called apt-get.

    5. Re:Recursive loops by DavittJPotter · · Score: 1

      Apt-get *is* better, but sometimes it still barfs - for instance, I had to remove mutt to install qmail (testing machine, ok?! :) ).

      But yeah, for the most part, I LOVE apt-get. AND - Red Hat users - GET APT_RPM! You'll thank yourself in the mornings.

      --
      "If there's hope, it lies in the proles..."
  4. Modified to support .debs? by Other · · Score: 4, Interesting

    I wonder how hard this would be to modify to use debian packages and dpkg instead of rpm. Anyone taken a look at the source?

    1. Re:Modified to support .debs? by tconnors · · Score: 5, Informative

      man apt-cache

      cd /var/cache/apt/archives
      apt-cache dotty *

      google "i'm feeling lucky" on graphviz, and voila!

      I have a feeling someone is working on packaging graphviz, but there was problems with true-type fonts....

    2. Re:Modified to support .debs? by jsse · · Score: 4, Informative

      The above is non-graphical and apt-cache dotty * would return errors in some case. I made a little modification to make a full graph out of it:

      apt-get install graphviz
      apt-cache dotty `dpkg --get-selections | grep -v deinstall | cut -f 1` | dotty -

      WARNING: it would take a lot of time. You may try `apt-cache dotty ssh | dotty -` just to see a simpler graph.

    3. Re:Modified to support .debs? by Sam+H · · Score: 3, Interesting

      There is also the problem that graphviz is free (beer) but not free (speech). Use Tulip instead. To get you convinced, here are some benchmarks.

      --
      God, root, what is difference ?
    4. Re:Modified to support .debs? by Anonymous Coward · · Score: 0

      wah! It doesn't build on my new gcc3 system!

    5. Re:Modified to support .debs? by Anonymous Coward · · Score: 0

      If it's so free why do I need to provide my information to be emailed a download link?

    6. Re:Modified to support .debs? by alain1234 · · Score: 1

      Hi, read the threads here : http://www.debianplanet.org/node.php?id=695

    7. Re:Modified to support .debs? by Bingo+Foo · · Score: 1
      Anyone taken a look at the source?

      Are you kidding? This is slashdot. The only way anyone here would look at the source is if it was available as a Think Geek T-shirt or xmms skin.

      --
      taken! (by Davidleeroth) Thanks Bingo Foo!
    8. Re:Modified to support .debs? by Anonymous Coward · · Score: 0

      I wonder how much karma whoring is contained in this post ?

  5. Cool idea! Now how about a Debian port? ;) by Anonymous Coward · · Score: 0

    I get easily lost amidst all this mess:
    grep '^Package: ' /var/lib/dpkg/available | wc | awk '{print $1}'
    8990

  6. Artwork entitled, "Why to use apt-get" by linuxbaby · · Score: 4, Funny

    I would just put a title at the top of it saying:

    "Why to use apt-get:"

    1. Re:Artwork entitled, "Why to use apt-get" by Anonymous Coward · · Score: 0

      I love Debian's package handling, but having the stable distribution based on the shitty 2.0.x whatever kernel and the pathetic 3.x Xfree is just unacceptable. I don't have a broadband at home so that I could upgrade the distro.

    2. Re:Artwork entitled, "Why to use apt-get" by guacamole · · Score: 2

      or use up2date or autoupdate

    3. Re:Artwork entitled, "Why to use apt-get" by Anonymous Coward · · Score: 0

      Yeah sometimes Debian can be really out-of-date (eg, the SDL libraries in potato), but the kernel in woody (current stable tree) isn't too bad. The default install is 2.2.20 and it has up to 2.4.18 precompiled kernel images. Not bleeding-edge, but good enough to run with (and quite stable).

    4. Re:Artwork entitled, "Why to use apt-get" by mahmud · · Score: 1
      Um, well in my humble experience Debian/unstable isn't all that unstable. In fact I havent had any noteworthy problems with it since I installed it in November...

      And why don't you just compile your own kernel, anyway?

    5. Re:Artwork entitled, "Why to use apt-get" by jsse · · Score: 2, Insightful

      "Why to use apt-get:"

      This is very funny but not being fair. :)

      Any package system when connecting all packages with dependencies would look horrible.

      Please refer to my previous post and create a similar dependencies graph in Debian and you'll see. :)

    6. Re:Artwork entitled, "Why to use apt-get" by Anonymous Coward · · Score: 0

      i did it on a modem, leave it on all nite and set ppp to redial.

    7. Re:Artwork entitled, "Why to use apt-get" by nagora · · Score: 2
      Unfortunately, apt-get goes barmy as soon as you install an rpm it doen't know and the documetation does not seem to show any way of fixing it. Plus it doesn't (and can't) solve the problem of false dependencies. I use my own spooling software and apt-get kept telling me to install LPRng before it would work so I had to ditch it. The packages that claim to need LPRng actually only need a program called `lpr' which sends jobs to the printer.

      Some way of telling apt-get that its idea of what's installed or needs to be installed is sometimes wrong is needed before it's usable for me.

      TWW

      --
      "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
    8. Re:Artwork entitled, "Why to use apt-get" by DizietEmbless · · Score: 1

      There is a package called equivs have you tried that? Something like: apt-get install equivs cd /tmp (or somewhere easy) equivs-control vi Put in the dependencies and values you need (read up on this). equivs-build dpkg -i Hope that helps.

    9. Re:Artwork entitled, "Why to use apt-get" by DizietEmbless · · Score: 1

      There is a wonderful package called equivs have you tried that?

      Something like:
      apt-get install equivs
      cd /tmp (or somewhere easy)
      equivs-control [nameofpackage]
      vi [nameofpackage]
      Put in the dependencies and values you need (read up on this).
      equivs-build [nameofpackage]
      dpkg -i [dpkgs it spits out]

      Hope that helps.

    10. Re:Artwork entitled, "Why to use apt-get" by Anonymous Coward · · Score: 0


      * You don't have to have broadband.
      * The "stable" distribution just means "more proven". Most people run unstable w/ no problems.

    11. Re:Artwork entitled, "Why to use apt-get" by Captain+Zion · · Score: 2
      > I would just put a title at the top of it saying:
      >
      >"Why to use apt-get:"

      The dependency mess is one of the reasons we had to add rpm support to apt. But if your package dependencies are really bad, just throwing apt in won't help much. In fact, you must build you packages based on a consistent policy in order to make apt work properly. Debian relies strongly on its policy because doing that you ensure that apt will work correctly later, it's not apt that magically fixes a bad packaging layout.

      I maintain an RPM-based distribution and I can say that it took a long time to fix our package base in such a way that apt can work smoothly. And the real problem caused by a bad dependency layout is not on package installation, but in package upgrades. (Imagine two different hairy graphs and you must convert from one graph to the other without breaking anything.)

      I would call it "why you need a good packaging policy". Once you implement it, apt will work as a consequence.

    12. Re:Artwork entitled, "Why to use apt-get" by neuroticia · · Score: 1

      Er. And just what does up2date install?

      -Sara

    13. Re:Artwork entitled, "Why to use apt-get" by nvrrobx · · Score: 1

      I still prefer the:

      emerge

      approach :)

      Long live Gentoo! :)

    14. Re:Artwork entitled, "Why to use apt-get" by millette · · Score: 1

      offtopic, regarding your sig, you you need vigor, seriously.

    15. Re:Artwork entitled, "Why to use apt-get" by Anonymous Coward · · Score: 0

      A selected set of .rpms and any dependencies. Just like apt.

    16. Re:Artwork entitled, "Why to use apt-get" by Arandir · · Score: 1

      There's a lot of technical problems with RPMs, but there all minor. The major problem is pilot error, specifically the pilot error of the package builders. It wouldn't surprise me the least bit to encounter a roomful of monkeys cranking out packages.

      apt-get is better than RPM simply because the people creating Debian packages are more clueful than those creating RPMs.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    17. Re:Artwork entitled, "Why to use apt-get" by Ig0r · · Score: 1

      *cough* The new stable tree is Woody: 2.4 kernel, XF 4.1 */cough*

      --
      Soma: because a gramme is better than a damn.
  7. How about Debian by term0r · · Score: 0, Redundant

    Would be nice to see / have one of these for debs. Most people dont worry too much about dependencies on Debian, apt-get being what it is, but would still be nice to see what requred what on my system.

    1. Re:How about Debian by Anonymous Coward · · Score: 0

      Yeah, that's what I'm saying. I like to keep track of exactly what's on the servers I manage, and it would be neat to have a pretty printout that shows all the package dependancies. Might be useful for getting rid of useless cruft too...

  8. clutter by applejacks · · Score: 1

    Clutter everywhere.... Gota have Gtk+ , QT , imlimb , libgraphics , libjpeg, libgif, libHBig, Libtiff, libJohn, Libfruit, Libmonkie, libsuit, i wonder when somebody will set up a cvs for a linux distro. Kinda like FreeBSD does..

    1. Re:clutter by 1000StonedMonkeys · · Score: 1

      It's called gentoo.

    2. Re:clutter by applejacks · · Score: 1

      Yes you shit monkey I do. You sound like an XP guy to me. Did your little Mi'crow'soft update today bitch? HAHAHAHA

  9. I don't like sheriff. they are a bad band. by Anonymous Coward · · Score: 0

    RPMs make it hard on the end-user. They should use something less complex, like BSD's port system. Perhaps by a dynamic reallocation of dependency variables, user friendliness could be upsized. The freedom to mix and match package systems from popular Linux distributions is a tantalizing feature that most WinXP users would kill for!

    1. Re:I don't like sheriff. they are a bad band. by mr_z_beeblebrox · · Score: 1

      RPMs make it hard on the end-user. They should use something less complex, like BSD's port system. Perhaps by a dynamic reallocation of dependency variables, user friendliness could be upsized. The freedom to mix and match package systems from popular Linux distributions is a tantalizing feature that most WinXP users would kill for!

      RPMs are quite easy, type man RPM. You could use red hats RPM manager, that is easy. Or, just type rpm -i . Very easy. Mixing features between distros? Do it, have fun.

    2. Re:I don't like sheriff. they are a bad band. by reallocate · · Score: 1
      Easy == Download, then click on new icon on desktop.

      That's how a standard packaging system needs to work. Put in options for command line use and to see and modify where the files go for obvious reasons.

      --
      -- Slashdot: When Public Access TV Says "No"
    3. Re:I don't like sheriff. they are a bad band. by mr_z_beeblebrox · · Score: 1

      Easy == Download, then click on new icon on desktop

      What application does this? As an MCSE I have NEVER seen MS behave in this way. If it has to do with me just "not getting it" as a Windows user, I would hate to be the poor untrained sap using it. Making a 'clickable'script to package with your RPMs, to launch rpmadd, would not be a tough issue. You would still need to navigate through your CD or HDD to find your "setup" file. No more or no less difficult. If you read the MINIMAL amount of documentation to install on Windows or Linux with mainstream apps is a non issue.

    4. Re:I don't like sheriff. they are a bad band. by Anonymous Coward · · Score: 0

      Ok, double-click on an icon in the folder you downloaded the program too. You can even launch automatically on DL if you want. Then it really does just fucking install. *All* windows programs do that.

      RH and Debian package systems are just proprietary extensions to Linux that trap users into using a single distribution for all content. Hmm, where have I heard that before...

  10. Lines and Dots by Thomas+M+Hughes · · Score: 1, Insightful

    I made a program that could draw random lines and dots one time too. I never thought to submit it to Slashdot.

    Actually, on a more serious note, a quick look for a screen shot brought up an image that was a bunch of lines and dots all looking pretty and stuff, and I'm sure it represented an RPM, but absolutely none of it was labled. So there doesn't appear to be any practical use for this at all.

    And if you want something for the 'Oh, that looks neat and its meaningful too', I think you should stick to the Linux Kernel. It seems deeper than an RPM to me for some reason.

    1. Re:Lines and Dots by Anonymous Coward · · Score: 1, Informative
      Yeah, yeah, feeding the troll and all...

      Check out the postscript file and zoom in. You'll see the labelled dots and the direction of arrows indicating dependence on or dependency.

    2. Re:Lines and Dots by SamBeckett · · Score: 4, Informative

      They are all labeled, you numb nuts. Zoom in.

  11. When will we get a proper packaging system? by Sanity · · Score: 2, Interesting
    RPM is nice, because almost everyone uses it, and because it is based on Redhat, which - unlike Debian - devotes enough effort to the initial installation process that it comes close to being a viable Windows alternative.

    I love debian - in theory - but in practice, it can be a bitch to get working. Even experienced Debian users who repeatedly try to persuade me to abandon RedHat are forced to admit that they never did get USB working, and after a while you realize that they are more in-love with the theory of debian than the reality.

    So what are the problems with Linux?

    Firstly, multiple incompatable packaging systems. There is no good reason why we need both debs and rpms other than petty politics.

    Secondly, no elegant way to integrate software that hasn't committed to one of the packaging systems into an architecture. Both RedHat and Debian both work great when you stick to rpms and debs, but just try installing the latest version of a piece of software that doesn't have an rpm or deb yet, and you run into a world of pain.

    It is time for a new approach, hopefully one that is backward compatable with previous packaging systems, but which provides a unified distribution mechanism for binaries, while allowing different distributions to do things in their own way.

    None of this is brain-surgery people!

    1. Re:When will we get a proper packaging system? by dmiller · · Score: 4, Insightful

      Secondly, no elegant way to integrate software that hasn't committed to one of the packaging systems into an architecture.

      One does not have to "commmit to one of the packaging systems". Adding a single .spec file does not make adding Debian support any more difficuly. Your paragraph implies some sort of conflict between the two systems, where there is none.

      Both RedHat and Debian both work great when you stick to rpms and debs, but just try installing the latest version of a piece of software that doesn't have an rpm or deb yet, and you run into a world of pain.

      What is so difficult about installing unpackaged software? Redhat & Debian go out of their way to ensure that /usr/local is free for such things. If you mean that it is difficult for end-users to install such software, perhaps you should try getting them to compile and install unpackaged Windows software for a comparison.

      That being said, it is very easy to turn most random tarballs off the net into RPMs, so long as they don't deviate too far from standard build/install procedures. Your typical ./configure && make && make install package can usually be turned into an RPM in about 5 minutes, without the need for patching.

    2. Re:When will we get a proper packaging system? by Anonymous Coward · · Score: 2, Insightful
      It is pretty easy to make an RPM from almost any set of files that you can think of. All you really need to do is create an RPM "spec" file with a text editor. It is a short simple script that you can create which guides RPM in the packaging and installation of a piece of software. It is cookbook stuff, a no-brainer.

      Take the time to learn RPM. It is an awesome sys admin tool. It is not just for intalling software. It is a complete configuration management system for software. You can verify checksums, check for missing files, find out which file belongs to what software package, verify your entire system. Too bad most people haven't taken the time to learn a little more about RPM. It is a real time saver.

      I'm interested in hearing valid criticism of RPM from individuals who have worked with it and know its ins and outs. But really, unless you have that level of experience with RPM, all I can say is that you don't know what you are talking about.

    3. Re:When will we get a proper packaging system? by ThorGod · · Score: 1

      Welcome to gentoo.org.

      --
      PS: I don't reply to ACs.
    4. Re:When will we get a proper packaging system? by PigleT · · Score: 2

      "There is no good reason why we need both debs and rpms other than petty politics."

      Space-saving, number of fields in each... Hmmm. More to the point though, choice. No reason to abandon something that's existed quite happily for a while; why don't you concentrate on writing a wrapper around either package?

      " no elegant way to integrate software that hasn't committed to one of the packaging systems into an architecture."

      You obviously haven't run debhelper any time recently, nor have you played with _stow_.

      --
      ~Tim
      --
      .|` Clouds cross the black moonlight,
      Rushing on down to the circle of the turn
    5. Re:When will we get a proper packaging system? by Anonymous Coward · · Score: 1, Informative

      Or in 5 seconds, using checkinstall:

      http://freshmeat.net/projects/checkinstall

    6. Re:When will we get a proper packaging system? by DerErsteMensch · · Score: 2, Insightful

      Hello!

      I have a Mac OS X-Machine on my desk and there is fink, which allows me to use the debian package management system too. But I don't do it.

      Why not steal a little bit from the Mac OS X ideas ?

      There is a library folder, with all libraries in it. On Linux, this could like this: /Library/readline-1.2.0 /Library/readline-1.2.3 /Library/readline-1.3.1 /Library/perl-10.2.3
      etc.
      In order to use that stuff, there are only links inside the "normal" places. So there could be a link from /usr/bin/perl -> /Library/perl-10.2.3/perl/perl
      Exception is the bare-bone stuff like inside /bin - certainly.

      Application stuff, that's not started from the command-line like KDE or Gnome should through away their starter-stuff. This ugly stuff is borrowed from Microsoft and it's evil. On Mac OS X, there is an "Application" folder and every folder inside this has an .App suffix. If you click on this folder, the finder starts the applications with this path: /Application/_app-name-folder_.app/MacOsX/_the-bin ary_
      All other stuff for the application like icons, translation files and that stuff is inside the _app-name-folder_.app.

      I thinks it's pretty cool.

    7. Re:When will we get a proper packaging system? by Buck2 · · Score: 0, Offtopic

      You, my good man, are a god.

      --

      As my father lik@(munch munch)... ....
    8. Re:When will we get a proper packaging system? by hysterion · · Score: 4, Informative
      Secondly, no elegant way to integrate software that hasn't committed to one of the packaging systems into an architecture. Both RedHat and Debian both work great when you stick to rpms and debs, but just try installing the latest version of a piece of software that doesn't have an rpm or deb yet, and you run into a world of pain.
      Checkinstall makes this easy as pie.
      $ ./configure
      $ make
      # checkinstall (*)
      • builds your choice of a .deb or .rpm or Slackware package,
      • installs it,
      • saves it in (e.g.) /usr/src/packages/RPMS/<arch>,
      • saves a .tgz of the sources in (e.g.) /usr/src/packages/SOURCES/.
      It has served me quite well -- except the version I'm using (1.5.1) makes empty .tgzs. Not a big deal, and hopefully fixed by now.

      (*) or else 'checkinstall your-install-script'

    9. Re:When will we get a proper packaging system? by benmhall · · Score: 2
      " love debian - in theory - but in practice, it can be a bitch to get working. Even experienced Debian users who repeatedly try to persuade me to abandon RedHat are forced to admit that they never did get USB working, and after a while you realize that they are more in-love with the theory of debian than the reality. "

      Well, I can't speak for any of your friends, but my Debian install works absolutely perfectly with USB. I use a USB SanDisk SmartMedia reader, a wireless USB mouse, a Logiteck QuickCam, a USB hub, an Epson 880, a serial->USB converter for my Palm, and a crappy Canon USB scanner that I can use through VMWare. (Canon will not support Linux in any capacity, their scanners are junk. Barely works for my in Windows.)

      Oh, and the handy acpid package that is part of Debian really helps my ACPI-only laptop have decent battery life.

      Do I like the theory of Debian? Yes, and for me, the reality is just as good. Oh, in addition to installing flawlessly on my tricky laptop, Debian worked equally well for me on an old Alpha and a NetWinder. RH/MDK/FBSD all refused to install on that particular Alpha, and no other distro that I know of supports the NetWinder.

      Apt-get is great, but it is only one part of what makes Debian the respected quality distribution that it is. I've had no more issues setting up USB (or anything else really) with Debian than I have with any other OS I've used recently.

      "It is time for a new approach, hopefully one that is backward compatable with previous packaging systems, but which provides a unified distribution mechanism for binaries, while allowing different distributions to do things in their own way."

      Hmm... isn't that what the LSB is all about? Giving a known base that you can build on?

    10. Re:When will we get a proper packaging system? by Anonymous Coward · · Score: 1
      I'm interested in hearing valid criticism of RPM from individuals who have worked with it and know its ins and outs.

      I turned to Debian from RedHat and Mandrake because RPM's build process lacks granularity. RPM itself is a strange mix of C, perl, and shell that can't be distangled to a user's working tastes. It was designed with the end user in mind and does that job well, but if you want to build from source debian's system makes more sense.

      Suppose you want to tweak XFree86. Once you've made your alterations RPM requires a complete rebuild of the package (This was a deliberate design decision made for sound reasons). Debian's build system allows one to rebuild only what needs to be rebuilt just as if with a vanilla tarball. The process can be "rewrapped" with dh_foo commands at any point. Different stages of the build process can be accessed with "make -f debian/rules target" from the root of the source tree. Building a deb is just like building a tarball. (In fact, building a deb is building a tarball!) Debian lets you keep your sources cleanly organized too. With RPM, should you be working on a few other packages in addition to XFree you need to manually take note of which patch applies to a particular package as every srpm gets unpacked into the same directory. There is a macro file you can alter somewhat to taste (if you prefer "srpm" instead of "SRPM" for example), but in practical terms the entire process is locked up from the begining. For a time a I had the "rpm --rebuild foo" dance wrapped with a script that tried to keep a sane tree full of sources but there is only so much one can do without resorting to ridiculous symlink farms that can't be sanely pruned. The binary half of RPM leaves certain macro variables unset until later in the build process so if you've tried a little reorganization you'll find that RPM's macro-file half barfs on unknown quantities.

      Once I switched to Debian I found it much easier to integrate new and interesting software into my system without creating too much of an unmanaged Frankenstein in /usr/local. This is entirely because of the deb package format and it's associated toolchain. Whenever the deb vs rpm topic comes up on Slashdot many chime in with praise for apt. Yes, apt is a wonderfull tool, but if I were forced to choose between debs without apt and rpms with apt I would still choose debs.

      RPM does have the virtues you extoll. But it has vices too that came about for a few different reasons. IIRC, RedHat wanted a package format that would make it easy for third parties to distribute commercial software for RedHat Linux. It's also, well... just plain RedHat's and they can do what they want with it since it really only needs to work for distributing easily installed binary packages. Hell, that's what makes RedHat worth buying.

      Debra and Ian had other things to keep in mind though. Their distribution is, um... distributed in it's development so the deb package format must cater to 1,000 or so individual maintainers and developers who pool their efforts voluntarily. The modularity, simplicity, and utility of the deb format reflects this.

    11. Re:When will we get a proper packaging system? by reallocate · · Score: 1
      Sadly, like almost every post here suggesting ways to make Linux more usable and popular, this post is drawing a sprinkling of ill-founded defensive replies from folks who seem to see increased ease of use and increased popularity as a threat. No one is suggesting turning Linux into another Windows. But, some focus on ease of use and a standard approach to installing and removing software is overdue if Linux is going to make serious inroads into a customer base beyond the very small segment of the population that actually enjoys writing code and running networks.

      Over the last several years, I've tried Red Hat, SuSe, Mandrake, Slackware, Debian, FreeBSD, Gentoo, and probably some others I can't remember. Geez. I even had Minix installed on a B&W ThinkPad 500 way back when. All packaging systems seem to break at some point as you introduce "foreign" software. In my experience, this usually happens when you need to remove or upgrade some piece of code in order to keep your New Favorite Toy happy, but, guess what, your packaging system thinks every other package on your system is dependent on that code.

      "Choice" turns out to be equivalent to being held hostage to a single vendor.

      --
      -- Slashdot: When Public Access TV Says "No"
    12. Re:When will we get a proper packaging system? by pmz · · Score: 2

      None of this is brain-surgery people!

      It isn't brain surgery, but software dependencies are a very complex problem. On a graph of all software packages, a subset of the packages are always moving forward in versions while others lag behind. Packages could depend on any range of versions of other packages, and sometimes those versions are not compatible, for any number of good or bad reasons. So, if you want to create a distribution that seems to require versions 1.3, 1.7, and 2.3 of package X, but the version 2 series is a severe change relative to the version 1 series, what do you do?

      If a new package system comes about, new filesystem hierarchies should be devised to allow seamless installation of many versions of software with some sort of advanced linker that can deal with them all. This solution could be as complex as the problem!

    13. Re:When will we get a proper packaging system? by PD · · Score: 3, Interesting

      Even experienced Debian users who repeatedly try to persuade me to abandon RedHat are forced to admit that they never did get USB working, and after a while you realize that they are more in-love with the theory of debian than the reality.

      I run only Debian and I found it to be a piece of cake to get USB working.

      The problem was that once my camera was recognized, the Linux kernel didn't know what to do with it. Does that make me more in love with the theory of the Linux kernel than the reality?

    14. Re:When will we get a proper packaging system? by intermodal · · Score: 1

      All this insistence upon binary packaging...have you tried Gentoo? Why bother with a binary package when you can just as easily do it with a source package that compiles itself? I'll grant Gentoo is a bit green for the moment, but it's making rapid progress and personally, I think that once it's been around a little longer, Gentoo and Gentoo-style source and local compilation systems will get more reliable interop than RPM files compiled by 8 million different users...

      --
      In SOVIET RUSSIA... erm...NSA AMERICA, the Internet logs onto YOU!
    15. Re:When will we get a proper packaging system? by Anonymous Coward · · Score: 0

      Yes. You and 95% of the rest of the people here.

    16. Re:When will we get a proper packaging system? by Anonymous Coward · · Score: 0

      This "choice" is the very reason that UNIX has been splintered and incompatible for decades. Linux is following the UNIX path to oblivian. Thanks for making the Windows "DLL Hell" problem even worse than could have been imagined. This is progress? It's moving backwards!

      Those additional tools you are talking about are insane. No actual user is going to know about or know how or why to use such things. They want real installs with no dependancy problems! When will you realise that? Never? Well I'll tell you, Linux has no chance in hell of becoming a desktop OS until this is realized.

    17. Re:When will we get a proper packaging system? by Anonymous Coward · · Score: 0
      What you say is true, although the importance is magnified by your special needs for fine grained customization. But I wonder if maybe you need to work more at the level of the Makefile than at the level of RPM. Some of what you point out might be considered a job for Make rather than RPM. GNU Make is very powerful, but like RPM you are constrained somewhat by conventions; in the case of Make it is the conventional over-reliance on automake and autoconfig which can hinder customizing a build. The Makefiles generated by "configure" are highly structured, complex, and somewhat constraining.

      Your point about the setting of macros in RPM is valid. One example is that of the %setup macro whose use is more or less mandatory because of its side-effects such as itself setting the %buildsubdir macro. It doesn't seem to be documented anywhere, but you soon figure it out if you are doing certain types of custom packaging. RPM is highly slanted to favor the tar.gz file and GNU "configure".

      Much of what you say about RPM is policy decision and not an inherent shortcoming of RPM itself.

    18. Re:When will we get a proper packaging system? by Crispy+Critters · · Score: 2
      The URL above is /.'ed

      This is probably more robust
      http://freshmeat.net/projects/checkinstall/

    19. Re:When will we get a proper packaging system? by dunham · · Score: 1

      RPM is nice, because almost everyone uses it, and because it is based on Redhat, which - unlike Debian - devotes enough effort to the initial installation process that it comes close to being a viable Windows alternative.

      The initial installation process on RH is better. This has nothing to do with the packaging system itself. Debian has 90% of the stuff to make initial instalation easy; e.g., debconf infrastructure. X (and other hardware) configuration, and writing the install program are all thats left undone.

      I love debian - in theory - but in practice, it can be a bitch to get working. Even experienced Debian users who repeatedly try to persuade me to abandon RedHat are forced to admit that they never did get USB working, and after a while you realize that they are more in-love with the theory of debian than the reality.

      USB seems to work for me, but I've had to tweak conf files and/or run the utilities that come in the package to rebuild the conf files. There are a lot of rough edges, though. For example, X is a pain to set up in Debian.

      Secondly, no elegant way to integrate software that hasn't committed to one of the packaging systems into an architecture. Both RedHat and Debian both work great when you stick to rpms and debs, but just try installing the latest version of a piece of software that doesn't have an rpm or deb yet, and you run into a world of pain.

      As another poster pointed out, these install just fine into /usr/local. If you want to be clean about it, install into a subdir of /usr/local and use GNU "stow" to link it into /usr/local.

      For stuff thats already packaged, but has a newer version (usually, it's in debian unstable, but..) I usually just apply the patch to the new version and rebuild the package.

      The big issues is the "architecture". This RPM/DEB stuff doesn't really matter, except dpkg is a bit slower to startup and it keeps our packages nicely seperated from all the RPMs out there. Apt would work just as well on top of RPM. But if Debian used RPM, to get Debian quality, you'd have to only install Debian RPM packages. Debian's package policy makes all the packages work when you install them. You would have to stick with packages that comform to that.

      This includes our emacs system, which recompiles you emacs package for each (compatible) flavor of emacs that happens to be installed. And our mechanisms for adding fonts, adding TeX formats, menu entries, etc.

      The packages actually working together, the extensive set of packages, and, most importantly, apt are why I use Debian (if it wasn't for apt, I probably would have switched to *BSD a year or two ago). But, to each his own.

      None of this is brain-surgery people!

      It gets to be messier than brain surgery when you have packages coming from random places on the internet with few standards on how they're layed out or hook into the system configuration. The status quo of RPM packages at the moment.

    20. Re:When will we get a proper packaging system? by Arandir · · Score: 3, Insightful

      Here's one tiny solution that will go a long way. I've never understood why all the distros don't use it:

      No dependency should be a package! If kdelibs-3.0.3 requires qt-3 or greater, then the dependency should be "libqt.so.3", and not qt-3.0.3-17.i386.rpm. (of course, even that is oversimplifying, as many distros will break Qt up into five different packages).

      The purpose of packages is to make the user's life easier, not to lock them into a particular lifestyle.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    21. Re:When will we get a proper packaging system? by Ramadog · · Score: 1
      What about people who are on dialup or don't have the latest hardware?

      2 hours to compile X
      2 houre for kdelibs
      4 hours for kdebase
      another 2 hours for mozilla
      and so on. 10 hours just for 4 packages.

      Or 1/2 hour to install the latest RedHat. Gentoo is not the answer for eveyone.

    22. Re:When will we get a proper packaging system? by intermodal · · Score: 1

      I'm on a dialup, and it works for me. Think about it this way: compare downloading a full set of two ISOs for Red Hat or God knows how many for Debian, depending on what route you take, to downloading a single image for Gentoo and using Gentoo's download/compile program. What you say is true...for people who go down to the store and buy cds of Red Hat or such. But what you're referring to is initial setup, not everyday installs. I'd rather take a little extra time with my initial install and save my downloaded files in case i ever want to reinstall than to use RPMs (if i can help it). Keep in mind: this is a speculative thread concerning the future, not a thread about current practicality.

      --
      In SOVIET RUSSIA... erm...NSA AMERICA, the Internet logs onto YOU!
    23. Re:When will we get a proper packaging system? by Anonymous Coward · · Score: 0
      I wonder if maybe you need to work more at the level of the Makefile than at the level of RPM.

      When I want toget my hands that greasy getting into the grime is much more straight forward with Debian. Park your prompt at the root of a package's source tree. If you want to install it by hand just "./configure && make && su -c 'make install'". If you want it registered with your Debian installation use "dpkg-buildpackage". Should you want to alter the way the package integrates itself you'll find everything debian specific under "foo-?.??/debian" With RPM you may be poking around in "BUILD/foo-?.?? to see whats going on while having to access "../../SPECS/foo.spec", and "../../SOURCES/all-kinds-of-foo-related.stuff" which must be distinguished from "../../SOURCES/all-kinds-of-bar-related.stuff"

      But makefile tweaking isn't really my preoccupation. I've learned to appreciate debs mostly from building stuff I've followed out of cvs repositories. Back when mozilla's M18 release became stale I started keeping my own copy of the tree that I'd sync up every two or three weeks just to follow along. After grabbing the latest mozilla.diff.gz out of "ftp://debian.org/debian/pool/main/m/mozilla/" (no need to grab a 30+MB srpm -- the diff will do) I could plug in my own updated tree perhaps with SVG support and tidy up whatever broke to end up with contemporary debs. If I synced up with mozilla.org right now the latest diff (under mozilla-snapshot) would be 13 days old. Issuing "dch -i" would let me update the changelog to differentiate my new mozzy build from my older one. From there anything broken (in the build process) will most likely be patches to the source that have already been absorbed upstream (showing up as "reversed patch detected" errors) after a bugzilla tip-off. These are the files one simply deletes from "./debian/patches" after issuing "make -f debian/sys-build.mk source.make". The rest is usually obvious (even to me) and just takes a bit of editing.

      I might also note here that many upstream developers "pre-debianize" their source releases (xawtv springs to mind off the top of my head). This holds true even for unreleased software like everything essential to running e17 out of a cvs drop. Many of those packages come with spec files too or generate them via "./autogen.sh", but can we trust those specs to play nice with the distribution and release you are using?

      Much of what you say about RPM is policy decision and not an inherent shortcoming of RPM itself.

      Agreed. RedHats policy is to bundle a complete distribution in one fell swoop. RPM does this just fine. That's why a repackaging of XFree86 that barfed after installation into tmp because of a typo in %files must be recompiled from the begining. RedHat enforces a demand for empirical proof of srpm rebuildability by leaving any sort of "rpm -tinstall" (install the result of a compile not rpm -ti), or "rpm -tpackage" out of RPM's feature set. I'm not saying that "rpm -i foo-1.00.rpm" will work one day but not the next out of sheer bugginess. I used rpm to get up and running with RedHat 5.2 and eventually play around with rawhide and cooker and can't remember it segfaulting or anything though upgrading to rpm-4.x wasn't gracefull. "/usr/bin/rpm" always ran. The policy that informed it's operation just isn't as comprehensive as the one that generated debhelper. That's why the pragmatist within me doesn't see a difference between RPM's policy and RPM's implementation :).

      Hold your nose, grit your teeth, and sacrifice one of your testicles to get through the deservedly reviled dselect. You will find that there is nothing rpm does that debs can't do, and that the reverse isn't true.

  12. the obvious answer by Anonymous Coward · · Score: 0

    Because the deb distros are ancient as hell and won't even work on a modern computer anymore (XFree in particular).

  13. There is a reason. by Anonymous Coward · · Score: 1, Insightful

    And the most important one of all.

    Choice.

    You don't like rpm? Use deb. You don't like deb? Use rpm. You don't like either? Create your own or compile from source.

    As for the FUD about '..piece of software that doesn't have an rpm or deb..', well, that's what sacrifice you make when you choose to use a distribution as opposed to rolling your own system.

    All that aside, the most blatant flaw here are the words 'Windows alternative'. Linux is Linux. It's not an alternative to anything. Don't mind the zealots. If you ignore them, they go away. ;)

  14. Re:Circular dependencies by Anonymous Coward · · Score: 0

    That would be useful for distribution maintainers. There was one in the FreeBSD ports collection involving a newer version of Bison and something else. In the end installing from packages was the only way to install. Not good. I remember that building linux from scratch required you to effectively build stuff twice to get around this.

  15. someone by jsse · · Score: 1

    finally made a script drawing the hell.

  16. Anyway, Linux is a Unix alternative by Anonymous Coward · · Score: 0

    Linus wanted to run Unix but it was too expensive. I'm sure he could have afforded Windows, but who wants that anyway? ;)

    1. Re:Anyway, Linux is a Unix alternative by Anonymous Coward · · Score: 0

      Over this fucking mess? Oh I don't know. At least 90% of computer users? This is shit. But you people are so busy swimming in the sesspool you don't realize how bad it stinks. Climb up for air once in a while for God's sake.

  17. Cool project resulting from a big problem? by Erpo · · Score: 3, Interesting

    This is a really neat project. I'm definitely going to download the code and generate that map, just to see how massively hairy it is. However, the fact that a project like this is newsworthy (i.e. produces such interest-generating and complicated output) seems to suggest that perhaps package management on linux (rpm, deb, whatever...) has just served to cover up a much larger problem.

    Package management makes it possible and (depending on your point of view) easy to update an entire system using apt-get or up2date (or whatever). It also allows users to install and uninstall additional programs with a minimum of fuss. I think it's safe to say that without package management, system administration would be much harder. However, what's been created to support this system is a visually attractive, yet tangled web of dependencies and interrelations between software packages that make maintaining multiple versions of shared libraries for legacy as well as bleeding edge applications, creating backwards and forwards compatilbe software packages, and installing software that isn't aware of the package system in use on the machine a real pain and sometimes (for non-ultragurus) impossible.

    In my opinion, what we really need is a single, standard package system for all linux-based distros. Chuck rpm, chuck deb, chuck them both and create a new one incorporating the best features of both, I don't care, but I think it really needs to be done. Also, I think a change in what we think of as a 'package' is in order, a minimum functionality so to speak. If a user cannot make the statement: "If I install (package X) then I can do (process Y)," then package X does is not significant enough by itself and should be incorporated into another package that requires/uses it. Examples:

    If I install the "linux base" package, I can boot an absolutely bare-bones system.

    If I install the "textual system" package, I will have access to a complete textual system, including a text-mode console login, text-mode editing tools (vi for example), a textual system configuration manager, etc...

    If I install the "graphical system" package, I can boot into a system that is completely graphical all the way, including a graphical login, desktop environment, a graphical system configuration tool, a web browser, etc...

    If I install the "office suite" package, I will have access to a word processing program, a spreadsheet editing program, and a presentation creation program.

    Individual options (e.g. vi or emacs) within each package should be just that - options, not separate packages. Sure, a user may install more than he or she needs if packages are this "collective", but in my opinion, users would be much happier having an office suite installed when they only really need document editing capabilities than with a default OS install that takes up more than 1GB because it comes with everything preinstalled so regular users won't have to puzzle out the overcomplicated package managment system in order to install something else.

    </rant>

    Sound good?

    1. Re:Cool project resulting from a big problem? by Nate+Eldredge · · Score: 1

      Debian provides something much like this by having meta-packages called "tasks". You might have an office-suite package that contains no files of its own, but depends on (say) kword, gnumeric, etc.

    2. Re:Cool project resulting from a big problem? by SpaceJunkie · · Score: 1

      Ummm maybe you have missed the point that *all* current OS's have this same problem. Look at DLL's under windows. If you wish to run multimedia/game apps you need directx - DLLs and com objects. But the way this is normally handled is that you buy a CD, which checks automagically for dependancies and offers to install them(most games offer to install directx - sometimes even when you have a newer version). On linux the model is a little different. You download packages, you dont buy them. If it was on CD, a package could include all its dependancy installations in a single monolithic install script. But when you download it, it will be kept minimal. And even in windows you occasionally need something completely new and not just a quick fix.

      Maybe a good solution would be install scripts, that after checking dependancies, offer to go and download and start install scripts for its dependancies. I can see this becoming recursive.

      --
      OrionRobots.co.uk - Robots From sol
    3. Re:Cool project resulting from a big problem? by p3d0 · · Score: 2

      What is the problem you're trying to solve? Who cares about complicated dependencies, so long as they are minimal and acyclic?

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    4. Re:Cool project resulting from a big problem? by shren · · Score: 2

      Sound good?

      No. You're an idiot. Say the word "modular". Repeat it a couple times. Contemplate it. Then go beat your head against a wall.

      --
      Maybe the state's highest function is to grind out insoluble problems. (Zelazny, Hall of Mirrors)
    5. Re:Cool project resulting from a big problem? by distributed.karma · · Score: 1
      This is really a mechanism vs. policy issue. The "options" you describe isn't much different from having RPMS like

      • office-base
      • office-wordprocess (depends on office-base)
      • office-spreadsheet (depends on office-base)
      • et cetera ad nauseum.

      Options are simply packages that depend on the mother package (and possibly some other options). Or can you prove me wrong?

      --

      --
      If you moderate this, then your children will be next.

    6. Re:Cool project resulting from a big problem? by davidu · · Score: 2

      Individual options (e.g. vi or emacs) within each package should be just that - options, not separate packages. Sure, a user may install more than he or she needs if packages are this "collective", but in my opinion, users would be much happier having an office suite installed when they only really need document editing capabilities than with a default OS install that takes up more than 1GB because it comes with everything preinstalled so regular users won't have to puzzle out the overcomplicated package managment system in order to install something else.
      And then what happens when there is a new version of one "option" in your "old" package that needs one new lib from the "base" package?
      Your idea doesn't scale AT ALL, nor does it make any sense.
      Sound good?
      No, it sounds like you have no idea what you are talking about and you've also never used debian which accomplishes this in a sane way via pseudo-packages and tasks.
      -davidu
      --

      # Hack the planet, it's important.
    7. Re:Cool project resulting from a big problem? by SirKron · · Score: 1

      No. You cannot just chuck existing package formats. You need to be able to import either format to your new scheme or your new format will never take off.

    8. Re:Cool project resulting from a big problem? by glwtta · · Score: 2
      yeah, sounds great; but only as long as our beloved "users" use it, and I never have to see this horrendous mess of "generic application" package installations without knowing what applications I install.

      I personally think Gentoo's portage/emerge is perfect and I love it to bits. I would not in a million years recommend that our coveted "home users" use it. Which is why talk of "single" and "standard" always undermines one of linux's (GNU/Linux's whatever) strongest points. If you like standartization above all, use Windows - they seem to be pretty good at it.

      while we are falling all over ourselves trying to come with things "users" will like, let's not forget what we like. (btw, I consistently put "users" in quotes because I feel the title would be more applicable to people like me, seeing how we actually use the damn thing.

      --
      sic transit gloria mundi
    9. Re:Cool project resulting from a big problem? by Erpo · · Score: 1

      And then what happens when there is a new version of one "option" in your "old" package that needs one new lib from the "base" package?
      Your idea doesn't scale AT ALL, nor does it make any sense.


      You're right. I totally forgot to explain how this type of package management paradigm would deal with legacy application support, and considering that I'm posting on slashdot completeness is really important for costructive dialog to be possible. I admit it -- I goofed.

      For the sake of clarity, let's call these "bigger packages" packages and what we consider to be a package now a "micropackage". Inside this system, a "package" called "legacy application support" would be installed upon the user's request (probably by default. It would be made up of options, each one a library that has been removed from "base" (or whatever package it is native to) to make room for a newer, more stable, more functional version. When updating software that requires a new library from "base", the old library option would be moved from "base" to "legacy". Of course, this would only be inside the package managment database -- the files would still be there on disk for applications to use -- and the responsibility for keeping track of that package would be moved from "base" to "legacy". All programs installed that depended on the old version of the library would still function as a result of the excelent version number naming policy discussed in the "Management vs. Policy" post above.

      No, it sounds like you have no idea what you are talking about and you've also never used debian which accomplishes this in a sane way via pseudo-packages and tasks.

      This one actually stings. I have used debian, although I was only recently enlightened with respect to "tasks", and I would like to think I know something about package management systems. On the other hand, this kind of criticism may be exactly the impetus I need to start a proof of concept project. Time will tell.

      However, tasks are not quite what I had in mind. The analogous idea would be to make it impossible to have packages outside of tasks. At first this seems like a huge limitation. However, with the ability to move packages between tasks and rename them as needed, it opens up a whole new world of usability and managability. People like you and me can use modern package management systems like rpm and deb and keep all the important stuff in mind at the same time, but it can be a big chore to dig through when there's a problem. For new users or those that aren't technologically inclined, package management can be an insurmountable obstacle.

    10. Re:Cool project resulting from a big problem? by davidu · · Score: 2
      I'm glad you took the time to respond.

      Your points in the second part are totally valid, but again I'll stress, you don't know how the pseudo-packages work. They accomplish EXACTLY what you want.
      Here's a case in point. (Note, I'm a huge debian fan and user)
      Debian uses the Exim MTA by default. I personally like to use qmail, from source no less. Since Exim fulfills the MTA dependency I just need to somehow tell the system that I have another package which fulfills the MTA requirement. The problem is that there exists no .deb for *my* version of qmail. The result? A simple dummy package saying "hey, I got MTA covered, any thing that needs "MTA" is a-ok. There is no actual binary or code in the package, just a one line update to the system which tells it that the MTA is rockin'. Later on, I could make another package that says "hey wait a minute, now I'm in charge of "MTA" and with that, I'm using something new.
      The point is, debian affords real flexibility. It isn't all apparent in apt but it's all there in dpkg.
      Feel free to pursue your own package management system, and best of luck to you. In fact, feel free to email me with any updates. I urge you, however, to make sure you fully understand the debian package system before you begin as you may simply wish to work on it prior to starting from scratch. Also, figure out the reason why debian mirrors keep all the binaries in the /pool instead of their respective release repositories...it will help you understand just how flexible the system really is.

      -davidu
      --

      # Hack the planet, it's important.
  18. No output? by OSSturi · · Score: 2, Funny

    Strange, I get a correct looking rpmgraph.dot file when running the programm but neato refuses to make a ps-file: warning, language ps2 not recognized If I change ps2 to ps in the Makefile, all I get is a zero byte ps-file. Well, there's probably something missing on my system, I should have a look at the rpmgraph. Oh, wait...

    1. Re:No output? by loopkin · · Score: 2

      do a :
      rpm -Uvh ftp://fr2.rpmfind.net/linux/rhcontrib/7.2/i386/gra phviz-1.7.7-1.i386.rpm

      it'll work aftewards

    2. Re:No output? by loopkin · · Score: 2

      i reply to myself: u're right, it's not enough ;-)

    3. Re:No output? by Anonymous Coward · · Score: 0

      "i reply to myself: u're right, it's not enough ;-)"

      Yup.. and then people wonder why RPM's suck. Obviously its got some dependency that someone forgot about.

    4. Re:No output? by OSSturi · · Score: 1

      em, it's *no* RPM, it's a tarball...

    5. Re:No output? by Anonymous Coward · · Score: 0

      I have the same problem. I re-installed graphviz-1.7.7-1 still gives me the ps2 not found warning. I tried to run the same neato command as in the Makefile on the command line but using -Tps and it gives a Segmentation Fault. This is a clear example why I prefer rpms against tar.gz.

  19. sig2dot, the GPG signature relationship grapher by piranha(jpl) · · Score: 2, Interesting
    ...is cooler.

    Ever wondered what a plot of a portion of the PGP web of trust would look like? Here it is.

    sig2dot generates plotting data from the signatures in your GPG keyring; this data can be rendered by springgraph or graphvis. Many pretty sample plots on the page.

  20. A step in the right direction. by Erpo · · Score: 1

    That sounds really cool -- I'll have to check it out the next time I try a deb-based disto. However, it still doesn't solve the problem of overcomplicated webs of dependencies and the lack of a single standard package system.

    1. Re:A step in the right direction. by Buck2 · · Score: 0, Redundant

      However, it still doesn't solve the problem of overcomplicated webs of dependencies and the lack of a single standard package system.

      The answer to this statement lies here:

      That sounds really cool -- I'll have to check it out the next time I try a deb-based disto [sic] .

      --

      As my father lik@(munch munch)... ....
    2. Re:A step in the right direction. by Nate+Eldredge · · Score: 1

      As a Debian user, I have to say "overcomplicated webs of dependencies" have never posed a problem. Sure, there are dependencies between packages. I think this is unavoidable; the alternative is uber-packages which contain much more than you want. But all it means for me is: I say "I want to install package X". dselect resolves the dependencies and says "you will also need packages Y and Z". I say "Great" and it downloads and installs them.

      The lack of a standard doesn't bother me either, because Debian produces packages for damn near every piece of software there is. The few I've found for which they don't, I just dump in /usr/local, but I understand making your own package is quite easy.

      I guess the main people it affects are developers. They might have to produce a few different types of packages if they want to please everyone. But if their software is popular enough, a Debian maintainer will probably step up and take care of the Debian packaging for them.

    3. Re:A step in the right direction. by Robert+The+Coward · · Score: 1

      Except When you try to add package X and it depends on Y but Package Z can't be used with Y so you have to remove Z then Package A requires Package Z then Package B Require Package A. I had go thought almost 7 Layers of DSelect Telling Me This Doesn't work without that and Final Said Hell With it and Reinstalled Redhat.

  21. Someone ought to do the following ... by Taco+Cowboy · · Score: 2



    With so many VB "certified engineers" out there, someone ought to do something to depict how the VB codes function.

    Or better yet, how about something for MS's "Visual Suite" ?

    That ought to make Billy the boy a very happy man.

    --
    Muchas Gracias, Señor Edward Snowden !
    1. Re:Someone ought to do the following ... by SpaceJunkie · · Score: 0, Offtopic

      ummm... Go and look at 50000 hippies hairdos all rolled together - and you may gain some valuable insights into understanding this.

      --
      OrionRobots.co.uk - Robots From sol
    2. Re:Someone ought to do the following ... by Anonymous Coward · · Score: 0

      Hmmm, sounds like somebody's jealous that all those VB certified engineers are making more $$ than they are ;)

  22. Re:Cool idea! Now how about a Debian port? ;) by JohnFluxx · · Score: 0

    wc -l == wc | awk "{print $1}" :)

  23. Checking which packages you never use by Walles · · Score: 5, Informative
    Shameless plug:

    I have written a small tcl script (called pkgusage) that lists all your installed packages (RPMs or DEBs) together with the number of days ago you last accessed any of the files in each package. Thus, if you do "pkgusage.tcl | sort -n", packages which you seldom / never use will be at the end of the list.

    It also checks dependencies between packages, so it won't tell you to uninstall a package that something else depends on.

    If you are interested, get it here.

    --
    Installed the Bubblemon yet?
    1. Re:Checking which packages you never use by Anonymous Coward · · Score: 0

      That looks like a handy little script too. Maybe I'll get to try it if neato ever finishes.

      It's been working for almost 2 hours on a XP 1.74ghz system. Is it supposed to take that long? The readme said a half hour on his p3-900.

    2. Re:Checking which packages you never use by Campioni · · Score: 1

      You're right. Neither the short version (only make) nor the long version (make spline) finished on my AMD-1GHz yet. He says that "make" should only take about 1 minute, but after one hour it's still working and flooding my tty2 with thousands of values between 0.64 and 0.66. If I stop it with Ctrl+C the output ps is not very nice, 4 pixels when zooming in to maximum (3 red ones, the pixel in the upper left is black, whow that was worth one hour computing). I'll keep on hoping it's not an infinite loop. Campioin

    3. Re:Checking which packages you never use by PhoboS · · Score: 1

      This sounds like a really good thing, so I wanted to try it. I downloaded the package and ran it according to the instructions. It gets to the "Resolving inter-package dependencies..." phase in a few seconds, but then it just stays there, using 100% cpu. Is it really supposed to take that long? I have waited for around 45 minutes before killing it, should I wait longer? This is a 1.8 GHz, so it is fairly fast.

      --

      Phobos - Greek word for fear or flight

    4. Re:Checking which packages you never use by Walles · · Score: 1
      On my system (a 400MHz Pentium II), the first phase ("Calculating ages of NN packages") takes quite a while (15 minutes?), with a percentage counter ticking up every couple of seconds. This part actually does stat() on all files included in any package, so this part should definitely take more than "a few seconds" (while doing mucho disk access). If this part actually takes only a few secs, the problem might be somewhere in this phase. Could you e-mail me the complete output of running the program without passing the result through sort?

      The second (inter-dependency resolving) phase performs one packaging system (rpm or dpkg) call per package, so (especially on a Debian system), this may take a while with lots of CPU usage but not so much disk access. But as I stated above, do e-mail me your output (without sort) and we'll see if we can resolve your problem.

      Cheers //Johan

      --
      Installed the Bubblemon yet?
    5. Re:Checking which packages you never use by Anonymous Coward · · Score: 0

      > I have written a small tcl scri

      Just to let you know, I stopped reading right there...

    6. Re:Checking which packages you never use by molo · · Score: 2

      I used this on my workstation at home. It works quite well, thank you!

      -molo

      --
      Using your sig line to advertise for friends is lame.
    7. Re:Checking which packages you never use by Walles · · Score: 1

      As another data point, I just timed it on my (still 400MHz PentiumII) system with 819 Debian packages, and it took a bit under 20 minutes to complete. So 45 minutes on your system is definitely wrong. But as I said before, if you send me the output from running without piping the results through sort, we'll see what we can do about your problem.

      --
      Installed the Bubblemon yet?
    8. Re:Checking which packages you never use by lems1 · · Score: 1

      uh?
      after hours running I got this line:

      (file "pkgusage-1.0.5.tcl" line 405)

      No graphics no nothing displayed... It did print the dependencies for the RPMs though. Something like: ...
      148 perl-XML-Records
      0 libgtkhtml20
      2 libglib1.2-devel
      2 libungif4-devel
      5 liblinc1-devel
      20 libpango1.0_0-devel
      17 libgdk-pixbuf2-devel
      17 libgtkhtml20-devel
      0 printer-utils
      0 libnautilus2
      0 tetex-latex ...

      And that's all I got!!

      --
      This sig can be distributed under the LGPL license
    9. Re:Checking which packages you never use by molo · · Score: 2

      Looks like a bug on line 405. I don't use rpm, so we have taken different code paths here.

      But the output you did get is the # of days ago each of those packages were used. i.e.: libgtkhtm20 was used within 24 hours. perl-XML-Recods was used within 148 days.

      -molo

      --
      Using your sig line to advertise for friends is lame.
    10. Re:Checking which packages you never use by lems1 · · Score: 1

      thanks for the clarification... I will try in a debian system to see the output...

      --
      This sig can be distributed under the LGPL license
  24. Hmmm... by BJH · · Score: 1

    The example file he provides is quite interesting - there seem to be three major dependency points; fileutils (which you'd expect), perl (ditto), and python (huh?).

    I guess the python dependency comes from some of the configuration tools that Red Hat includes - can anyone confirm that?

    1. Re:Hmmm... by GigsVT · · Score: 1

      rpm -e python
      error: removing these packages would break dependencies:
      python is needed by modemtool-1.22-3
      python is needed by 4Suite-0.11-2
      python is needed by dateconfig-0.7.4-6
      python is needed by redhat-config-users-0.9.2-6
      python >= 1.5.2-27 is needed by python-xmlrpc-1.5.1-7.x.3
      python >= 1.5.0 is needed by eroaster-2.0.11-0.6
      python >= 1.5.2 is needed by hwbrowser-0.3.5-2
      python = 1.5.2 is needed by python-devel-1.5.2-35
      python is needed by redhat-config-network-0.9.10-2
      python is needed by pythonlib-1.28-1
      python is needed by PyXML-0.6.5-4
      python >= 1.5.2 is needed by apacheconf-0.8.1-1
      python >= 1.5.2 is needed by pygtk-0.6.8-3
      python = 1.5.2 is needed by tkinter-1.5.2-35
      python >= 1.5 is needed by rpm-python-4.0.4-7x
      python >= 1.5.2 is needed by rhn_register-2.7.9-7.x.2
      python is needed by python-popt-0.8.8-7.x.2
      python >= 1.5.2-27 is needed by up2date-2.7.61-7.x.2
      python is needed by fetchmailconf-5.9.0-11
      python is needed by printconf-0.3.61-4.1 /usr/bin/python is needed by 4Suite-0.11-2 /usr/bin/python is needed by redhat-config-users-0.9.2-6 /usr/bin/python is needed by gettext-0.10.38-7 /usr/bin/python is needed by eroaster-2.0.11-0.6 /usr/bin/python is needed by kdelibs-2.2.2-2 /usr/bin/python is needed by redhat-config-network-0.9.10-2 /usr/bin/python is needed by PyXML-0.6.5-4 /usr/bin/python is needed by anaconda-7.2-7 /usr/bin/python is needed by alchemist-1.0.18-1 /usr/bin/python is needed by gnome-core-1.4.0.4-38 /usr/bin/python is needed by rhn_register-2.7.9-7.x.2 /usr/bin/python is needed by rhn_register-gnome-2.7.9-7.x.2 /usr/bin/python is needed by up2date-2.7.61-7.x.2 /usr/bin/python is needed by up2date-gnome-2.7.61-7.x.2 /usr/bin/python is needed by printconf-0.3.61-4.1 /usr/bin/python is needed by printconf-gui-0.3.61-4.1 /usr/bin/python1.5 is needed by up2date-2.7.61-7.x.2

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
  25. Too difficult by stud9920 · · Score: 1

    Does anyone know where I can find a contrib rpm for the app ? The source doesn't compile on this machine...

    1. Re:Too difficult by OSSturi · · Score: 1

      Well, there's nothing to compile, it's only a straitforward script. Read the README file for info on what you need. Oh, well, here is the list from the README: - An rpm based Linux system - Graphviz (http://www.research.att.com/sw/tools/graphviz/) - psutils - Ghostscript (http://gnu-gs.sourceforge.net/) - gawk - Python

  26. FreeBSD ports has something like this by Fweeky · · Score: 2

    /usr/ports/sysutils/pkg_tree

    Manpage

    Of course, it's not graphical, but it's the same sort of thing.

    1. Re:FreeBSD ports has something like this by WetCat · · Score: 1

      It's a tree, not a graph...
      Package can have cyclic dependencies...

  27. apt-get is far more logical method than that crud by Anonymous Coward · · Score: 0

    apt-get is far more logical method than that crud.

    And you think yuor mom will ever want to use Linux with that type of installation nightmare!

    Apples Darwin is not as sectioned as linux, but at least its not a nightmare yet.

  28. Gentoo and Portage by oliverthered · · Score: 2

    Take a look at the Portage system on gentoo, this may solve some of your problems.

    "Unlike other distros, Gentoo Linux has an advanced package management system called Portage. Portage is a true ports system in the tradition of BSD ports, but is Python-based and sports a number of advanced features including:
    dependencies,
    fine-grained package management,
    "fake" (OpenBSD-style) installs,
    path sandboxing,
    safe unmerging,
    system profiles,
    virtual packages,
    config file management,
    and more. "

    My main problems with package systems are.

    There not granular enough, you get everything or nothing.

    Dependentancies are often compleatly mad and over strict.

    There's no centrally intergrated package list (except rpmfind i suppose).

    and
    Distribuions package things up in all kinds of weird ways, If they done things to the LSB and decided on a name/location for each package then you could use a suse package on Mandrake without any major grief.

    --
    thank God the internet isn't a human right.
  29. I don't get it by vadim_t · · Score: 1

    Why all that complaining about the lack of a single universal package systems when Debian has a tool to convert .rpm to .deb? That's almost as stupid as complaining about that there's not a single universal graphics format. As long as there are tools to convert from one to another, what's the problem?

    1. Re:I don't get it by IronDragon · · Score: 1

      I wouldnt trust installing a package made for another distro like that.

  30. windows package management by Erpo · · Score: 1

    I completely agree with you - windows installers can (and often do) spray files all over the place. Sure, windows has an add/remove control panel, but installers aren't required to place an entry there or on the start menu to make uninstallation easy. An installer could drop files all over the place and offer no way to clean them up. However, the windows model has two big advantages over linux in this respect:

    1. There is a standard, accepted way to install and uninstall programs. Installer wizards for installation, the add/remove control panel to remove them. Installers can choose not to do this, but programs that don't make it easy to uninstall themselves don't endear themselves to the user, and offering an uninstall option is really easy to do.

    2. When installing DirectX, you run one program and it installs everything. It doesn't offer an uninstall feature and new versions are often bug-ridden, a terrible combination, but you don't have to go out and install the pieces one-by-one yourself, nor do you have to worry about backwards compatibility.

    (btw, yes I'm aware that you can download dx uninstall utilities off the net, but they don't come bundled. I'm also aware of how much code bloat its backwards compatibility creates.)

    On the other hand, there are some big disadvantages that come with the windows model:

    1. You must execute freshly downloaded code to install an app, except possibly in the case of an MSI. This isn't increasing the security risk, as you have to execute freshly downloaded code every time you run a freshly downloaded program anyway, but it does increase the chance that a bug in the latest version of the installer would prevent you from installing or would cause problems with the system.

    2. Programs aren't required to register for uninstallation. One very good example is software that installs spyware, but conveniently forgets to uninstall it when you remove the program. I know we should all run ad-aware regularly anyway, but it's still not a good idea to leave the responsibility of uninstalling a program with the program itself.

    What I'd like to see is a combination of the techniques commonly used on windows with the package management systems used on linux to create a better solution. The idea would be to have a system:

    -That has a standard way of installing and uninstalling programs.
    -Whose packages are made up of large groups of files providing a specific capability (functional applications) rather than a set of a few shared libraries or an executable.
    -With a single package management application that is in total control of the install process, rather than leaving this important task to the individual applications.
    -That makes it easy and convenient to uninstall _any_ installed application.

  31. Another one by Anonymous Coward · · Score: 0

    --nodeps and --force are dangerous, and if you are using them then you have done something seriously wrong.

    Look, how hard is it to read the man page and find out that if you have, say, two packages. package-a.0.0.1.rpm and package-b.0.2.4a.rpm. Both have dependencies on each other. Reading the actual documentation that comes with rpm, you will find that you can do:

    rpm -Uvh package-a.0.0.1.rpm package-b.0.2.4a.rpm

    Surprise surprise! RPM will happily resolve the circular dependencies that exists between package-a & package-b, and will happilly install both of them without worry or fuss.

    Now try "man man" do discover how to use this amazing resource known as a "manual"!

    1. Re:Another one by Anonymous Coward · · Score: 0

      And why the fucking hell isn't this automatic. Why do you have to read docs and type in 283 character command lines to get it to dotherightthing? When not typing will surely dothewrongthing? Is this the Linux motto? "Fuck the user at ever possible turn unless they are Linus himself"?

  32. No dependencies? by DarkHelmet · · Score: 2
    Damn, I would have truly thought it funny if rpmgraph required some other small library called rpmgraph-core to run.

    Then, when I try to get rpmgraph-core installed, it requires rpmgraph to be installed already.

    No wonder only nerds only use linux: the average layman does not WANT to know what the word Recursive means.

    --
    /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
    1. Re:No dependencies? by DarkHelmet · · Score: 2

      I don't hate RPM, and I suppose I oversimplified my woes to the point where the answer seems *that* obvious. Joke's on me posting at 4am. But...

      Kind of makes you wonder what it must be like to be a big industry and buy into RedHat's tech support.

      "You never even read the RPM man page. What kind of linux user are you?"

      Uh huh... That'll get users onto the bandwagon.

      --
      /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
    2. Re:No dependencies? by Anonymous Coward · · Score: 0

      Uh huh... That'll get users onto the bandwagon.

      And, pray tell, why should we be concerned all the time with getting users onto the bandwagon? Some advocacy is just stupid -- Linux is a geek's OS, I want it to be popular among the educated computing community, but I couldn't care less about little Johnny using it.

      I want people to use Linux who actually bother reading man pages, understanding things etc. -- clearly you don't.

      OT: my last two posts have been modded-down straight away without a reason. Not exactly sure why, but congrats Taco and crew, you've lost another reader (and writer for Linux sites and magazines -- I'll reference K5 in future instead).

    3. Re:No dependencies? by minipunk · · Score: 1

      Quote-- OT: my last two posts have been modded-down straight away without a reason. Not exactly sure why, but congrats Taco and crew, you've lost another reader (and writer for Linux sites and magazines -- I'll reference K5 in future instead). Oh no, poor baby.

    4. Re:No dependencies? by DarkHelmet · · Score: 1
      And, pray tell, why should we be concerned all the time with getting users onto the bandwagon?

      Perhaps because things tend to become better with larger numbers of masses using it. And perhaps because some things tend to wither and die when the userbase doesn't increase.

      I want it to be popular among the educated computing community, but I couldn't care less about little Johnny using it.

      Nice philosophy for writing an OS, but where do you draw the line? "Nobody below my knowledge base should be using this?" Oh please. What next? Everyone using linux should know how to write stuff in BASH? Everyone should be proficient in C/C++? Everyone should be a kernel hacker?

      Sorry, but an OS that's like that isn't an Operating System. It's a toy. Linux is not a toy, nor is it just your toy.

      I want people to use Linux who actually bother reading man pages, understanding things etc. -- clearly you don't.

      Yeah, I'm going back to windows now. And I'm not coming back until I learn RPM... Oh that's right! I'm trying to learn something by using this OS. My mistake.

      Not exactly sure why, but congrats Taco and crew, you've lost another reader (and writer for Linux sites and magazines -- I'll reference K5 in future instead).

      I'll keep a look out for Anonymous Coward within the linux circles.

      --
      /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
    5. Re:No dependencies? by Anonymous Coward · · Score: 0

      Oh well, thought I'd pop in once more to see the fun :)

      things tend to become better with larger numbers of masses

      Whatever "large numbers of masses" is (strange construct), that's not inherently true. And we're talking about OSes here. Windows 95 was the best of the consumer-level Win32 systems IMHO (and many other peoples' opinions), and it got worse through Win98 and WinMe.

      Everyone should be a kernel hacker?

      Er, that wasn't my argument. I stated my belief that people who don't understand or know how to use a certain technology competently, as you demonstrated with RPM, should not sit around on Slashdot slagging it off.

      There are problems with RPM, I'll be first to admit that, but I was attacking users like you who won't read up on something before posting an opinion on it.

      And you wouldn't want that either. This was my point about attracting new users as much as we can -- the sheer amount of support I've had to give Windows users who threw on Mandrake expecting it to be just like their previous OS is overwhelming. We don't want them yet -- they don't try to understand, and it only gives a bad impression of Linux.

      New users are great if they're prepared to learn about the technology. And yes, if you're going to use RPM and pass judgement on it, you should read the man page. This is my point.

      I'll keep a look out for Anonymous Coward within the linux circles.

      Why grandma, what sparkling wit you have. Truth is, if you've been around on the Linux scene for at least 6 months, you've probably come across something I've written already.

      Don't discount ACs. I'm on a dialup; as a result, I'm given a dynamic IP, and the vast majority of the time it has been banned from a troller using it before (or the whole subnet).

      In fact, I'm typing this on a shell account through a friend's box. Because of all this, I can't be bothered setting up a /. account (who cares about "karma"), and the statements Malda has made about the unimportance of comments has put me off the idea for good.

  33. My RPM Dependency Graph by nehril · · Score: 2

    Here's my RPM dependency graph, along with additional text to get past the lameness filter.
    _
    / \
    \_/

  34. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  35. Nice and succinct. I like. by 2g3-598hX · · Score: 2, Insightful

    It's telling of the sorry state of /. moderation that the moderators didnt bother to check whether this basic fact was true or not...

  36. Mechanism vs. Policy by Captain+Zion · · Score: 2
    In my opinion, what we really need is a single, standard package system for all linux-based distros. Chuck rpm, chuck deb, chuck them both and create a new one incorporating the best features of both, I don't care, but I think it really needs to be done.

    I've said that before and I apologize to repeat myself, but I must insist in the fact that most people don't seem to understand the difference between mechanism and policy in package management. The package manager offers a mechanism, the distribution enforces policy.

    That said, having a common package tool for all distributions wouldn't help. You can say most distros today standardized on rpm, but the packages are largely non-compatible because there's no common policy between them.

    One of the policy rules could be, for example: "all runtime libraries must be packaged separately, and named differently according to binary compatibility". It makes sense, it works, Debian does that, Conectiva (which uses apt-get) does that, I think PLD and Mandrake are doing that. But for other distros it would mean a massive package layout change, and I doubt they would like to to that. (The reason for that rule is: if you upgrade a binary that needs a new version of a library that breaks binary compatibility with the previous versions, other binaries can still use the old library.) Before you say anything, the rpm ability to keep multiple version of a package installed is largely useless for this case doesn't help here.

  37. Re:world of pain by Quixadhal · · Score: 2

    What's so difficult is the incompatiblities between where RedHat (et. al.) decide a package should sit, and where the author believes it should sit. The worst example I can think of is perl and mod_perl. The RPM versions of perl insist on cluttering up /usr (along with every other thing in existance), but as soon as you go to CPAN and update something, voila... it wants a newer version of perl (sorry, I don't WANT to wait 6 months for RH to get around to releasing new rpms for bugfix versions of perl). Now, if you put it in /usr/local where it likes to be, suddenly you have two seperate module trees... perl will use /usr/local, but mod_perl will still use /usr. UGH! If you try putting it in /usr, you'll stomp ALL OVER the redhat dependancies, so when they DO release "updates", you'll backpedal versions.

    I'm a big fan of the BSD ports system. If it was installed as part of the OS, it goes in /usr, if not.. it gets it's own subdirectory in /usr/local so it's contained. If you want to minimize your path to /usr/local/bin, just add symlinks.

  38. Another checker by crow · · Score: 2

    I wrote another script along the same lines. Yours is probably better, as I presume it checks the last-used timestamp on each file in the package. Mine just checked what was currently running (based on /proc), including libraries. It then checked the dependencies and gave a list of RPMs that you are running, RPMs that aren't running but are required, and RPMs that are candidates to uninstall.

    The reports of the tcl script running a long time aren't surprising. Mine is a csh script, and it, too, will sit there for a long time before giving a result, and I don't think mine is doing as much work.

  39. Compiling and installing windows software by yerricde · · Score: 1

    perhaps you should try getting them to compile and install unpackaged Windows software for a comparison.

    Easy. If you have a source.zip, the user needs to follow these simple steps to compile a program on mingw:

    1. Unzip the source file.
    2. Double-click INSTALL.bat, which opens a command prompt and runs make.
    3. Double-click the EXE that appears next to INSTALL.bat.

    If you want a start menu icon, drag the EXE on top of Start, then drag it into Programs.

    --
    Will I retire or break 10K?
    1. Re:Compiling and installing windows software by Arandir · · Score: 2

      Yup, I agree. I've got a couple of software projects that are crossplatform. I released one binary zip file for Windows users that miraculously happens to work on every Windows OS. But maintaining Linux and BSD packages would be a nightmare, so I don't do it.

      The difference is that Windows "packages" include redundant software. Those zip files or installshield executables include their own redundant copies of msvcrt.dll, vbrunxxx.dll, etc. Though this makes Windows packages a hell of a lot larger (in my case, 2.7Meg versus 300Kb), and makes package creation exceedingly difficult, it makes the users' lives a hell of a lot easier.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
  40. Winamp by yerricde · · Score: 2

    What application does this? [download from Internet to /Documents and Settings/Pinocchio Poppins/Desktop, then double-click package]

    To install Nullsoft Winamp, you use the web browser to download winamp280_full.exe (a Windows SuperPIMP installation package). Then you double-click the file, which launches the install wizard.

    --
    Will I retire or break 10K?
    1. Re:Winamp by mr_z_beeblebrox · · Score: 1

      To install Nullsoft Winamp [winamp.com], you use the web browser to download winamp280_full.exe (a Windows SuperPIMP installation package). Then you double-click the file, which launches the install wizard.

      On that note, I stand corrected. I was speaking as a sys-admin of software we use in the office (Office 2000, Nortons AV etc...). Great example. However that is not the standard behavior (just noting that). As the well worded anonymous entity below points out you have to "open the folder and click" which I maintain is no more difficult than the average RPM set up. However, I maintain that ./configure make make install is not too tough for the average computer user and scripting it should not be too hard for programmers.

  41. Beautiful! by Anonymous Coward · · Score: 0

    Print this out (if you can) and frame this post. This is THE REASON that Linux is not now nor likely to ever be a desktop OS.

    I could not have come up with a better example of why Linux sucks ass than this post right here. Ok, well that may be fine for the real tinker toy OS hobbiests out there. But you have to see that this very thing will keep Linux off of virtually all end user machines!

    Thank you! This is going on my wall of Linux Shame this afternoon.

    1. Re:Beautiful! by Anonymous Coward · · Score: 0

      And I suppose the end users would be having the problem that this procedure solves? That being writing their own print spooler. Of course not. They'd use the provided software and never have to worry about tricking the packageing system into knowing about user-made packages. Try again, dumbass.

  42. Too many dependancies by JamesGreenhalgh · · Score: 2, Insightful

    Try this on a debian (potato) box:

    apt-get install jserv

    Look in absolute horror as it trawls the kitchen sink down, including xfree.

    This isn't debians fault, exactly - the package is fully featured, but it's useless for people who just want the core functionality.

    The only place I've seen this done right, so far, is the FreeBSD ports system - mod_php being a good example, it asks you what support you want before checking dependancies.

    I'd imagine the same goes for gentoo, which I will try one day - but I'm currently using SuSE because I've been through the whole slackware/roll your own/freebsd/redhat/etc mill so many times that I'm now happy to just use one that works, but isn't necessarily bang up to date with package versions.

    --

    --
    ALL YOUR BASE ARE BELONG TO US!
    1. Re:Too many dependancies by Anonymous Coward · · Score: 0

      I quit using Debian for this reason. You'd point "dpkg" to get some simple utility like "sort". Before you know it you are sucking down TeX, Ghostscript, and a Modula3 compiler. 30 Megs of dependencies for a 10K byte utility.

    2. Re:Too many dependancies by JoeBuck · · Score: 2

      The problem is in packages that are "fully featured". If a package provides several programs, some of which need X and some of which don't, it should be split into two packages, to avoid problems such as the one you describe.

    3. Re:Too many dependancies by Steve+Hamlin · · Score: 1

      As JoeBuck says in another reply, the for binary packages, the different builds or components should be split up into different packages.

      For source-based packages, and in response to the point about Gentoo:

      Portage is the source-based build and package management system that forms the core of the Gentoo distribution.

      It does, indeed, allow fine-grained control over dependancies and build options. You can set global environment variables that tell Portage to download and build the requested package with ./configure flags that will compile a binary with just the features you wish.

      USE="slang readline gpm berkdb gdbm pam ssl tk lm_sensors ldap sdl gtk mmx mitshm guile 3dnow tcl ogg libg++ directfb snmp gnome X opengl pdflib gpg -nls -kde -qt -esd -motif -alsa"

      The .ebuild scripts are kept in a tree at /usr/portage. emerge uses the USE environment variables with the .ebuild scripts to download the source file (and download and build any dependancies), then runs ./configure with all of the flags set according to the USE variables, with no extraneous options. Then emerge runs make; make install (with your favorite and optimized GCC flags for system arch) into a temp directory, then properly manages the system installation of the resulting binary package.. Viola! Instant perfect packge installed.

      You can also do "USE="-gnome -gtk; emerge foo" to override the global USE options for that one package.

      Of course, package removal, dependancy handling, package searching, local modifications of the .ebuild scripts, multiple versions of core packages, many versions of patched kernel trees (gentoo, security, plain, mjc, redhat, mandrake, etc.)

      Absolutely phenomenal.

  43. RPM by Anonymous Coward · · Score: 0

    RPM? what's that then? haha debian phorev3r!!!!

  44. The start of a good thing by MrBoring · · Score: 1

    Let's try to remember the programmer tried make RPM mananagement easier. A good idea, but I wish it came with RPM itself. Circular dependencies are a problem, but I think these others are bigger:

    * Easy to find packages for everything. If I want the latest version of GCC for RedHat I probably have to go build it myself since it's not yet on rpmfind. Or wander through a maze of web pages to get the download link.
    * It's hard to specify where I want the packages to go. As evil as it sounds, I'd like to choose where to install GCC, glibc, and such not let it up to some Linux standard committee over in Finland. I don't run a server, nor do I share my files with anyone, and it is my machine--so I want to be in control over where it puts things.
    * RPM should probably support some sort of transaction so that an upgrade of GCC and glibc either all occurrs or none occurs. That way, I can safely ignore the dependencies.
    * I'd also like to see a version of RPM that works with Windows, which would be much better than the Windows/Installshield stuff which only works sometimes.
    * Perhaps its time for an XML based solution, which would be clearly readable, and avoids complicated perl/python/bash scripts and commands.
    * Above all else, to package makers. If you require a certain package, either
    a) Include the exact required package with it
    b) Give me the EXACT link to download the package ( Don't make me fish for it through thousands of webpages, registrations, etc). (A problem more with Windows packages, though).

  45. Re:USB on debian by Anonymous Coward · · Score: 0

    ok, a bit off topic but USB on debian is a piece of cake:
    compile your kernel of choice with usb modules
    apt-get install usbmgr

    not brain surgery indeed :)

  46. Re:world of pain by dmiller · · Score: 2

    You are abusing the system and then complaining when it breaks. Use cpanflute2 (in the rpm-build) package to make building rpms of CPAN modules very very easy.

  47. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  48. But does it..... by oobeleck · · Score: 2
    also graph the rise in utter annoyance you feel as you fight your way through the rpm dependancy 5th plane of Hell????

    --Curse you Debian users...

  49. Is that REALLY what hell looks like? by FuegoFuerte · · Score: 1

    I always wondered what hell would look like. Somehow, that screenshot just looks too pretty.

    Come on RPM guys... You can make a scarrier dependency hell than that, can't you? heh.. I just love all those nasty lines linking all those packages into such a tangled web.

    Thank you very much, but I'll stick with installpkg, removepkg, and upgradepkg. Those are Slackware's package management tools for anyone who doesn't know. Take careful note: NO DEPENDENCY HELL.

  50. I'm not sure I understand what you're saying... by Erpo · · Score: 1

    [pseudo-packages] accomplish EXACTLY what you want.

    As I understand it, pseudo-packages tell the package management system that something is installed without actually installing anything. This allows you to install whatever you want to handle that function without causing the package management system to freak out. I don't see how this, which seems to me like circumventing the package management system in order to install unpackaged software, accomplishes the unification of groups of packages into functional units that do things users can understand while eliminating giant webs of dependencies by discouraging single-library/executable packages.

    1. Re:I'm not sure I understand what you're saying... by davidu · · Score: 1

      check out the kde psuedo-package. It's just a list of like 20 other packages, and when one of those twenty is updated, as long as you installed "kde" you'll get the update. Of course, if you want you could still do kde-base, kde-libs, kde-multimedia, all by themselves...but the pseudo-package "groups" them and watches for updates in the individual pieces...perhaps my example "sucked" :-)

      -davidu

      --

      # Hack the planet, it's important.
  51. I think this is a major Desktop issue in general.. by Smid · · Score: 1

    Its the one thing which does make me go "Erm" when trying to convert local "MS is great"/"Did you pay for that software?"/"No, but I can't work linux" blokey to Mandrake.

    They can't and for the forseeable future, stick in "funky messing around application" and it works. Package dependencies, find that libqt installation, blah blah blah.

    I think its more than that though... The constantly shifting sands of open source (try and get an older version of some linux packages is more than a chore) means that some apps will have to be tied to a specific version of some libraries. Yes, that might mean the application might have to come with _everything_ it needs to install (no dependencies at all not provided), and installed locally in a users system with the library paths mutated to override the system versions of the libraries required...

    Its contrary to all the "lots of small apps put together" idea of unix, but if its a desktop, then the user should _not_ have root permission, not be able to install in /usr/local/ but be able to take the machine on their desk into their own hands occasionally. Yes, they'll bloat up their filestore and have a sysadmin chasing them to tidyup every so often, but thats the price of some control of your machine.

    I think MS's days are numbered in the corporate world, preciously because of their lack of large scale network administration and control. Their OS is designed for individuals.

    However, linux's shift into the desktop market also needs some compromise to match the simple "I want this app on my computer now" philosophy of Apple and Windows. Users should not have root permission and not have to mess with dependencies. However, that gives up some adminstration control of a machine, and thats the ultimate question which has to be answered before the issue can be addressed...

  52. Re:sig... by fr2ty · · Score: 1


    Radical Islam will commodify your discontent, and sell it back to you as religion.

    Just as any other fundamentalist crap would do?

  53. Re:actual users by fr2ty · · Score: 1


    I am an actual user and I am actually using some of those tools. You are an anonymous coward, who has probably never used one of the unices you are flaming about.

    The article talked about an admin gadget for linux distros, the thread discussed ways to solve dependency problems a better way than what you call "a real install". Your "real install" is a crude workaround done by additional tools installing dependent modules over and over again. This is neither a real solution, nor does it bear up against your own criteria.

    You dropped some buzzword bullshit you refuse to expatiate. You are interested in wether GNU/Linux has a chance of becoming a desktop OS. I don't mind, because I am satisfied with the desktop OS of my choice, thank you.

  54. they're by Anonymous Coward · · Score: 0

    there != they're

  55. Ahhhh.... by Erpo · · Score: 1

    I think I understand what you're saying now. As I see it, my model is different from pseudo-packages in two different ways:

    1. Pseudo packages _are_ regular packages - that is they are not marked differently. They are simply regular packages that depend on other packages but contain no files.

    2. Packages can exist without belonging to pseudo-packages (or tasks).

    I would alter these conditions.

    Metapackages or tasks or whatever would be explicitly marked as being what they are and having greater significance than regular packages (options).

    Packages would have to belong to a task - they could not be installed by themselves. This does not limit an author's ability to write new independent libraries - it enforces clear organization for clean integration. At first, when there are no applications that depend on it, it would be a part of the "test" task. If the library author wants to write an application that uses that library (or someone else wants to do the same), then that library would be included inside that application's task.

    In addition to the ability for a user to view their entire system as a collection of several (not hundreds) of tasks that have clear definitions and purposes and manage them in a way that they can understand, it eliminates the existance of "ghost" packages left over from software that's been previously uninstalled but has not perfectly removed all of its guaranteed unique dependencies. Sure, you can do this with the system now by checking for packages that aren't depended on by anything and sorting through the list to see which ones you use to do something and which ones are merely unnecessary support libraries, but within this hypothetical system, the system will not allow this problem to occur in the first place.

    It also makes possible distributing applications as complete tasks that contain all the packages necessary to use that application in one file. Download, install, it works. No more downloading a.rpm, finding out it requires the support libraries b.rpm, and c.rpm, downloading them and finding out c.rpm requires d.rpm and e.rpm, and then finding out that your system has a conflict between d.rpm and a currently installed packages. Yes, I know that debian already has support for automatic dependency checking and problem resolution, but only if the package management system can get a good look at all the dependencies and conflicts at once which means having all the packages somewhere in sources.list at the same time.

    1. Re:Ahhhh.... by davidu · · Score: 1

      What about something like

      libopenssl that MANY programs use?

      or glibc?

      -davidu

      --

      # Hack the planet, it's important.
  56. libopenssl & glibc by Erpo · · Score: 1

    Depends. If a library is _incredibly crucial_ (not to mention huge) like glibc, then it would be included in the base task. When an updated version of glibc comes out, the old package would be migrated to the "legacy support" task and the new one would become a member of base. Authors of applications wouldn't include package X if it's a part of base. Glibc is a good example.

    libopenssl is a different matter. Although it's becoming less and less common, there are still lots of machines that are not connected to a network, and thus don't neet secure sockets layer support for their applications. Because of this, libopenssl would not be included in the "bare bones" task. Task authors would have a choice here. For maximum compatibility, they would include libssl in their task as an "If you don't know what to download, download this." complete package. If the application needs a fairly common lib like libopenssl and the task author can safely assume that it will be on the system ("The user is downloading the task over and https connection or is already using software which already provides libopenssl") or is willing to take the risk, the author can choose not to include that package within his or her task. If a user downloads an application task that assumes the presence of a library that in fact is not present in the system, the system would pop up an error message to the effect of "This task does not contain all of the files necessary to install itself. Please obtain and install the complete version of the task." The wording of that message is very important. It says "please obtain and install the complete version of the task," not "please obtain and install a complete version of the task if one is provided, otherwise, resolve the dependency issue," - it takes for granted the existance of the complete task in a declaratory statement. It needs to be clear that if an author chooses to package his or her application, it is that author's responsibility to provide a complete task. Not all users can be expected to go out and resolve dependency issues by themselves and offering a complete task is the easiest way to deal with this situation from the point of view of the task author as well as the user. This is especially true if this model were widely adopted (a necessary precursor to success anyway) and producers of libraries (or other things commonly depended upon) started offering "task components." This way, the author would simply bind their application task componenet with the proper task components that it depended upon with a single command line (or click) and providing complete tasks would be virtually zero extra effort.

    Yes, I'm aware that debian will automagically solve dependency issues, but only if the needed dependency is listed in sources.list. This may not be the case with an independently produced (or uncommon) dependency. This, it fosters dependence on the (excelently maintained but not under the user's control) debian package servers on the internet which does not offer the same level of mental security to the user as having everything on a cd and the application's web site. The situation is analagous to not being able to install many apps unless the windows update servers are up and running. This comparison doesn't perfectly reflect the situation, as windows update is offline a _whole lot more often_ than all the debian servers in the world are offline at the same time, but you get the idea.

    Anyway, that's how apps would make sure they get the right libraries. The system would also be able to handle uninstallation while keeping dependencies in mind and making sure no extra bloat gets left behind on the system.

    Example:

    You don't have libA on your system, but you download taskB which, like any other properly produced "complete" task, contains the non-base libraries upon which it depends which in this case is libA. Everything is installed, and libA is now present on your system as a part of taskB. Then, you decide to download taskC which also depends on libA. Being the intelligent user that you are, you decide to download the "slim version" of the task that does not include libA. You tell the system to install taskC, the package management system detects that the required libA is already installed, a part of another task, and lets you install taskC. Now, let's say that you get bored with taskB and uninstall it. While processing your uninstall command, the PMS detects that a part of taskB, libA, is required by taskC. In order to process your command and follow the "no orphan packages" rule, libA is migrated from taskB into taskC, bringing the contents of taskC closer to the "complete version" of taskC (remember you downloaded the "slim version"). In this way, all applications continue to work properly and there are no conflicts. In the case that you had taskD, E and F installed that all used libA, ownership of libA would simply be moved into any single one of those tasks. In the case that "Joe Idunno Anythingaboutcomputers" was going through the same scenario and had downloaded the complete version of taskC (the smartest choice for him), the libA package from taskC simply would not be installed, and it would be noted in the DB that taskC does not have ownership over libA. Joe could then dump the taskC installer safe with (or in Joe's case, probably without) the knowledge that in the case he uninstalled taskB, libA from taskB would be moved to taskC, keeping taskC happy.

    How's that sound?

  57. PS by Erpo · · Score: 1

    This is an interesting discussing, but slashdot web posting has pretty high latency. Do you use MSN or ICQ chat services?

    1. Re:PS by davidu · · Score: 1

      davidu on OpenProjects network.

      -davidu

      --

      # Hack the planet, it's important.