sane dependencies -- a positive look at 'fix your packages'

Mike Hearn mike at theoretic.com
Sun Oct 12 15:56:54 UTC 2003


On Sun, 2003-10-12 at 00:14, Sean Middleditch wrote:
> LSB is just this, and many distros are LSB compliant these days.

Yeah, but LSB is really really LCD. No GUI libs (yet) for instance.

> This sounds like it needs to be fixed; i.e., an easy way to disable
> that.  I know apps linked against older libcs work on RH9 (usually, the
> occasional odd app fails, which is quite unfortunate).

That's what apbuild/apgcc do - ideally of course upgrading glibc would
be just like any other library but for some reason it isn't, so we have
to wind back the clock a little bit. Fortunately thread-local locales is
a features mostly useful for servers I think, so client side apps don't
need to worry about losing it.

> That would be interesting.  The problem is, then, every single app that
> possibly exists in the application/dependency archive would be in the
> menues.  Ick.

No, only stuff the user had installed.

> While I understand the use cases, as I've said on the autopackage lists,
> and real Application Manager is needed (which I've some new ideas for,
> i'll post those to the ap list).

Please do so. I'm not sold that we need any specific app management
program - it's the sort of thing users just never think about (much like
uninstalling stuff they no longer use).

> Which isn't really possible.  The best you could do is inform the user
> that the system doesn't *appear* to be using the app anymore (no users
> have a launcher for it, if you can even determine that easily) and let
> them optionally uninstall it.
> 
> The same is true to libraries/dependencies - sure, normal users might
> not need them if no other packages are using them, but hackers/admins
> probably have a lot of stuff installed from source.  So automatic
> dependency "garbage" collection isn't really feasible, at least not
> without lots and lots of user interaction and such.

Maybe.... still, it's been done in Java/C# for ages, despite the
difficulties. It seems unintuitive that it's possible with objects but
not packages.

> Evangelism on the importance of proper development practices could be
> useful, too.  Probably the only place I've seen describing library
> versioning in detail is the innards of the libtool manual.  No wonder
> lots of devs don't do it right, eh?  Something like the war on drugs is
> needed: DARP, Developers Against Ramshackle Packages.  ;-)

Yeah, I want to do this too at some point, probably as part of the
packagers/developers guide we're writing for AP. There is a good paper
by Ulrich Drepper on writing DSOs, but it's basically impossible to find
unless somebody shows you. Other bad techniques are compile time
options, non-relocatability and so on. Developer education is definately
a part of the solution.

thanks -mike





More information about the fedora-devel-list mailing list