[haiku-development] Re: Package Management - application bundle policy

  • From: Mark Watts <miraiwarren@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 11 Jan 2011 09:28:36 -0600

Just a question really: if the package maintainer/developer knows the needed
version of library dependencies then can't they just specify a single
version (e.g. depend == media-sound/amarok-2.3.2-r1) rather than a range
(e.g. depend >= media-sound/amarok-2.3.2-r1)? Wouldn't that provide the
desired stability as long as the package manager has no arbitrary limits on
what older versions are available?

On Tue, Jan 11, 2011 at 07:22, Oliver Tappe <zooey@xxxxxxxxxxxxxxx> wrote:

> Hi again,
>
> the second and last package management topic (for today ... ;-)
>
> Technically, application bundles are standard Haiku packages (.hpkg files),
> which carry some attribute that indicates how the included application can
> be invoked. Thus, a user can either start the application by
> double-clicking the hpkg, or the package can be activated by dropping it in
> one of the 'packages' folders (activation may be necessary to make this
> application's supported mimetypes known to the system, but we'll see about
> that).
>
> The discussion about package management in our wiki [1] touches the problem
> of the so-called "dependency hell" and gives two possible solutions:
>
> 1. 3rd-party application bundles are "fat", i.e. they come with all
> libraries and other software components they need to run (except for Haiku
> kits, of course). That way, bundles are stable, but common libraries may be
> loaded more than once into memory and security updates have to be done by
> the application developer.
>
> 2. 3rd-party application bundles may declare dependencies on other
> packages, which could be handled by the package manager when the bundle is
> invoked/activated for the first time. If any of the declared dependencies
> proves unreliable (for instance because a newer version of a library is ABI
> incompatible without changing major/minor version number), that info is
> posted somewhere (wherever the application came from) and the user can edit
> the attribute declaring the dependency in order to let the package manager
> fix the situation.
>
> Technically, both solutions do not make much difference for the package
> management system, so it's rather a policy decision: how do we want
> 3rd-party developers to package their applications?
>
> Again, any input appreciated.
>
> cheers,
>        Oliver
>
> [1] http://dev.haiku-os.org/wiki/PackageManagerIdeas
>
>
>

Other related posts: