The need for multiple versions of an application on one machine doesn't manifest that often. Asking the system to tie itself into knots for this purpose is likely to result in bloat, convolution and less reliability.
Some contexts support and indeed encourage the notion of many versions. For instance, the Ruby Version Manager (RVM) allows different versions of the Ruby interpreter and its attendant libraries to be in use at a given time. It seems to work perfectly well, but one has to wonder if this is really a good thing. Do you really want the mental overload that results from having to deal with multiple versions of a language, library, API, user tool, or whatever? The original poster might want to consider whether this kind of thing is necessary or desirable. It sounds symptomatic of half-baked ideas about what needs to be accomplished and how to accomplish it. Also worth considering is OpenBSD's stance on how to maintain a system. You are encouraged to refresh the system at six month intervals and, in so doing, become familiar with the nature of the software you're running. Chances are, the version they've packaged works well enough, probably better than older incarnations. Incidentally, you can learn what files comprise a package with: pkg_info -L <package-name> You can learn about the package related commands by typing: apropos pkg_ And then reading the listed manpages. As always with OpenBSD, these documents are of high quality. Chuck On Aug 2, 2014, at 4:17 AM, Gustav Fransson Nyvell <gus...@nyvell.se> wrote: > On 08/02/14 13:13, Gustav Fransson Nyvell wrote: >> On 08/02/14 12:54, Marc Espie wrote: >>> On Sat, Aug 02, 2014 at 12:26:06PM +0200, Gustav Fransson Nyvell wrote: >>>> Hi, there, >>>> >>>> I wanted to run something by you, mkay. About package management. I wonder >>>> if this has been shouted at already. I remember from SunOS that packages >>>> are >>>> installed in a different manner than let's say Red Hat and of course >>>> OpenBSD. They install it in the form /pkgs/PROGRAM/VERSION, example >>>> /pkgs/gimp/1.0. GoboLinux does this. I think this has some advantages over >>>> installing /usr/local/bin/gimp1.1 and /usr/local/bin/gimp2.0. What do you >>>> think? What have you said? >>>> >>>> Ready to be shouted at; >>> This puts more strain on the file system actually, which is probably >>> the main reason we don't do it. Also, there is generally a lot of churning >>> to do to make the package self-contained. >>> >>> As far as policy goes, having stuff set up like that looks more flexible, >>> but >>> it is a fallacy. Instead of having the distribution solve issues concerning >>> incompatible versions and updates, the toll falls instead on the individual >>> sysadmin, to make sure things they have work together. It can lead to >>> security nightmares, because it's "so simple" to have the newer version >>> alongside the old version that sticky points of updating take much longer >>> to resolve. >>> >>> It's a bit like having mitigation measures that you can turn on and off... >>> if it's possible to turn these off, there's not enough incentive to actually >>> fix issues. >>> >>> Likewise for packages. By making it somewhat LESS convenient to install >>> several versions of the same piece of software, we make it more important >>> to do timely updates. >>> >>> Also, we don't have the manpower to properly manage lots of distinct >>> versions >>> of the same software. So this kind of setup would be detrimental to >>> actually testing stuff. >> I guess there could be both. But I think that if there's a security issue >> with one version of a software then there quite possibly are multiple ways >> of limiting the impact of that issue. Disallowing multiple versions to force >> people to upgrade is not really a good reason, from how I see it. Old >> software will always have more holes, because they're older and more well >> observed, but they have qualities, too, like speed. GIMP-1.0 is amazing on >> Lenovo X41 from 2005, but probably has bugs. Of course none of these systems >> will stop someone who wants to run version x of a software. Maybe something >> entirely different is needed? Okay, maybe I should complain about the status >> quo... thing is when packages install in /var, /usr, /etc and /opt they're >> so spread out it's hard to know what is what. This might be because I'm new >> but/and scripts can find orphan files in this structures, but you need the >> scripts for that. Having everything in /pkgs/PKG/VER would not cause this >> splatter. P! rograms without dependees (i.e. non-libs, non-utilprograms) could fit in this structure without any extra filesystem magic. Well, the grass is always greener. >> > BTW, you create multiple versions by your mere existence. There are lots of > old versions laying around, but they can't be installed together right now. > > -- > This e-mail is confidential and may not be shared with anyone other than > recipient(s) without written permission from sender.