Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Jun 2001 13:02:38 -0700
From:      Jordan Hubbard <jkh@osd.bsdi.com>
To:        alex@big.endian.de
Cc:        jhb@FreeBSD.ORG, will@physics.purdue.edu, libh@FreeBSD.ORG, richy@apple.com
Subject:   Re: packagetool.tcl
Message-ID:  <20010619130238U.jkh@osd.bsdi.com>
In-Reply-To: <20010619210041.A2304@zerogravity.kawo2.rwth-aachen.d>
References:  <20010619115903.F65489@bohr.physics.purdue.edu> <XFMail.010619110945.jhb@FreeBSD.org> <20010619210041.A2304@zerogravity.kawo2.rwth-aachen.d>

next in thread | previous in thread | raw e-mail | index | archive | help
From: Alexander Langer <alex@big.endian.de>
Subject: Re: packagetool.tcl
Date: Tue, 19 Jun 2001 21:00:41 +0200

> Do we want support for multiple package formats?

Maybe later, but I don't think it's a realistic initial design goal.
See below.

> Libh's format hasn't etablished yet and I wonder if it ever will.

Well, that's not entirely true.  libh's format is a zip file which
contains "procedures" written in Secure-TCL that actually take on the
job of doing all the unpacking/installation/user dialog necessary as
part of the package's installation.  To put it another way, packages
in libh are "smart" and the package add tool is little more than an
execution environment that provides a thin wrapping around it.

Contrast this with pkg_add(1), where all the "intelligence" (and I use
that term loosely) is in the tool and the sophistication of an
individual package is limited by whatever you can represent in a
PLIST.  If the package wants to interact with the user, you can also
be very thoroughly screwed by that since there's no way for the
package to know where the "user" is - are they on the same tty that
stdin and stdout are currently attached to, or is the package merely
looking at the end of a pipe and under control of some more
sophisticated menu front end to packages?  In libh, the package adder
instantiates the UI layer on behalf of the package and then lets the
package use it for whatever it wants.

There are also hooks provided for "name mangling" in libh, where the
zip file's directory doesn't necessary contain the target filenames at
all but rather an encoded string which contains the target filename
and a set of properties, such as whether the entry is experimental or
stable, whether it's i386 or alpha architecture specific, purely for
the internal use of the package tools, etc.  The pkg_install API
doesn't make any sort of provisions for that.

> What do you think?  I can focus on libh's current package format if
> people think it's worth it.

I certainly think it's worth it.  I wouldn't have spent so much time
spec'ing it out for the original contractor (Eugene) if I didn't. :-)

- Jordan

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-libh" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010619130238U.jkh>