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."

55 of 192 comments (clear)

  1. 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 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.
  2. 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 ?
  3. 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 guacamole · · Score: 2

      or use up2date or autoupdate

    2. 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. :)

    3. 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"
    4. 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.

  4. 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 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
    4. 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.

    5. 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'

    6. 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?

    7. 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!

    8. 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?

    9. 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/

    10. 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
  5. Re:Lines and Dots by SamBeckett · · Score: 4, Informative

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

  6. 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 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....
    2. 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)
    3. 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.
    4. 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
    5. 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.
  7. 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 ;-)

  8. 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.

  9. 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 !
  10. 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 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.
    2. 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.
  11. 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.

  12. 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.
  13. 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
  14. My RPM Dependency Graph by nehril · · Score: 2

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

  15. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  16. 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.

  17. 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...

  18. 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.

  19. 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.

  20. 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.

  21. 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.

  22. 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?
  23. 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 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.

  24. 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
  25. 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.

  26. 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...