On Fri, Oct 07, 2005 at 04:15:59PM -0400, Chuck Robey wrote: > I had put in my own gettext, which installed libintl.so.7.3. The ports > installed, on it's own (and I cou;d see how to override this) a > libintl.so.2.0, but when gmake linked, it added in the 7.3, and gmake > did 2 rotten things: it found the files that my gettext had installed, > and refused to ovewrite them, and then added a @wantlib in the +CONTENTS > file of the gmake package, but (why?) couldn't find the libintl.so.7.3 > that the ldconfig found ok. > > In other words, the ports really kicked up hell that I'd had the gaul to > put my own files in, and I couldn't get it to lose the idea.
You're not a serious developer, you just tinker with stuff... - Installing your own gettext is rather dangerous, unless you really know what you are doing. Especially these days, because we are adding i18n to the base system. - Installing stuff into the same directories the basic ports install stuff in is a nice recipe for disaster. - If you install basic software like gettext on a variant version, there will be issues all over the ports tree. what you're describing here is the *least* of your worries.... stuff that should work won't. - @wantlib records actual hard set libraries, but they need to be parts of packages, together with dependencies. It's trivial to cobble together a package that will record the stuff you install. It's about as difficult as pkgconfig specs. It's easy to automate. No-one with skill enough has shown enough interest. Oh yes, and the way it works is documented in pkg_add(1)/pkg_create(1). - personally, when I install new software, I simply use the ports framework. It's trivial to write a skeleton port that builds, packages and installs stuff. Polishing it to commit quality is a bit harder. The only point you may have is that, one day, we might move the whole package stuff from /usr/local to elsewhere, maybe even /usr/pkg. It's a big change, we're not even really sure it's worth it. Also, you seem to operate under a strange delusion, that software components work flawlessly. Having played a lot with various versions of software, I can tell you it's a myth. Installing a new version of a common dependency very often results in breakage, some of it quite subtle. The skills of the people who write those basic components is not that good. Well, there's another rather negative point about your whole idea: people who do actually tinker with software don't try to reinvent the wheel all the time. Unless you're learning the basic ropes, it pays a lot to start from existing stuff.... like, if you want to use a newer version of gettext, it's ways simpler to modify the existing port to use the new version. That way, you get the OpenBSD specific patches, instead of having to re-roll your own. You seem to have missed one big advantage to the ports tree: it's there, and it's way more transparent than some other package systems... It just insists on doing things correctly, and thus it catches lots of mistakes.