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>